From 0f7dd7922fe82d6dc6f3069871bb3844d0bad70b Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 17 Apr 2012 22:27:47 +0200 Subject: [PATCH] API CHANGE Removed $controller context from SiteTree->CMSTreeClasses(), now handled through closures in the specific LeftAndMain usage instead (to handle separate contexts for links and determining "current page") --- code/controllers/CMSPagesController.php | 10 +++++++++- code/model/SiteTree.php | 7 +------ code/model/VirtualPage.php | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/code/controllers/CMSPagesController.php b/code/controllers/CMSPagesController.php index c80701cf..eedec09d 100644 --- a/code/controllers/CMSPagesController.php +++ b/code/controllers/CMSPagesController.php @@ -10,12 +10,20 @@ class CMSPagesController extends CMSMain { static $url_priority = 40; static $menu_title = 'Pages'; static $required_permission_codes = 'CMS_ACCESS_CMSMain'; - + function PreviewLink() { return false; } + /** + * Doesn't deal with a single record, and we need + * to avoid session state from previous record edits leaking in here. + */ public function currentPageID() { return false; } + + public function isCurrentPage(DataObject $record) { + return false; + } } diff --git a/code/model/SiteTree.php b/code/model/SiteTree.php index 73bd2b5e..b2731c1b 100644 --- a/code/model/SiteTree.php +++ b/code/model/SiteTree.php @@ -2531,11 +2531,9 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid /** * Return the CSS classes to apply to this node in the CMS tree * - * @param Controller $controller The controller object that the tree - * appears on * @return string */ - function CMSTreeClasses($controller) { + function CMSTreeClasses() { $classes = sprintf('class-%s', $this->class); if($this->HasBrokenFile || $this->HasBrokenLink) $classes .= " BrokenLink"; @@ -2543,9 +2541,6 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid if(!$this->canAddChildren()) $classes .= " nochildren"; - if($controller->isCurrentPage($this)) - $classes .= " current"; - if(!$this->canEdit() && !$this->canAddChildren()) $classes .= " disabled"; diff --git a/code/model/VirtualPage.php b/code/model/VirtualPage.php index 4c7ca952..8cf5c0f6 100644 --- a/code/model/VirtualPage.php +++ b/code/model/VirtualPage.php @@ -348,8 +348,8 @@ class VirtualPage extends Page { $this->ImageTracking()->setByIdList($this->CopyContentFrom()->ImageTracking()->column('ID')); } - function CMSTreeClasses($controller) { - return parent::CMSTreeClasses($controller) . ' VirtualPage-' . $this->CopyContentFrom()->ClassName; + function CMSTreeClasses() { + return parent::CMSTreeClasses() . ' VirtualPage-' . $this->CopyContentFrom()->ClassName; } /**