From 1913318124f0ac26824a7c628d26e1c241c279c8 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 13 Dec 2020 07:54:25 +1100 Subject: [PATCH 1/3] bump the import cache timeout from 10 minutes to 60 minutes --- app/Http/Controllers/ImportController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/ImportController.php b/app/Http/Controllers/ImportController.php index 737c1829a657..6d9c7eeeb2c2 100644 --- a/app/Http/Controllers/ImportController.php +++ b/app/Http/Controllers/ImportController.php @@ -75,7 +75,7 @@ class ImportController extends Controller $hash = Str::random(32); //store the csv in cache with an expiry of 10 minutes - Cache::put($hash, base64_encode(file_get_contents($request->file('file')->getPathname())), 10); + Cache::put($hash, base64_encode(file_get_contents($request->file('file')->getPathname())), 60); //parse CSV $csv_array = $this->getCsvData(file_get_contents($request->file('file')->getPathname())); From 0f861554f06f52e674c46a47cdd2b4c19c3373df Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 13 Dec 2020 08:06:47 +1100 Subject: [PATCH 2/3] Fixes for exec and open_basedir checks --- app/Utils/SystemHealth.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/Utils/SystemHealth.php b/app/Utils/SystemHealth.php index 9b09f6b8947b..b32d1a14c1c4 100644 --- a/app/Utils/SystemHealth.php +++ b/app/Utils/SystemHealth.php @@ -78,9 +78,27 @@ class SystemHealth 'node_status' => self::checkNode(), 'cache_enabled' => self::checkConfigCache(), 'phantom_enabled' => (bool) config('ninja.phantomjs_pdf_generation'), + 'exec' => (bool) self::checkExecWorks(), + 'open_basedir' => (bool) self::checkOpenBaseDir(), ]; } + public static function checkOpenBaseDir() + { + if(strlen(ini_get('open_basedir') == 0)) + return true; + + return false; + } + + public static function checkExecWorks() + { + if(function_exists('exec')) + return true; + + return false; + } + public static function checkConfigCache() { if (env('APP_URL')) { From 8abce54d7e3a34b6d0cc9555a47711bcfeec8947 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 13 Dec 2020 10:20:03 +1100 Subject: [PATCH 3/3] Fixes for customised language options for Preview Controller --- app/Exceptions/Handler.php | 6 ++++-- app/Http/Controllers/EmailController.php | 4 +--- app/Http/Controllers/PreviewController.php | 14 +++++++++++--- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 05c74a747923..1f71590459a8 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -101,8 +101,6 @@ class Handler extends ExceptionHandler private function validException($exception) { - info("the exception is "); - info($exception->getMessage()); if(strpos($exception->getMessage(), 'file_put_contents') === TRUE) return FALSE; @@ -110,6 +108,10 @@ class Handler extends ExceptionHandler if(strpos($exception->getMessage(), 'Permission denied') === TRUE) return FALSE; + if(strpos($exception->getMessage(), 'flock()') === TRUE) + return FALSE; + + return TRUE; } diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index 7bbbc959bf9b..8bd6648a7ad4 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -132,7 +132,7 @@ class EmailController extends BaseController } }); - $entity_obj->service()->markSent()->save(); + $entity_obj = $entity_obj->service()->markSent()->save(); $entity_obj->last_sent_date = now(); $entity_obj->save(); @@ -172,8 +172,6 @@ class EmailController extends BaseController $this->entity_transformer = RecurringInvoiceTransformer::class; } - $entity_obj->service()->markSent()->save(); - return $this->itemResponse($entity_obj); } } diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index d81d98629faf..9801fa1be649 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -20,11 +20,14 @@ use App\Models\InvoiceInvitation; use App\Services\PdfMaker\Design; use App\Services\PdfMaker\PdfMaker; use App\Utils\HtmlEngine; +use App\Utils\Ninja; use App\Utils\PhantomJS\Phantom; use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesInvoiceHtml; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Response; +use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Lang; class PreviewController extends BaseController { @@ -96,15 +99,16 @@ class PreviewController extends BaseController $entity_obj->load('client'); + App::setLocale($entity_obj->client->primary_contact()->preferredLocale()); + App::forgetInstance('translator'); + Lang::replace(Ninja::transformTranslations($entity_obj->client->getMergedSettings())); + $html = new HtmlEngine($entity_obj->invitations()->first()); $design_namespace = 'App\Services\PdfMaker\Designs\\'.request()->design['name']; $design_class = new $design_namespace(); - // $designer = new Designer($entity_obj, $design_object, $entity_obj->client->getSetting('pdf_variables'), lcfirst($entity)); - // $html = $this->generateEntityHtml($designer, $entity_obj); - $state = [ 'template' => $design_class->elements([ 'client' => $entity_obj->client, @@ -141,6 +145,10 @@ class PreviewController extends BaseController private function blankEntity() { + + App::forgetInstance('translator'); + Lang::replace(Ninja::transformTranslations(auth()->user()->company()->settings)); + DB::beginTransaction(); $client = Client::factory()->create([