PluginProbe
Adminimize / 1.4.7
Adminimize v1.4.7
1.11.14 1.11.13 1.11.1 1.11.10 1.11.11 1.11.12 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 1.11.7 1.11.8 1.11.9 1.3 1.4.7 1.6 1.7.12 1.7.13 1.7.14 1.7.15 1.7.16 1.7.17 1.7.18 1.7.19 All 53 releases
adminimize / adminimize.php

adminimize.php in Adminimize 1.4.7, at adminimize.php

975 lines 36.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 Plugin Name: Adminimize
5 Plugin URI: http://bueltge.de/wordpress-admin-theme-adminimize/674/
6 Description: Visually compresses the administratrive header so that more admin page content can be initially seen. Also moves 'Dashboard' onto the main administrative menu because having it sit in the tip-top black bar was ticking me off and many other changes in the edit-area. The plugin that lets you hide 'unnecessary' items from the WordPress administration menu, with or without admins. You can also hide post meta controls on the edit-area to simplify the interface.
7 Author: Frank Bueltge
8 Author URI: http://bueltge.de/
9 Version: 1.4.7
10 Last Update: 14.09.2008 13:14:10
11 */
12
13 /**
14 * The stylesheet and the initial idea is from Eric A. Meyer, http://meyerweb.com/
15 * and i have written a plugin with many options on the basis
16 * of differently user-right and a user-friendly range in admin-area.
17 *
18 * The javascript for de/activate ist by Oliver Schl�be, http://www.schloebe.de
19 * - many thanks
20 */
21
22
23 // Pre-2.6 compatibility
24 if ( !defined( 'WP_CONTENT_URL' ) )
25 define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
26 if ( !defined( 'WP_CONTENT_DIR' ) )
27 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
28 if ( !defined( 'WP_PLUGIN_URL' ) )
29 define( 'WP_PLUGIN_URL', WP_CONTENT_URL. '/plugins' );
30 if ( !defined( 'WP_PLUGIN_DIR' ) )
31 define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
32
33 function _mw_adminimize_textdomain() {
34
35 if (function_exists('load_plugin_textdomain')) {
36 if ( !defined('WP_PLUGIN_DIR') ) {
37 load_plugin_textdomain('adminimize', str_replace( ABSPATH, '', dirname(__FILE__) ) . '/languages');
38 } else {
39 load_plugin_textdomain('adminimize', false, dirname(plugin_basename(__FILE__)) . '/languages');
40 }
41 }
42 }
43
44
45 /**
46 * some basics for message
47 */
48 class _mw_adminimize_message_class {
49 function _mw_adminimize_message_class() {
50 $this->localizionName = 'adminimize';
51 $this->errors = new WP_Error();
52 $this->initialize_errors();
53 }
54
55 /**
56 get_error - Returns an error message based on the passed code
57 Parameters - $code (the error code as a string)
58 Returns an error message
59 */
60 function get_error($code = '') {
61 $errorMessage = $this->errors->get_error_message($code);
62 if ($errorMessage == null) {
63 return __("Unknown error.", $this->localizionName);
64 }
65 return $errorMessage;
66 }
67
68 // Initializes all the error messages
69 function initialize_errors() {
70 $this->errors->add('_mw_adminimize_update', __('The updates was saved.', $this->localizionName));
71 $this->errors->add('_mw_adminimize_access_denied', __('You have not enough rights for edit entries in the database.', $this->localizionName));
72 $this->errors->add('_mw_adminimize_deinstall', __('All entries in the database was delleted.', $this->localizionName));
73 $this->errors->add('_mw_adminimize_deinstall_yes', __('Set the checkbox on deinstall-button.', $this->localizionName));
74 $this->errors->add('_mw_adminimize_get_option', __('Can\'t load menu and submenu.', $this->localizionName));
75 $this->errors->add('_mw_adminimize_set_theme', __('Backend-Theme was activated!', $this->localizionName));
76 }
77 }
78
79
80 /**
81 * check user-option and add new style
82 * @uses $pagenow
83 */
84 function _mw_adminimize_init() {
85 global $pagenow, $menu, $submenu, $adminimizeoptions;
86
87 $adminimizeoptions = get_option('mw_adminimize');
88
89 $disabled_metaboxes_post = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_post_items');
90 $disabled_metaboxes_page = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_page_items');
91 $disabled_metaboxes_post_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_post_adm_items');
92 $disabled_metaboxes_page_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_page_adm_items');
93
94 $_mw_admin_color = get_user_option('admin_color');
95
96 if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) || ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) {
97
98 $_mw_adminimize_writescroll = _mw_adminimize_getOptionValue('_mw_adminimize_writescroll');
99 switch ($_mw_adminimize_writescroll) {
100 case 1:
101 wp_enqueue_script('_mw_adminimize_writescroll', WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/js/writescroll.js', array('jquery'));
102 break;
103 }
104 $_mw_adminimize_tb_window = _mw_adminimize_getOptionValue('_mw_adminimize_tb_window');
105 switch ($_mw_adminimize_tb_window) {
106 case 1:
107 wp_deregister_script('media-upload');
108 wp_enqueue_script('media-upload', WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/js/tb_window.js', array('thickbox'));
109 break;
110 }
111
112 //add_filter('image_downsize', '_mw_adminimize_image_downsize', 1, 3);
113 }
114
115 if ( ($_mw_admin_color == 'mw_fresh') ||
116 ($_mw_admin_color == 'mw_classic') ||
117 ($_mw_admin_color == 'mw_colorblind') ||
118 ($_mw_admin_color == 'mw_grey') ||
119 ($_mw_admin_color == 'mw_fresh_ozh_am') ||
120 ($_mw_admin_color == 'mw_classic_ozh_am') ||
121 ($_mw_admin_color == 'mw_fresh_lm') ||
122 ($_mw_admin_color == 'mw_classic_lm') ||
123 ($_mw_admin_color == 'mw_wp23')
124 ) {
125 if ( ($_mw_admin_color == 'mw_fresh') ||
126 ($_mw_admin_color == 'mw_classic') ||
127 ($_mw_admin_color == 'mw_colorblind') ||
128 ($_mw_admin_color == 'mw_grey') ||
129 ($_mw_admin_color == 'mw_wp23')
130 ) {
131 add_action('admin_head', '_mw_adminimize_adminmenu', 1);
132 }
133
134 if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) ) {
135 add_action('admin_head', '_mw_adminimize_remove_box', 99);
136
137 // check for array empty
138 if ( !isset($disabled_metaboxes_post['0']) )
139 $disabled_metaboxes_post['0'] = '';
140 if ( isset($disabled_metaboxes_post_adm['0']) )
141 $disabled_metaboxes_post_adm['0'] = '';
142 if ( !in_array('#categorydivsb', $disabled_metaboxes_post) || !in_array('#categorydivsb', $disabled_metaboxes_post_adm) )
143 add_action('submitpost_box', '_mw_adminimize_sidecat_list_category_box');
144 if ( !in_array('#tagsdivsb', $disabled_metaboxes_post) || !in_array('#tagsdivsb', $disabled_metaboxes_post_adm) )
145 add_action('submitpost_box', '_mw_adminimize_sidecat_list_tag_box');
146 if ( in_array('media_buttons', $disabled_metaboxes_post) || in_array('media_buttons', $disabled_metaboxes_post_adm) )
147 remove_action('media_buttons', 'media_buttons');
148 }
149
150 if ( ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) {
151
152 // check for array empty
153 if ( !isset($disabled_metaboxes_page['0']) )
154 $disabled_metaboxes_page['0'] = '';
155 if ( isset($disabled_metaboxes_page_adm['0']) )
156 $disabled_metaboxes_page_adm['0'] = '';
157 if ( in_array('media_buttons', $disabled_metaboxes_page) || in_array('media_buttons', $disabled_metaboxes_page_adm) )
158 remove_action('media_buttons', 'media_buttons');
159 }
160
161 }
162
163 if ( ('post-new.php' == $pagenow) || ('page-new.php' == $pagenow) || ('page.php' == $pagenow) || ('post.php' == $pagenow) ) {
164
165 // set user option in edit-area
166 add_action('admin_head', '_mw_adminimize_set_user_option_edit');
167 }
168
169 if ( basename($_SERVER['REQUEST_URI']) == 'adminimize.php') {
170 wp_enqueue_script('_mw_adminimize', WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/js/adminimize.js', array('jquery'));
171 }
172
173 // set menu option
174 add_action('admin_head', '_mw_adminimize_set_menu_option', 1);
175
176 // set metabox option
177 add_action('admin_head', '_mw_adminimize_set_metabox_option', 1);
178
179 add_action('in_admin_footer', '_mw_adminimize_admin_footer');
180
181 $adminimizeoptions['mw_adminimize_default_menu'] = $menu;
182 $adminimizeoptions['mw_adminimize_default_submenu'] = $submenu;
183 }
184
185 add_action('init', '_mw_adminimize_textdomain');
186 if ( is_admin() ) {
187
188 add_action('admin_menu', '_mw_adminimize_add_settings_page');
189 add_action('admin_menu', '_mw_adminimize_remove_dashboard');
190 add_action('admin_init', '_mw_adminimize_init', 1);
191 add_action('admin_init', '_mw_adminimize_admin_styles', 1);
192 }
193
194
195 register_activation_hook(__FILE__, '_mw_adminimize_install');
196 //register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall');
197
198
199 /**
200 * Uses WordPress filter for image_downsize, kill wp-image-dimension
201 * code by Andrew Rickmann
202 * http://www.wp-fun.co.uk/
203 * @param $value, $id, $size
204 */
205 function _mw_adminimize_image_downsize($value = false,$id = 0, $size = "medium") {
206
207 if ( !wp_attachment_is_image($id) )
208 return false;
209
210 $img_url = wp_get_attachment_url($id);
211 // Mimic functionality in image_downsize function in wp-includes/media.php
212 if ( $intermediate = image_get_intermediate_size($id, $size) ) {
213 $img_url = str_replace(basename($img_url), $intermediate['file'], $img_url);
214 }
215 elseif ( $size == 'thumbnail' ) {
216 // fall back to the old thumbnail
217 if ( $thumb_file = wp_get_attachment_thumb_file() && $info = getimagesize($thumb_file) ) {
218 $img_url = str_replace(basename($img_url), basename($thumb_file), $img_url);
219 }
220 }
221 if ( $img_url)
222 return array($img_url, 0, 0);
223 return false;
224 }
225
226
227 /**
228 * list category-box in sidebar
229 * @uses $post_ID
230 */
231 function _mw_adminimize_sidecat_list_category_box() {
232 global $post_ID;
233 ?>
234
235 <div class="inside" id="categorydivsb">
236 <p><strong><?php _e("Categories"); ?></strong></p>
237 <ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
238 <?php wp_category_checklist($post_ID); ?>
239 </ul>
240 <?php if ( !defined('WP_PLUGIN_DIR') ) { // for wp <2.6 ?>
241 <div id="category-adder" class="wp-hidden-children">
242 <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
243 <p id="category-add" class="wp-hidden-child">
244 <input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" />
245 <?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?>
246 <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" />
247 <?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?>
248 <span id="category-ajax-response"></span>
249 </p>
250 </div>
251 <?php } else { ?>
252 <div id="category-adder" class="wp-hidden-children">
253 <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
254 <p id="category-add" class="wp-hidden-child">
255 <label class="hidden" for="newcat"><?php _e( 'Add New Category' ); ?></label><input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" aria-required="true"/>
256 <br />
257 <label class="hidden" for="newcat_parent"><?php _e('Parent category'); ?>:</label><?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?>
258 <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" />
259 <?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?>
260 <span id="category-ajax-response"></span>
261 </p>
262 </div>
263 <?php } ?>
264 </div>
265 <?php
266 }
267
268
269 /**
270 * list tag-box in sidebar
271 * @uses $post_ID
272 */
273 function _mw_adminimize_sidecat_list_tag_box() {
274 global $post_ID;
275
276 if ( !class_exists('SimpleTagsAdmin') ) {
277 ?>
278 <div class="inside" id="tagsdivsb">
279 <p><strong><?php _e('Tags'); ?></strong></p>
280 <p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit($post_ID); ?>" /></p>
281 <div id="tagchecklist"></div>
282 </div>
283 <?php
284 }
285 }
286
287
288 /**
289 * remove default categorydiv
290 * @echo script
291 */
292 function _mw_adminimize_remove_box() {
293
294 if ( function_exists('remove_meta_box') ) {
295 if ( !class_exists('SimpleTagsAdmin') )
296 remove_meta_box('tagsdiv', 'post', 'normal');
297 remove_meta_box('categorydiv', 'post', 'normal');
298 } else {
299 $_mw_adminimize_sidecat_admin_head = "\n" . '<script type="text/javascript">' . "\n";
300 $_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#categorydiv\').remove(); });' . "\n";
301 $_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#tagsdiv\').remove(); });' . "\n";
302 $_mw_adminimize_sidecat_admin_head .= '</script>' . "\n";
303
304 print($_mw_adminimize_sidecat_admin_head);
305 }
306 }
307
308
309 /**
310 * reorder admin-menu
311 * @uses $menu
312 * @param $file
313 */
314 function _mw_adminimize_adminmenu($file) {
315 global $menu;
316
317 $menu[7] = $menu[5];
318 $menu[5] = $menu[0];
319 $menu[32] = $menu[40];
320 $menu[40] = $menu[35];
321 $menu[35] = $menu[30];
322 $menu[30] = $menu[15];
323 unset($menu[0]);
324 unset($menu[15]);
325 }
326
327
328 /**
329 * add new adminstyle to usersettings
330 * @param $file
331 */
332 function _mw_adminimize_admin_styles($file) {
333
334 $_mw_adminimize_path = WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/';
335
336 // MW Adminimize Classic
337 $styleName = 'MW Adminimize:' . ' ' . __('Classic');
338 wp_admin_css_color (
339 'mw_classic', $styleName, $_mw_adminimize_path . 'mw_classic.css',
340 array('#07273E', '#14568A', '#D54E21', '#2683AE')
341 );
342
343 // MW Adminimize Fresh
344 $styleName = 'MW Adminimize:' . ' ' . __('Fresh');
345 wp_admin_css_color (
346 'mw_fresh', $styleName, $_mw_adminimize_path . 'mw_fresh.css',
347 array('#464646', '#CEE1EF', '#D54E21', '#2683AE')
348 );
349
350 // MW Adminimize WordPress 2.3
351 $styleName = 'MW Adminimize:' . ' ' . __('WordPress 2.3');
352 wp_admin_css_color (
353 'mw_wp23', $styleName, $_mw_adminimize_path . 'mw_wp23.css',
354 array('#000000', '#14568A', '#448ABD', '#83B4D8')
355 );
356
357 // MW Adminimize Colorblind
358 $styleName = 'MW Adminimize:' . ' ' . __('Maybe i\'m colorblind');
359 wp_admin_css_color (
360 'mw_colorblind', $styleName, $_mw_adminimize_path . 'mw_colorblind.css',
361 array('#FF9419', '#F0720C', '#710001', '#550007', '#CF4529')
362 );
363
364 // MW Adminimize Grey
365 $styleName = 'MW Adminimize:' . ' ' . __('Grey');
366 wp_admin_css_color (
367 'mw_grey', $styleName, $_mw_adminimize_path . 'mw_grey.css',
368 array('#000000', '#787878', '#F0F0F0', '#D8D8D8', '#909090')
369 );
370
371 /**
372 * style and changes for plugin Admin Drop Down Menu
373 * by Ozh
374 * http://planetozh.com/blog/my-projects/wordpress-admin-menu-drop-down-css/
375 */
376 if ( function_exists('wp_ozh_adminmenu') ) {
377
378 // MW Adminimize Classic include ozh adminmenu
379 $styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __('Classic');
380 wp_admin_css_color (
381 'mw_classic_ozh_am', $styleName, $_mw_adminimize_path . 'mw_classic_ozh_am.css',
382 array('#07273E', '#14568A', '#D54E21', '#2683AE')
383 );
384
385 // MW Adminimize Fresh include ozh adminmenu
386 $styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __('Fresh');
387 wp_admin_css_color (
388 'mw_fresh_ozh_am', $styleName, $_mw_adminimize_path . 'mw_fresh_ozh_am.css',
389 array('#464646', '#CEE1EF', '#D54E21', '#2683AE')
390 );
391
392 }
393
394 /**
395 * style and changes for plugin Lighter Menus
396 * by corpodibacco
397 * http://www.italyisfalling.com/lighter-menus
398 */
399 if ( function_exists('lm_build') ) {
400
401 // MW Adminimize Classic include Lighter Menus
402 $styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __('Classic');
403 wp_admin_css_color (
404 'mw_classic_lm', $styleName, $_mw_adminimize_path . 'mw_classic_lm.css',
405 array('#07273E', '#14568A', '#D54E21', '#2683AE')
406 );
407
408 // MW Adminimize Fresh include Lighter Menus
409 $styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __('Fresh');
410 wp_admin_css_color (
411 'mw_fresh_lm', $styleName, $_mw_adminimize_path . 'mw_fresh_lm.css',
412 array('#464646', '#CEE1EF', '#D54E21', '#2683AE')
413 );
414
415 }
416 }
417
418
419 /**
420 * remove the dashbord
421 * @author of basic Austin Matzko
422 * http://www.ilfilosofo.com/blog/2006/05/24/plugin-remove-the-wordpress-dashboard/
423 */
424 function _mw_adminimize_remove_dashboard() {
425 global $menu, $submenu, $user_ID;
426
427 $disabled_menu = _mw_adminimize_getOptionValue('mw_adminimize_disabled_menu_items');
428 $disabled_submenu = _mw_adminimize_getOptionValue('mw_adminimize_disabled_submenu_items');
429 $disabled_menu_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_menu_adm_items');
430 $disabled_submenu_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_submenu_adm_items');
431
432 // remove dashboard
433 if ($disabled_menu != '') {
434 if ( ( in_array('index.php', $disabled_menu) && !current_user_can('level_10') ) ||
435 ( in_array('index.php', $disabled_submenu) && !current_user_can('level_10') ) ||
436 ( in_array('index.php', $disabled_menu_adm) && current_user_can('level_10') ) ||
437 ( in_array('index.php', $disabled_submenu_adm) && current_user_can('level_10') )
438 ) {
439
440 $_mw_adminimize_db_redirect = _mw_adminimize_getOptionValue('_mw_adminimize_db_redirect');
441 switch ($_mw_adminimize_db_redirect) {
442 case 0:
443 $_mw_adminimize_db_redirect = 'profile.php';
444 break;
445 case 1:
446 $_mw_adminimize_db_redirect = 'edit.php';
447 break;
448 case 2:
449 $_mw_adminimize_db_redirect = 'edit-pages.php';
450 break;
451 case 3:
452 $_mw_adminimize_db_redirect = 'post-new.php';
453 break;
454 case 4:
455 $_mw_adminimize_db_redirect = 'page-new.php';
456 break;
457 case 5:
458 $_mw_adminimize_db_redirect = 'edit-comments.php';
459 break;
460 }
461
462 $the_user = new WP_User($user_ID);
463 reset($menu); $page = key($menu);
464
465 while ( (__('Dashboard') != $menu[$page][0]) && next($menu) || (__('Dashboard') != $menu[$page][1]) && next($menu) )
466 $page = key($menu);
467
468 if (__('Dashboard') == $menu[$page][0] || __('Dashboard') == $menu[$page][1])
469 unset($menu[$page]);
470 reset($menu); $page = key($menu);
471
472 while ( !$the_user->has_cap($menu[$page][1]) && next($menu) )
473 $page = key($menu);
474
475 if ( preg_match('#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'])) {
476 if (function_exists('admin_url')) {
477 wp_redirect( admin_url($_mw_adminimize_db_redirect) );
478 } else {
479 wp_redirect( get_option('siteurl') . '/wp-admin/' . $_mw_adminimize_db_redirect );
480 }
481 }
482 }
483 }
484 }
485
486
487 /**
488 * remove the flash_uploader
489 */
490 function _mw_adminimize_disable_flash_uploader() {
491 return false;
492 }
493
494
495 /**
496 * set user options from database in edit-area
497 */
498 function _mw_adminimize_set_user_option_edit() {
499
500 $_mw_adminimize_path = WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/';
501
502 $_mw_adminimize_sidecat_admin_head = '';
503 $_mw_adminimize_sidebar_wight = _mw_adminimize_getOptionValue('_mw_adminimize_sidebar_wight');
504 switch ($_mw_adminimize_sidebar_wight) {
505 case 300:
506 $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n";
507 $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_300_sidebar.css';
508 $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n";
509 break;
510 case 400:
511 $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n";
512 $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_400_sidebar.css';
513 $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n";
514 break;
515 case 20:
516 $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n";
517 $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_20p_sidebar.css';
518 $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n";
519 break;
520 case 30:
521 $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n";
522 $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_30p_sidebar.css';
523 $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n";
524 break;
525 }
526
527 print($_mw_adminimize_sidecat_admin_head);
528 }
529
530
531 /**
532 * set menu options from database
533 */
534 function _mw_adminimize_set_menu_option() {
535 global $pagenow, $menu, $submenu, $user_identity;
536
537 $disabled_menu = _mw_adminimize_getOptionValue('mw_adminimize_disabled_menu_items');
538 $disabled_submenu = _mw_adminimize_getOptionValue('mw_adminimize_disabled_submenu_items');
539 $disabled_menu_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_menu_adm_items');
540 $disabled_submenu_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_submenu_adm_items');
541
542 $_mw_adminimize_admin_head = "\n";
543 $_mw_adminimize_user_info = _mw_adminimize_getOptionValue('_mw_adminimize_user_info');
544 $_mw_adminimize_ui_redirect = _mw_adminimize_getOptionValue('_mw_adminimize_ui_redirect');
545 switch ($_mw_adminimize_user_info) {
546 case 1:
547 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
548 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\').remove(); });' . "\n";
549 $_mw_adminimize_admin_head .= '</script>' . "\n";
550 break;
551 case 2:
552 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info.css" type="text/css" />' . "\n";
553 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
554 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\').remove();';
555 if ($_mw_adminimize_ui_redirect == '1') {
556 $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\').after(\'<div id="small_user_info"><p><a href="' . get_option('siteurl') . ('/wp-login.php?action=logout&amp;redirect_to=') . get_option('siteurl') . '" title="' . __('Log Out') . '">' . __('Log Out') . '</a></p></div>\') });' . "\n";
557 } else {
558 $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\').after(\'<div id="small_user_info"><p><a href="' . get_option('siteurl') . ('/wp-login.php?action=logout') . '" title="' . __('Log Out') . '">' . __('Log Out') . '</a></p></div>\') });' . "\n";
559 }
560 $_mw_adminimize_admin_head .= '</script>' . "\n";
561 break;
562 case 3:
563 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info.css" type="text/css" />' . "\n";
564 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
565 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\').remove();';
566 if ($_mw_adminimize_ui_redirect == '1') {
567 $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\').after(\'<div id="small_user_info"><p><a href="' . get_option('siteurl') . ('/wp-admin/profile.php') . '">' . $user_identity . '</a> | <a href="' . get_option('siteurl') . ('/wp-login.php?action=logout&amp;redirect_to=') . get_option('siteurl') . '" title="' . __('Log Out') . '">' . __('Log Out') . '</a></p></div>\') });' . "\n";
568 } else {
569 $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\').after(\'<div id="small_user_info"><p><a href="' . get_option('siteurl') . ('/wp-admin/profile.php') . '">' . $user_identity . '</a> | <a href="' . get_option('siteurl') . ('/wp-login.php?action=logout') . '" title="' . __('Log Out') . '">' . __('Log Out') . '</a></p></div>\') });' . "\n";
570 }
571 $_mw_adminimize_admin_head .= '</script>' . "\n";
572 break;
573 }
574
575 $_mw_adminimize_footer = _mw_adminimize_getOptionValue('_mw_adminimize_footer');
576 switch ($_mw_adminimize_footer) {
577 case 1:
578 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
579 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#footer\').remove(); });' . "\n";
580 $_mw_adminimize_admin_head .= '</script>' . "\n";
581 break;
582 }
583
584 // timestamp open
585 $_mw_adminimize_timestamp = _mw_adminimize_getOptionValue('_mw_adminimize_timestamp');
586 switch ($_mw_adminimize_timestamp) {
587 case 1:
588 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
589 $_mw_adminimize_admin_head .= "\t" . 'addLoadEvent(function(){jQuery(\'.edit-timestamp\').click();});' . "\n";
590 $_mw_adminimize_admin_head .= '</script>' . "\n";
591 break;
592 }
593
594 $_mw_adminimize_admin_head .= '<script type="text/javascript">
595 /* <![CDATA[ */
596 adminimizeL10n = {
597 all: "' . __('All', 'adminimize') . '", none: "' . __('None', 'adminimize') . '"
598 }
599 /* ]]> */
600 </script>';
601
602 // set menu
603 if ($disabled_menu != '') {
604
605 // set user-menu
606 if ( !current_user_can('level_10') ) {
607 foreach ($menu as $index => $item) {
608 if ($item == 'index.php')
609 continue;
610
611 if (in_array($item[2], $disabled_menu))
612 unset($menu[$index]);
613
614 if ( !empty($submenu[$item[2]]) ) {
615 foreach ($submenu[$item[2]] as $subindex => $subitem) {
616 if (in_array($subitem[2], $disabled_submenu))
617 unset($submenu[$item[2]][$subindex]);
618 }
619 }
620 }
621 }
622
623 // set admin-menu
624 if ( current_user_can('level_10') ) {
625 foreach ($menu as $index => $item) {
626 if ($item == 'index.php')
627 continue;
628
629 if (in_array($item[2], $disabled_menu_adm))
630 unset($menu[$index]);
631
632 if ( !empty($submenu[$item[2]]) ) {
633 foreach ($submenu[$item[2]] as $subindex => $subitem) {
634 if (in_array($subitem[2], $disabled_submenu_adm))
635 unset($submenu[$item[2]][$subindex]);
636 }
637 }
638 }
639 }
640
641 }
642
643 print($_mw_adminimize_admin_head);
644 }
645
646
647 /**
648 * set metabox options from database
649 */
650 function _mw_adminimize_set_metabox_option() {
651 global $pagenow;
652
653 $_mw_adminimize_admin_head = "\n";
654
655 // post
656 if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) ) {
657 remove_action('admin_head', 'index_js');
658
659 $disabled_metaboxes_post = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_post_items');
660 $disabled_metaboxes_post_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_post_adm_items');
661
662 if ( !isset($disabled_metaboxes_post_adm['0']) )
663 $disabled_metaboxes_post_adm['0'] = '';
664 if ( !isset($disabled_metaboxes_post['0']) )
665 $disabled_metaboxes_post['0'] = '';
666 if ( current_user_can('level_10') ) {
667 $metaboxes = implode(',', $disabled_metaboxes_post_adm); // for admins
668 } else {
669 $metaboxes = implode(',', $disabled_metaboxes_post); // < user level 10, admin
670 }
671
672 $_mw_adminimize_admin_head .= '<style type="text/css">' . $metaboxes . ' {display: none !important}</style>' . "\n";
673 }
674
675 // page
676 if ( ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) {
677 remove_action('admin_head', 'index_js');
678
679 $disabled_metaboxes_page = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_page_items');
680 $disabled_metaboxes_page_adm = _mw_adminimize_getOptionValue('mw_adminimize_disabled_metaboxes_page_adm_items');
681
682 if ( !isset($disabled_metaboxes_page_adm['0']) )
683 $disabled_metaboxes_page_adm['0'] = '';
684 if ( !isset($disabled_metaboxes_page['0']) )
685 $disabled_metaboxes_page['0'] = '';
686 if ( current_user_can('level_10') ) {
687 $metaboxes = implode(',', $disabled_metaboxes_page_adm);
688 } else {
689 $metaboxes = implode(',', $disabled_metaboxes_page); // < user level 10, admin
690 }
691
692 $_mw_adminimize_admin_head .= '<style type="text/css">' . $metaboxes . ' {display: none !important}</style>' . "\n";
693 }
694
695 print($_mw_adminimize_admin_head);
696 }
697
698
699 /**
700 * small user-info
701 * @uses $post_ID
702 */
703 function _mw_adminimize_small_user_info() {
704 ?>
705 <div id="small_user_info">
706 <p><a href="<?php echo site_url('wp-login.php?action=logout') ?>" title="<?php _e('Log Out') ?>"><?php _e('Log Out'); ?></a></p>
707 </div>
708 <?php
709 }
710
711
712 /**
713 * include options-page in wp-admin
714 */
715 require_once('adminimize_page.php');
716
717
718 /**
719 * credit in wp-footer
720 */
721 function _mw_adminimize_admin_footer() {
722 $plugin_data = get_plugin_data( __FILE__ );
723 $plugin_data['Title'] = $plugin_data['Name'];
724 if ( !empty($plugin_data['PluginURI']) && !empty($plugin_data['Name']) )
725 $plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '" title="'.__( 'Visit plugin homepage' ).'">' . $plugin_data['Name'] . '</a>';
726
727 if ( basename($_SERVER['REQUEST_URI']) == 'adminimize.php') {
728 printf('%1$s ' . __('plugin') . ' | ' . __('Version') . ' <a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/#historie" title="' . __('History', 'adminimize') . '">%2$s</a> | ' . __('Author') . ' %3$s<br />', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']);
729 }
730 if ( _mw_adminimize_getOptionValue('_mw_adminimize_advice') == 1 && basename($_SERVER['REQUEST_URI']) != 'adminimize.php' ) {
731 printf('%1$s ' . __('plugin activate', 'adminimize') . ' | ' . stripslashes( _mw_adminimize_getOptionValue('_mw_adminimize_advice_txt') ) . '<br />', $plugin_data['Title']);
732 }
733 }
734
735
736 /**
737 * Add action link(s) to plugins page
738 * Thanks Dion Hulse -- http://dd32.id.au/wordpress-plugins/?configure-link
739 */
740 function _mw_adminimize_filter_plugin_actions($links, $file){
741 static $this_plugin;
742
743 if( !$this_plugin ) $this_plugin = plugin_basename(__FILE__);
744
745 if( $file == $this_plugin ){
746 $settings_link = '<a href="options-general.php?page=adminimize/adminimize.php">' . __('Settings') . '</a>';
747 $links = array_merge( array($settings_link), $links); // before other links
748 }
749 return $links;
750 }
751
752
753 /**
754 * settings in plugin-admin-page
755 */
756 function _mw_adminimize_add_settings_page() {
757 if( current_user_can('switch_themes') ) {
758 add_submenu_page('options-general.php', __('Adminimize Options', 'adminimize'), __('Adminimize', 'adminimize'), 8, __FILE__, '_mw_adminimize_options');
759 add_filter('plugin_action_links', '_mw_adminimize_filter_plugin_actions', 10, 2);
760 }
761 }
762
763
764 /**
765 * Set theme for users y user_level 10
766 */
767 function _mw_adminimize_set_theme() {
768
769 if ( !current_user_can('edit_users') )
770 wp_die(__('Cheatin&#8217; uh?'));
771
772 $user_ids = $_POST[mw_adminimize_theme_items];
773 $admin_color = htmlspecialchars( stripslashes( $_POST[_mw_adminimize_set_theme] ) );
774
775 if ( !$user_ids )
776 return false;
777
778 foreach( $user_ids as $user_id) {
779 $user_id = (int) $user_id;
780 update_usermeta($user_id, 'admin_color', $admin_color);
781 }
782 }
783
784
785 /**
786 * read otpions
787 */
788 function _mw_adminimize_getOptionValue($key) {
789
790 $adminimizeoptions = get_option('mw_adminimize');
791 return ($adminimizeoptions[$key]);
792 }
793
794
795 /**
796 * Update options in database
797 */
798 function _mw_adminimize_update() {
799 global $menu, $submenu, $adminimizeoptions;
800
801 if (isset($_POST['_mw_adminimize_user_info'])) {
802 $adminimizeoptions['_mw_adminimize_user_info'] = strip_tags(stripslashes($_POST['_mw_adminimize_user_info']));
803 } else {
804 $adminimizeoptions['_mw_adminimize_user_info'] = 0;
805 }
806
807 if (isset($_POST['_mw_adminimize_sidebar_wight'])) {
808 $adminimizeoptions['_mw_adminimize_sidebar_wight'] = strip_tags(stripslashes($_POST['_mw_adminimize_sidebar_wight']));
809 } else {
810 $adminimizeoptions['_mw_adminimize_sidebar_wight'] = 0;
811 }
812
813 if (isset($_POST['_mw_adminimize_footer'])) {
814 $adminimizeoptions['_mw_adminimize_footer'] = strip_tags(stripslashes($_POST['_mw_adminimize_footer']));
815 } else {
816 $adminimizeoptions['_mw_adminimize_footer'] = 0;
817 }
818
819 if (isset($_POST['_mw_adminimize_writescroll'])) {
820 $adminimizeoptions['_mw_adminimize_writescroll'] = strip_tags(stripslashes($_POST['_mw_adminimize_writescroll']));
821 } else {
822 $adminimizeoptions['_mw_adminimize_writescroll'] = 0;
823 }
824
825 if (isset($_POST['_mw_adminimize_tb_window'])) {
826 $adminimizeoptions['_mw_adminimize_tb_window'] = strip_tags(stripslashes($_POST['_mw_adminimize_tb_window']));
827 } else {
828 $adminimizeoptions['_mw_adminimize_tb_window'] = 0;
829 }
830
831 if (isset($_POST['_mw_adminimize_db_redirect'])) {
832 $adminimizeoptions['_mw_adminimize_db_redirect'] = strip_tags(stripslashes($_POST['_mw_adminimize_db_redirect']));
833 } else {
834 $adminimizeoptions['_mw_adminimize_db_redirect'] = 0;
835 }
836
837 if (isset($_POST['_mw_adminimize_ui_redirect'])) {
838 $adminimizeoptions['_mw_adminimize_ui_redirect'] = strip_tags(stripslashes($_POST['_mw_adminimize_ui_redirect']));
839 } else {
840 $adminimizeoptions['_mw_adminimize_ui_redirect'] = 0;
841 }
842
843 if (isset($_POST['_mw_adminimize_advice'])) {
844 $adminimizeoptions['_mw_adminimize_advice'] = strip_tags(stripslashes($_POST['_mw_adminimize_advice']));
845 } else {
846 $adminimizeoptions['_mw_adminimize_advice'] = 0;
847 }
848
849 if (isset($_POST['_mw_adminimize_advice_txt'])) {
850 $adminimizeoptions['_mw_adminimize_advice_txt'] = stripslashes($_POST['_mw_adminimize_advice_txt']);
851 } else {
852 $adminimizeoptions['_mw_adminimize_advice_txt'] = 0;
853 }
854
855 if (isset($_POST['_mw_adminimize_timestamp'])) {
856 $adminimizeoptions['_mw_adminimize_timestamp'] = strip_tags(stripslashes($_POST['_mw_adminimize_timestamp']));
857 } else {
858 $adminimizeoptions['_mw_adminimize_timestamp'] = 0;
859 }
860
861 if (isset($_POST['mw_adminimize_disabled_menu_items'])) {
862 $adminimizeoptions['mw_adminimize_disabled_menu_items'] = $_POST['mw_adminimize_disabled_menu_items'];
863 } else {
864 $adminimizeoptions['mw_adminimize_disabled_menu_items'] = array();
865 }
866
867 if (isset($_POST['mw_adminimize_disabled_submenu_items'])) {
868 $adminimizeoptions['mw_adminimize_disabled_submenu_items'] = $_POST['mw_adminimize_disabled_submenu_items'];
869 } else {
870 $adminimizeoptions['mw_adminimize_disabled_submenu_items'] = array();
871 }
872
873 if (isset($_POST['mw_adminimize_disabled_menu_adm_items'])) {
874 $adminimizeoptions['mw_adminimize_disabled_menu_adm_items'] = $_POST['mw_adminimize_disabled_menu_adm_items'];
875 } else {
876 $adminimizeoptions['mw_adminimize_disabled_menu_adm_items'] = array();
877 }
878
879 if (isset($_POST['mw_adminimize_disabled_submenu_adm_items'])) {
880 $adminimizeoptions['mw_adminimize_disabled_submenu_adm_items'] = $_POST['mw_adminimize_disabled_submenu_adm_items'];
881 } else {
882 $adminimizeoptions['mw_adminimize_disabled_submenu_adm_items'] = array();
883 }
884
885 if (isset($_POST['mw_adminimize_disabled_metaboxes_post_items'])) {
886 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_items'] = $_POST['mw_adminimize_disabled_metaboxes_post_items'];
887 } else {
888 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_items'] = array();
889 }
890
891 if (isset($_POST['mw_adminimize_disabled_metaboxes_page_items'])) {
892 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_items'] = $_POST['mw_adminimize_disabled_metaboxes_page_items'];
893 } else {
894 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_items'] = array();
895 }
896
897 if (isset($_POST['mw_adminimize_disabled_metaboxes_post_adm_items'])) {
898 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_adm_items'] = $_POST['mw_adminimize_disabled_metaboxes_post_adm_items'];
899 } else {
900 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_adm_items'] = array();
901 }
902
903 if (isset($_POST['mw_adminimize_disabled_metaboxes_page_adm_items'])) {
904 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_adm_items'] = $_POST['mw_adminimize_disabled_metaboxes_page_adm_items'];
905 } else {
906 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_adm_items'] = array();
907 }
908
909 update_option('mw_adminimize', $adminimizeoptions);
910 $adminimizeoptions = get_option('mw_adminimize');
911
912 $myErrors = new _mw_adminimize_message_class();
913 $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_update') . '</p></div>';
914 echo $myErrors;
915 }
916
917
918 /**
919 * Delete options in database
920 */
921 function _mw_adminimize_deinstall() {
922
923 delete_option('mw_adminimize');
924
925 delete_option('_mw_adminimize_sidebar_wight');
926 delete_option('_mw_adminimize_user_info');
927 delete_option('_mw_adminimize_footer');
928 delete_option('_mw_adminimize_writescroll');
929 delete_option('_mw_adminimize_tb_window');
930 delete_option('_mw_adminimize_db_redirect');
931 delete_option('_mw_adminimize_ui_redirect');
932 delete_option('_mw_adminimize_advice');
933 delete_option('_mw_adminimize_advice_txt');
934 delete_option('_mw_adminimize_timestamp');
935
936 delete_option('mw_adminimize_default_menu');
937 delete_option('mw_adminimize_default_submenu');
938 delete_option('mw_adminimize_disabled_menu');
939 delete_option('mw_adminimize_disabled_submenu');
940 delete_option('mw_adminimize_disabled_menu_adm');
941 delete_option('mw_adminimize_disabled_submenu_adm');
942
943 delete_option('mw_adminimize_default_metaboxes_post');
944 delete_option('mw_adminimize_disabled_metaboxes_page-adm');
945 delete_option('mw_adminimize_disabled_metaboxes_post');
946 delete_option('mw_adminimize_disabled_metaboxes_page');
947 delete_option('mw_adminimize_disabled_metaboxes_post_adm');
948 delete_option('mw_adminimize_disabled_metaboxes_page_adm');
949 }
950
951
952 /**
953 * Install options in database
954 */
955 function _mw_adminimize_install() {
956 global $menu, $submenu;
957
958 $adminimizeoptions = array();
959
960 $adminimizeoptions['mw_adminimize_disabled_menu_items'] = array();
961 $adminimizeoptions['mw_adminimize_disabled_submenu_items'] = array();
962 $adminimizeoptions['mw_adminimize_disabled_menu_adm_items'] = array();
963 $adminimizeoptions['mw_adminimize_disabled_submenu_adm_items'] = array();
964
965 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_items'] = array();
966 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_items'] = array();
967 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_adm_items'] = array();
968 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_adm_items'] = array();
969
970 $adminimizeoptions['mw_adminimize_default_menu'] = $menu;
971 $adminimizeoptions['mw_adminimize_default_submenu'] = $submenu;
972
973 add_option('mw_adminimize', $adminimizeoptions);
974 }
975 ?>