From a89d4993bd1d3012a3576bcd734b9e1287ad3902 Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Tue, 5 Jul 2016 17:29:08 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=86=E3=83=BC=E3=83=9E=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E3=81=97=E3=81=A6=E3=82=82=E3=80=81=E5=8F=8D=E6=98=A0?= =?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=20https://github.com/NetCo?= =?UTF-8?q?mmons3/SiteManager/issues/61?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controller/Component/AssetComponent.php | 56 ++++++++++++++++--------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/Controller/Component/AssetComponent.php b/Controller/Component/AssetComponent.php index 676e48d2..4f56fc6f 100644 --- a/Controller/Component/AssetComponent.php +++ b/Controller/Component/AssetComponent.php @@ -37,30 +37,48 @@ public function isThemeBootstrapMinCss(Controller $controller) { */ public function getSiteTheme(Controller $controller) { $theme = null; - if (empty($controller->request->params['requested'])) { - if (Current::read('Page.theme')) { - return Current::read('Page.theme'); - } - - $controller->Page = ClassRegistry::init('Pages.Page'); - if (Current::read('Page.id')) { - $parentIds = $controller->Page->getPath(Current::read('Page.id'), array('id')); - $page = $controller->Page->find('first', array( - 'recursive' => -1, - 'fields' => array('theme'), - 'conditions' => array('id' => Hash::extract($parentIds, '{n}.Page.id'), 'theme !=' => null), - 'order' => array('lft' => 'desc'), - )); - $theme = Hash::get($page, 'Page.theme'); - } + if (! empty($controller->request->params['requested'])) { + return $theme; + } + if (Current::read('Page.theme')) { + return Current::read('Page.theme'); + } + $controller->Page = ClassRegistry::init('Pages.Page'); + if (Current::read('Page.id')) { + $parentIds = $controller->Page->getPath(Current::read('Page.id'), array('id')); + $page = $controller->Page->find('first', array( + 'recursive' => -1, + 'fields' => array('theme'), + 'conditions' => array('id' => Hash::extract($parentIds, '{n}.Page.id'), 'theme !=' => null), + 'order' => array('lft' => 'desc'), + )); + $theme = Hash::get($page, 'Page.theme'); if ($theme) { return $theme; - } else { - $controller->SiteSetting = ClassRegistry::init('SiteManager.SiteSetting'); - $theme = $controller->SiteSetting->getSiteTheme(); } } + + if (! Current::read('Room.id')) { + $controller->SiteSetting = ClassRegistry::init('SiteManager.SiteSetting'); + $theme = $controller->SiteSetting->getSiteTheme(); + return $theme; + } + + if (Current::read('Room.theme')) { + $theme = Current::read('Room.theme'); + return $theme; + } + + $controller->Room = ClassRegistry::init('Rooms.Room'); + $parentIds = $controller->Room->getPath(Current::read('Room.id'), array('id')); + $room = $controller->Page->find('first', array( + 'recursive' => -1, + 'fields' => array('theme'), + 'conditions' => array('id' => Hash::extract($parentIds, '{n}.Room.id'), 'theme !=' => null), + 'order' => array('lft' => 'desc'), + )); + $theme = Hash::get($room, 'Room.theme'); return $theme; } }