From 8073827328ad35c6a403aaae4ce39352a6f038df Mon Sep 17 00:00:00 2001 From: John Learn Date: Fri, 14 Feb 2014 12:30:45 -0500 Subject: [PATCH] fix error when tagcloud appears on login page. --- code/BlogTree.php | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/code/BlogTree.php b/code/BlogTree.php index 1875708..e5310ad 100644 --- a/code/BlogTree.php +++ b/code/BlogTree.php @@ -50,21 +50,25 @@ class BlogTree extends Page { */ static function current($page = null) { - if (!$page) { + if (!$page && Controller::has_curr()) { $controller = Controller::curr(); - if($controller) $page = $controller->data(); + if ($controller->hasMethod('data')) { + $page = $controller->data(); + } } - // If we _are_ a BlogTree, use us - if ($page instanceof BlogTree) return $page; - - // If page is a virtual page use that - if($page instanceof VirtualPage && $page->CopyContentFrom() instanceof BlogTree) return $page; - - // Or, if we a a BlogEntry underneath a BlogTree, use our parent - if($page->is_a("BlogEntry")) { - $parent = $page->getParent(); - if($parent instanceof BlogTree) return $parent; + if ($page) { + // If we _are_ a BlogTree, use us + if ($page instanceof BlogTree) return $page; + + // If page is a virtual page use that + if($page instanceof VirtualPage && $page->CopyContentFrom() instanceof BlogTree) return $page; + + // Or, if we a a BlogEntry underneath a BlogTree, use our parent + if($page->is_a("BlogEntry")) { + $parent = $page->getParent(); + if($parent instanceof BlogTree) return $parent; + } } // Try to find a top-level BlogTree