Changeset 365
- Timestamp:
- 03/26/08 17:27:57 (16 years ago)
- Location:
- plugins/menuFreshy
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/menuFreshy/_define.php
r323 r365 25 25 /* Description*/ "Manage horizontal Menu", 26 26 /* Author */ "Adjaya & F_trt", 27 /* Version */ '1. 0',27 /* Version */ '1.3', 28 28 /* Permissions */ 'menu' 29 29 ); -
plugins/menuFreshy/_public.php
r323 r365 27 27 $core->tpl->addValue('MenuFreshy',array('tplMenuFreshy','menu')); 28 28 $core->tpl->addValue('IfCurrentLinkMenu',array('tplMenuFreshy','IfCurrentLinkMenu')); 29 /* 30 $core->tpl->addValue('MenuXbelLink',array('tplMenu','menuXbelLink')); 31 $core->url->register('menuxbel','menuxbel','^menu/xbel(?:/?)$',array('urlMenu','menuxbel')); 32 */ 29 33 30 34 31 class tplMenuFreshy … … 45 42 $open_ul = ""; 46 43 $close_ul = ""; 47 /* 48 if (isset($attr['category'])) { 49 $category = addslashes($attr['category']); 50 if ($category == "0") { 51 $category = null; $block='%s'; $open_ul = "<ul class=\"menu\">"; $close_ul = "</ul>"; 52 } 53 } 54 */ 44 55 45 if (isset($attr['block'])) { 56 46 $block = addslashes($attr['block']); … … 69 59 } 70 60 71 /*72 public static function menuXbelLink($attr)73 {74 $f = $GLOBALS['core']->tpl->getFilters($attr);75 return '<?php echo '.sprintf($f,'$core->blog->url.$core->url->getBase("menuxbel")').'; ?>';76 }77 */78 61 79 62 public static function getList($category='<h3>%s</h3>',$block='<ul class="menu">%s</ul>',$item='<li>%s</li>') … … 104 87 private static function getLinksList($links,$block='<ul class="menu">%s</ul>',$item='<li>%s</li>') 105 88 { 106 global $core; // Pour avoir accès a l'url du blog 89 global $core; // Pour avoir accès a l'url du blog et aussi connaître le theme 90 $letheme = $core->blog->settings->theme; 107 91 $list = ''; 108 92 $url = $_SERVER['REQUEST_URI']; 109 110 93 $first = true; 111 foreach ($links as $v) 112 { 113 $title = $v['link_title']; 114 $href = $v['link_href']; 115 $desc = $v['link_desc']; 116 $lang = $v['link_lang']; 117 $xfn = $v['link_xfn']; 118 119 120 // Si c'est le premier on lui met une classlien 121 if ($first==true){ 122 $classlien=" class=\"first_menu\" "; 123 $first=false; 124 } else { 125 $classlien=""; 126 } 127 128 // Si ce doit être le dernier 129 if ($xfn=="me"){ 130 $classlast=" last_menu"; 131 $classlienlast=" class=\"last_menu\""; 132 $classitem=$classlast; 133 } else { 134 $classlast=""; 135 $classlienlast=""; 136 $classitem="page_item"; 137 } 138 139 $link = 140 '<a href="'.html::escapeHTML($href).'"'. 141 ((!$lang) ? '' : ' hreflang="'.html::escapeHTML($lang).'"'). 142 ((!$desc) ? '' : ' title="'.html::escapeHTML($desc).'"'). 143 ((!$xfn) ? '' : ' rel="'.html::escapeHTML($xfn).'"'). 144 $classlien.$classlienlast. 145 '>'. 146 html::escapeHTML($title). 147 '</a>'; 148 149 // Si il faut tester aussi si page accuei 150 if ($xfn=="accueil"){ 151 // Si nous sommes en accueil 152 if ($core->url->type == 'default') { 153 $item = '<li class="current_page_item '.$classitem.'">%s</li>'; 154 } else { 155 $item = '<li class="'.$classitem.'">%s</li>'; 94 95 // Nous switchons pour personnaliser en fonction du thème 96 switch ($letheme) { 97 case "welsh-2-0": 98 foreach ($links as $v) 99 { 100 $title = $v['link_title']; 101 $href = $v['link_href']; 102 $desc = $v['link_desc']; 103 $lang = $v['link_lang']; 104 $xfn = $v['link_xfn']; 105 106 $item = '<li>%s</li>'; 107 $active = ""; 108 // Si il faut tester aussi si page accueil 109 if ($xfn=="accueil"){ 110 // Si nous sommes en accueil (il peut y avoir deux url pour un accueil) 111 if ($core->url->type == 'default') { 112 $active = 'id="active"'; 113 } 114 } else { 115 if ($url == html::escapeHTML($href)) { 116 $active = 'id="active"'; 117 } 118 } 119 120 $link = 121 '<a '.$active.' href="'.html::escapeHTML($href).'"'. 122 ((!$lang) ? '' : ' hreflang="'.html::escapeHTML($lang).'"'). 123 ((!$desc) ? '' : ' title="'.html::escapeHTML($desc).'"'). 124 ((!$xfn) ? '' : ' rel="'.html::escapeHTML($xfn).'"'). 125 '>'. 126 html::escapeHTML($title). 127 '</a>'; 128 $list .= sprintf($item,$link)."\n"; 129 } // End foreach theme welsh-2-0 130 break; 131 132 case "mellow": 133 // On écrase $block qui pour mellow doit avoir un id="global-nav" 134 $block='<ul id="global-nav">%s</ul>'; 135 foreach ($links as $v) 136 { 137 $title = $v['link_title']; 138 $href = $v['link_href']; 139 $desc = $v['link_desc']; 140 $lang = $v['link_lang']; 141 $xfn = $v['link_xfn']; 142 143 $item = '<li>%s</li>'; 144 $active = ""; 145 // Si il faut tester aussi si page accueil 146 if ($xfn=="accueil"){ 147 // Si nous sommes en accueil (il peut y avoir deux url pour un accueil) 148 if ($core->url->type == 'default') { 149 $active = 'id="active"'; 150 } 151 } else { 152 if ($url == html::escapeHTML($href)) { 153 $active = 'id="active"'; 154 } 155 } 156 157 $link = 158 '<a '.$active.' href="'.html::escapeHTML($href).'"'. 159 ((!$lang) ? '' : ' hreflang="'.html::escapeHTML($lang).'"'). 160 ((!$desc) ? '' : ' title="'.html::escapeHTML($desc).'"'). 161 ((!$xfn) ? '' : ' rel="'.html::escapeHTML($xfn).'"'). 162 '>'. 163 html::escapeHTML($title). 164 '</a>'; 165 $list .= sprintf($item,$link)."\n"; 166 } // End foreach theme mellow 167 $list.='<li id="rss"><a href="'.$core->blog->url.'feed/rss2">RSS</a></li>'; 168 break; 169 170 171 default: // Les themes studiopress et freshy et les autres 172 foreach ($links as $v) 173 { 174 $title = $v['link_title']; 175 $href = $v['link_href']; 176 $desc = $v['link_desc']; 177 $lang = $v['link_lang']; 178 $xfn = $v['link_xfn']; 179 180 181 // Si c'est le premier on lui met une classlien 182 if ($first==true){ 183 $classlien=" class=\"first_menu\" "; 184 $first=false; 185 } else { 186 $classlien=""; 187 } 188 189 // Si ce doit être le dernier 190 if ($xfn=="me"){ 191 $classlast=" last_menu"; 192 $classlienlast=" class=\"last_menu\""; 193 $classitem=$classlast; 194 } else { 195 $classlast=""; 196 $classlienlast=""; 197 $classitem="page_item"; 198 } 199 200 $link = 201 '<a href="'.html::escapeHTML($href).'"'. 202 ((!$lang) ? '' : ' hreflang="'.html::escapeHTML($lang).'"'). 203 ((!$desc) ? '' : ' title="'.html::escapeHTML($desc).'"'). 204 ((!$xfn) ? '' : ' rel="'.html::escapeHTML($xfn).'"'). 205 $classlien.$classlienlast. 206 '><span>'. 207 html::escapeHTML($title). 208 '</span></a>'; 209 210 // Si il faut tester aussi si page accuei 211 if ($xfn=="accueil"){ 212 // Si nous sommes en accueil 213 if ($core->url->type == 'default') { 214 $item = '<li class="current_page_item '.$classitem.'">%s</li>'; 215 } else { 216 $item = '<li class="'.$classitem.'">%s</li>'; 217 } 218 } else { 219 if ($url == html::escapeHTML($href)) { 220 $item = '<li class="current_page_item '.$classitem.'">%s</li>'; 221 } else { 222 $item = '<li class="'.$classitem.'">%s</li>'; 223 } 224 } 225 $list .= sprintf($item,$link)."\n"; 156 226 } 157 } else { 158 if ($url == html::escapeHTML($href)) { 159 $item = '<li class="current_page_item '.$classitem.'">%s</li>'; 160 } else { 161 $item = '<li class="'.$classitem.'">%s</li>'; 162 } 163 } 164 $list .= sprintf($item,$link)."\n"; 165 } 166 227 } // find de switch ($letheme) 167 228 return sprintf($block,$list)."\n"; 168 229 } 169 230 170 /* 171 # Widget function 172 public static function menuWidget(&$w) 173 { 174 global $core; 175 176 if ($w->homeonly && $core->url->type != 'default') { 177 return; 178 } 179 180 return 181 '<div class="menu">'. 182 ($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : ''). 183 self::getList('<h3>%s</h3>','<ul>%s</ul>','<li>%s</li>'). 184 '</div>'; 185 } 186 */ 231 187 232 } 188 233 189 /*190 class urlMenu extends dcUrlHandlers191 {192 public static function menuxbel($args)193 {194 require dirname(__FILE__).'/class.dc.menu.php';195 $menu = new dcBlogMenu($GLOBALS['core']->blog);196 197 try {198 $links = $menu->getLinks();199 } catch (Exception $e) {200 self::p404();201 }202 203 if ($args) {204 self::p404();205 }206 207 http::cache($GLOBALS['mod_files'],$GLOBALS['mod_ts']);208 209 header('Content-Type: text/xml; charset=UTF-8');210 211 echo212 '<?xml version="1.0" encoding="UTF-8"?>'."\n".213 '<!DOCTYPE xbel PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange '.214 'Language 1.0//EN//XML"'."\n".215 '"http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">'."\n".216 '<xbel version="1.0">'."\n".217 '<title>'.html::escapeHTML($GLOBALS['core']->blog->name)." menu</title>\n";218 219 $i = 1;220 foreach ($menu->getLinksHierarchy($links) as $cat_title => $links)221 {222 if ($cat_title != '') {223 echo224 '<folder>'."\n".225 "<title>".html::escapeHTML($cat_title)."</title>\n";226 }227 228 foreach ($links as $k => $v)229 {230 $lang = $v['link_lang'] ? ' xml:lang="'.$v['link_lang'].'"' : '';231 232 echo233 '<bookmark href="'.$v['link_href'].'"'.$lang.'>'."\n".234 '<title>'.html::escapeHTML($v['link_title'])."</title>\n";235 236 if ($v['link_desc']) {237 echo '<desc>'.html::escapeHTML($v['link_desc'])."</desc>\n";238 }239 240 if ($v['link_xfn']) {241 echo242 "<info>\n".243 '<metadata owner="http://gmpg.org/xfn/">'.$v['link_xfn']."</metadata>\n".244 "</info>\n";245 }246 247 echo248 "</bookmark>\n";249 }250 251 if ($cat_title != '') {252 echo "</folder>\n";253 }254 255 $i++;256 }257 258 echo259 '</xbel>';260 261 exit;262 }263 }264 */265 234 ?>
Note: See TracChangeset
for help on using the changeset viewer.