function run() { if ($this->um->getParam('user', 'load_all_nodes')) { $this->loadOpenNodesOnly = false; } $this->expandedNodes = $this->getExpandedNodes('SB3NODES'); if (SB_safeVal($_REQUEST, 'reload') == 'all') { // Temporarily disable hiding of folders $this->um->hiddenFolders = array(); $this->loadOpenNodesOnly = false; } else { // Collapsed nodes will not load child nodes if ($this->loadOpenNodesOnly) { $this->tree->expandedNodes =& $this->expandedNodes; } } $useNiceUrl = $this->um->getParam('config', 'use_nice_url'); $this->nodeMenu = array(array('name' => 'Add Bookmark', 'acl' => '*i'), array('name' => 'Add Folder', 'acl' => '*i'), array('name' => 'Browse Folder', 'acl' => '*', 'href' => ($useNiceUrl ? 'dir/' : 'index.php?w=dir&root=') . 'cookie'), array('name' => 'Mark as Default', 'acl' => '*i', 'callback' => 'SB_markDefault', 'optional' => true), array('name' => 'All Bookmarks', 'acl' => '*', 'href' => ($useNiceUrl ? 'dir/' : 'index.php?w=dir&flat=1&root=') . 'cookie' . ($useNiceUrl ? '/flat' : ''), 'optional' => true), array('name' => 'Bookmark News', 'acl' => '*', 'href' => ($useNiceUrl ? 'news/' : 'news.php?root=') . 'cookie', 'optional' => true), null, array('name' => 'Hide Folder', 'acl' => '*', 'callback' => 'SB_nodeHide', 'optional' => true), array('name' => 'Unhide Subfolders', 'acl' => '*', 'optional' => true), array('name' => 'Folder Properties', 'acl' => '*u'), array('name' => 'Folder Sharing', 'acl' => '*'), array('name' => 'Delete Folder', 'acl' => '*d'), array('name' => 'Purge Folder', 'acl' => 'd', 'optional' => true), array('name' => 'Undelete', 'acl' => 'i', 'optional' => true), null, array('name' => 'Copy', 'acl' => '*', 'callback' => 'SB_nodeCopy'), array('name' => 'Paste', 'acl' => '*i_c'), null, array('name' => 'Import Bookmarks', 'acl' => '*i'), array('name' => 'Export Bookmarks', 'acl' => '*')); $this->linkMenu = array(array('name' => 'Email Bookmark'), array('name' => 'Copy Bookmark', 'callback' => 'SB_linkCopy'), array('name' => 'Delete Bookmark', 'acl' => 'd'), null, array('name' => 'Properties', 'acl' => 'u')); /* TODO $this->nodeDragMenu = array ( array('name'=>'Move Into','acl'=>'*i_c'), array('name'=>'Move Contents Into','acl'=>'*i_c'), array('name'=>'Copy Into','acl'=>'*i_c'), array('name'=>'Copy Contents Into','acl'=>'*i_c'), null, array('name'=>'Move Before','acl'=>'*Z'), array('name'=>'Move After','acl'=>'*Z') ); $this->linkDragMenu = array ( array('name'=>'Move Into'), array('name'=>'Copy Into'), null, array('name'=>'Move Before'), array('name'=>'Move After') ); */ if ($this->um->setupDone) { $this->userMenu = array(array('name' => 'Log In'), array('name' => 'Sign Up'), array('name' => 'User Settings'), array('name' => 'Session Settings'), array('name' => 'Private Messages', 'href' => 'messenger.php'), array('name' => 'Verify Email'), null, array('name' => 'SiteBar Settings'), array('name' => 'Maintain Trees'), array('name' => 'Maintain Users'), array('name' => 'Maintain Groups'), null, array('name' => 'Open Integrator', 'href' => 'integrator.php'), array('name' => 'Bookmark News', 'href' => 'news.php'), null, array('name' => 'Contact Admin'), array('name' => 'Help'), array('name' => 'Log Out')); } else { $this->userMenu = array(array('name' => 'Set Up'), array('name' => 'Help')); } // Check if we have additional commands foreach ($this->um->plugins as $plugin) { if (isset($plugin['context']) && $plugin['context']) { $execute = $plugin['prefix'] . 'Context'; $execute($this->nodeMenu, $this->linkMenu, $this->userMenu); } } $this->iconnect = SB_Skin::img('connect'); $this->iempty = SB_Skin::img('empty'); $this->ijoin = SB_Skin::img('join'); $this->ijoinl = SB_Skin::img('join_last'); $this->ilink = SB_Skin::img('link'); $this->ilinkp = SB_Skin::img('link_private'); $this->ifeed = SB_Skin::img('feed'); if ($this->um->getParam('user', 'menu_icon')) { $this->lmenu = '<img class="menu" src="' . SB_Skin::imgsrc('menu') . '" onclick="return SB_menuOn(event,this.parentNode);" alt="">'; $this->nmenu = '<img class="menu" src="' . SB_Skin::imgsrc('menu') . '" onclick="return SB_menuOn(event,this.parentNode.parentNode.parentNode);" alt="">'; } $this->sortMode = $this->um->getParam('user', 'link_sort_mode'); $this->useHitCounter = $this->um->getParam('config', 'use_hit_counter'); $this->useToolTips = $this->um->getParam('user', 'use_tooltips') && !SB_Page::isIPHONE(); $this->showACL = $this->um->getParam('user', 'show_acl'); if ($this->um->getParam('user', 'use_new_window')) { SB_Page::target('_blank'); } if (!$this->useHitCounter) { if (!in_array($this->sortMode, array('abc', 'changed'))) { $this->sortMode = 'abc'; } } $this->setOutputHandler(); parent::run(); }