From c92ba41deffcd38e8b592f569a21bfca82822e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sat, 26 Aug 2017 22:34:40 +0200 Subject: [PATCH] FIX: fix registering service providers in templates --- app/CMS/Helpers/PageRenderer.php | 37 ------------------- .../ModuleManager/Providers/ModuleManager.php | 10 ++++- app/Http/Controllers/Controller.php | 20 ++++++++-- app/Providers/TemplateServiceProvider.php | 7 +--- 4 files changed, 26 insertions(+), 48 deletions(-) delete mode 100644 app/CMS/Helpers/PageRenderer.php diff --git a/app/CMS/Helpers/PageRenderer.php b/app/CMS/Helpers/PageRenderer.php deleted file mode 100644 index bab9d042..00000000 --- a/app/CMS/Helpers/PageRenderer.php +++ /dev/null @@ -1,37 +0,0 @@ -moduleHandler; - - // render page - return $handler->render($page, $parameters); - } -} diff --git a/app/CMS/ModuleManager/Providers/ModuleManager.php b/app/CMS/ModuleManager/Providers/ModuleManager.php index c8eed3e4..73080e85 100644 --- a/app/CMS/ModuleManager/Providers/ModuleManager.php +++ b/app/CMS/ModuleManager/Providers/ModuleManager.php @@ -16,7 +16,7 @@ class ModuleManager extends ServiceProvider { // this service provider needs published config - config is merged right after this service provider try { - $modules = app(ModuleRepository::class)->getOnlyModules(); + $modules = app(ModuleRepository::class)->all(); } catch (QueryException $e) { return; } @@ -32,7 +32,13 @@ class ModuleManager extends ServiceProvider // include files (if any) if (isset($module->module_settings['files']) && !empty($module->module_settings['files'])) { foreach ($module->module_settings['files'] as $file) { - include config('modules.paths.modules') . '/' . $module->static_name . '/' . $file; + $path = config('modules.paths.modules') . '/' . $module->static_name . '/' . $file; + + if (!file_exists($path)) { + $path = base_path($file); + } + + @include_once $path; } } } diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index df72fc27..a8b5a9c1 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -14,7 +14,6 @@ class Controller extends BaseController /** * Custom wrapper for generating view. - * * This method will be used for switching among templates. * * @param $template @@ -25,8 +24,23 @@ class Controller extends BaseController */ public static function visitorsView($template, $data = [], $mergeData = []) { - $view = Template::name($template); + $view = self::getView($template, $data, $mergeData); - return response(view($view, $data, $mergeData))->header('X-Powered-By', strrev('zc.ytiranib.www//:sptth | .o.r.s ytiranib | SMCiniM')); + return response($view)->header('X-Powered-By', strrev('zc.ytiranib.www//:sptth | .o.r.s ytiranib | SMCiniM')); + } + + /** + * Get instance of view for passing into response + * + * @param $template + * @param $data + * @param $mergeData + * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public static function getView($template, $data = [], $mergeData = []) + { + $view = Template::name($template); + return view($view, $data, $mergeData); } } diff --git a/app/Providers/TemplateServiceProvider.php b/app/Providers/TemplateServiceProvider.php index 9218d65c..606ec283 100644 --- a/app/Providers/TemplateServiceProvider.php +++ b/app/Providers/TemplateServiceProvider.php @@ -27,12 +27,7 @@ class TemplateServiceProvider extends ServiceProvider return; } - // include files - $files = isset($template->moduleSettings->files) ? $template->moduleSettings->files : []; - - foreach ($files as $file) { - include_once $file; - } + // service providers and files already registered in ModuleManager // register templates $publicTemplates = CurrentTemplate::getPublicTemplatePaths();