From 7809f9ada556121c9e6d457700b0a2a6b451259d Mon Sep 17 00:00:00 2001 From: Luke Towers Date: Thu, 22 Nov 2018 13:41:11 -0600 Subject: [PATCH] Added a Theme::databaseLayerEnabled method to make checking for the db layer easier --- modules/cms/classes/Theme.php | 22 ++++++++++++++++------ modules/cms/controllers/Index.php | 12 ++++++++++-- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/modules/cms/classes/Theme.php b/modules/cms/classes/Theme.php index f688c2657..f975c0e72 100644 --- a/modules/cms/classes/Theme.php +++ b/modules/cms/classes/Theme.php @@ -505,6 +505,21 @@ class Theme return ThemeData::forTheme($this); } + /** + * Checks to see if the database layer has been enabled + * + * @return boolean + */ + public static function databaseLayerEnabled() + { + $enableDbLayer = Config::get('cms.enableDatabaseLayer', false); + if (is_null($enableDbLayer)) { + $enableDbLayer = !Config::get('app.debug'); + } + + return $enableDbLayer && App::hasDatabase(); + } + /** * Ensures this theme is registered as a Halcyon them datasource. * @return void @@ -514,12 +529,7 @@ class Theme $resolver = App::make('halcyon'); if (!$resolver->hasDatasource($this->dirName)) { - $enableDbLayer = Config::get('cms.enableDatabaseLayer', false); - if (is_null($enableDbLayer)) { - $enableDbLayer = !Config::get('app.debug'); - } - - if ($enableDbLayer && App::hasDatabase()) { + if (static::databaseLayerEnabled()) { $datasource = new AutoDatasource([ new DbDatasource($this->dirName, 'cms_theme_contents'), new FileDatasource($this->getPath(), App::make('files')), diff --git a/modules/cms/controllers/Index.php b/modules/cms/controllers/Index.php index cdef7f6d7..fc5a8bf7d 100644 --- a/modules/cms/controllers/Index.php +++ b/modules/cms/controllers/Index.php @@ -464,7 +464,11 @@ class Index extends Controller */ protected function canCommitTemplate($template) { - $result = true; + $result = true; // will set to false by default + + if (Theme::databaseLayerEnabled()) { + + } return $result; } @@ -477,7 +481,11 @@ class Index extends Controller */ protected function canResetTemplate($template) { - $result = true; + $result = true; // will set to false by default + + if (Theme::databaseLayerEnabled()) { + + } return $result; }