Dotclear

Changeset 365


Ignore:
Timestamp:
03/26/08 17:27:57 (16 years ago)
Author:
francis.trautmann
Message:

Mise à jour menuFreshy

Location:
plugins/menuFreshy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • plugins/menuFreshy/_define.php

    r323 r365  
    2525     /* Description*/         "Manage horizontal Menu", 
    2626     /* Author */             "Adjaya & F_trt", 
    27      /* Version */            '1.0', 
     27     /* Version */            '1.3', 
    2828     /* Permissions */        'menu' 
    2929); 
  • plugins/menuFreshy/_public.php

    r323 r365  
    2727$core->tpl->addValue('MenuFreshy',array('tplMenuFreshy','menu')); 
    2828$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 
    3330 
    3431class tplMenuFreshy 
     
    4542          $open_ul = ""; 
    4643          $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 
    5545          if (isset($attr['block'])) { 
    5646               $block = addslashes($attr['block']); 
     
    6959     } 
    7060 
    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 */ 
    7861      
    7962     public static function getList($category='<h3>%s</h3>',$block='<ul class="menu">%s</ul>',$item='<li>%s</li>') 
     
    10487     private static function getLinksList($links,$block='<ul class="menu">%s</ul>',$item='<li>%s</li>') 
    10588     { 
    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; 
    10791          $list = ''; 
    10892          $url = $_SERVER['REQUEST_URI']; 
    109            
    11093          $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"; 
    156226                    } 
    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) 
    167228          return sprintf($block,$list)."\n"; 
    168229     } 
    169230      
    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 
    187232} 
    188233 
    189 /* 
    190 class urlMenu extends dcUrlHandlers 
    191 { 
    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           echo 
    212           '<?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                     echo 
    224                     '<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                     echo 
    233                     '<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                          echo 
    242                          "<info>\n". 
    243                          '<metadata owner="http://gmpg.org/xfn/">'.$v['link_xfn']."</metadata>\n". 
    244                          "</info>\n"; 
    245                     } 
    246                      
    247                     echo 
    248                     "</bookmark>\n"; 
    249                } 
    250                 
    251                if ($cat_title != '') { 
    252                     echo "</folder>\n"; 
    253                } 
    254                 
    255                $i++; 
    256           } 
    257            
    258           echo 
    259           '</xbel>'; 
    260            
    261           exit; 
    262      } 
    263 } 
    264 */ 
    265234?> 
Note: See TracChangeset for help on using the changeset viewer.

Sites map