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