Dotclear

source: plugins/simpleMenu/_public.php @ 532:f4e2399ace03

Revision 532:f4e2399ace03, 2.0 KB checked in by Franck <carnet.franck.paul@…>, 14 years ago (diff)

Premier squelette d'un plugin simpleMenu basique (1 seul niveau). La mécanique de sélection guidée d'un item de menu (home, langue, catégorie, page, tag(s), archives, libre) est en place.

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12if (!defined('DC_RC_PATH')) { return; }
13
14# Simple menu template functions
15$core->tpl->addValue('SimpleMenu',array('tplSimpleMenu','simpleMenu'));
16
17class tplSimpleMenu
18{
19     public static function simpleMenu($attr)
20     {
21          $class = isset($attr['class']) ? trim($attr['class']) : '';
22         
23          return '<?php echo tplSimpleMenu::displayMenu('.
24                    "'".addslashes($class)."'".
25               '); ?>';
26     }
27     
28     public static function displayMenu($class)
29     {
30          $ret = '';
31         
32          # Current relative URL
33          $url = $_SERVER['REQUEST_URI'];
34          $abs_url = http::getHost().$url;
35         
36          # For detect if home
37          $home_url = html::stripHostURL($GLOBALS['core']->blog->url);
38          $home_directory = dirname($home_url);
39          if ($home_directory != '/')
40               $home_directory = $home_directory.'/';
41         
42          # $href = lien de l'item de menu
43          $href = 'archive';
44          $href = html::escapeHTML($href);
45
46          # Active item test
47          $active = false;
48          if (($url == $href) || 
49               ($abs_url == $href) || 
50               ($_SERVER['URL_REQUEST_PART'] == $href) || 
51               (($_SERVER['URL_REQUEST_PART'] == '') && (($href == $home_url) || ($href == $home_directory)))) {
52               $active = true;
53          }
54         
55          $ret = '<p>Archives ? '.($active ? 'Oui' : 'Non').'</p>';
56          $ret .= '<p>$class ? '.($class ? $class : '').'</p>';
57          /*
58          $ret .= '<p>'.'$_SERVER[\'REQUEST_URI\']'.' = '.$_SERVER['REQUEST_URI'].'</p>';
59          $ret .= '<p>'.'$_SERVER[\'URL_REQUEST_PART\']'.' = '.$_SERVER['URL_REQUEST_PART'].'</p>';
60          $ret .= '<p>'.'$url'.' = '.$url.'</p>';
61          $ret .= '<p>'.'$abs_url'.' = '.$abs_url.'</p>';
62          $ret .= '<p>'.'$home_url'.' = '.$home_url.'</p>';
63          $ret .= '<p>'.'$home_directory'.' = '.$home_directory.'</p>';
64          $ret .= '<p>'.'$href'.' = '.$href.'</p>';
65          */
66          return $ret;
67     }
68}
69
70?>
Note: See TracBrowser for help on using the repository browser.

Sites map