From 705639703640732e2e7378864697cbba7d4fd97f Mon Sep 17 00:00:00 2001 From: alekseybobkov Date: Thu, 3 Jul 2014 17:40:44 +1100 Subject: [PATCH] Implemented the hidden page flag. Closes #34. Closes #88. --- modules/backend/assets/css/october.css | 4 ++++ modules/backend/assets/less/controls/forms.less | 4 ++++ modules/cms/classes/Controller.php | 8 ++++++++ modules/cms/classes/page/fields.yaml | 12 ++++++------ modules/cms/lang/en/lang.php | 2 ++ 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/modules/backend/assets/css/october.css b/modules/backend/assets/css/october.css index c1d2a5d2a..923a78499 100644 --- a/modules/backend/assets/css/october.css +++ b/modules/backend/assets/css/october.css @@ -8402,6 +8402,10 @@ label { .custom-radio:focus label:before { border-color: #5fb6f5; } +.custom-checkbox p.help-block, +.custom-radio p.help-block { + margin-top: 0; +} .custom-radio label:before { border-radius: 8px; } diff --git a/modules/backend/assets/less/controls/forms.less b/modules/backend/assets/less/controls/forms.less index 26ded43ff..003ce174d 100644 --- a/modules/backend/assets/less/controls/forms.less +++ b/modules/backend/assets/less/controls/forms.less @@ -326,6 +326,10 @@ label { border-color: @color-focus; } } + + p.help-block { + margin-top: 0; + } } .custom-radio label:before { diff --git a/modules/cms/classes/Controller.php b/modules/cms/classes/Controller.php index 6cc419ed8..c4b13942a 100644 --- a/modules/cms/classes/Controller.php +++ b/modules/cms/classes/Controller.php @@ -11,6 +11,7 @@ use Config; use Request; use Response; use Exception; +use BackendAuth; use Twig_Environment; use Controller as BaseController; use Cms\Twig\Loader as TwigLoader; @@ -113,7 +114,14 @@ class Controller extends BaseController if (!strlen($url)) $url = '/'; + /* + * Handle hidden pages + */ $page = $this->router->findByUrl($url); + if ($page && $page->hidden) { + if (!BackendAuth::getUser()) + $page = null; + } /* * Extensibility diff --git a/modules/cms/classes/page/fields.yaml b/modules/cms/classes/page/fields.yaml index 2bd53432d..9cfbf3d6d 100644 --- a/modules/cms/classes/page/fields.yaml +++ b/modules/cms/classes/page/fields.yaml @@ -24,12 +24,6 @@ fields: tabs: fields: - # published: - # tab: General - # span: left - # label: Published - # type: checkbox - fileName: tab: cms::lang.editor.settings span: left @@ -62,6 +56,12 @@ tabs: type: textarea size: tiny + settings[hidden]: + tab: cms::lang.editor.settings + label: cms::lang.editor.hidden + type: checkbox + comment: cms::lang.editor.hidden_comment + secondaryTabs: stretch: true fields: diff --git a/modules/cms/lang/en/lang.php b/modules/cms/lang/en/lang.php index 87f0070dc..2b0cc6967 100644 --- a/modules/cms/lang/en/lang.php +++ b/modules/cms/lang/en/lang.php @@ -93,6 +93,8 @@ return [ 'markup' => 'Markup', 'code' => 'Code', 'content' => 'Content', + 'hidden' => 'Hidden', + 'hidden_comment' => 'Hidden pages are accessible only by logged-in back-end users.' ], 'asset' => [ 'menu_label' => "Assets",