diff --git a/app/Helpers/PageRenderer.php b/app/Helpers/PageRenderer.php index e108ddb6..f0acb176 100644 --- a/app/Helpers/PageRenderer.php +++ b/app/Helpers/PageRenderer.php @@ -35,7 +35,9 @@ class PageRenderer // get handler $handler = new $page->module_handler; + $page->content = Shortcode::compile($page->content); + // render page - return Shortcode::compile($handler->render($page, $parameters)); + return $handler->render($page, $parameters); } } diff --git a/app/Http/Controllers/Admin/Contents/EditContent.php b/app/Http/Controllers/Admin/Contents/EditContent.php index f0db70e7..44296dcc 100644 --- a/app/Http/Controllers/Admin/Contents/EditContent.php +++ b/app/Http/Controllers/Admin/Contents/EditContent.php @@ -269,6 +269,10 @@ class EditContent extends Controller // change url to something unique $oldURL = $page->url; + $page->url .= uniqid('deleted_'); + $page->save(); + + // delete page $page->delete(); // let module to delete some extra content created during page's life diff --git a/app/Models/Content.php b/app/Models/Content.php index 3c85be0e..6dee27a4 100644 --- a/app/Models/Content.php +++ b/app/Models/Content.php @@ -38,7 +38,7 @@ class Content extends Model 'status' ]; protected $guarded = []; - protected $subpages = []; + protected $foundSubpages = []; protected $subpagesInit = false; const STATUS_DRAFT = 'draft'; const STATUS_PROTECTED = 'protected'; @@ -60,7 +60,11 @@ class Content extends Model */ public function getPageQuery() { - return Content::where('status', '!=', Content::STATUS_DRAFT); + return Content::where('status', '!=', Content::STATUS_DRAFT) + ->select('contents.*') + ->join('modules', 'modules.handler', '=', 'contents.module_handler') + ->where('language', LaravelLocalization::getCurrentLocale()) + ->where('modules.enabled', true); } /** @@ -70,7 +74,6 @@ class Content extends Model public function getHomepage() { return $this->getPageQuery() - ->where('language', LaravelLocalization::getCurrentLocale()) ->where('is_homepage', 1) ->first(); } @@ -86,32 +89,39 @@ class Content extends Model { return $this->getPageQuery() ->where('url', $url) - ->where('language', LaravelLocalization::getCurrentLocale()) ->first(); } /** * Get list of all subpages * - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @param bool $orderBy + * @param bool $orderDirection + * + * @return array */ - public function subpages() + public function subpages($orderBy = false, $orderDirection = false) { if (!$this->subpagesInit) { - $this->subpages = $this->getPageQuery() - ->where('parent_id', $this->id) - ->where('language', LaravelLocalization::getCurrentLocale()) - ->get(); + $subpages = $this->getPageQuery() + ->where('contents.parent_id', $this->id); + + if ($orderBy) { + $subpages->orderBy($orderBy, $orderDirection ? $orderDirection : 'ASC'); + } + + $subpages = $subpages->get(); // convert JSON settings into stdClass - foreach ($this->subpages as $subpage) { - $subpage->module_settings = json_decode($subpage->module_settings); + foreach ($subpages as $i => $subpage) { + $subpages[$i]->module_settings = json_decode($subpage->module_settings); } $this->subpagesInit = true; + $this->foundSubpages = $subpages; } - return $this->subpages; + return $this->foundSubpages; } /** @@ -162,7 +172,6 @@ class Content extends Model public function rootPages() { $rootPages = $this->getPageQuery() - ->where('language', LaravelLocalization::getCurrentLocale()) ->where('parent_id', null); if ($this->id) { diff --git a/app/Providers/GlobalViewDataProvider.php b/app/Providers/GlobalViewDataProvider.php index 00e8a870..7425e1ad 100644 --- a/app/Providers/GlobalViewDataProvider.php +++ b/app/Providers/GlobalViewDataProvider.php @@ -21,11 +21,7 @@ class GlobalViewDataProvider extends ServiceProvider return; } -// $settings = new Settings(); -// -// foreach ($settings->getForView() as $key => $value) { -// view()->share($key, $value); -// } + view()->share('currentUrl', \Request::url()); $this->extendBlade(); } diff --git a/modules/ContactForm/Resources/views/visitor/emails/default.blade.php b/modules/ContactForm/Resources/views/visitor/emails/default.blade.php index ffcda34d..31ff49bd 100644 --- a/modules/ContactForm/Resources/views/visitor/emails/default.blade.php +++ b/modules/ContactForm/Resources/views/visitor/emails/default.blade.php @@ -1,4 +1,4 @@

Ahoj {{$data->name}}

-

Diky za zpravu: {{$data->message}}

\ No newline at end of file +{{$data->message}} \ No newline at end of file diff --git a/resources/views/admin/widgets/menu/form.blade.php b/resources/views/admin/widgets/menu/form.blade.php index 1cbe3d50..0087e446 100644 --- a/resources/views/admin/widgets/menu/form.blade.php +++ b/resources/views/admin/widgets/menu/form.blade.php @@ -21,7 +21,7 @@ + value="{{old("containerClass", $widget->settingsObj->containerClass)}}" />
@@ -30,7 +30,7 @@ @endif + @if(session('error')) +
+ Zprávu bohužel nebylo možné odeslat, zkuste nám napsat na {{$page->module_settings->contactEmail}}. +
+ @endif +
{!! csrf_field() !!}