FEATURE: refactorize code little bit more
This commit is contained in:
@@ -60,6 +60,15 @@ class Module extends Repository implements IModule
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getOnlyModules()
|
||||||
|
{
|
||||||
|
return Cache::rememberForever('enabled-modules', function () {
|
||||||
|
return ModuleModel::where('enabled', true)
|
||||||
|
->where('is_template', false)
|
||||||
|
->get();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public function getByHandler($handler)
|
public function getByHandler($handler)
|
||||||
{
|
{
|
||||||
return ModuleModel::where('handler', $handler)
|
return ModuleModel::where('handler', $handler)
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Cms\Repositories\Templates;
|
namespace App\Cms\Repositories\Templates;
|
||||||
|
|
||||||
use App\CMS\Contracts\Repositories\Template as ITemplate;
|
use App\CMS\Contracts\Repositories\Template as ITemplate;
|
||||||
use App\CMS\Repositories\Repository;
|
use App\CMS\Repositories\Repository;
|
||||||
use App\Models\Module;
|
use App\Models\Module;
|
||||||
use App\Models\Templates\Template as TemplateModel;
|
use App\Models\Templates\Template as TemplateModel;
|
||||||
|
use Illuminate\Support\Facades\Cache;
|
||||||
|
|
||||||
class Template extends Repository implements ITemplate
|
class Template extends Repository implements ITemplate
|
||||||
{
|
{
|
||||||
@@ -68,8 +70,10 @@ class Template extends Repository implements ITemplate
|
|||||||
|
|
||||||
public function getForModule(Module $module)
|
public function getForModule(Module $module)
|
||||||
{
|
{
|
||||||
return TemplateModel::where('module_id', $module->id)
|
return Cache::rememberForever('templates-for-module', function () use ($module) {
|
||||||
->select(['template_name', 'name', 'description'])
|
return TemplateModel::where('module_id', $module->id)
|
||||||
->get();
|
->select(['template_name', 'name', 'description'])
|
||||||
|
->get();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use App\CMS\Handlers\Handler;
|
use App\CMS\Handlers\Handler;
|
||||||
use App\Models\Module;
|
use App\CMS\Repositories\Module as ModuleRepository;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
@@ -28,13 +28,13 @@ class AdminMenuRegistrator
|
|||||||
$user = \Auth::user();
|
$user = \Auth::user();
|
||||||
Handler::registerAdminMenu($user);
|
Handler::registerAdminMenu($user);
|
||||||
|
|
||||||
$modules = Module::where('enabled', true)
|
$modules = app(ModuleRepository::class)->all();
|
||||||
->get();
|
|
||||||
|
|
||||||
// iterate over all enabled modules
|
// iterate over all enabled modules
|
||||||
foreach ($modules as $key => $module) {
|
foreach ($modules as $key => $module) {
|
||||||
if (!is_callable([$module->handler, 'registerAdminMenu']))
|
if (!is_callable([$module->handler, 'registerAdminMenu'])) {
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// try to register menus
|
// try to register menus
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\ModuleManager\Providers;
|
namespace App\ModuleManager\Providers;
|
||||||
|
|
||||||
|
use App\CMS\Repositories\Module as ModuleRepository;
|
||||||
use App\Models\Module;
|
use App\Models\Module;
|
||||||
use Illuminate\Support\Facades\Cache;
|
use Illuminate\Support\Facades\Cache;
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
@@ -15,11 +16,7 @@ class ModuleManager extends ServiceProvider
|
|||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
// this service provider needs published config - config is merged right after this service provider
|
// this service provider needs published config - config is merged right after this service provider
|
||||||
$modules = Cache::rememberForever('enabled-modules', function () {
|
$modules = app(ModuleRepository::class)->getOnlyModules();
|
||||||
return Module::where('enabled', true)
|
|
||||||
->where('is_template', false)
|
|
||||||
->get();
|
|
||||||
});
|
|
||||||
|
|
||||||
// iterate over all modules and enable or disable them
|
// iterate over all modules and enable or disable them
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace App\Providers;
|
|||||||
use App\CMS\Contracts\Repositories\Template as TemplateContract;
|
use App\CMS\Contracts\Repositories\Template as TemplateContract;
|
||||||
use App\CMS\Handlers\Registrators\TemplateRegistrator;
|
use App\CMS\Handlers\Registrators\TemplateRegistrator;
|
||||||
use App\CMS\Helpers\CurrentTemplate;
|
use App\CMS\Helpers\CurrentTemplate;
|
||||||
use App\Models\Module;
|
use App\CMS\Repositories\Module;
|
||||||
use Illuminate\Support\Facades\App;
|
use Illuminate\Support\Facades\App;
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
@@ -45,10 +45,10 @@ class TemplateServiceProvider extends ServiceProvider
|
|||||||
|
|
||||||
public function registerTemplatePaths($publicTemplates)
|
public function registerTemplatePaths($publicTemplates)
|
||||||
{
|
{
|
||||||
$modules = Module::where('enabled', true)
|
$modules = app(Module::class)
|
||||||
->get()
|
->all()
|
||||||
->pluck('id', 'alias')
|
->pluck('id', 'alias')
|
||||||
->toArray();
|
->toArray();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var $registrator TemplateRegistrator
|
* @var $registrator TemplateRegistrator
|
||||||
@@ -77,7 +77,6 @@ class TemplateServiceProvider extends ServiceProvider
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Register the service provider.
|
* Register the service provider.
|
||||||
*
|
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function register()
|
public function register()
|
||||||
@@ -94,7 +93,7 @@ class TemplateServiceProvider extends ServiceProvider
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$templateDir = base_path('templates/' . $template->static_name. '/Resources');
|
$templateDir = base_path('templates/' . $template->static_name . '/Resources');
|
||||||
$assetsDir = $templateDir . '/' . TemplateContract::ASSETS_DIRECTORY;
|
$assetsDir = $templateDir . '/' . TemplateContract::ASSETS_DIRECTORY;
|
||||||
$viewsDir = $templateDir . '/views';
|
$viewsDir = $templateDir . '/views';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user