FEATURE: change directory structure
This commit is contained in:
@@ -2,19 +2,19 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Handlers\Registrators\MenuExtensionRegistrator;
|
||||
use App\Handlers\Registrators\SearchEngineRegistrator;
|
||||
use App\Handlers\Registrators\SettingsExtensionRegistrator;
|
||||
use App\Handlers\Registrators\TemplateRegistrator;
|
||||
use App\Handlers\Registrators\WidgetRegistrator;
|
||||
use App\Handlers\Search\Content;
|
||||
use App\Handlers\Search\Files;
|
||||
use App\Handlers\Search\Presenters\AdminContent as AdminContentPresenter;
|
||||
use App\Handlers\Search\Presenters\AdminFiles;
|
||||
use App\CMS\Handlers\Registrators\MenuExtensionRegistrator;
|
||||
use App\CMS\Handlers\Registrators\SearchEngineRegistrator;
|
||||
use App\CMS\Handlers\Registrators\SettingsExtensionRegistrator;
|
||||
use App\CMS\Handlers\Registrators\TemplateRegistrator;
|
||||
use App\CMS\Handlers\Registrators\WidgetRegistrator;
|
||||
use App\CMS\Handlers\Search\Content;
|
||||
use App\CMS\Handlers\Search\Files;
|
||||
use App\CMS\Handlers\Search\Presenters\AdminContent as AdminContentPresenter;
|
||||
use App\CMS\Handlers\Search\Presenters\AdminFiles;
|
||||
use App\Models\Template;
|
||||
use App\Widgets\HtmlCode\HtmlCode;
|
||||
use App\Widgets\Menu\Menu;
|
||||
use App\Widgets\OrbitSlider\OrbitSlider;
|
||||
use App\CMS\Widgets\HtmlCode\HtmlCode;
|
||||
use App\CMS\Widgets\Menu\Menu;
|
||||
use App\CMS\Widgets\OrbitSlider\OrbitSlider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\CMS\Shortcodes\Widget;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Webwizo\Shortcodes\Facades\Shortcode;
|
||||
|
||||
class BladeExtender extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
// ignore running from artisan
|
||||
if (App::runningInConsole()) {
|
||||
return;
|
||||
}
|
||||
|
||||
view()->share('currentUrl', \Request::url());
|
||||
|
||||
$this->extendBlade();
|
||||
|
||||
Shortcode::register('widget', Widget::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates pattern for matching Blade directives
|
||||
*
|
||||
* @param $function
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function createPattern($function)
|
||||
{
|
||||
return '/(?<!\w)(\s*)@' . $function . '\(([^)]+)*\)/';
|
||||
}
|
||||
|
||||
/**
|
||||
* Create new Blade directives
|
||||
*/
|
||||
private function extendBlade()
|
||||
{
|
||||
// extend Blade "@extends" macro - with this macro allows to use "hierarchy" in templates
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('extendVisitor');
|
||||
$code = '@extends(\App\CMS\Helpers\Template::name($2))';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
$macros = [
|
||||
'upload' => 'echo \App\CMS\Helpers\Path::upload($2);',
|
||||
'thumbnail' => 'echo \App\CMS\Helpers\Path::thumbnail($2);',
|
||||
'gravatar' => 'echo \App\CMS\Helpers\Gravatar::img($2);',
|
||||
'asset' => 'echo \App\CMS\Helpers\Path::asset($2);',
|
||||
'date' => 'echo \App\CMS\Helpers\Date::date($2);',
|
||||
'customDate' => 'echo \App\CMS\Helpers\Date::dateFormatted($2);',
|
||||
'monthName' => 'echo \App\CMS\Helpers\Date::monthName($2);',
|
||||
'widgetArea' => '\App\CMS\Helpers\WidgetAreas::render($2);',
|
||||
'widgetPreview' => 'echo \App\CMS\Helpers\Widget::render($2)'
|
||||
];
|
||||
|
||||
foreach ($macros as $macro => $code) {
|
||||
Blade::extend(function ($view) use ($macro, $code) {
|
||||
$pattern = $this->createPattern($macro);
|
||||
$code = '<?php ' . $code . ' ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,77 +14,77 @@ class EventServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $listen = [
|
||||
'App\Events\CreateNewUser' => [
|
||||
'App\Listeners\LogCreatedUser',
|
||||
'App\Listeners\Loggers\LogCreatedUser',
|
||||
],
|
||||
'App\Events\EditUser' => [
|
||||
'App\Listeners\LogEditUser',
|
||||
'App\Listeners\Loggers\LogEditUser',
|
||||
],
|
||||
'App\Events\CreateNewContent' => [
|
||||
'App\Listeners\LogCreateNewContent'
|
||||
'App\Listeners\Loggers\LogCreateNewContent'
|
||||
],
|
||||
'App\Events\EditContent' => [
|
||||
'App\Listeners\LogEditContent'
|
||||
'App\Listeners\Loggers\LogEditContent'
|
||||
],
|
||||
'App\Events\PublishContent' => [
|
||||
'App\Listeners\LogPublishContent'
|
||||
'App\Listeners\Loggers\LogPublishContent'
|
||||
],
|
||||
'App\Events\MakeDraftFromContent' => [
|
||||
'App\Listeners\LogDraftFromContent'
|
||||
'App\Listeners\Loggers\LogDraftFromContent'
|
||||
],
|
||||
'App\Events\SetHomepage' => [
|
||||
'App\Listeners\LogSetHomepage'
|
||||
'App\Listeners\Loggers\LogSetHomepage'
|
||||
],
|
||||
'App\Events\AttemptToEditInvalidContent' => [
|
||||
'App\Listeners\LogAttemptToInvalidContentEdit'
|
||||
'App\Listeners\Loggers\LogAttemptToInvalidContentEdit'
|
||||
],
|
||||
'App\Events\DeleteContent' => [
|
||||
'App\Listeners\LogDeleteContent'
|
||||
'App\Listeners\Loggers\LogDeleteContent'
|
||||
],
|
||||
'App\Events\CreateNewCustomField' => [
|
||||
'App\Listeners\LogCreateCustomField',
|
||||
'App\Listeners\Loggers\LogCreateCustomField',
|
||||
],
|
||||
'App\Events\EditCustomField' => [
|
||||
'App\Listeners\LogEditCustomField',
|
||||
'App\Listeners\Loggers\LogEditCustomField',
|
||||
],
|
||||
'App\Events\DeleteCustomField' => [
|
||||
'App\Listeners\LogDeleteField',
|
||||
'App\Listeners\Loggers\LogDeleteField',
|
||||
],
|
||||
'App\Events\ChangeSettings' => [
|
||||
'App\Listeners\LogChangeSettings',
|
||||
'App\Listeners\Loggers\LogChangeSettings',
|
||||
],
|
||||
'App\Events\UploadFile' => [
|
||||
'App\Listeners\LogUploadFile'
|
||||
'App\Listeners\Loggers\LogUploadFile'
|
||||
],
|
||||
'App\Events\EditFile' => [
|
||||
'App\Listeners\LogEditFile'
|
||||
'App\Listeners\Loggers\LogEditFile'
|
||||
],
|
||||
'App\Events\CreateNewWidgetArea' => [
|
||||
'App\Listeners\LogNewWidgetArea'
|
||||
'App\Listeners\Loggers\LogNewWidgetArea'
|
||||
],
|
||||
'App\Events\EditWidgetArea' => [
|
||||
'App\Listeners\LogEditWidgetArea'
|
||||
'App\Listeners\Loggers\LogEditWidgetArea'
|
||||
],
|
||||
'App\Events\DeleteWidgetArea' => [
|
||||
'App\Listeners\LogDeleteWidgetArea'
|
||||
'App\Listeners\Loggers\LogDeleteWidgetArea'
|
||||
],
|
||||
'App\Events\CreateNewWidget' => [
|
||||
'App\Listeners\LogNewWidget'
|
||||
'App\Listeners\Loggers\LogNewWidget'
|
||||
],
|
||||
'App\Events\EditWidget' => [
|
||||
'App\Listeners\LogEditWidget'
|
||||
'App\Listeners\Loggers\LogEditWidget'
|
||||
],
|
||||
'App\Events\AssignWidget' => [
|
||||
'App\Listeners\LogAssignWidget'
|
||||
'App\Listeners\Loggers\LogAssignWidget'
|
||||
],
|
||||
'App\Events\RemoveWidgetFromArea' => [
|
||||
'App\Listeners\LogRemoveWidgetFromArea'
|
||||
'App\Listeners\Loggers\LogRemoveWidgetFromArea'
|
||||
],
|
||||
// internal Laravel events - should work as auth.login and auth.logout, however it doesn't...
|
||||
'Illuminate\Auth\Events\Login' => [
|
||||
'App\Listeners\LogLogin'
|
||||
'App\Listeners\Loggers\LogLogin'
|
||||
],
|
||||
'Illuminate\Auth\Events\Logout' => [
|
||||
'App\Listeners\LogLogout'
|
||||
'App\Listeners\Loggers\LogLogout'
|
||||
],
|
||||
];
|
||||
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\Settings;
|
||||
use App\Shortcodes\Widget;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Webwizo\Shortcodes\Facades\Shortcode;
|
||||
|
||||
class GlobalViewDataProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
// ignore running from artisan
|
||||
if (App::runningInConsole()) {
|
||||
return;
|
||||
}
|
||||
|
||||
view()->share('currentUrl', \Request::url());
|
||||
|
||||
$this->extendBlade();
|
||||
|
||||
Shortcode::register('widget', Widget::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates pattern for matching Blade directives
|
||||
*
|
||||
* @param $function
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function createPattern($function)
|
||||
{
|
||||
return '/(?<!\w)(\s*)@' . $function.'\(([^)]+)*\)/';
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Create new Blade directives
|
||||
*/
|
||||
private function extendBlade()
|
||||
{
|
||||
// extend Blade "@extends" macro - with this macro allows to use "hierarchy" in templates
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('extendVisitor');
|
||||
$code = '@extends(\App\Helpers\Template::name($2))';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
// shortcut for loading uploaded files
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('upload');
|
||||
$code = '<?php echo \App\Helpers\Template::upload($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
// shortcut for loading thumbnails of uploaded images
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('thumbnail');
|
||||
$code = '<?php echo \App\Helpers\Template::thumbnail($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
// shortcut for displaying Gravatar
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('gravatar');
|
||||
$code = '<?php echo \App\Helpers\Gravatar::img($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
// shortcut for assets (placed in /public/assets/<theme>
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('asset');
|
||||
$code = '<?php echo \App\Helpers\Template::asset($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('date');
|
||||
$code = '<?php echo \App\Helpers\Template::date($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('customDate');
|
||||
$code = '<?php echo \App\Helpers\Date::dateFormatted($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('monthName');
|
||||
$code = '<?php echo \App\Helpers\Date::monthName($2); ?>';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
|
||||
|
||||
// register extension for rendering widget areas
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('widgetArea');
|
||||
|
||||
return preg_replace($pattern, '<?php \App\Helpers\WidgetAreas::render($2); ?>', $view);
|
||||
});
|
||||
|
||||
// register extension for preview of widget
|
||||
Blade::extend(function ($view) {
|
||||
$pattern = $this->createPattern('widgetPreview');
|
||||
$code = '
|
||||
<?php
|
||||
if ($2 instanceof \App\Models\Widget) {
|
||||
$handler = $2->widget_type_handler;
|
||||
if (!is_object($2->settings))
|
||||
$2->settings = json_decode($2->settings);
|
||||
|
||||
$presenter = call_user_func([$handler, "getPresenter"]);
|
||||
|
||||
echo call_user_func([$presenter, "render"], $2);
|
||||
}
|
||||
?>
|
||||
';
|
||||
|
||||
return preg_replace($pattern, $code, $view);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -60,6 +60,5 @@ class SubmodulesManager extends ServiceProvider
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
// TODO: Implement register() method.
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Handlers\Registrators\TemplateRegistrator;
|
||||
use App\Helpers\CurrentTemplate;
|
||||
use App\CMS\Handlers\Registrators\TemplateRegistrator;
|
||||
use App\CMS\Helpers\CurrentTemplate;
|
||||
use App\Models\Template;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
Reference in New Issue
Block a user