Changeset 6389
- Timestamp:
- May 27, 2010, 3:47:56 PM (14 years ago)
- Location:
- extensions/rv_menutree/trunk
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/rv_menutree/trunk/changelog.txt
r3590 r6389 2 2 - optimizations by calling make_index_url less frequently 3 3 - compatible with IE8 4 5 2.1.a 6 - compatibility with piwigo 2.1 -
extensions/rv_menutree/trunk/main.inc.php
r3590 r6389 28 28 { 29 29 if (rv_ua_is_handheld()) return $where; 30 add_event_handler(' get_html_menu_category', 'rv_mt_get_html_menu_category', EVENT_HANDLER_PRIORITY_NEUTRAL, 3);30 add_event_handler('blockmanager_apply', 'rv_mt_menubar_categories'); 31 31 32 32 if ($expand) … … 51 51 } 52 52 53 function rv_mt_menubar_categories($menu_ref_arr) 54 { 55 $menu = & $menu_ref_arr[0]; 53 56 54 function rv_mt_get_html_menu_category($menu, $categories, $selected_category)55 {56 $start = get_moment();57 if (($block = $menu->get_block('mbCategories')) != null) 58 { 59 global $template, $page, $rv_mt_all_open; 57 60 58 $ref_level = 0; 59 $level = 0; 60 $menu = ''; 61 $dirname = dirname(__FILE__); 61 62 62 $upper_ids=array(); 63 if ( null!=$selected_category) 64 $upper_ids = array_flip( explode(',', $selected_category['uppercats']) ); 63 $block->template = $dirname.'/menubar_categories.tpl'; 65 64 66 $url_perma = make_index_url( array( 'category' => array('id'=>0, 'name'=>'', 'permalink'=> '@permalink@') ) ); 67 $url_no_perma = make_index_url( array( 'category' => array('id'=>999999, 'name'=>'xxxnamexxx', 'permalink'=> '') ) ); 68 69 foreach ($categories as $category) 70 { 71 $level = substr_count($category['global_rank'], '.') + 1; 72 if ($level > $ref_level) 73 { 74 if ($ref_level==0) 75 $menu.= "\n<ul class=\"rvTree\" id=\"theCategoryMenu\">"; 76 else 77 $menu.= "\n<ul>"; 78 } 79 elseif ($level == $ref_level) 80 $menu.= "</li>"; 81 elseif ($level < $ref_level) 82 { 83 // we may have to close more than one level at the same time... 84 $menu.= "</li>"; 85 $menu.= str_repeat("\n</ul></li>",($ref_level-$level)); 86 } 87 $ref_level = $level; 88 89 $menu.= "\n<li"; 90 $class_names = array(); 91 if ($category['id'] == @$selected_category['id']) 92 array_push( $class_names, 'selected'); 93 global $rv_mt_all_open; 94 95 if ($category['count_categories']>0) 96 { 97 if ( isset($rv_mt_all_open) and $rv_mt_all_open ) 98 array_push( $class_names, 'liOpen'); 99 elseif ( isset( $upper_ids[ $category['id'] ] ) ) 100 { 101 array_push( $class_names, 'liOpen'); 102 unset($upper_ids[ $category['id'] ] ); 103 } 104 else 105 array_push( $class_names, 'liClosed'); 106 } 107 108 if (count($class_names)) 109 $menu.= ' class="'.implode($class_names,' ').'"'; 110 $menu.= '>'; 111 112 if ( empty($category['permalink']) ) 113 $url = str_replace( array('999999', 'xxxnamexxx'), array($category['id'], str2url($category['name'])), $url_no_perma); 114 else 115 $url = str_replace('@permalink@', $category['permalink'], $url_perma); 116 117 $title = get_display_images_count( 118 $category['nb_images'], $category['count_images'], $category['count_categories'], 119 false, 120 ' / ' 121 ); 122 123 $menu.= '<a href="'.$url.'"'; 124 if ($selected_category!=null and $category['id'] == $selected_category['id_uppercat']) 125 $menu.= ' rel="up"'; 126 $menu.= ' title="'.$title.'">' 127 .trigger_event('render_category_name', $category['name'], 'get_html_menu_category') 128 //.$category['name'] 129 .'</a>'; 130 131 if ( $category['count_images']>0 ) 132 {// at least one direct or indirect image 133 $menu.= '<span class="menuInfoCat' 134 .($category['nb_images'] == 0 ? 'ByChild' : '') 135 .'" title="'.$title.'"> ['.$category['count_images'].']</span>'; 136 } 137 $menu.= get_icon($category['max_date_last'], @$category['max_date_last']> @$category['date_last']); 65 $template->assign('rvmt', array( 66 'PATH' => get_root_url().'plugins/'. basename($dirname).'/', 67 'CSS' => str_replace( 'url(', 'url('.get_root_url().'plugins/'.basename($dirname).'/',file_get_contents($dirname.'/rvtree-min.css')), 68 'ALL_OPEN' => $rv_mt_all_open, 69 'UPPER_IDS' => isset($page['category']['uppercats']) ? array_flip( explode(',', $page['category']['uppercats'])) : null, 70 ) 71 ); 138 72 } 139 140 $menu.= str_repeat("\n</li></ul>",($level));141 $menu.= '<script type="text/javascript">RVTree.convertTree( document.getElementById("theCategoryMenu") );</script>';142 143 $dirname = dirname(__FILE__);144 $head = '<style type="text/css">'. str_replace( 'url(', 'url('.get_root_url().'plugins/'.basename($dirname).'/',file_get_contents($dirname.'/rvtree-min.css')).'</style>145 <script type="text/javascript" src="'.get_root_url().'plugins/'. basename(dirname(__FILE__)).'/rvtree-min.js"></script>';146 147 pwg_debug('rv_mt_get_html_menu_category took '.number_format(get_moment() - $start,3,'.',' ') );148 global $template;149 $template->append( 'head_elements', $head);150 return $menu;151 73 } 152 74 ?>
Note: See TracChangeset
for help on using the changeset viewer.