PluginProbe
Adminimize / 1.7.18
Adminimize v1.7.18
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.7.18, at adminimize.php

1,779 lines 63.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package Adminimize
4 * @author Frank Bültge
5 */
6
7 /*
8 Plugin Name: Adminimize
9 Plugin URI: http://bueltge.de/wordpress-admin-theme-adminimize/674/
10 Text Domain: adminimize
11 Domain Path: /languages
12 Description: Visually compresses the administratrive meta-boxes so that more admin page content can be initially seen. The plugin that lets you hide 'unnecessary' items from the WordPress administration menu, for alle roles of your install. You can also hide post meta controls on the edit-area to simplify the interface. It is possible to simplify the admin in different for all roles.
13 Author: Frank B&uuml;ltge
14 Author URI: http://bueltge.de/
15 Version: 1.7.18
16 License: GPL
17 */
18
19 /**
20 * The stylesheet and the initial idea is from Eric A. Meyer, http://meyerweb.com/
21 * and i have written a plugin with many options on the basis
22 * of differently user-right and a user-friendly range in admin-area.
23 */
24
25
26 global $wp_version;
27 if ( ! function_exists( 'add_action' ) || version_compare( $wp_version, "2.5alpha", "<") ) {
28 if ( function_exists( 'add_action' ) )
29 $exit_msg = 'The plugin <em><a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/">Adminimize</a></em> requires WordPress 2.5 or newer. <a href="http://codex.wordpress.org/Upgrading_WordPress">Please update WordPress</a> or delete the plugin.';
30 else
31 $exit_msg = '';
32
33 header( 'Status: 403 Forbidden' );
34 header( 'HTTP/1.1 403 Forbidden' );
35 exit( $exit_msg );
36 }
37
38 if ( function_exists( 'add_action' ) ) {
39
40 // Pre-2.6 compatibility
41 if ( ! defined( 'WP_CONTENT_URL' ) )
42 define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
43 if ( ! defined( 'WP_CONTENT_DIR' ) )
44 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
45 if ( ! defined( 'WP_PLUGIN_URL' ) )
46 define( 'WP_PLUGIN_URL', WP_CONTENT_URL. '/plugins' );
47 if ( ! defined( 'WP_PLUGIN_DIR' ) )
48 define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
49
50 // plugin definitions
51 define( 'FB_ADMINIMIZE_BASENAME', plugin_basename( __FILE__ ) );
52 define( 'FB_ADMINIMIZE_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) );
53 define( 'FB_ADMINIMIZE_TEXTDOMAIN', _mw_adminimize_get_plugin_data( 'TextDomain' ) );
54 }
55
56 function _mw_adminimize_get_plugin_data( $value = 'Version' ) {
57
58 if ( ! function_exists( 'get_plugin_data' ) )
59 require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
60
61 $plugin_data = get_plugin_data( __FILE__ );
62 $plugin_value = $plugin_data[$value];
63
64 return $plugin_value;
65 }
66
67 function _mw_adminimize_textdomain() {
68
69 load_plugin_textdomain( FB_ADMINIMIZE_TEXTDOMAIN, FALSE, dirname( FB_ADMINIMIZE_BASENAME ) . '/languages' );
70 }
71
72
73 function _mw_adminimize_register_styles() {
74
75 wp_register_style( 'adminimize-style', plugins_url( 'css/style.css', __FILE__ ) );
76 }
77
78
79 function _mw_adminimize_recursive_in_array( $needle, $haystack ) {
80
81 if ( '' != $haystack ) {
82 foreach ( $haystack as $stalk ) {
83 if ( $needle == $stalk ||
84 ( is_array( $stalk) &&
85 _mw_adminimize_recursive_in_array( $needle, $stalk )
86 )
87 ) {
88 return TRUE;
89 }
90 }
91 return FALSE;
92 }
93 }
94
95
96 /**
97 * some basics for message
98 */
99 class _mw_adminimize_message_class {
100
101 /**
102 * constructor
103 */
104 function _mw_adminimize_message_class() {
105
106 $this->localizion_name = FB_ADMINIMIZE_TEXTDOMAIN;
107 $this->errors = new WP_Error();
108 $this->initialize_errors();
109 }
110
111 /**
112 * get_error - Returns an error message based on the passed code
113 * Parameters - $code (the error code as a string)
114 * @return Returns an error message
115 */
116 function get_error( $code = '' ) {
117
118 $errorMessage = $this->errors->get_error_message( $code );
119
120 if ( $errorMessage == NULL )
121 return __( 'Unknown error.', $this->localizion_name );
122
123 return $errorMessage;
124 }
125
126 /**
127 * Initializes all the error messages
128 */
129 function initialize_errors() {
130 $this->errors->add( '_mw_adminimize_update', __( 'The updates were saved.', $this->localizion_name ) );
131 $this->errors->add( '_mw_adminimize_access_denied', __( 'You have not enough rights to edit entries in the database.', $this->localizion_name ) );
132 $this->errors->add( '_mw_adminimize_import', __( 'All entries in the database were imported.', $this->localizion_name ) );
133 $this->errors->add( '_mw_adminimize_deinstall', __( 'All entries in the database were deleted.', $this->localizion_name ) );
134 $this->errors->add( '_mw_adminimize_deinstall_yes', __( 'Set the checkbox on deinstall-button.', $this->localizion_name ) );
135 $this->errors->add( '_mw_adminimize_get_option', __( 'Can\'t load menu and submenu.', $this->localizion_name ) );
136 $this->errors->add( '_mw_adminimize_set_theme', __( 'Backend-Theme was activated!', $this->localizion_name ) );
137 $this->errors->add( '_mw_adminimize_load_theme', __( 'Load user data to themes was successful.', $this->localizion_name ) );
138 }
139
140 } // end class
141
142
143 function _mw_adminimize_exclude_super_admin() {
144 // exclude super admin
145 if ( function_exists( 'is_super_admin' )
146 && is_super_admin()
147 && 1 == _mw_adminimize_get_option_value( '_mw_adminimize_exclude_super_admin' )
148 )
149 return TRUE;
150
151 return FALSE;
152 }
153
154
155 /**
156 * _mw_adminimize_get_all_user_roles() - Returns an array with all user roles(names) in it.
157 * Inclusive self defined roles (for example with the 'Role Manager' plugin).
158 * code by Vincent Weber, www.webRtistik.nl
159 * @uses $wp_roles
160 * @return $user_roles
161 */
162 function _mw_adminimize_get_all_user_roles() {
163 global $wp_roles;
164
165 $user_roles = array();
166
167 if ( isset( $wp_roles->roles) && is_array( $wp_roles->roles) ) {
168 foreach ( $wp_roles->roles as $role => $data) {
169 array_push( $user_roles, $role );
170 //$data contains caps, maybe for later use..
171 }
172 }
173
174 return $user_roles;
175 }
176
177
178 /**
179 * _mw_adminimize_get_all_user_roles_names() - Returns an array with all user roles_names in it.
180 * Inclusive self defined roles (for example with the 'Role Manager' plugin).
181 * @uses $wp_roles
182 * @return $user_roles_names
183 */
184 function _mw_adminimize_get_all_user_roles_names() {
185 global $wp_roles;
186
187 $user_roles_names = array();
188
189 foreach ( $wp_roles->role_names as $role_name => $data) {
190 if ( function_exists( 'translate_user_role' ) )
191 $data = translate_user_role( $data );
192 else
193 $data = translate_with_context( $data );
194
195 array_push( $user_roles_names, $data );
196 }
197
198 return $user_roles_names;
199 }
200
201 /**
202 * Control Flash Uploader
203 *
204 * @return boolean
205 */
206 function _mw_adminimize_control_flashloader() {
207
208 $_mw_adminimize_control_flashloader = _mw_adminimize_get_option_value( '_mw_adminimize_control_flashloader' );
209
210 if ( $_mw_adminimize_control_flashloader == '1' ) {
211 return FALSE;
212 } else {
213 return TRUE;
214 }
215 }
216
217
218 /**
219 * check user-option and add new style
220 * @uses $pagenow
221 */
222 function _mw_adminimize_admin_init() {
223 global $pagenow, $post_type, $menu, $submenu, $wp_version;
224
225 if ( isset( $_GET['post'] ) )
226 $post_id = (int) $_GET['post'];
227 elseif ( isset( $_POST['post_ID'] ) )
228 $post_id = (int) $_POST['post_ID'];
229 else
230 $post_id = 0;
231
232 $current_post_type = $post_type;
233 if ( ! isset( $current_post_type ) )
234 $current_post_type = get_post_type( $post_id );
235 if ( ! $current_post_type )
236 $current_post_type = str_replace( 'post_type=', '', esc_attr( $_SERVER['QUERY_STRING'] ) );
237 if ( ! $current_post_type ) // set hard to post
238 $current_post_type = 'post';
239
240 $user_roles = _mw_adminimize_get_all_user_roles();
241
242 $adminimizeoptions = get_option( 'mw_adminimize' );
243 // pages for post type Post
244 $def_post_pages = array( 'edit.php', 'post.php', 'post-new.php' );
245 $def_post_types = array( 'post' );
246 $disabled_metaboxes_post_all = array();
247 // pages for post type Page
248 $def_page_pages = array_merge( $def_post_pages, array( 'page-new.php', 'page.php' ) );
249 $def_page_types = array( 'page' );
250 $disabled_metaboxes_page_all = array();
251 // pages for custom post types
252 $def_custom_pages = $def_post_pages;
253 $args = array( 'public' => TRUE, '_builtin' => FALSE );
254 $def_custom_types = get_post_types( $args );
255 // pages for link pages
256 $link_pages = array( 'link-manager.php', 'link-add.php', 'edit-link-categories.php' );
257 // pages for nav menu
258 $nav_menu_pages = array( 'nav-menus.php' );
259 // get admin color for current user
260 $_mw_admin_color = get_user_option( 'admin_color' );
261
262 foreach ( $user_roles as $role ) {
263 $disabled_global_option_[$role] = _mw_adminimize_get_option_value(
264 'mw_adminimize_disabled_global_option_' . $role . '_items'
265 );
266 $disabled_metaboxes_post_[$role] = _mw_adminimize_get_option_value(
267 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items'
268 );
269 $disabled_metaboxes_page_[$role] = _mw_adminimize_get_option_value(
270 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items'
271 );
272 foreach ( $def_custom_types as $post_type ) {
273 $disabled_metaboxes_[$post_type . '_' . $role] = _mw_adminimize_get_option_value(
274 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'
275 );
276 }
277 $disabled_link_option_[$role] = _mw_adminimize_get_option_value(
278 'mw_adminimize_disabled_link_option_' . $role . '_items'
279 );
280 $disabled_nav_menu_option_[$role] = _mw_adminimize_get_option_value(
281 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items'
282 );
283 array_push( $disabled_metaboxes_post_all, $disabled_metaboxes_post_[$role] );
284 array_push( $disabled_metaboxes_page_all, $disabled_metaboxes_page_[$role] );
285 }
286
287 // global options
288 // exclude super admin
289 if ( ! _mw_adminimize_exclude_super_admin() ) {
290 $_mw_adminimize_footer = _mw_adminimize_get_option_value( '_mw_adminimize_footer' );
291 switch ( $_mw_adminimize_footer) {
292 case 1:
293 wp_enqueue_script(
294 '_mw_adminimize_remove_footer',
295 WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_footer.js',
296 array( 'jquery' )
297 );
298 break;
299 }
300
301 $_mw_adminimize_header = _mw_adminimize_get_option_value( '_mw_adminimize_header' );
302 switch ( $_mw_adminimize_header) {
303 case 1:
304 wp_enqueue_script(
305 '_mw_adminimize_remove_header',
306 WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_header.js',
307 array( 'jquery' )
308 );
309 break;
310 }
311
312 //post-page options
313 if ( in_array( $pagenow, $def_post_pages ) ) {
314
315 $_mw_adminimize_writescroll = _mw_adminimize_get_option_value( '_mw_adminimize_writescroll' );
316 switch ( $_mw_adminimize_writescroll ) {
317 case 1:
318 wp_enqueue_script( '_mw_adminimize_writescroll', WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/writescroll.js', array( 'jquery' ) );
319 break;
320 }
321 $_mw_adminimize_tb_window = _mw_adminimize_get_option_value( '_mw_adminimize_tb_window' );
322 switch ( $_mw_adminimize_tb_window) {
323 case 1:
324 wp_deregister_script( 'media-upload' );
325 wp_enqueue_script(
326 'media-upload',
327 WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/tb_window.js',
328 array( 'thickbox' )
329 );
330 break;
331 }
332 $_mw_adminimize_timestamp = _mw_adminimize_get_option_value( '_mw_adminimize_timestamp' );
333 switch ( $_mw_adminimize_timestamp) {
334 case 1:
335 wp_enqueue_script(
336 '_mw_adminimize_timestamp',
337 WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/timestamp.js',
338 array( 'jquery' )
339 );
340 break;
341 }
342
343 //category options
344 $_mw_adminimize_cat_full = _mw_adminimize_get_option_value( '_mw_adminimize_cat_full' );
345 switch ( $_mw_adminimize_cat_full ) {
346 case 1:
347 wp_enqueue_style(
348 'adminimize-ful-category',
349 WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/css/mw_cat_full.css'
350 );
351 break;
352 }
353
354 // set default editor tinymce
355 if ( _mw_adminimize_recursive_in_array(
356 '#editor-toolbar #edButtonHTML, #quicktags',
357 $disabled_metaboxes_page_all
358 )
359 || _mw_adminimize_recursive_in_array(
360 '#editor-toolbar #edButtonHTML, #quicktags',
361 $disabled_metaboxes_post_all
362 ) )
363 add_filter( 'wp_default_editor', create_function( '', 'return "tinymce";' ) );
364
365 // remove media bottons
366 if ( _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_page_all )
367 || _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_post_all ) )
368 remove_action( 'media_buttons', 'media_buttons' );
369
370 //add_filter( 'image_downsize', '_mw_adminimize_image_downsize', 1, 3);
371 }
372
373 $_mw_adminimize_control_flashloader = _mw_adminimize_get_option_value( '_mw_adminimize_control_flashloader' );
374 switch ( $_mw_adminimize_control_flashloader) {
375 case 1:
376 add_filter( 'flash_uploader', '_mw_adminimize_control_flashloader', 1 );
377 break;
378 }
379 }
380
381 // set menu option
382 add_action( 'admin_head', '_mw_adminimize_set_menu_option', 1 );
383 // global_options
384 add_action( 'admin_head', '_mw_adminimize_set_global_option', 1 );
385
386 // set metabox post option
387 if ( in_array( $pagenow, $def_post_pages ) && in_array( $current_post_type, $def_post_types) )
388 add_action( 'admin_head', '_mw_adminimize_set_metabox_post_option', 1 );
389 // set metabox page option
390 if ( in_array( $pagenow, $def_page_pages ) && in_array( $current_post_type, $def_page_types) )
391 add_action( 'admin_head', '_mw_adminimize_set_metabox_page_option', 1 );
392 // set custom post type options
393 if ( function_exists( 'get_post_types' ) &&
394 in_array( $pagenow, $def_custom_pages ) &&
395 in_array( $current_post_type, $def_custom_types)
396 )
397 add_action( 'admin_head', '_mw_adminimize_set_metabox_cp_option', 1 );
398 // set link option
399 if ( in_array( $pagenow, $link_pages ) )
400 add_action( 'admin_head', '_mw_adminimize_set_link_option', 1 );
401 // set wp nav menu options
402 if ( in_array( $pagenow, $nav_menu_pages ) )
403 add_action( 'admin_head', '_mw_adminimize_set_nav_menu_option', 1 );
404
405 add_action( 'in_admin_footer', '_mw_adminimize_admin_footer' );
406
407 $adminimizeoptions['mw_adminimize_default_menu'] = $menu;
408 $adminimizeoptions['mw_adminimize_default_submenu'] = $submenu;
409
410 // if custom design of Adminimize; kill with version 1.7.18
411 if ( ( $_mw_admin_color == 'mw_fresh' ) ||
412 ( $_mw_admin_color == 'mw_classic' ) ||
413 ( $_mw_admin_color == 'mw_colorblind' ) ||
414 ( $_mw_admin_color == 'mw_grey' ) ||
415 ( $_mw_admin_color == 'mw_fresh_ozh_am' ) ||
416 ( $_mw_admin_color == 'mw_classic_ozh_am' ) ||
417 ( $_mw_admin_color == 'mw_fresh_lm' ) ||
418 ( $_mw_admin_color == 'mw_classic_lm' ) ||
419 ( $_mw_admin_color == 'mw_wp23' )
420 ) {
421
422 // only posts
423 if ( ( 'post-new.php' == $pagenow ) ||
424 ( 'post.php' == $pagenow ) ||
425 ( 'post' == $post_type )
426 ) {
427 if ( version_compare( substr( $wp_version, 0, 3), '2.7', '<' ) )
428 add_action( 'admin_head', '_mw_adminimize_remove_box', 99 );
429
430 // check for array empty
431 if ( !isset( $disabled_metaboxes_post_['editor']['0'] ) )
432 $disabled_metaboxes_post_['editor']['0'] = '';
433 if ( isset( $disabled_metaboxes_post_['administrator']['0'] ) )
434 $disabled_metaboxes_post_['administrator']['0'] = '';
435 if ( version_compare(substr( $wp_version, 0, 3), '2.7', '<' ) ) {
436 if ( !_mw_adminimize_recursive_in_array( '#categorydivsb', $disabled_metaboxes_post_all ) )
437 add_action( 'submitpost_box', '_mw_adminimize_sidecat_list_category_box' );
438 if ( !_mw_adminimize_recursive_in_array( '#tagsdivsb', $disabled_metaboxes_post_all ) )
439 add_action( 'submitpost_box', '_mw_adminimize_sidecat_list_tag_box' );
440 }
441 }
442
443 // only pages
444 if ( ( 'page-new.php' == $pagenow ) ||
445 ( 'page.php' == $pagenow ) ||
446 ( 'post_type=page' == esc_attr( $_SERVER['QUERY_STRING'] ) ) ||
447 ( 'page' == $post_type )
448 ) {
449 // check for array empty
450 if ( !isset( $disabled_metaboxes_page_['editor']['0'] ) )
451 $disabled_metaboxes_page_['editor']['0'] = '';
452 if ( isset( $disabled_metaboxes_page_['administrator']['0'] ) )
453 $disabled_metaboxes_page_['administrator']['0'] = '';
454 }
455
456 }
457 }
458
459 // on init of WordPress
460 add_action( 'init', '_mw_adminimize_remove_admin_bar' );
461
462 // on admin init
463 add_action( 'admin_init', '_mw_adminimize_textdomain' );
464 add_action( 'admin_init', '_mw_adminimize_register_styles', 1 );
465 add_action( 'admin_init', '_mw_adminimize_admin_init', 2 );
466 add_action( 'admin_menu', '_mw_adminimize_add_settings_page' );
467 add_action( 'admin_menu', '_mw_adminimize_remove_dashboard' );
468 if ( version_compare( $wp_version, '3.2alpha', '<=' ) )
469 add_action( 'admin_init', '_mw_adminimize_admin_styles', 1 );
470
471 register_activation_hook( __FILE__, '_mw_adminimize_install' );
472 register_uninstall_hook( __FILE__, '_mw_adminimize_deinstall' );
473 //register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall' );
474
475
476 /**
477 * Uses WordPress filter for image_downsize, kill wp-image-dimension
478 * code by Andrew Rickmann
479 * http://www.wp-fun.co.uk/
480 * @param $value, $id, $size
481 */
482 function _mw_adminimize_image_downsize( $value = FALSE, $id = 0, $size = 'medium' ) {
483
484 if ( ! wp_attachment_is_image( $id ) )
485 return FALSE;
486
487 $img_url = wp_get_attachment_url( $id);
488
489 // Mimic functionality in image_downsize function in wp-includes/media.php
490 if ( $intermediate = image_get_intermediate_size( $id, $size ) ) {
491 $img_url = str_replace( basename( $img_url ), $intermediate['file'], $img_url );
492 } elseif ( $size == 'thumbnail' ) {
493 // fall back to the old thumbnail
494 if ( $thumb_file = wp_get_attachment_thumb_file() && $info = getimagesize( $thumb_file ) ) {
495 $img_url = str_replace( basename( $img_url ), basename( $thumb_file ), $img_url );
496 }
497 }
498
499 if ( $img_url )
500 return array( $img_url, 0, 0);
501
502 return FALSE;
503 }
504
505
506 /**
507 * list category-box in sidebar
508 * @uses $post_ID
509 */
510 function _mw_adminimize_sidecat_list_category_box() {
511 global $post_ID;
512 ?>
513
514 <div class="inside" id="categorydivsb">
515 <p><strong><?php _e("Categories"); ?></strong></p>
516 <ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
517 <?php wp_category_checklist( $post_ID); ?>
518 </ul>
519 <?php if ( !defined( 'WP_PLUGIN_DIR' ) ) { // for wp <2.6 ?>
520 <div id="category-adder" class="wp-hidden-children">
521 <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
522 <p id="category-add" class="wp-hidden-child">
523 <input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" />
524 <?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __( 'Parent category' ), 'tab_index' => 3 ) ); ?>
525 <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" />
526 <?php wp_nonce_field( 'add-category', '_ajax_nonce', FALSE ); ?>
527 <span id="category-ajax-response"></span>
528 </p>
529 </div>
530 <?php } else { ?>
531 <div id="category-adder" class="wp-hidden-children">
532 <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
533 <p id="category-add" class="wp-hidden-child">
534 <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"/>
535 <br />
536 <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 ) ); ?>
537 <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" />
538 <?php wp_nonce_field( 'add-category', '_ajax_nonce', FALSE ); ?>
539 <span id="category-ajax-response"></span>
540 </p>
541 </div>
542 <?php } ?>
543 </div>
544 <?php
545 }
546
547
548 /**
549 * list tag-box in sidebar
550 * @uses $post_ID
551 */
552 function _mw_adminimize_sidecat_list_tag_box() {
553 global $post_ID;
554
555 if ( !class_exists( 'SimpleTagsAdmin' ) ) {
556 ?>
557 <div class="inside" id="tagsdivsb">
558 <p><strong><?php _e( 'Tags' ); ?></strong></p>
559 <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>
560 <div id="tagchecklist"></div>
561 </div>
562 <?php
563 }
564 }
565
566
567 /**
568 * remove default categorydiv
569 * @echo script
570 */
571 function _mw_adminimize_remove_box() {
572
573 if ( function_exists( 'remove_meta_box' ) ) {
574 if ( !class_exists( 'SimpleTagsAdmin' ) )
575 remove_meta_box( 'tagsdiv', 'post', 'normal' );
576
577 remove_meta_box( 'categorydiv', 'post', 'normal' );
578 } else {
579 $_mw_adminimize_sidecat_admin_head = "\n" . '<script type="text/javascript">' . "\n";
580 $_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#categorydiv\' ).remove(); });' . "\n";
581 $_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#tagsdiv\' ).remove(); });' . "\n";
582 $_mw_adminimize_sidecat_admin_head .= '</script>' . "\n";
583
584 echo $_mw_adminimize_sidecat_admin_head;
585 }
586 }
587
588
589 /**
590 * add new adminstyle to usersettings
591 * @param $file
592 */
593 function _mw_adminimize_admin_styles( $file ) {
594 global $wp_version;
595
596 $_mw_adminimize_path = WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/';
597
598 if ( version_compare( $wp_version, '3.0alpha', '>=' ) ) {
599
600 // MW Adminimize Classic Tweak
601 $styleName = 'Adminimize:' . ' Tweak ' . __( 'Blue' );
602 wp_admin_css_color (
603 'mw_classic_tweak', $styleName, $_mw_adminimize_path . 'mw_classic28_tweak.css',
604 array( '#073447', '#21759b', '#eaf3fa', '#bbd8e7' )
605 );
606
607 // MW Adminimize Fresh Tweak
608 $styleName = 'Adminimize:' . ' Tweak ' . __( 'Gray' );
609 wp_admin_css_color (
610 'mw_fresh_tweak', $styleName, $_mw_adminimize_path . 'mw_fresh28_tweak.css',
611 array( '#464646', '#6d6d6d', '#f1f1f1', '#dfdfdf' )
612 );
613
614 }
615
616 if ( version_compare( $wp_version, '2.7alpha', '>=' ) && version_compare( $wp_version, '3.0alpha', '<' ) ) {
617 // MW Adminimize Classic
618 $styleName = 'Adminimize:' . ' ' . __( 'Blue' );
619 wp_admin_css_color (
620 'mw_classic', $styleName, $_mw_adminimize_path . 'mw_classic27.css',
621 array( '#073447', '#21759b', '#eaf3fa', '#bbd8e7' )
622 );
623
624 // MW Adminimize Fresh
625 $styleName = 'Adminimize:' . ' ' . __( 'Gray' );
626 wp_admin_css_color (
627 'mw_fresh', $styleName, $_mw_adminimize_path . 'mw_fresh27.css',
628 array( '#464646', '#6d6d6d', '#f1f1f1', '#dfdfdf' )
629 );
630
631 // MW Adminimize Classic Fixed
632 $styleName = 'Adminimize:' . ' Fixed ' . __( 'Blue' );
633 wp_admin_css_color (
634 'mw_classic_fixed', $styleName, $_mw_adminimize_path . 'mw_classic28_fixed.css',
635 array( '#073447', '#21759b', '#eaf3fa', '#bbd8e7' )
636 );
637
638 // MW Adminimize Fresh Fixed
639 $styleName = 'Adminimize:' . ' Fixed ' . __( 'Gray' );
640 wp_admin_css_color (
641 'mw_fresh_fixed', $styleName, $_mw_adminimize_path . 'mw_fresh28_fixed.css',
642 array( '#464646', '#6d6d6d', '#f1f1f1', '#dfdfdf' )
643 );
644
645 // MW Adminimize Classic Tweak
646 $styleName = 'Adminimize:' . ' Tweak ' . __( 'Blue' );
647 wp_admin_css_color (
648 'mw_classic_tweak', $styleName, $_mw_adminimize_path . 'mw_classic28_tweak.css',
649 array( '#073447', '#21759b', '#eaf3fa', '#bbd8e7' )
650 );
651
652 // MW Adminimize Fresh Tweak
653 $styleName = 'Adminimize:' . ' Tweak ' . __( 'Gray' );
654 wp_admin_css_color (
655 'mw_fresh_tweak', $styleName, $_mw_adminimize_path . 'mw_fresh28_tweak.css',
656 array( '#464646', '#6d6d6d', '#f1f1f1', '#dfdfdf' )
657 );
658
659 } elseif ( version_compare( $wp_version, '2.7alpha', '<' ) ) {
660 // MW Adminimize Classic
661 $styleName = 'MW Adminimize:' . ' ' . __( 'Classic' );
662 wp_admin_css_color (
663 'mw_classic', $styleName, $_mw_adminimize_path . 'mw_classic.css',
664 array( '#07273E', '#14568A', '#D54E21', '#2683AE' )
665 );
666
667 // MW Adminimize Fresh
668 $styleName = 'MW Adminimize:' . ' ' . __( 'Fresh' );
669 wp_admin_css_color (
670 'mw_fresh', $styleName, $_mw_adminimize_path . 'mw_fresh.css',
671 array( '#464646', '#CEE1EF', '#D54E21', '#2683AE' )
672 );
673
674 // MW Adminimize WordPress 2.3
675 $styleName = 'MW Adminimize:' . ' ' . __( 'WordPress 2.3' );
676 wp_admin_css_color (
677 'mw_wp23', $styleName, $_mw_adminimize_path . 'mw_wp23.css',
678 array( '#000000', '#14568A', '#448ABD', '#83B4D8' )
679 );
680
681 // MW Adminimize Colorblind
682 $styleName = 'MW Adminimize:' . ' ' . __( 'Maybe i\'m colorblind' );
683 wp_admin_css_color (
684 'mw_colorblind', $styleName, $_mw_adminimize_path . 'mw_colorblind.css',
685 array( '#FF9419', '#F0720C', '#710001', '#550007', '#CF4529' )
686 );
687
688 // MW Adminimize Grey
689 $styleName = 'MW Adminimize:' . ' ' . __( 'Grey' );
690 wp_admin_css_color (
691 'mw_grey', $styleName, $_mw_adminimize_path . 'mw_grey.css',
692 array( '#000000', '#787878', '#F0F0F0', '#D8D8D8', '#909090' )
693 );
694 }
695 /**
696 * style and changes for plugin Admin Drop Down Menu
697 * by Ozh
698 * http://planetozh.com/blog/my-projects/wordpress-admin-menu-drop-down-css/
699 */
700 if ( function_exists( 'wp_ozh_adminmenu' ) ) {
701
702 // MW Adminimize Classic include ozh adminmenu
703 $styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __( 'Classic' );
704 wp_admin_css_color (
705 'mw_classic_ozh_am', $styleName, $_mw_adminimize_path . 'mw_classic_ozh_am.css',
706 array( '#07273E', '#14568A', '#D54E21', '#2683AE' )
707 );
708
709 // MW Adminimize Fresh include ozh adminmenu
710 $styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __( 'Fresh' );
711 wp_admin_css_color (
712 'mw_fresh_ozh_am', $styleName, $_mw_adminimize_path . 'mw_fresh_ozh_am.css',
713 array( '#464646', '#CEE1EF', '#D54E21', '#2683AE' )
714 );
715
716 }
717
718 /**
719 * style and changes for plugin Lighter Menus
720 * by corpodibacco
721 * http://www.italyisfalling.com/lighter-menus
722 */
723 if ( function_exists( 'lm_build' ) ) {
724
725 // MW Adminimize Classic include Lighter Menus
726 $styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __( 'Classic' );
727 wp_admin_css_color (
728 'mw_classic_lm', $styleName, $_mw_adminimize_path . 'mw_classic_lm.css',
729 array( '#07273E', '#14568A', '#D54E21', '#2683AE' )
730 );
731
732 // MW Adminimize Fresh include Lighter Menus
733 $styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __( 'Fresh' );
734 wp_admin_css_color (
735 'mw_fresh_lm', $styleName, $_mw_adminimize_path . 'mw_fresh_lm.css',
736 array( '#464646', '#CEE1EF', '#D54E21', '#2683AE' )
737 );
738
739 }
740 }
741
742
743 /**
744 * remove the dashbord
745 * @author of basic Austin Matzko
746 * http://www.ilfilosofo.com/blog/2006/05/24/plugin-remove-the-wordpress-dashboard/
747 */
748 function _mw_adminimize_remove_dashboard() {
749 global $menu, $submenu, $user_ID, $wp_version;
750
751 $user_roles = _mw_adminimize_get_all_user_roles();
752
753 foreach ( $user_roles as $role ) {
754 $disabled_menu_[$role] = _mw_adminimize_get_option_value( 'mw_adminimize_disabled_menu_' . $role . '_items' );
755 $disabled_submenu_[$role] = _mw_adminimize_get_option_value( 'mw_adminimize_disabled_submenu_' . $role . '_items' );
756 }
757
758 $disabled_menu_all = array();
759 $disabled_submenu_all = array();
760
761 foreach ( $user_roles as $role ) {
762 array_push( $disabled_menu_all, $disabled_menu_[$role] );
763 array_push( $disabled_submenu_all, $disabled_submenu_[$role] );
764 }
765
766 // remove dashboard
767 if ( $disabled_menu_all != '' || $disabled_submenu_all != '' ) {
768
769 foreach ( $user_roles as $role ) {
770
771 if ( current_user_can( $role ) ) {
772 if ( _mw_adminimize_recursive_in_array( 'index.php', $disabled_menu_[$role] ) || _mw_adminimize_recursive_in_array( 'index.php', $disabled_submenu_[$role] ) )
773 $redirect = TRUE;
774 else
775 $redirect = FALSE;
776 }
777 }
778
779 if ( $redirect ) {
780 $_mw_adminimize_db_redirect = _mw_adminimize_get_option_value( '_mw_adminimize_db_redirect' );
781 $_mw_adminimize_db_redirect_admin_url = get_option( 'siteurl' ) . '/wp-admin/';
782 switch ( $_mw_adminimize_db_redirect) {
783 case 0:
784 $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'profile.php';
785 break;
786 case 1:
787 $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'edit.php';
788 break;
789 case 2:
790 $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'edit.php?post_type=page';
791 break;
792 case 3:
793 $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'post-new.php';
794 break;
795 case 4:
796 $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'page-new.php';
797 break;
798 case 5:
799 $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'edit-comments.php';
800 break;
801 case 6:
802 $_mw_adminimize_db_redirect = _mw_adminimize_get_option_value( '_mw_adminimize_db_redirect_txt' );
803 break;
804 }
805
806 // fallback for WP smaller 3.0
807 if ( version_compare( $wp_version, "3.0alpha", "<") && 'edit.php?post_type=page' == $_mw_adminimize_db_redirect )
808 $_mw_adminimize_db_redirect = 'edit-pages.php';
809
810 $the_user = new WP_User( $user_ID);
811 reset( $menu);
812 $page = key( $menu);
813
814 while ( (__( 'Dashboard' ) != $menu[$page][0] ) && next( $menu) || (__( 'Dashboard' ) != $menu[$page][1] ) && next( $menu) )
815 $page = key( $menu);
816
817 if (__( 'Dashboard' ) == $menu[$page][0] || __( 'Dashboard' ) == $menu[$page][1] )
818 unset( $menu[$page] );
819 reset( $menu); $page = key( $menu);
820
821 while ( !$the_user->has_cap( $menu[$page][1] ) && next( $menu) )
822 $page = key( $menu);
823
824 if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) ) {
825 wp_redirect( $_mw_adminimize_db_redirect );
826 }
827 }
828 }
829 }
830
831
832 /**
833 * remove the flash_uploader
834 */
835 function _mw_adminimize_disable_flash_uploader() {
836
837 return FALSE;
838 }
839
840
841 /**
842 * set menu options from database
843 */
844 function _mw_adminimize_set_menu_option() {
845 global $pagenow, $menu, $submenu, $user_identity, $wp_version;
846
847 // exclude super admin
848 if ( _mw_adminimize_exclude_super_admin() )
849 return NULL;
850
851 $user_roles = _mw_adminimize_get_all_user_roles();
852
853 foreach ( $user_roles as $role ) {
854 $disabled_menu_[$role] = _mw_adminimize_get_option_value( 'mw_adminimize_disabled_menu_' . $role . '_items' );
855 $disabled_submenu_[$role] = _mw_adminimize_get_option_value( 'mw_adminimize_disabled_submenu_' . $role . '_items' );
856 }
857
858 $_mw_adminimize_admin_head = "\n";
859 $_mw_adminimize_user_info = _mw_adminimize_get_option_value( '_mw_adminimize_user_info' );
860 $_mw_adminimize_ui_redirect = _mw_adminimize_get_option_value( '_mw_adminimize_ui_redirect' );
861
862 switch ( $_mw_adminimize_user_info) {
863 case 1:
864 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
865 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove(); });' . "\n";
866 $_mw_adminimize_admin_head .= '</script>' . "\n";
867 break;
868 case 2:
869 if ( version_compare( $wp_version, "3.2alpha", ">=") ) {
870 if ( function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() )
871 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info31.css" type="text/css" />' . "\n";
872 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info32.css" type="text/css" />' . "\n";
873 } elseif ( version_compare( $wp_version, "3.0alpha", ">=") ) {
874 if ( function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() )
875 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info31.css" type="text/css" />' . "\n";
876 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info30.css" type="text/css" />' . "\n";
877 } elseif ( version_compare(substr( $wp_version, 0, 3), '2.7', '>=' ) ) {
878 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info27.css" type="text/css" />' . "\n";
879 } else {
880 $_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";
881 }
882 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
883 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove();';
884 if ( $_mw_adminimize_ui_redirect == '1' ) {
885 $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option( 'siteurl' ) . wp_nonce_url( ( '/wp-login.php?action=logout&amp;redirect_to=' ) . get_option( 'siteurl' ) , 'log-out' ) . '" title="' . __( 'Log Out' ) . '">' . __( 'Log Out' ) . '</a></p></div>\' ) });' . "\n";
886 } else {
887 $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option( 'siteurl' ) . wp_nonce_url( ( '/wp-login.php?action=logout' ) , 'log-out' ) . '" title="' . __( 'Log Out' ) . '">' . __( 'Log Out' ) . '</a></p></div>\' ) });' . "\n";
888 }
889 $_mw_adminimize_admin_head .= '</script>' . "\n";
890 break;
891 case 3:
892 if ( version_compare( $wp_version, "3.2alpha", ">=") ) {
893 if ( function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() )
894 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info31.css" type="text/css" />' . "\n";
895 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info32.css" type="text/css" />' . "\n";
896 } elseif ( version_compare( $wp_version, "3.0alpha", ">=") ) {
897 if ( function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() )
898 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info31.css" type="text/css" />' . "\n";
899 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info30.css" type="text/css" />' . "\n";
900 } elseif ( version_compare(substr( $wp_version, 0, 3), '2.7', '>=' ) ) {
901 $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info27.css" type="text/css" />' . "\n";
902 } else {
903 $_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";
904 }
905 $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
906 $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove();';
907 if ( $_mw_adminimize_ui_redirect == '1' ) {
908 $_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_nonce_url( ( '/wp-login.php?action=logout&amp;redirect_to=' ) . get_option( 'siteurl' ), 'log-out' ) . '" title="' . __( 'Log Out' ) . '">' . __( 'Log Out' ) . '</a></p></div>\' ) });' . "\n";
909 } else {
910 $_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_nonce_url( ( '/wp-login.php?action=logout' ), 'log-out' ) . '" title="' . __( 'Log Out' ) . '">' . __( 'Log Out' ) . '</a></p></div>\' ) });' . "\n";
911 }
912 $_mw_adminimize_admin_head .= '</script>' . "\n";
913 break;
914 }
915
916 // set menu
917 if ( '' != $disabled_menu_['editor'] ) {
918
919 // set admin-menu
920 foreach ( $user_roles as $role ) {
921 $user = wp_get_current_user();
922 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
923 if ( current_user_can( $role ) ) {
924 $mw_adminimize_menu = $disabled_menu_[$role];
925 $mw_adminimize_submenu = $disabled_submenu_[$role];
926 }
927 }
928 }
929
930 // fallback on users.php on all userroles smaller admin
931 if ( is_array( $mw_adminimize_menu) && in_array( 'users.php', $mw_adminimize_menu) )
932 $mw_adminimize_menu[] = 'profile.php';
933
934 if ( isset( $menu) && !empty( $menu) ) {
935 foreach ( $menu as $index => $item) {
936 if ( 'index.php' === $item )
937 continue;
938
939 if ( isset( $mw_adminimize_menu) && in_array( $item[2], $mw_adminimize_menu) ) {
940 unset( $menu[$index] );
941 }
942
943 if ( isset( $submenu) && !empty( $submenu[$item[2]] ) ) {
944 foreach ( $submenu[$item[2]] as $subindex => $subitem) {
945 if ( isset( $mw_adminimize_submenu) && in_array( $subitem[2], $mw_adminimize_submenu) )
946 //if ( 'profile.php' === $subitem[2] )
947 // unset( $menu[70] );
948 unset( $submenu[$item[2]][$subindex] );
949 }
950 }
951 }
952 }
953
954 }
955
956 echo $_mw_adminimize_admin_head;
957 }
958
959
960 /**
961 * set global options in backend in all areas
962 */
963 function _mw_adminimize_set_global_option() {
964 global $_wp_admin_css_colors;
965
966 // exclude super admin
967 if ( _mw_adminimize_exclude_super_admin() )
968 return NULL;
969
970 $user_roles = _mw_adminimize_get_all_user_roles();
971
972 $_mw_adminimize_admin_head = '';
973
974 // remove_action( 'admin_head', 'index_js' );
975
976 foreach ( $user_roles as $role ) {
977 $disabled_global_option_[$role] = _mw_adminimize_get_option_value( 'mw_adminimize_disabled_global_option_' . $role . '_items' );
978 }
979
980 foreach ( $user_roles as $role ) {
981 if ( !isset( $disabled_global_option_[$role]['0'] ) )
982 $disabled_global_option_[$role]['0'] = '';
983 }
984
985 $remove_adminbar = FALSE;
986 // new 1.7.8
987 foreach ( $user_roles as $role ) {
988 $user = wp_get_current_user();
989 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
990 if ( current_user_can( $role ) && is_array( $disabled_global_option_[$role] ) ) {
991 $global_options = implode( ', ', $disabled_global_option_[$role] );
992 if ( _mw_adminimize_recursive_in_array( '.show-admin-bar', $disabled_global_option_[$role] ) )
993 $remove_adminbar = TRUE;
994 }
995 }
996 }
997 if ( 0 != strpos( $global_options, '#your-profile .form-table fieldset' ) )
998 $_wp_admin_css_colors = 0;
999 $_mw_adminimize_admin_head .= '<!-- global options -->' . "\n";
1000 $_mw_adminimize_admin_head .= '<style type="text/css">' . $global_options . ' {display: none !important;}</style>' . "\n";
1001
1002 if ( $global_options)
1003 echo $_mw_adminimize_admin_head;
1004 }
1005
1006
1007 function _mw_adminimize_remove_admin_bar() {
1008
1009 // exclude super admin
1010 if ( _mw_adminimize_exclude_super_admin() )
1011 return NULL;
1012
1013 $user_roles = _mw_adminimize_get_all_user_roles();
1014
1015 foreach ( $user_roles as $role ) {
1016 $disabled_global_option_[$role] = _mw_adminimize_get_option_value(
1017 'mw_adminimize_disabled_global_option_' . $role . '_items'
1018 );
1019 }
1020
1021 foreach ( $user_roles as $role ) {
1022 if ( !isset( $disabled_global_option_[$role]['0'] ) )
1023 $disabled_global_option_[$role]['0'] = '';
1024 }
1025
1026 $remove_adminbar = FALSE;
1027 // new 1.7.8
1028 foreach ( $user_roles as $role ) {
1029 $user = wp_get_current_user();
1030 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
1031 if ( current_user_can( $role ) && is_array( $disabled_global_option_[$role] ) ) {
1032 $global_options = implode( ', ', $disabled_global_option_[$role] );
1033 if ( _mw_adminimize_recursive_in_array( '.show-admin-bar', $disabled_global_option_[$role] ) )
1034 $remove_adminbar = TRUE;
1035 }
1036 }
1037 }
1038
1039 // for deactivate admin bar
1040 if ( $remove_adminbar ) {
1041 add_filter( 'show_admin_bar', '__return_false' );
1042 wp_deregister_script( 'admin-bar' );
1043 wp_deregister_style( 'admin-bar' );
1044 remove_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
1045 remove_action( 'wp_head', '_admin_bar_bump_cb' );
1046 }
1047 }
1048
1049
1050 /**
1051 * set metabox options from database an area post
1052 */
1053 function _mw_adminimize_set_metabox_post_option() {
1054
1055 // exclude super admin
1056 if ( _mw_adminimize_exclude_super_admin() )
1057 return NULL;
1058
1059 $user_roles = _mw_adminimize_get_all_user_roles();
1060
1061 $_mw_adminimize_admin_head = '';
1062
1063 // remove_action( 'admin_head', 'index_js' );
1064
1065 foreach ( $user_roles as $role ) {
1066 $disabled_metaboxes_post_[$role] = _mw_adminimize_get_option_value(
1067 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items'
1068 );
1069
1070 if ( !isset( $disabled_metaboxes_post_[$role]['0'] ) )
1071 $disabled_metaboxes_post_[$role]['0'] = '';
1072
1073 // new 1.7.8
1074 foreach ( $user_roles as $role ) {
1075 $user = wp_get_current_user();
1076 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
1077 if ( current_user_can( $role ) &&
1078 isset( $disabled_metaboxes_post_[$role] ) &&
1079 is_array( $disabled_metaboxes_post_[$role] )
1080 ) {
1081 $metaboxes = implode( ',', $disabled_metaboxes_post_[$role] );
1082 }
1083 }
1084 }
1085 }
1086
1087 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1088 $metaboxes . ' {display: none !important;}</style>' . "\n";
1089
1090 if ( $metaboxes)
1091 echo $_mw_adminimize_admin_head;
1092 }
1093
1094
1095 /**
1096 * set metabox options from database an area page
1097 */
1098 function _mw_adminimize_set_metabox_page_option() {
1099
1100 // exclude super admin
1101 if ( _mw_adminimize_exclude_super_admin() )
1102 return NULL;
1103
1104 $user_roles = _mw_adminimize_get_all_user_roles();
1105
1106 $_mw_adminimize_admin_head = '';
1107
1108 // remove_action( 'admin_head', 'index_js' );
1109
1110 foreach ( $user_roles as $role ) {
1111 $disabled_metaboxes_page_[$role] = _mw_adminimize_get_option_value(
1112 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items'
1113 );
1114
1115 if ( !isset( $disabled_metaboxes_page_[$role]['0'] ) )
1116 $disabled_metaboxes_page_[$role]['0'] = '';
1117
1118 // new 1.7.8
1119 foreach ( $user_roles as $role ) {
1120 $user = wp_get_current_user();
1121 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
1122 if ( current_user_can( $role ) && is_array( $disabled_metaboxes_page_[$role] ) ) {
1123 $metaboxes = implode( ',', $disabled_metaboxes_page_[$role] );
1124 }
1125 }
1126 }
1127 }
1128
1129 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1130 $metaboxes . ' {display: none !important;}</style>' . "\n";
1131
1132 if ( $metaboxes)
1133 echo $_mw_adminimize_admin_head;
1134 }
1135
1136
1137 /**
1138 * set metabox options from database an area post
1139 */
1140 function _mw_adminimize_set_metabox_cp_option() {
1141
1142 // exclude super admin
1143 if ( _mw_adminimize_exclude_super_admin() )
1144 return NULL;
1145
1146 if ( isset( $_GET['post'] ) )
1147 $post_id = (int) $_GET['post'];
1148 elseif ( isset( $_POST['post_ID'] ) )
1149 $post_id = (int) $_POST['post_ID'];
1150 else
1151 $post_id = 0;
1152
1153 $current_post_type = $GLOBALS['post_type'];
1154 if ( ! isset( $current_post_type ) )
1155 $current_post_type = get_post_type( $post_id );
1156 if ( ! isset($current_post_type) || ! $current_post_type )
1157 $current_post_type = str_replace( 'post_type=', '', esc_attr( $_SERVER['QUERY_STRING'] ) );
1158 if ( ! $current_post_type ) // set hard to post
1159 $current_post_type = 'post';
1160
1161 $user_roles = _mw_adminimize_get_all_user_roles();
1162
1163 $_mw_adminimize_admin_head = '';
1164
1165 // remove_action( 'admin_head', 'index_js' );
1166
1167 foreach ( $user_roles as $role ) {
1168 $disabled_metaboxes_[$current_post_type . '_' . $role] = _mw_adminimize_get_option_value(
1169 'mw_adminimize_disabled_metaboxes_' . $current_post_type . '_' . $role . '_items'
1170 );
1171
1172 if ( ! isset( $disabled_metaboxes_[$current_post_type . '_' . $role]['0'] ) )
1173 $disabled_metaboxes_[$current_post_type . '_' . $role]['0'] = '';
1174
1175 foreach ( $user_roles as $role ) {
1176 $user = wp_get_current_user();
1177 if ( is_array( $user->roles ) && in_array( $role, $user->roles ) ) {
1178 if ( current_user_can( $role )
1179 && isset( $disabled_metaboxes_[$current_post_type . '_' . $role] )
1180 && is_array( $disabled_metaboxes_[$current_post_type . '_' . $role] )
1181 ) {
1182 $metaboxes = implode( ',', $disabled_metaboxes_[$current_post_type . '_' . $role] );
1183 }
1184 }
1185 }
1186 }
1187
1188 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1189 $metaboxes . ' {display: none !important;}</style>' . "\n";
1190
1191 if ( $metaboxes )
1192 echo $_mw_adminimize_admin_head;
1193 }
1194
1195
1196 /**
1197 * set link options in area Links of Backend
1198 */
1199 function _mw_adminimize_set_link_option() {
1200
1201 // exclude super admin
1202 if ( _mw_adminimize_exclude_super_admin() )
1203 return NULL;
1204
1205 $user_roles = _mw_adminimize_get_all_user_roles();
1206
1207 $_mw_adminimize_admin_head = '';
1208
1209 // remove_action( 'admin_head', 'index_js' );
1210
1211 foreach ( $user_roles as $role ) {
1212 $disabled_link_option_[$role] = _mw_adminimize_get_option_value(
1213 'mw_adminimize_disabled_link_option_' . $role . '_items'
1214 );
1215 }
1216
1217 foreach ( $user_roles as $role ) {
1218 if ( !isset( $disabled_link_option_[$role]['0'] ) )
1219 $disabled_link_option_[$role]['0'] = '';
1220 }
1221
1222 // new 1.7.8
1223 foreach ( $user_roles as $role ) {
1224 $user = wp_get_current_user();
1225 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
1226 if ( current_user_can( $role ) && is_array( $disabled_link_option_[$role] ) ) {
1227 $link_options = implode( ',', $disabled_link_option_[$role] );
1228 }
1229 }
1230 }
1231 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1232 $link_options . ' {display: none !important;}</style>' . "\n";
1233
1234 if ( $link_options)
1235 echo $_mw_adminimize_admin_head;
1236 }
1237
1238 /**
1239 * remove objects on wp nav menu
1240 */
1241 function _mw_adminimize_set_nav_menu_option() {
1242
1243 // exclude super admin
1244 if ( _mw_adminimize_exclude_super_admin() )
1245 return NULL;
1246
1247 $user_roles = _mw_adminimize_get_all_user_roles();
1248
1249 $_mw_adminimize_admin_head = '';
1250
1251 // remove_action( 'admin_head', 'index_js' );
1252
1253 foreach ( $user_roles as $role ) {
1254 $disabled_nav_menu_option_[$role] = _mw_adminimize_get_option_value(
1255 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items'
1256 );
1257 }
1258
1259 foreach ( $user_roles as $role ) {
1260 if ( !isset( $disabled_nav_menu_option_[$role]['0'] ) )
1261 $disabled_nav_menu_option_[$role]['0'] = '';
1262 }
1263
1264 // new 1.7.8
1265 foreach ( $user_roles as $role ) {
1266 $user = wp_get_current_user();
1267 if ( is_array( $user->roles) && in_array( $role, $user->roles) ) {
1268 if ( current_user_can( $role ) && is_array( $disabled_nav_menu_option_[$role] ) ) {
1269 $nav_menu_options = implode( ',', $disabled_nav_menu_option_[$role] );
1270 }
1271 }
1272 }
1273 //remove_meta_box( $id, 'nav-menus', 'side' );
1274 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1275 $nav_menu_options . ' {display: none !important;}</style>' . "\n";
1276
1277 if ( $nav_menu_options)
1278 echo $_mw_adminimize_admin_head;
1279 }
1280
1281
1282 /**
1283 * small user-info
1284 * @uses $post_ID
1285 */
1286 function _mw_adminimize_small_user_info() {
1287 ?>
1288 <div id="small_user_info">
1289 <p>
1290 <a href="<?php echo wp_nonce_url(
1291 site_url( 'wp-login.php?action=logout' ),
1292 'log-out' ) ?>"
1293 title="<?php _e( 'Log Out' ) ?>"><?php _e( 'Log Out' ); ?></a>
1294 </p>
1295 </div>
1296 <?php
1297 }
1298
1299
1300 /**
1301 * include options-page in wp-admin
1302 */
1303 require_once( 'adminimize_page.php' );
1304
1305
1306 /**
1307 * credit in wp-footer
1308 */
1309 function _mw_adminimize_admin_footer() {
1310
1311 $plugin_data = get_plugin_data( __FILE__ );
1312 $plugin_data['Title'] = $plugin_data['Name'];
1313
1314 if ( !empty( $plugin_data['PluginURI'] ) && !empty( $plugin_data['Name'] ) )
1315 $plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '" title="'.__( 'Visit plugin homepage' ).'">' . $plugin_data['Name'] . '</a>';
1316
1317 if ( basename( $_SERVER['REQUEST_URI'] ) == 'adminimize.php' ) {
1318 printf( '%1$s ' . __( 'plugin' ) . ' | ' . __( 'Version' ) . ' <a href="http://wordpress.org/extend/plugins/adminimize/changelog/" title="' . __( 'History', FB_ADMINIMIZE_TEXTDOMAIN ) . '">%2$s</a> | ' . __( 'Author' ) . ' %3$s<br />', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author'] );
1319 }
1320
1321 if ( _mw_adminimize_get_option_value( '_mw_adminimize_advice' ) == 1 && basename( $_SERVER['REQUEST_URI'] ) != 'adminimize.php' ) {
1322 printf( '%1$s ' . __( 'plugin activate', FB_ADMINIMIZE_TEXTDOMAIN ) . ' | ' . stripslashes( _mw_adminimize_get_option_value( '_mw_adminimize_advice_txt' ) ) . '<br />', $plugin_data['Title'] );
1323 }
1324
1325 }
1326
1327
1328 /**
1329 * @version WP 2.8
1330 * Add action link(s) to plugins page
1331 *
1332 * @package Secure WordPress
1333 *
1334 * @param $links, $file
1335 * @return $links
1336 */
1337 function _mw_adminimize_filter_plugin_meta( $links, $file ) {
1338
1339 /* create link */
1340 if ( FB_ADMINIMIZE_BASENAME == $file ) {
1341 array_unshift(
1342 $links,
1343 sprintf( '<a href="options-general.php?page=%s">%s</a>', FB_ADMINIMIZE_BASENAME, __( 'Settings' ) )
1344 );
1345 }
1346
1347 return $links;
1348 }
1349
1350
1351 /**
1352 * content of help
1353 */
1354 function _mw_adminimize_contextual_help( $contextual_help, $screen_id, $screen ) {
1355
1356 if ( 'settings_page_adminimize/adminimize' !== $screen_id )
1357 return $contextual_help;
1358
1359 $contextual_help = __( '<a href="http://wordpress.org/extend/plugins/adminimize/">Documentation</a>', FB_ADMINIMIZE_TEXTDOMAIN );
1360
1361 return $contextual_help;
1362 }
1363
1364
1365 /**
1366 * settings in plugin-admin-page
1367 */
1368 function _mw_adminimize_add_settings_page() {
1369 global $wp_version;
1370
1371 if ( current_user_can( 'manage_options' ) && function_exists( 'add_submenu_page' ) ) {
1372
1373 $pagehook = add_submenu_page(
1374 'options-general.php',
1375 __( 'Adminimize Options', FB_ADMINIMIZE_TEXTDOMAIN ),
1376 __( 'Adminimize', FB_ADMINIMIZE_TEXTDOMAIN ),
1377 'manage_options',
1378 __FILE__,
1379 '_mw_adminimize_options'
1380 );
1381 add_action( 'load-' . $pagehook, '_mw_adminimize_on_load_page' );
1382 add_filter( 'plugin_action_links', '_mw_adminimize_filter_plugin_meta', 10, 2 );
1383 }
1384
1385 }
1386
1387
1388 function _mw_adminimize_on_load_page() {
1389
1390 add_filter( 'contextual_help', '_mw_adminimize_contextual_help', 10, 3 );
1391
1392 wp_enqueue_style( 'adminimize-style' );
1393 }
1394
1395
1396 /**
1397 * Set theme for users
1398 * Kill with version 1.7.18
1399 */
1400 function _mw_adminimize_set_theme() {
1401
1402 if ( ! current_user_can( 'edit_users' ) )
1403 wp_die( __( 'Cheatin&#8217; uh?' ) );
1404
1405 $user_ids = $_POST[mw_adminimize_theme_items];
1406 $admin_color = htmlspecialchars( stripslashes( $_POST[_mw_adminimize_set_theme] ) );
1407
1408 if ( ! $user_ids )
1409 return FALSE;
1410
1411 foreach( $user_ids as $user_id ) {
1412 update_usermeta( $user_id, 'admin_color', $admin_color );
1413 }
1414
1415 }
1416
1417
1418 /**
1419 * read otpions
1420 */
1421 function _mw_adminimize_get_option_value( $key) {
1422
1423 $adminimizeoptions = get_option( 'mw_adminimize' );
1424
1425 if ( isset( $adminimizeoptions[$key] ) )
1426 return ( $adminimizeoptions[$key] );
1427 }
1428
1429
1430 /**
1431 * Update options in database
1432 */
1433 function _mw_adminimize_update() {
1434
1435 $user_roles = _mw_adminimize_get_all_user_roles();
1436 $args = array( 'public' => TRUE, '_builtin' => FALSE );
1437 $post_types = get_post_types( $args );
1438
1439 if ( isset( $_POST['_mw_adminimize_user_info'] ) ) {
1440 $adminimizeoptions['_mw_adminimize_user_info'] = strip_tags(stripslashes( $_POST['_mw_adminimize_user_info'] ) );
1441 } else {
1442 $adminimizeoptions['_mw_adminimize_user_info'] = 0;
1443 }
1444
1445 if ( isset( $_POST['_mw_adminimize_dashmenu'] ) ) {
1446 $adminimizeoptions['_mw_adminimize_dashmenu'] = strip_tags(stripslashes( $_POST['_mw_adminimize_dashmenu'] ) );
1447 } else {
1448 $adminimizeoptions['_mw_adminimize_dashmenu'] = 0;
1449 }
1450
1451 if ( isset( $_POST['_mw_adminimize_footer'] ) ) {
1452 $adminimizeoptions['_mw_adminimize_footer'] = strip_tags(stripslashes( $_POST['_mw_adminimize_footer'] ) );
1453 } else {
1454 $adminimizeoptions['_mw_adminimize_footer'] = 0;
1455 }
1456
1457 if ( isset( $_POST['_mw_adminimize_header'] ) ) {
1458 $adminimizeoptions['_mw_adminimize_header'] = strip_tags(stripslashes( $_POST['_mw_adminimize_header'] ) );
1459 } else {
1460 $adminimizeoptions['_mw_adminimize_header'] = 0;
1461 }
1462
1463 if ( isset( $_POST['_mw_adminimize_exclude_super_admin'] ) ) {
1464 $adminimizeoptions['_mw_adminimize_exclude_super_admin'] = strip_tags(stripslashes( $_POST['_mw_adminimize_exclude_super_admin'] ) );
1465 } else {
1466 $adminimizeoptions['_mw_adminimize_exclude_super_admin'] = 0;
1467 }
1468
1469 if ( isset( $_POST['_mw_adminimize_writescroll'] ) ) {
1470 $adminimizeoptions['_mw_adminimize_writescroll'] = strip_tags(stripslashes( $_POST['_mw_adminimize_writescroll'] ) );
1471 } else {
1472 $adminimizeoptions['_mw_adminimize_writescroll'] = 0;
1473 }
1474
1475 if ( isset( $_POST['_mw_adminimize_tb_window'] ) ) {
1476 $adminimizeoptions['_mw_adminimize_tb_window'] = strip_tags(stripslashes( $_POST['_mw_adminimize_tb_window'] ) );
1477 } else {
1478 $adminimizeoptions['_mw_adminimize_tb_window'] = 0;
1479 }
1480
1481 if ( isset( $_POST['_mw_adminimize_cat_full'] ) ) {
1482 $adminimizeoptions['_mw_adminimize_cat_full'] = strip_tags(stripslashes( $_POST['_mw_adminimize_cat_full'] ) );
1483 } else {
1484 $adminimizeoptions['_mw_adminimize_cat_full'] = 0;
1485 }
1486
1487 if ( isset( $_POST['_mw_adminimize_db_redirect'] ) ) {
1488 $adminimizeoptions['_mw_adminimize_db_redirect'] = strip_tags(stripslashes( $_POST['_mw_adminimize_db_redirect'] ) );
1489 } else {
1490 $adminimizeoptions['_mw_adminimize_db_redirect'] = 0;
1491 }
1492
1493 if ( isset( $_POST['_mw_adminimize_ui_redirect'] ) ) {
1494 $adminimizeoptions['_mw_adminimize_ui_redirect'] = strip_tags(stripslashes( $_POST['_mw_adminimize_ui_redirect'] ) );
1495 } else {
1496 $adminimizeoptions['_mw_adminimize_ui_redirect'] = 0;
1497 }
1498
1499 if ( isset( $_POST['_mw_adminimize_advice'] ) ) {
1500 $adminimizeoptions['_mw_adminimize_advice'] = strip_tags(stripslashes( $_POST['_mw_adminimize_advice'] ) );
1501 } else {
1502 $adminimizeoptions['_mw_adminimize_advice'] = 0;
1503 }
1504
1505 if ( isset( $_POST['_mw_adminimize_advice_txt'] ) ) {
1506 $adminimizeoptions['_mw_adminimize_advice_txt'] = stripslashes( $_POST['_mw_adminimize_advice_txt'] );
1507 } else {
1508 $adminimizeoptions['_mw_adminimize_advice_txt'] = 0;
1509 }
1510
1511 if ( isset( $_POST['_mw_adminimize_timestamp'] ) ) {
1512 $adminimizeoptions['_mw_adminimize_timestamp'] = strip_tags(stripslashes( $_POST['_mw_adminimize_timestamp'] ) );
1513 } else {
1514 $adminimizeoptions['_mw_adminimize_timestamp'] = 0;
1515 }
1516
1517 if ( isset( $_POST['_mw_adminimize_control_flashloader'] ) ) {
1518 $adminimizeoptions['_mw_adminimize_control_flashloader'] = strip_tags(stripslashes( $_POST['_mw_adminimize_control_flashloader'] ) );
1519 } else {
1520 $adminimizeoptions['_mw_adminimize_control_flashloader'] = 0;
1521 }
1522
1523 if ( isset( $_POST['_mw_adminimize_db_redirect_txt'] ) ) {
1524 $adminimizeoptions['_mw_adminimize_db_redirect_txt'] = stripslashes( $_POST['_mw_adminimize_db_redirect_txt'] );
1525 } else {
1526 $adminimizeoptions['_mw_adminimize_db_redirect_txt'] = 0;
1527 }
1528
1529 // menu update
1530 foreach ( $user_roles as $role ) {
1531 if ( isset( $_POST['mw_adminimize_disabled_menu_' . $role . '_items'] ) ) {
1532 $adminimizeoptions['mw_adminimize_disabled_menu_' . $role . '_items'] = $_POST['mw_adminimize_disabled_menu_' . $role . '_items'];
1533 } else {
1534 $adminimizeoptions['mw_adminimize_disabled_menu_' . $role . '_items'] = array();
1535 }
1536
1537 if ( isset( $_POST['mw_adminimize_disabled_submenu_' . $role . '_items'] ) ) {
1538 $adminimizeoptions['mw_adminimize_disabled_submenu_' . $role . '_items'] = $_POST['mw_adminimize_disabled_submenu_' . $role . '_items'];
1539 } else {
1540 $adminimizeoptions['mw_adminimize_disabled_submenu_' . $role . '_items'] = array();
1541 }
1542 }
1543
1544 // global_options, metaboxes update
1545 foreach ( $user_roles as $role ) {
1546 if ( isset( $_POST['mw_adminimize_disabled_global_option_' . $role . '_items'] ) ) {
1547 $adminimizeoptions['mw_adminimize_disabled_global_option_' . $role . '_items'] = $_POST['mw_adminimize_disabled_global_option_' . $role . '_items'];
1548 } else {
1549 $adminimizeoptions['mw_adminimize_disabled_global_option_' . $role . '_items'] = array();
1550 }
1551
1552 if ( isset( $_POST['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'] ) ) {
1553 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'] = $_POST['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'];
1554 } else {
1555 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'] = array();
1556 }
1557
1558 if ( isset( $_POST['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'] ) ) {
1559 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'] = $_POST['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'];
1560 } else {
1561 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'] = array();
1562 }
1563
1564 foreach ( $post_types as $post_type ) {
1565 if ( isset( $_POST['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'] ) ) {
1566 $adminimizeoptions['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'] = $_POST['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'];
1567 } else {
1568 $adminimizeoptions['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'] = array();
1569 }
1570 }
1571
1572 if ( isset( $_POST['mw_adminimize_disabled_link_option_' . $role . '_items'] ) ) {
1573 $adminimizeoptions['mw_adminimize_disabled_link_option_' . $role . '_items'] = $_POST['mw_adminimize_disabled_link_option_' . $role . '_items'];
1574 } else {
1575 $adminimizeoptions['mw_adminimize_disabled_link_option_' . $role . '_items'] = array();
1576 }
1577
1578 // wp nav menu options
1579 if ( isset( $_POST['mw_adminimize_disabled_nav_menu_option_' . $role . '_items'] ) ) {
1580 $adminimizeoptions['mw_adminimize_disabled_nav_menu_option_' . $role . '_items'] = $_POST['mw_adminimize_disabled_nav_menu_option_' . $role . '_items'];
1581 } else {
1582 $adminimizeoptions['mw_adminimize_disabled_nav_menu_option_' . $role . '_items'] = array();
1583 }
1584 }
1585
1586 // own options
1587 if ( isset( $_POST['_mw_adminimize_own_values'] ) ) {
1588 $adminimizeoptions['_mw_adminimize_own_values'] = stripslashes( $_POST['_mw_adminimize_own_values'] );
1589 } else {
1590 $adminimizeoptions['_mw_adminimize_own_values'] = 0;
1591 }
1592
1593 if ( isset( $_POST['_mw_adminimize_own_options'] ) ) {
1594 $adminimizeoptions['_mw_adminimize_own_options'] = stripslashes( $_POST['_mw_adminimize_own_options'] );
1595 } else {
1596 $adminimizeoptions['_mw_adminimize_own_options'] = 0;
1597 }
1598
1599 // own post options
1600 if ( isset( $_POST['_mw_adminimize_own_post_values'] ) ) {
1601 $adminimizeoptions['_mw_adminimize_own_post_values'] = stripslashes( $_POST['_mw_adminimize_own_post_values'] );
1602 } else {
1603 $adminimizeoptions['_mw_adminimize_own_post_values'] = 0;
1604 }
1605
1606 if ( isset( $_POST['_mw_adminimize_own_post_options'] ) ) {
1607 $adminimizeoptions['_mw_adminimize_own_post_options'] = stripslashes( $_POST['_mw_adminimize_own_post_options'] );
1608 } else {
1609 $adminimizeoptions['_mw_adminimize_own_post_options'] = 0;
1610 }
1611
1612 // own page options
1613 if ( isset( $_POST['_mw_adminimize_own_page_values'] ) ) {
1614 $adminimizeoptions['_mw_adminimize_own_page_values'] = stripslashes( $_POST['_mw_adminimize_own_page_values'] );
1615 } else {
1616 $adminimizeoptions['_mw_adminimize_own_page_values'] = 0;
1617 }
1618
1619 if ( isset( $_POST['_mw_adminimize_own_page_options'] ) ) {
1620 $adminimizeoptions['_mw_adminimize_own_page_options'] = stripslashes( $_POST['_mw_adminimize_own_page_options'] );
1621 } else {
1622 $adminimizeoptions['_mw_adminimize_own_page_options'] = 0;
1623 }
1624
1625 // own custom post options
1626 foreach ( $post_types as $post_type ) {
1627 if ( isset( $_POST['_mw_adminimize_own_values_' . $post_type] ) ) {
1628 $adminimizeoptions['_mw_adminimize_own_values_' . $post_type] = stripslashes( $_POST['_mw_adminimize_own_values_' . $post_type] );
1629 } else {
1630 $adminimizeoptions['_mw_adminimize_own_values_' . $post_type] = 0;
1631 }
1632
1633 if ( isset( $_POST['_mw_adminimize_own_options_' . $post_type] ) ) {
1634 $adminimizeoptions['_mw_adminimize_own_options_' . $post_type ] = stripslashes( $_POST['_mw_adminimize_own_options_' . $post_type] );
1635 } else {
1636 $adminimizeoptions['_mw_adminimize_own_options_' . $post_type] = 0;
1637 }
1638 }
1639
1640 // own link options
1641 if ( isset( $_POST['_mw_adminimize_own_link_values'] ) ) {
1642 $adminimizeoptions['_mw_adminimize_own_link_values'] = stripslashes( $_POST['_mw_adminimize_own_link_values'] );
1643 } else {
1644 $adminimizeoptions['_mw_adminimize_own_link_values'] = 0;
1645 }
1646
1647 if ( isset( $_POST['_mw_adminimize_own_link_options'] ) ) {
1648 $adminimizeoptions['_mw_adminimize_own_link_options'] = stripslashes( $_POST['_mw_adminimize_own_link_options'] );
1649 } else {
1650 $adminimizeoptions['_mw_adminimize_own_link_options'] = 0;
1651 }
1652
1653 // wp nav menu options
1654 if ( isset( $_POST['_mw_adminimize_own_nav_menu_values'] ) ) {
1655 $adminimizeoptions['_mw_adminimize_own_nav_menu_values'] = stripslashes( $_POST['_mw_adminimize_own_nav_menu_values'] );
1656 } else {
1657 $adminimizeoptions['_mw_adminimize_own_nav_menu_values'] = 0;
1658 }
1659
1660 if ( isset( $_POST['_mw_adminimize_own_nav_menu_options'] ) ) {
1661 $adminimizeoptions['_mw_adminimize_own_nav_menu_options'] = stripslashes( $_POST['_mw_adminimize_own_nav_menu_options'] );
1662 } else {
1663 $adminimizeoptions['_mw_adminimize_own_nav_menu_options'] = 0;
1664 }
1665
1666 $adminimizeoptions['mw_adminimize_default_menu'] = $GLOBALS['menu'];
1667 $adminimizeoptions['mw_adminimize_default_submenu'] = $GLOBALS['submenu'];
1668
1669 // update
1670 update_option( 'mw_adminimize', $adminimizeoptions );
1671 //$adminimizeoptions = get_option( 'mw_adminimize' );
1672
1673 $myErrors = new _mw_adminimize_message_class();
1674 $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error( '_mw_adminimize_update' ) . '</p></div>';
1675 echo $myErrors;
1676 }
1677
1678
1679 /**
1680 * Delete options in database
1681 */
1682 function _mw_adminimize_deinstall() {
1683
1684 delete_option( 'mw_adminimize' );
1685 }
1686
1687
1688 /**
1689 * Install options in database
1690 */
1691 function _mw_adminimize_install() {
1692 global $menu, $submenu;
1693
1694 $user_roles = _mw_adminimize_get_all_user_roles();
1695 $adminimizeoptions = array();
1696
1697 foreach ( $user_roles as $role ) {
1698 $adminimizeoptions['mw_adminimize_disabled_menu_' . $role . '_items'] = array();
1699 $adminimizeoptions['mw_adminimize_disabled_submenu_' . $role . '_items'] = array();
1700 $adminimizeoptions['mw_adminimize_disabled_global_option_' . $role . '_items'] = array();
1701 $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'] = array();
1702 $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'] = array();
1703 $args = array( 'public' => TRUE, '_builtin' => FALSE );
1704 foreach ( get_post_types( $args ) as $post_type ) {
1705 $adminimizeoptions['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'] = array();
1706 }
1707 }
1708
1709 $adminimizeoptions['mw_adminimize_default_menu'] = $menu;
1710 $adminimizeoptions['mw_adminimize_default_submenu'] = $submenu;
1711
1712 add_option( 'mw_adminimize', $adminimizeoptions );
1713 }
1714
1715 /**
1716 * export options in file
1717 */
1718 function _mw_adminimize_export() {
1719 global $wpdb;
1720
1721 $filename = 'adminimize_export-' . date( 'Y-m-d_G-i-s' ) . '.seq';
1722
1723 header( "Content-Description: File Transfer");
1724 header( "Content-Disposition: attachment; filename=" . urlencode( $filename ) );
1725 header( "Content-Type: application/force-download");
1726 header( "Content-Type: application/octet-stream");
1727 header( "Content-Type: application/download");
1728 header( 'Content-Type: text/seq; charset=' . get_option( 'blog_charset' ), TRUE );
1729 flush();
1730
1731 $export_data = mysql_query("SELECT option_value FROM $wpdb->options WHERE option_name = 'mw_adminimize'");
1732 $export_data = mysql_result( $export_data, 0 );
1733 echo $export_data;
1734 flush();
1735 }
1736
1737 /**
1738 * import options in table _options
1739 */
1740 function _mw_adminimize_import() {
1741
1742 // check file extension
1743 $str_file_name = $_FILES['datei']['name'];
1744 $str_file_ext = explode( ".", $str_file_name );
1745
1746 if ( $str_file_ext[1] != 'seq' ) {
1747 $addreferer = 'notexist';
1748 } elseif ( file_exists( $_FILES['datei']['name'] ) ) {
1749 $addreferer = 'exist';
1750 } else {
1751 // path for file
1752 $str_ziel = WP_CONTENT_DIR . '/' . $_FILES['datei']['name'];
1753 // transfer
1754 move_uploaded_file( $_FILES['datei']['tmp_name'], $str_ziel );
1755 // access authorisation
1756 chmod( $str_ziel, 0644);
1757 // SQL import
1758 ini_set( 'default_socket_timeout', 120);
1759 $import_file = file_get_contents( $str_ziel );
1760
1761 _mw_adminimize_deinstall();
1762 $import_file = unserialize( $import_file );
1763
1764 if ( file_exists( $str_ziel ) )
1765 unlink( $str_ziel );
1766 update_option( 'mw_adminimize', $import_file );
1767 if ( file_exists( $str_ziel ) )
1768 unlink( $str_ziel );
1769
1770 $addreferer = 'true';
1771 }
1772
1773 $myErrors = new _mw_adminimize_message_class();
1774 $myErrors = '<div id="message" class="updated fade"><p>' .
1775 $myErrors->get_error( '_mw_adminimize_import' ) . '</p></div>';
1776 echo $myErrors;
1777 }
1778
1779 ?>