addBehavior('initWidgets', array('blogrollWidgets', 'initWidgets')); $core->addBehavior('initDefaultWidgets', array('blogrollWidgets', 'initDefaultWidgets')); class blogrollWidgets { public static function initWidgets($w) { $w->create('links', __('Blogroll'), array('tplBlogroll', 'linksWidget'), null, 'Blogroll list'); $w->links->setting('title', __('Title (optional)') . ' :', __('Links')); $br = new dcBlogroll($GLOBALS['core']->blog); $h = $br->getLinksHierarchy($br->getLinks()); $h = array_keys($h); $categories = array(__('All categories') => ''); foreach ($h as $v) { if ($v) { $categories[$v] = $v; } } unset($br, $h); $w->links->setting('category', __('Category'), '', 'combo', $categories); $w->links->setting('homeonly', __('Display on:'), 1, 'combo', array( __('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2 ) ); $w->links->setting('content_only', __('Content only'), 0, 'check'); $w->links->setting('class', __('CSS class:'), ''); $w->links->setting('offline', __('Offline'), 0, 'check'); } public static function initDefaultWidgets($w, $d) { $d['extra']->append($w->links); } }