Wordpress 2.5.1-scripts
[autoinstalls/wordpress.git] / wp-admin / menu-header.php
1 <?php
2 $self = preg_replace('|^.*/wp-admin/|i', '', $_SERVER['PHP_SELF']);
3 $self = preg_replace('|^.*/plugins/|i', '', $self);
4
5 get_admin_page_parent();
6
7 // We're going to do this loop three times
8 ?>
9
10 <ul id="dashmenu">
11 <?php
12 foreach ( $menu as $key => $item ) {
13         if ( 3 < $key ) // get each menu item before 3
14                 continue;
15         $class = '';
16         // 0 = name, 1 = capability, 2 = file
17         if (( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file))) $class = ' class="current"';
18
19         if ( !empty($submenu[$item[2]]) ) {
20                 $submenu[$item[2]] = array_values($submenu[$item[2]]);  // Re-index.
21                 $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
22                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
23                         echo "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
24                 else
25                         echo "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
26         } else if ( current_user_can($item[1]) ) {
27                 $menu_hook = get_plugin_page_hook($item[2], 'admin.php');
28                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
29                         echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
30                 else
31                         echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
32         }
33 }
34 do_action( 'dashmenu' );
35 ?>
36 </ul>
37
38 <ul id="adminmenu">
39 <?php
40 foreach ( $menu as $key => $item ) {
41         if ( 5 > $key || $key > 25 ) // get each menu item before 3
42                 continue;
43
44         $class = '';
45
46         // 0 = name, 1 = capability, 2 = file
47         if (( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file))) $class = ' class="current"';
48
49         if ( !empty($submenu[$item[2]]) ) {
50                 $submenu[$item[2]] = array_values($submenu[$item[2]]);  // Re-index.
51                 $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
52                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
53                         echo "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
54                 else
55                         echo "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
56         } else if ( current_user_can($item[1]) ) {
57                 $menu_hook = get_plugin_page_hook($item[2], 'admin.php');
58                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
59                         echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
60                 else
61                         echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
62         }
63 }
64
65 foreach ( $menu as $key => $item ) {
66         if ( $key < 41 ) // there is a more efficient way to do this!
67                 continue;
68
69         $class = '';
70
71         // 0 = name, 1 = capability, 2 = file
72         if (( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file))) $class = ' class="current"';
73
74         if ( !empty($submenu[$item[2]]) ) {
75                 $submenu[$item[2]] = array_values($submenu[$item[2]]);  // Re-index.
76                 $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
77                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
78                         echo "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
79                 else
80                         echo "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
81         } else if ( current_user_can($item[1]) ) {
82                 $menu_hook = get_plugin_page_hook($item[2], 'admin.php');
83                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
84                         echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
85                 else
86                         echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
87         }
88 }
89
90 do_action( 'adminmenu' );
91 ?>
92 </ul>
93
94 <ul id="sidemenu">
95 <?php
96 $side_items = array();
97 foreach ( $menu as $key => $item ) {
98         if ( 26 > $key || $key > 40 )
99                 continue;
100
101         $class = '';
102
103         // 0 = name, 1 = capability, 2 = file
104         if (( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file))) $class = ' class="current"';
105
106         if ( !empty($submenu[$item[2]]) ) {
107                 $submenu[$item[2]] = array_values($submenu[$item[2]]);  // Re-index.
108                 $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
109                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
110                         $side_items[] = "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>";
111                 else
112                         $side_items[] = "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>";
113         } else if ( current_user_can($item[1]) ) {
114                 $menu_hook = get_plugin_page_hook($item[2], 'admin.php');
115                 if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
116                         $side_items[] = "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a>";
117                 else
118                         $side_items[] = "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a>";
119         }
120 }
121 echo implode(' </li>', $side_items) . '</li>';
122 unset($side_items);
123 do_action( 'sidemenu' );
124 ?>
125 </ul>
126
127
128 <?php
129 // Sub-menu
130 if ( isset($submenu["$parent_file"]) ) :
131 ?>
132 <ul id="submenu">
133 <?php
134 foreach ($submenu["$parent_file"] as $item) :
135          if ( !current_user_can($item[1]) )
136                  continue;
137
138 if ( isset($submenu_file) ) {
139         if ( $submenu_file == $item[2] ) $class = ' class="current"';
140         else $class = '';
141 } else if ( (isset($plugin_page) && $plugin_page == $item[2]) || (!isset($plugin_page) && $self == $item[2]) ) $class = ' class="current"';
142 else $class = '';
143
144 $menu_hook = get_plugin_page_hook($item[2], $parent_file);
145
146 if (file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || ! empty($menu_hook)) {
147         if ( 'admin.php' == $pagenow )
148                 echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
149         else
150                 echo "\n\t<li><a href='{$parent_file}?page={$item[2]}'$class>{$item[0]}</a></li>";
151  } else {
152         echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
153  }
154 endforeach;
155 ?>
156
157 </ul>
158 <?php
159 else :
160 ?>
161 <div id="minisub"></div>
162 <?php
163
164 endif;
165
166 do_action('admin_notices');
167
168 ?>