ENHANCEMENT: allow administators to make it possible for non-admin users to view blog management widget

This commit is contained in:
Julian Seidenberg 2009-05-21 04:07:53 +00:00
parent 43118ecb03
commit 1b7de7e092

View File

@ -3,7 +3,7 @@
* Blog Management Widget
* @package blog
*/
class BlogManagementWidget extends Widget {
class BlogManagementWidget extends Widget implements PermissionProvider {
static $db = array();
@ -45,17 +45,32 @@ class BlogManagementWidget extends Widget {
}
}
function WidgetHolder() {
$container = BlogTree::current();
function providePermissions() {
return array("BLOGMANAGEMENTWIDGET_VIEW" => "View blog management widget");
}
if ($container && $container instanceof BlogHolder && $container->canAddChildren()) return $this->renderWith('WidgetHolder');
return '';
function WidgetHolder() {
if(Permission::check("BLOGMANAGEMENTWIDGET_VIEW")) {
return $this->renderWith("WidgetHolder");
}
}
function PostLink() {
$container = BlogTree::current();
if ($container) return $container->Link('post');
}
function getBlogHolder() {
$page = Director::currentPage();
if($page->is_a("BlogHolder")) {
return $page;
} else if($page->is_a("BlogEntry") && $page->getParent()->is_a("BlogHolder")) {
return $page->getParent();
} else {
return DataObject::get_one("BlogHolder");
}
}
}
?>