OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / templates / art30rc1_sample1 / html / mod_menu / default.php
1 <?php
2
3 defined('_JEXEC') or die;
4
5 require_once dirname(__FILE__) . str_replace('/', DIRECTORY_SEPARATOR, '/../../functions.php');
6
7 // Note. It is important to remove spaces between elements.
8
9 $tag = ($params->get('tag_id') != NULL) ? ' id="' . $params->get('tag_id') . '"' : '';
10 if (isset($attribs['name']) && $attribs['name'] == 'user3') {
11     $menutype = 'horizontal';
12
13     $start = $params->get('startLevel');
14
15     // render subitems or not.
16     $subitems = $GLOBALS['artx_settings']['menu']['show_submenus'] && 1 == $params->get('showAllChildren');
17     // true - skip current node, false - render current node.
18     $skip = false;
19     
20     ob_start();
21     echo '<ul class="art-hmenu"' . $tag . '>';
22     foreach ($list as $i => & $item) {
23         if ($skip) {
24             if ($item->shallower) {
25                 if (($item->level - $item->level_diff) <= $limit) {
26                     echo '</li>' . str_repeat('</ul></li>', $limit - $item->level + $item->level_diff);
27                     $skip = false;
28                 }
29             }
30             continue;
31         }
32         $id = ($item->id == $active_id) ? ' id="current"' : '';
33         $class = ' class="' . (in_array($item->id, $path) ? 'active ' : '') . 'item' . $item->id . '"';
34         echo '<li' . $id . $class . '>';
35         // Render the menu item.
36         switch ($item->type) {
37             case 'separator':
38             case 'url':
39             case 'component':
40                 require JModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type);
41                 break;
42             default:
43                 require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
44                 break;
45         }
46         if ($item->deeper) {
47             if (!$subitems) {
48                 $limit = $item->level;
49                 $skip = true;
50                 continue;
51             }
52             echo '<ul>';
53         }
54         elseif ($item->shallower)
55             echo '</li>' . str_repeat('</ul></li>', $item->level_diff);
56         else
57             echo '</li>';
58     }
59     echo '</ul>';
60     echo ob_get_clean();
61 } else if (0 === strpos($params->get('moduleclass_sfx'), 'art-vmenu') || false !== strpos($params->get('moduleclass_sfx'), ' art-vmenu')) {
62     $menutype = 'vertical';
63
64     $start = $params->get('startLevel');
65
66     // render subitems or not.
67     $subitems = $GLOBALS['artx_settings']['vmenu']['show_submenus'] && 1 == $params->get('showAllChildren');
68     // true - all items expanded, false - only active items expanded.
69     $simple = $GLOBALS['artx_settings']['vmenu']['simple'];
70     // true - skip current node, false - render current node.
71     $skip = false;
72     // limit of rendering - skip items with level more then limit.
73     $limit = $start;
74     
75     ob_start();
76     echo '<ul class="art-vmenu"' . $tag . '>';
77     foreach ($list as $i => & $item) {
78         if ($skip) {
79             if ($item->shallower) {
80                 if (($item->level - $item->level_diff) <= $limit) {
81                     echo '</li>' . str_repeat('</ul></li>', $limit - $item->level + $item->level_diff);
82                     $skip = false;
83                 }
84             }
85             continue;
86         }
87         $id = ($item->id == $active_id) ? ' id="current"' : '';
88         $class = ' class="' . (in_array($item->id, $path) ? 'active ' : '') . 'item' . $item->id . '"';
89         echo '<li' . $id . $class . '>';
90         // Render the menu item.
91         switch ($item->type) {
92             case 'separator':
93             case 'url':
94             case 'component':
95                 require JModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type);
96                 break;
97             default:
98                 require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
99                 break;
100         }
101         if ($item->deeper) {
102             if (!$subitems || (!$simple && !in_array($item->id, $path) && 'separator' != $item->type)) {
103                 $limit = $item->level;
104                 $skip = true;
105                 continue;
106             }
107             echo '<ul ' . (($subitems && !$simple && 'separator' == $item->type && !in_array($item->id, $path))
108                 ? 'class="collapsed"' : '') . '>';
109         }
110         elseif ($item->shallower)
111             echo '</li>' . str_repeat('</ul></li>', $item->level_diff);
112         else
113             echo '</li>';
114     }
115     echo '</ul>';
116     echo ob_get_clean();
117 } else {
118     $menutype = 'default';
119     echo '<ul class="menu' . $params->get('class_sfx') . '"' . $tag . '>';
120     foreach ($list as $i => &$item) {
121         $id = '';
122         if ($item->id == $active_id)
123             $id = ' id="current"';
124         $class = '';
125         if (in_array($item->id, $path))
126             $class .= 'active ';
127         if ($item->deeper)
128             $class .= 'parent ';
129
130         $class = ' class="' . $class . 'item' . $item->id . '"';
131
132         echo '<li' . $id . $class . '>';
133
134         // Render the menu item.
135         switch ($item->type) {
136             case 'separator':
137             case 'url':
138             case 'component':
139                 require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
140                 break;
141             default:
142                 require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
143                 break;
144         }
145
146         if ($item->deeper)
147             echo '<ul>';
148         elseif ($item->shallower)
149             echo '</li>' . str_repeat('</ul></li>', $item->level_diff);
150         else
151             echo '</li>';
152     }
153     echo '</ul>';
154 }