protected function build_thirdlevelsubmenu($docid, rsContainer $Li, $alt_select_first = false) { $Menu = new rsMenu($Li->subordinate('div', array('class' => 'menu thirdlevel')), $this->db); $first = true; foreach ($this->get_sublevel_documents($docid) as $menuItem) { $Li = $Menu->add_doc($menuItem); if ($first) { $firstLi = $Li; $firstId = $menuItem['id']; if ($Menu->is_active($menuItem['id'])) { $Menu->select_item($Li, $menuItem['id']); } $first2 = false; } } if ($alt_select_first && $Menu->get_active() == null) { $Menu->select_item($firstLi, $firstId); $this->build_thirdlevelsubmenu($Menu->get_active(), $firstLi); $this->docid = $firstId; } }
protected function build_submenu(rsContainer $Container, $root = null, $active = null) { if (!$root) { $root = $this->active_menu_element; } $Page = new rsPage($this->active_menu_element, $this->db); $Submenu = $Container->subordinate('div', array('id' => 'submenu')); $Menu = new rsMenu($Submenu, $this->db, $active ? $active : $this->docid); foreach ($this->get_sublevel_documents($root) as $menuItem) { $Li = $Menu->add_doc($menuItem); if ($menuItem['id'] == $Menu->get_active() && $menuItem['offspring'] > 0) { $Menu2 = new rsMenu($Li->subordinate('div', array('class' => 'menu thirdlevel')), $this->db); foreach ($this->get_sublevel_documents($menuItem['id']) as $menuItem2) { $Menu2->add_doc($menuItem2); } } } return $Submenu; }