コード例 #1
0
ファイル: menu.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  *
  * @global array $submenu
  * @param string $tmpl
  * @param mvb_Model_Manager $parent
  * @return string
  */
 public static function render($tmpl, $parent)
 {
     global $submenu;
     $sorted_menu = $parent->getRoleMenu();
     $item_tmpl = mvb_Model_Template::retrieveSub('MAIN_MENU_ITEM', $tmpl);
     $sublist_tmpl = mvb_Model_Template::retrieveSub('MAIN_MENU_SUBLIST', $item_tmpl);
     $subitem_tmpl = mvb_Model_Template::retrieveSub('MAIN_MENU_SUBITEM', $sublist_tmpl);
     $list = '';
     foreach ($sorted_menu as $menu) {
         if (self::isSeperator($menu)) {
             continue;
         }
         //render submenu
         $sub_list = '';
         if (isset($submenu[$menu[2]]) && is_array($submenu[$menu[2]])) {
             foreach ($submenu[$menu[2]] as $sub_menu) {
                 $markers = array('###submenu_name###' => utf8_encode(mvb_Model_Helper::removeHTML($sub_menu[0])), '###value###' => $sub_menu[2], '###checked###' => $parent->getConfig()->hasSubMenu($menu[2], $sub_menu[2]) ? 'checked' : '');
                 $sub_list .= mvb_Model_Template::updateMarkers($markers, $subitem_tmpl);
             }
             $sub_list = mvb_Model_Template::replaceSub('MAIN_MENU_SUBITEM', $sub_list, $sublist_tmpl);
         }
         $temp = mvb_Model_Template::replaceSub('MAIN_MENU_SUBLIST', $sub_list, $item_tmpl);
         $whole = $parent->getConfig()->getMenu($menu[2]);
         $markers = array('###name###' => utf8_encode(mvb_Model_Helper::removeHTML($menu[0])), '###id###' => $menu[5], '###menu###' => $menu[2], '###whole_checked###' => isset($whole['whole']) ? 'checked' : '');
         $list .= mvb_Model_Template::updateMarkers($markers, $temp);
     }
     return mvb_Model_Template::replaceSub('MAIN_MENU_ITEM', $list, $tmpl);
 }