From e033739c09a8f5213d655a9ae8cab5a8b577c5f4 Mon Sep 17 00:00:00 2001 From: denisdulici Date: Fri, 15 Dec 2017 17:09:06 +0300 Subject: [PATCH] fixed #71 --- app/Http/Controllers/Incomes/Invoices.php | 41 +++++++++++++++++-- .../views/incomes/invoices/invoice.blade.php | 6 +-- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php index 938f6dae9..4535a2c17 100644 --- a/app/Http/Controllers/Incomes/Invoices.php +++ b/app/Http/Controllers/Incomes/Invoices.php @@ -30,6 +30,8 @@ use App\Utilities\ImportFile; use App\Utilities\Modules; use Date; use File; +use Image; +use Storage; class Invoices extends Controller { @@ -489,7 +491,9 @@ class Invoices extends Controller { $invoice = $this->prepareInvoice($invoice); - $html = view($invoice->template_path, compact('invoice'))->render(); + $logo = $this->getLogo(); + + $html = view($invoice->template_path, compact('invoice', 'logo'))->render(); $pdf = \App::make('dompdf.wrapper'); $pdf->loadHTML($html); @@ -531,7 +535,9 @@ class Invoices extends Controller { $invoice = $this->prepareInvoice($invoice); - return view($invoice->template_path, compact('invoice')); + $logo = $this->getLogo(); + + return view($invoice->template_path, compact('invoice', 'logo')); } /** @@ -545,7 +551,9 @@ class Invoices extends Controller { $invoice = $this->prepareInvoice($invoice); - $html = view($invoice->template_path, compact('invoice'))->render(); + $logo = $this->getLogo(); + + $html = view($invoice->template_path, compact('invoice', 'logo'))->render(); $pdf = \App::make('dompdf.wrapper'); $pdf->loadHTML($html); @@ -759,4 +767,31 @@ class Invoices extends Controller 'sort_order' => $sort_order, ]); } + + protected function getLogo() + { + $logo = ''; + + if (setting('general.invoice_logo')) { + $file = session('company_id') . '/' . setting('general.invoice_logo'); + } else { + $file = session('company_id') . '/' . setting('general.company_logo'); + } + + $path = Storage::path($file); + if (!$path) { + return $logo; + } + + $extension = File::extension($path); + + $image = Image::make($path)->encode()->getEncoded(); + if (empty($image)) { + return $logo; + } + + $logo = 'data:image/' . $extension . ';base64,' . base64_encode($image); + + return $logo; + } } diff --git a/resources/views/incomes/invoices/invoice.blade.php b/resources/views/incomes/invoices/invoice.blade.php index eabfcc5a0..c5ece5067 100644 --- a/resources/views/incomes/invoices/invoice.blade.php +++ b/resources/views/incomes/invoices/invoice.blade.php @@ -6,11 +6,7 @@
- @if (setting('general.invoice_logo')) - - @else - - @endif +