PluginProbe
Adminimize / 1.9.1
Adminimize v1.9.1
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
← All changes | adminimize.php +458 -434 1.11.6 → 1.9.1 View file →
@@ -6,17 +6,15 @@
6 6 * Domain Path: /languages
7 7 * Description: Visually compresses the administrative 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 all 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.
8 8 * Author: Frank Bültge
9 9 * Author URI: http://bueltge.de/
10 - * Version: 1.11.6
10 + * Version: 1.9.1
11 11 * License: GPLv2+
12 12 *
13 - * Php Version 5.6
14 - *
15 13 * @package WordPress
16 14 * @author Frank Bültge <[email protected]>
17 15 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
18 - * @version 2019-12-23
16 + * @version 2016-01-25
19 17 */
20 18
21 19 /**
22 20 * The stylesheet and the initial idea is from Eric A. Meyer http://meyerweb.com/
@@ -23,9 +21,8 @@
23 21 * I have written a plugin with many options on the basis idea
24 22 * of differently user-right and a user-friendly range in admin-area via reduce areas.
25 23 * :( grmpf i have so much wishes and hints form users, there use the plugin and
26 24 * it is not easy to development this on my free time.
27 - * Also I hate the source, old and hard to maintain, no OOP.
28 25 */
29 26
30 27 if ( ! function_exists( 'add_action' ) ) {
31 28 echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
@@ -33,17 +30,10 @@
33 30 }
34 31
35 32 // plugin definitions
36 33 define( 'FB_ADMINIMIZE_BASENAME', plugin_basename( __FILE__ ) );
37 -define( 'FB_ADMINIMIZE_BASEFOLDER', plugin_basename( __DIR__ ) );
34 +define( 'FB_ADMINIMIZE_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) );
38 35
39 -/**
40 - * Return data from the plugin.
41 - *
42 - * @param string $value
43 - *
44 - * @return mixed
45 - */
46 36 function _mw_adminimize_get_plugin_data( $value = 'Version' ) {
47 37
48 38 if ( ! function_exists( 'get_plugin_data' ) ) {
49 39 require_once ABSPATH . '/wp-admin/includes/plugin.php';
@@ -48,11 +38,12 @@
48 38 if ( ! function_exists( 'get_plugin_data' ) ) {
49 39 require_once ABSPATH . '/wp-admin/includes/plugin.php';
50 40 }
51 41
52 - $plugin_data = get_plugin_data( __FILE__ );
42 + $plugin_data = get_plugin_data( __FILE__ );
43 + $plugin_value = $plugin_data[ $value ];
53 44
54 - return $plugin_data[ $value ];
45 + return $plugin_value;
55 46 }
56 47
57 48 /**
58 49 * Load language files.
@@ -94,34 +85,23 @@
94 85 * @return bool
95 86 */
96 87 function _mw_adminimize_exclude_settings_page() {
97 88
98 - if ( ! is_admin() ) {
99 - return false;
89 + if ( ! function_exists( 'get_current_screen' ) ) {
90 + return TRUE;
100 91 }
101 92
102 - if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
103 - return false;
104 - }
93 + // Get admin page
94 + $screen = get_current_screen();
105 95
106 - $page = '';
107 - if ( isset( $_GET['page'] ) ) {
108 - $page = esc_attr( $_GET['page'] );
96 + // Don't filter on settings page
97 + if ( isset( $screen->id ) && FALSE !== strpos( $screen->id, 'adminimize' ) ) {
98 + return TRUE;
109 99 }
110 100
111 - $screen = $page;
112 - if ( function_exists( 'get_current_screen' ) ) {
113 - $screen_tmp = get_current_screen();
114 -
115 - if ( isset( $screen_tmp->id ) && null !== $screen_tmp->id ) {
116 - $screen = $screen_tmp->id;
117 - }
101 + return FALSE;
118 102 }
119 103
120 - // Don't filter on settings page
121 - return FALSE !== strpos( $screen, 'adminimize' );
122 -}
123 -
124 104 /**
125 105 * Get status, if the plugin active network wide.
126 106 *
127 107 * @return bool
@@ -128,23 +108,12 @@
128 108 */
129 109 function _mw_adminimize_is_active_on_multisite() {
130 110
131 111 if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
132 - require_once ABSPATH . '/wp-admin/includes/plugin.php';
112 + require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
133 113 }
134 114
135 - /**
136 - * Allow different adminimize options per site on multisite.
137 - *
138 - * @since 1.11.6
139 - *
140 - * @param bool
141 - */
142 - $force_single_site_usage = apply_filters( 'adminimize_mu_force_options_per_site', false );
143 -
144 - if ( is_multisite()
145 - && is_plugin_active_for_network( FB_ADMINIMIZE_BASENAME )
146 - && ! $force_single_site_usage ) {
115 + if ( is_multisite() && is_plugin_active_for_network( MW_ADMIN_FILE ) ) {
147 116 return TRUE;
148 117 }
149 118
150 119 return FALSE;
@@ -158,36 +127,27 @@
158 127 * @return array $user_roles
159 128 */
160 129 function _mw_adminimize_get_all_user_roles() {
161 130
162 - /** @var $wp_roles WP_Roles */
163 131 global $wp_roles;
164 132
165 133 $user_roles = array();
166 134
167 135 if ( NULL !== $wp_roles->roles && is_array( $wp_roles->roles ) ) {
136 + /** @var array $wp_roles */
168 137 foreach ( $wp_roles->roles as $role => $data ) {
169 138 $user_roles[] = $role;
170 - // The $data var contains caps, maybe for later use.
139 + //$data contains caps, maybe for later use..
171 140 }
172 141 }
173 142
174 143 // Exclude the new bbPress roles.
175 - if ( ! _mw_adminimize_get_option_value( 'mw_adminimize_support_bbpress' ) ) {
176 - $user_roles = array_diff(
177 - $user_roles,
178 - array( 'bbp_keymaster', 'bbp_moderator', 'bbp_participant', 'bbp_spectator', 'bbp_blocked' )
179 - );
180 - }
144 + $user_roles = array_diff(
145 + $user_roles,
146 + array( 'bbp_keymaster', 'bbp_moderator', 'bbp_participant', 'bbp_spectator', 'bbp_blocked' )
147 + );
181 148
182 - /**
183 - * Use this filter to add or remove a role in Adminimize options.
184 - *
185 - * @since 1.11.6
186 - *
187 - * @param array
188 - */
189 - return apply_filters( 'adminimize_user_roles_filter', $user_roles );
149 + return $user_roles;
190 150 }
191 151
192 152 /**
193 153 * _mw_adminimize_get_all_user_roles_names() - Returns an array with all user roles_names in it.
@@ -197,62 +157,56 @@
197 157 * @return array $user_roles_names
198 158 */
199 159 function _mw_adminimize_get_all_user_roles_names() {
200 160
201 - /** @var $wp_roles WP_Roles */
202 161 global $wp_roles;
162 +
203 163 $user_roles_names = array();
204 164
165 + /** @var array $wp_roles */
205 166 foreach ( $wp_roles->role_names as $role_name => $data ) {
167 + if ( function_exists( 'translate_user_role' ) ) {
168 + $data = translate_user_role( $data );
169 + } else {
170 + $data = esc_attr_x( $data, 'Translate each user role.' );
171 + }
206 172
207 - $data = translate_user_role( $data );
208 173 $user_roles_names[] = $data;
209 174 }
210 175
211 176 // exclude the new bbPress roles
212 - if ( ! _mw_adminimize_get_option_value( 'mw_adminimize_support_bbpress' ) ) {
213 - $user_roles_names = array_diff(
214 - $user_roles_names,
215 - array(
216 - esc_attr__( 'Keymaster', 'bbpress' ),
217 - esc_attr__( 'Moderator', 'bbpress' ),
218 - esc_attr__( 'Participant', 'bbpress' ),
219 - esc_attr__( 'Spectator', 'bbpress' ),
220 - esc_attr__( 'Blocked', 'bbpress' ),
221 - )
222 - );
223 - }
177 + $user_roles_names = array_diff(
178 + $user_roles_names,
179 + array(
180 + esc_attr__( 'Keymaster', 'bbpress' ),
181 + esc_attr__( 'Moderator', 'bbpress' ),
182 + esc_attr__( 'Participant', 'bbpress' ),
183 + esc_attr__( 'Spectator', 'bbpress' ),
184 + esc_attr__( 'Blocked', 'bbpress' ),
185 + )
186 + );
224 187
225 - /**
226 - * Use this filter to add or remove a role-name in Adminimize options.
227 - *
228 - * @since 1.11.6
229 - *
230 - * @param array
231 - */
232 - return apply_filters( 'adminimize_user_roles_names_filter', $user_roles_names );
188 + return $user_roles_names;
233 189 }
234 190
235 191 /**
236 - * Get post type.
237 - *
238 - * @return null|string String of the post type.
192 + * return post type
239 193 */
240 -function _mw_adminimize_get_current_post_type() {
194 +function _mw_get_current_post_type() {
241 195
242 196 global $post, $typenow, $current_screen;
243 197
244 - // We have a post so we can just get the post type from that.
198 + //we have a post so we can just get the post type from that
245 199 if ( $post && $post->post_type ) {
246 200 return $post->post_type;
247 - } // Check the global $typenow - set in admin.php
248 - elseif ( $typenow ) {
201 + } //check the global $typenow - set in admin.php
202 + else if ( $typenow ) {
249 203 return $typenow;
250 204 } // check the global $current_screen object - set in sceen.php
251 - elseif ( $current_screen && $current_screen->post_type ) {
205 + else if ( $current_screen && $current_screen->post_type ) {
252 206 return $current_screen->post_type;
253 207 } // lastly check the post_type querystring
254 - elseif ( isset( $_REQUEST['post_type'] ) ) {
208 + else if ( isset( $_REQUEST[ 'post_type' ] ) ) {
255 209 return sanitize_key( $_REQUEST[ 'post_type' ] );
256 210 }
257 211
258 212 // we do not know the post type!
@@ -265,13 +219,14 @@
265 219 function _mw_adminimize_admin_init() {
266 220
267 221 global $pagenow, $post_type, $menu, $submenu;
268 222
269 - $post_id = 0;
270 223 if ( isset( $_GET[ 'post' ] ) && ! is_array( $_GET[ 'post' ] ) ) {
271 224 $post_id = (int) esc_attr( $_GET[ 'post' ] );
272 225 } elseif ( isset( $_POST[ 'post_ID' ] ) ) {
273 226 $post_id = (int) esc_attr( $_POST[ 'post_ID' ] );
227 + } else {
228 + $post_id = 0;
274 229 }
275 230
276 231 $current_post_type = $post_type;
277 232 if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) {
@@ -277,15 +232,16 @@
277 232 if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) {
278 233 $current_post_type = get_post_type( $post_id );
279 234 }
280 235 if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) {
281 - $current_post_type = _mw_adminimize_get_current_post_type();
236 + $current_post_type = _mw_get_current_post_type();
282 237 }
283 - if ( ! $current_post_type ) { // set hard to post
238 + if ( ! $current_post_type ) // set hard to post
239 + {
284 240 $current_post_type = 'post';
285 241 }
286 242
287 - // Get all user roles.
243 + // Get all user rolles.
288 244 $user_roles = _mw_adminimize_get_all_user_roles();
289 245
290 246 // Get settings.
291 247 $adminimizeoptions = _mw_adminimize_get_option_value();
@@ -309,9 +265,9 @@
309 265 // widget pages
310 266 $widget_pages = array( 'widgets.php' );
311 267
312 268 foreach ( $user_roles as $role ) {
313 - $disabled_admin_bar_[ $role ] = _mw_adminimize_get_option_value(
269 + $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value(
314 270 'mw_adminimize_disabled_admin_bar_' . $role . '_items'
315 271 );
316 272 $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value(
317 273 'mw_adminimize_disabled_global_option_' . $role . '_items'
@@ -341,11 +297,21 @@
341 297 }
342 298
343 299 $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
344 300
345 - // Backend options
301 + // global options
346 302 // exclude super admin
347 - if ( ! _mw_adminimize_exclude_super_admin() && ! _mw_adminimize_exclude_settings_page() ) {
303 + if ( ! _mw_adminimize_exclude_super_admin() ) {
304 + $_mw_adminimize_footer = (int) _mw_adminimize_get_option_value( '_mw_adminimize_footer' );
305 + switch ( $_mw_adminimize_footer ) {
306 + case 1:
307 + wp_enqueue_script(
308 + '_mw_adminimize_remove_footer',
309 + WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_footer' . $suffix . '.js',
310 + array( 'jquery' )
311 + );
312 + break;
313 + }
348 314
349 315 $_mw_adminimize_header = (int) _mw_adminimize_get_option_value( '_mw_adminimize_header' );
350 316 switch ( $_mw_adminimize_header ) {
351 317 case 1:
@@ -356,10 +322,10 @@
356 322 );
357 323 break;
358 324 }
359 325
360 - // Post-page options.
361 - if ( in_array( $pagenow, $def_post_pages, TRUE ) ) {
326 + //post-page options
327 + if ( in_array( $pagenow, $def_post_pages, FALSE ) ) {
362 328
363 329 $_mw_adminimize_tb_window = (int) _mw_adminimize_get_option_value( '_mw_adminimize_tb_window' );
364 330 switch ( $_mw_adminimize_tb_window ) {
365 331 case 1:
@@ -381,9 +347,9 @@
381 347 );
382 348 break;
383 349 }
384 350
385 - // Category options.
351 + //category options
386 352 $_mw_adminimize_cat_full = (int) _mw_adminimize_get_option_value( '_mw_adminimize_cat_full' );
387 353 switch ( $_mw_adminimize_cat_full ) {
388 354 case 1:
389 355 wp_enqueue_style(
@@ -392,82 +358,97 @@
392 358 );
393 359 break;
394 360 }
395 361
396 - // Set default editor tinymce
362 + // set default editor tinymce
397 363 if ( _mw_adminimize_recursive_in_array(
398 - '#editor-toolbar #edButtonHTML, #quicktags, #content-html',
399 - $disabled_metaboxes_page_all
400 - )
401 - || _mw_adminimize_recursive_in_array(
402 - '#editor-toolbar #edButtonHTML, #quicktags, #content-html',
403 - $disabled_metaboxes_post_all
404 - )
364 + '#editor-toolbar #edButtonHTML, #quicktags, #content-html',
365 + $disabled_metaboxes_page_all
366 + )
367 + || _mw_adminimize_recursive_in_array(
368 + '#editor-toolbar #edButtonHTML, #quicktags, #content-html',
369 + $disabled_metaboxes_post_all
370 + )
405 371 ) {
406 - add_filter( 'wp_default_editor', '_mw_admininimize_return_tinmyce' );
407 - /**
408 - * Return string tinymce.
409 - * Necessary for php 5.2 usage :(; not possible to use an anonymous function.
410 - *
411 - * @return string
412 - */
413 - function _mw_admininimize_return_tinmyce() {
414 - return 'tinymce';
415 - }
372 + add_filter( 'wp_default_editor', create_function( '', 'return "tinymce";' ) );
416 373 }
417 374
418 - // Remove media buttons
375 + // remove media bottons
419 376 if ( _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_page_all )
420 - || _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_post_all )
377 + || _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_post_all )
421 378 ) {
422 379 remove_action( 'media_buttons', 'media_buttons' );
423 380 }
424 381 }
382 +
425 383 }
426 384
427 - // set meta-box post option
428 - if ( in_array( $pagenow, $def_post_pages, TRUE ) && in_array( $current_post_type, $def_post_types, TRUE ) ) {
385 + // set menu option
386 + add_action( 'admin_head', '_mw_adminimize_set_menu_option', 1 );
387 + // global_options
388 + add_action( 'admin_head', '_mw_adminimize_set_global_option', 1 );
389 +
390 + // set metabox post option
391 + if ( in_array( $pagenow, $def_post_pages, FALSE ) && in_array( $current_post_type, $def_post_types, FALSE ) ) {
429 392 add_action( 'admin_head', '_mw_adminimize_set_metabox_post_option', 1 );
430 393 }
431 - // set meta-box page option
432 - if ( in_array( $pagenow, $def_page_pages, TRUE ) && in_array( $current_post_type, $def_page_types, TRUE ) ) {
394 + // set metabox page option
395 + if ( in_array( $pagenow, $def_page_pages, FALSE ) && in_array( $current_post_type, $def_page_types, FALSE ) ) {
433 396 add_action( 'admin_head', '_mw_adminimize_set_metabox_page_option', 1 );
434 397 }
435 398 // set custom post type options
436 - if ( function_exists( 'get_post_types' ) && in_array( $pagenow, $def_custom_pages, TRUE )
437 - && in_array( $current_post_type, $def_custom_types, TRUE )
399 + if ( function_exists( 'get_post_types' ) && in_array( $pagenow, $def_custom_pages, FALSE )
400 + && in_array(
401 + $current_post_type, $def_custom_types, FALSE
402 + )
438 403 ) {
439 404 add_action( 'admin_head', '_mw_adminimize_set_metabox_cp_option', 1 );
440 405 }
441 406 // set link option
442 - if ( in_array( $pagenow, $link_pages, TRUE ) ) {
407 + if ( in_array( $pagenow, $link_pages, FALSE ) ) {
443 408 add_action( 'admin_head', '_mw_adminimize_set_link_option', 1 );
444 409 }
445 410 // set wp nav menu options
446 - if ( in_array( $pagenow, $nav_menu_pages, TRUE ) ) {
411 + if ( in_array( $pagenow, $nav_menu_pages, FALSE ) ) {
447 412 add_action( 'admin_head', '_mw_adminimize_set_nav_menu_option', 1 );
448 413 }
449 414 // set widget options
450 - if ( in_array( $pagenow, $widget_pages, TRUE ) ) {
415 + if ( in_array( $pagenow, $widget_pages, FALSE ) ) {
451 416 add_action( 'admin_head', '_mw_adminimize_set_widget_option', 1 );
452 417 }
418 +
419 + $adminimizeoptions[ 'mw_adminimize_default_menu' ] = $menu;
420 + $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $submenu;
453 421 }
454 422
455 -// Change menu via settings of Adminimize.
456 -//add_filter( 'custom_menu_order', '__return_true' );
457 -add_filter( 'admin_menu', '_mw_adminimize_set_menu_option', 99999 );
423 +/**
424 + * Init always with WP
425 + */
426 +function _mw_adminimize_init() {
458 427
459 -// global_options
460 -add_action( 'admin_head', '_mw_adminimize_set_global_option', 1 );
428 + // change Admin Bar and user Info
429 + if ( version_compare( $GLOBALS[ 'wp_version' ], '3.3alpha', '>=' ) ) {
430 + _mw_adminimize_set_menu_option_33();
431 + } else {
432 + add_action( 'admin_head', '_mw_adminimize_set_user_info' );
433 + add_action( 'wp_head', '_mw_adminimize_set_user_info' );
434 + }
435 +
436 +}
437 +
461 438 // on admin init
439 +define( 'MW_ADMIN_FILE', plugin_basename( __FILE__ ) );
462 440 if ( is_admin() ) {
463 - add_action( 'admin_init', '_mw_adminimize_admin_init' );
441 + add_action( 'admin_init', '_mw_adminimize_textdomain' );
442 + add_action( 'admin_init', '_mw_adminimize_admin_init', 2 );
464 443 add_action( 'admin_menu', '_mw_adminimize_add_settings_page' );
465 444 add_action( 'admin_menu', '_mw_adminimize_remove_dashboard' );
466 445 }
446 +add_action( 'init', '_mw_adminimize_init', 2 );
467 447
468 448 register_activation_hook( __FILE__, '_mw_adminimize_install' );
469 -register_uninstall_hook( __FILE__, '_mw_adminimize_uninstall' );
449 +register_uninstall_hook( __FILE__, '_mw_adminimize_deinstall' );
450 +//register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall' );
470 451
471 452 /**
472 453 * Remove the dashboard
473 454 */
@@ -484,17 +465,17 @@
484 465 }
485 466
486 467 global $menu, $user_ID;
487 468
488 - $disabled_menu_ = array();
489 - $disabled_submenu_ = array();
469 + $disabled_menu_ = '';
470 + $disabled_submenu_ = '';
490 471 $user_roles = _mw_adminimize_get_all_user_roles();
491 472
492 473 foreach ( $user_roles as $role ) {
493 - $disabled_menu_[ $role ] = (array) _mw_adminimize_get_option_value(
474 + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value(
494 475 'mw_adminimize_disabled_menu_' . $role . '_items'
495 476 );
496 - $disabled_submenu_[ $role ] = (array) _mw_adminimize_get_option_value(
477 + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value(
497 478 'mw_adminimize_disabled_submenu_' . $role . '_items'
498 479 );
499 480 }
500 481
@@ -512,9 +493,9 @@
512 493 $redirect = FALSE;
513 494 foreach ( $user_roles as $role ) {
514 495 if ( _mw_adminimize_current_user_has_role( $role ) ) {
515 496 if ( _mw_adminimize_recursive_in_array( 'index.php', $disabled_menu_[ $role ] )
516 - || _mw_adminimize_recursive_in_array( 'index.php', $disabled_submenu_[ $role ] )
497 + || _mw_adminimize_recursive_in_array( 'index.php', $disabled_submenu_[ $role ] )
517 498 ) {
518 499 $redirect = TRUE;
519 500 }
520 501 }
@@ -519,9 +500,9 @@
519 500 }
520 501 }
521 502 }
522 503
523 - // Redirect option, if Dashboard is inactive
504 + // redirect option, if Dashboard is inactive
524 505 if ( $redirect ) {
525 506 $_mw_adminimize_db_redirect = (int) _mw_adminimize_get_option_value(
526 507 '_mw_adminimize_db_redirect'
527 508 );
@@ -556,14 +537,14 @@
556 537
557 538 $dashboard_core_string = esc_attr__( 'Dashboard' );
558 539 $dashboard = array( $menu[ $page ][ 0 ], $menu[ $page ][ 1 ] );
559 540 while (
560 - ! in_array( $dashboard_core_string, $dashboard, TRUE ) && next( $menu )
541 + ! in_array( $dashboard_core_string, $dashboard, FALSE ) && next( $menu )
561 542 ) {
562 543 $page = key( $menu );
563 544 }
564 545
565 - if ( in_array( $dashboard_core_string, $dashboard, TRUE ) ) {
546 + if ( in_array( $dashboard_core_string, $dashboard, FALSE ) ) {
566 547 unset( $menu[ $page ] );
567 548 }
568 549 reset( $menu );
569 550 $page = key( $menu );
@@ -572,15 +553,112 @@
572 553 $page = key( $menu );
573 554 }
574 555
575 556 if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER[ 'REQUEST_URI' ] ) ) {
576 - wp_safe_redirect( $_mw_adminimize_db_redirect );
557 + wp_redirect( $_mw_adminimize_db_redirect );
577 558 }
578 559 }
560 +
579 561 }
580 562 }
581 563
582 564 /**
565 + * Set menu options from database.
566 + */
567 +function _mw_adminimize_set_user_info() {
568 +
569 + if ( _mw_adminimize_exclude_settings_page() ) {
570 + return;
571 + }
572 +
573 + // exclude super admin
574 + if ( _mw_adminimize_exclude_super_admin() ) {
575 + return;
576 + }
577 +
578 + global $user_identity;
579 +
580 + $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
581 + $user_roles = _mw_adminimize_get_all_user_roles();
582 +
583 + foreach ( $user_roles as $role ) {
584 + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value(
585 + 'mw_adminimize_disabled_menu_' . $role . '_items'
586 + );
587 + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value(
588 + 'mw_adminimize_disabled_submenu_' . $role . '_items'
589 + );
590 + }
591 +
592 + $_mw_adminimize_admin_head = "\n";
593 + $_mw_adminimize_user_info = (int) _mw_adminimize_get_option_value( '_mw_adminimize_user_info' );
594 + $_mw_adminimize_ui_redirect = (int) _mw_adminimize_get_option_value( '_mw_adminimize_ui_redirect' );
595 +
596 + // change user-info
597 + switch ( $_mw_adminimize_user_info ) {
598 + case 1:
599 + $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
600 + $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove(); });' . "\n";
601 + $_mw_adminimize_admin_head .= '</script>' . "\n";
602 + break;
603 + case 2:
604 + $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename(
605 + dirname( __FILE__ )
606 + ) . '/css/mw_small_user_info' . $suffix . '.css" type="text/css" />' . "\n";
607 +
608 + $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
609 + $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove();';
610 + if ( 1 === (int) $_mw_adminimize_ui_redirect ) {
611 + $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option(
612 + 'siteurl'
613 + ) . wp_nonce_url(
614 + ( '/wp-login.php?action=logout&amp;redirect_to=' ) . get_option( 'siteurl' ), 'log-out'
615 + ) . '" title="' . esc_attr__( 'Log Out' ) . '">' . esc_attr__(
616 + 'Log Out'
617 + ) . '</a></p></div>\' ) });' . "\n";
618 + } else {
619 + $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option(
620 + 'siteurl'
621 + ) . wp_nonce_url( ( '/wp-login.php?action=logout' ), 'log-out' ) . '" title="' . esc_attr__(
622 + 'Log Out'
623 + ) . '">' . esc_attr__( 'Log Out' ) . '</a></p></div>\' ) });' . "\n";
624 + }
625 + $_mw_adminimize_admin_head .= '</script>' . "\n";
626 + break;
627 + case 3:
628 + $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename(
629 + dirname( __FILE__ )
630 + ) . '/css/mw_small_user_info' . $suffix . '.css" type="text/css" />' . "\n";
631 +
632 + $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n";
633 + $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove();';
634 + if ( 1 === (int) $_mw_adminimize_ui_redirect ) {
635 + $_mw_adminimize_admin_head .= 'jQuery( \'div#wpcontent\' ).after( \'<div id="small_user_info"><p><a href="' . get_option(
636 + 'siteurl'
637 + ) . ( '/wp-admin/profile.php' ) . '">' . $user_identity . '</a> | <a href="' . get_option(
638 + 'siteurl'
639 + ) . wp_nonce_url(
640 + ( '/wp-login.php?action=logout&amp;redirect_to=' ) . get_option( 'siteurl' ), 'log-out'
641 + ) . '" title="' . esc_attr__( 'Log Out' ) . '">' . esc_attr__(
642 + 'Log Out'
643 + ) . '</a></p></div>\' ) });' . "\n";
644 + } else {
645 + $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option(
646 + 'siteurl'
647 + ) . ( '/wp-admin/profile.php' ) . '">' . $user_identity . '</a> | <a href="' . get_option(
648 + 'siteurl'
649 + ) . wp_nonce_url( ( '/wp-login.php?action=logout' ), 'log-out' ) . '" title="' . esc_attr__(
650 + 'Log Out'
651 + ) . '">' . esc_attr__( 'Log Out' ) . '</a></p></div>\' ) });' . "\n";
652 + }
653 + $_mw_adminimize_admin_head .= '</script>' . "\n";
654 + break;
655 + }
656 +
657 + echo $_mw_adminimize_admin_head;
658 +}
659 +
660 +/**
583 661 * Set menu for settings
584 662 */
585 663 function _mw_adminimize_set_menu_option() {
586 664
@@ -599,22 +677,17 @@
599 677 if ( ! isset( $menu ) || empty( $menu ) ) {
600 678 return;
601 679 }
602 680
603 - _mw_adminimize_debug( $menu, 'Adminimize, WordPress Menu:' );
604 - _mw_adminimize_debug( $submenu, 'Adminimize, WordPress Sub-Menu:' );
681 + $user_roles = _mw_adminimize_get_all_user_roles();
682 + $disabled_menu_ = '';
683 + $disabled_submenu_ = '';
605 684
606 - $disabled_menu_ = array();
607 - $disabled_submenu_ = array();
608 - $user = wp_get_current_user();
609 - $user_roles = $user->roles;
610 - _mw_adminimize_debug( $user, 'Adminimize, Current User:' );
611 -
612 685 foreach ( $user_roles as $role ) {
613 - $disabled_menu_[ $role ] = (array) _mw_adminimize_get_option_value(
686 + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value(
614 687 'mw_adminimize_disabled_menu_' . $role . '_items'
615 688 );
616 - $disabled_submenu_[ $role ] = (array) _mw_adminimize_get_option_value(
689 + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value(
617 690 'mw_adminimize_disabled_submenu_' . $role . '_items'
618 691 );
619 692 }
620 693
@@ -622,63 +695,52 @@
622 695 $mw_adminimize_submenu = array();
623 696
624 697 // Set admin-menu.
625 698 foreach ( $user_roles as $role ) {
626 - if ( in_array( $role, $user->roles, TRUE )
627 - && _mw_adminimize_current_user_has_role( $role )
699 +
700 + $user = wp_get_current_user();
701 +
702 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE )
703 + && _mw_adminimize_current_user_has_role(
704 + $role
705 + )
628 706 ) {
629 - // Create array about all items with all affected roles.
630 - foreach ( (array) $disabled_menu_[ $role ] as $menu_item ) {
631 - $mw_adminimize_menu[] = $menu_item;
632 - }
633 - foreach ( (array) $disabled_submenu_[ $role ] as $submenu_item ) {
634 - $mw_adminimize_submenu[] = $submenu_item;
635 - }
707 + $mw_adminimize_menu = $disabled_menu_[ $role ];
708 + $mw_adminimize_submenu = $disabled_submenu_[ $role ];
636 709 }
637 710 }
638 711
639 - // Support Multiple Roles for users.
640 - // Leave only the items, there are active on each roles of the users.
641 - if ( _mw_adminimize_get_option_value( 'mw_adminimize_multiple_roles' ) && 1 < count( $user->roles ) ) {
642 - $mw_adminimize_menu = _mw_adminimize_get_intersection( $disabled_menu_ );
643 - $mw_adminimize_submenu = _mw_adminimize_get_intersection( $disabled_submenu_ );
644 - } else {
645 - // Alternative filter the array to remove duplicates, much faster.
646 - $mw_adminimize_menu = array_unique( $mw_adminimize_menu );
647 - $mw_adminimize_submenu = array_unique( $mw_adminimize_submenu );
712 + // Fallback on users.php on all user roles smaller admin.
713 + if ( is_array( $mw_adminimize_menu ) && in_array( 'users.php', $mw_adminimize_menu, FALSE ) ) {
714 + $mw_adminimize_menu[] = 'profile.php';
648 715 }
649 - _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Menu Slugs to hide after Filter.' );
650 - _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Sub-Menu Slugs to hide after Filter.' );
651 716
652 - foreach ( $menu as $key => $item ) {
717 + foreach ( $menu as $index => $item ) {
653 718
654 - _mw_adminimize_debug( $item, 'Adminimize, Each Menu Item Array to check for hiding.' );
719 + if ( 'index.php' === $item ) {
720 + continue;
721 + }
655 722
656 - // Menu
657 723 if ( isset( $item[ 2 ] ) ) {
658 - $menu_slug = $item[ 2 ];
659 - // Check, if the Menu item in the current user role settings?
660 - if ( in_array( $menu_slug, $mw_adminimize_menu, false )
724 + if ( isset( $mw_adminimize_menu ) && is_array( $mw_adminimize_menu )
725 + && in_array(
726 + $item[ 2 ], $mw_adminimize_menu, FALSE
727 + )
661 728 ) {
662 - remove_menu_page( $menu_slug );
663 - // Prevent access to the page with the slug, there was inactive.
664 - _mw_adminimize_check_page_access( $menu_slug );
729 + unset( $menu[ $index ] );
665 730 }
666 731
667 - // Sub Menu Settings.
668 - if ( isset( $submenu ) && ! empty( $submenu[ $menu_slug ] ) ) {
669 - foreach ( (array) $submenu[ $menu_slug ] as $subindex => $subitem ) {
670 - // Check, if is Sub Menu item in the user role settings?
732 + if ( isset( $submenu ) && ! empty( $submenu[ $item[ 2 ] ] ) ) {
733 + foreach ( $submenu[ $item[ 2 ] ] as $subindex => $subitem ) {
734 + // Check, if is menu item in the user role settings?
671 735 if (
672 736 isset( $mw_adminimize_submenu )
673 737 && _mw_adminimize_in_arrays(
674 - array( $subitem[ 2 ], $menu_slug . '__' . $subindex ),
738 + array( $subitem[ 2 ], $item[ 2 ] . '__' . $subindex ),
675 739 $mw_adminimize_submenu
676 740 )
677 741 ) {
678 - remove_submenu_page( $menu_slug, $subitem[ 2 ] );
679 - // Prevent access to the page with the slug, there was inactive.
680 - _mw_adminimize_check_page_access( $subitem[ 2 ] );
742 + unset( $submenu[ $item[ 2 ] ][ $subindex ] );
681 743 }
682 744 }
683 745 }
684 746 }
@@ -686,12 +748,14 @@
686 748
687 749 }
688 750
689 751 /**
690 - * Set global options in backend in all areas.
752 + * set global options in backend in all areas
691 753 */
692 754 function _mw_adminimize_set_global_option() {
693 755
756 + global $_wp_admin_css_colors;
757 +
694 758 // exclude super admin
695 759 if ( _mw_adminimize_exclude_super_admin() ) {
696 760 return NULL;
697 761 }
@@ -702,56 +766,53 @@
702 766 }
703 767
704 768 $user_roles = _mw_adminimize_get_all_user_roles();
705 769 $_mw_adminimize_admin_head = '';
706 - $disabled_global_option = array();
707 - $disabled_global_option_ = array();
708 - $user = wp_get_current_user();
709 770
710 - // Get settings for each role.
711 771 foreach ( $user_roles as $role ) {
712 - $disabled_global_option_[ $role ] = (array) _mw_adminimize_get_option_value(
772 + $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value(
713 773 'mw_adminimize_disabled_global_option_' . $role . '_items'
714 774 );
715 775 }
716 776
717 - // Write global options in an var.
718 777 foreach ( $user_roles as $role ) {
719 - if ( in_array( $role, $user->roles, TRUE ) && _mw_adminimize_current_user_has_role( $role ) ) {
778 + if ( ! isset( $disabled_global_option_[ $role ][ '0' ] ) ) {
779 + $disabled_global_option_[ $role ][ '0' ] = '';
780 + }
781 + }
720 782
721 - // Create array about all items with all affected roles, important for multiple roles.
722 - foreach ( (array) $disabled_global_option_[ $role ] as $global_item ) {
723 - $disabled_global_option[] = $global_item;
783 + $global_options = '';
784 + // new 1.7.8
785 + foreach ( $user_roles as $role ) {
786 + $user = wp_get_current_user();
787 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
788 + if ( _mw_adminimize_current_user_has_role( $role )
789 + && isset( $disabled_global_option_[ $role ] )
790 + && is_array( $disabled_global_option_[ $role ] )
791 + ) {
792 + $global_options = implode( ', ', $disabled_global_option_[ $role ] );
724 793 }
725 794 }
726 795 }
727 -
728 - // Support Multiple Roles for users.
729 - if ( _mw_adminimize_get_option_value( 'mw_adminimize_multiple_roles' ) && 1 < count( $user->roles ) ) {
730 - $disabled_global_option = _mw_adminimize_get_duplicate( $disabled_global_option );
731 - }
732 - $global_options = implode( ', ', $disabled_global_option );
733 -
734 - if ( 0 === strpos( $global_options, '#your-profile .form-table fieldset' ) ) {
735 - global $_wp_admin_css_colors;
796 + if ( isset( $global_options ) && 0 != strpos( $global_options, '#your-profile .form-table fieldset' ) ) {
736 797 $_wp_admin_css_colors = 0;
737 798 }
738 799 $_mw_adminimize_admin_head .= '<!-- Set Adminimize global options -->' . "\n";
739 800 $_mw_adminimize_admin_head .= '<style type="text/css">' . $global_options . ' {display:none !important;}</style>' . "\n";
740 801
741 - if ( '' !== $global_options ) {
802 + if ( ! empty( $global_options ) ) {
742 803 echo $_mw_adminimize_admin_head;
743 804 }
744 805 }
745 806
746 807 /**
747 - * Set metabox options from database an area post.
808 + * set metabox options from database an area post
748 809 */
749 810 function _mw_adminimize_set_metabox_post_option() {
750 811
751 812 // exclude super admin
752 813 if ( _mw_adminimize_exclude_super_admin() ) {
753 - return;
814 + return NULL;
754 815 }
755 816
756 817 // Leave the settings screen from Adminimize to see all areas on settings.
757 818 if ( _mw_adminimize_exclude_settings_page() ) {
@@ -759,10 +820,9 @@
759 820 }
760 821
761 822 $user_roles = _mw_adminimize_get_all_user_roles();
762 823 $_mw_adminimize_admin_head = '';
763 - // It's better to declare $metaboxes as an array for better manipulation later.
764 - $metaboxes = array();
824 + $metaboxes = '';
765 825
766 826 foreach ( $user_roles as $role ) {
767 827 $disabled_metaboxes_post_[ $role ] = _mw_adminimize_get_option_value(
768 828 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items'
@@ -767,42 +827,28 @@
767 827 $disabled_metaboxes_post_[ $role ] = _mw_adminimize_get_option_value(
768 828 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items'
769 829 );
770 830
771 - if ( ! isset( $disabled_metaboxes_post_[ $role ]['0'] ) ) {
772 - $disabled_metaboxes_post_[ $role ]['0'] = '';
773 -
774 - /**
775 - * @todo Think why keep going if $role does not even have boxes to hide? We may as well jump to the next $role.
776 - */
777 - continue;
831 + if ( ! isset( $disabled_metaboxes_post_[ $role ][ '0' ] ) ) {
832 + $disabled_metaboxes_post_[ $role ][ '0' ] = '';
778 833 }
779 834
780 - /**
781 - * @todo Think why call a function as we can use a global variable already declared by WordPress.
782 - * @var WP_User $user Instance of WP_User.
783 - * @since 1.7.8
784 - * @version 1.11.4
785 - */
786 - $user = $GLOBALS['current_user'];
787 - if ( is_array( $user->roles ) && in_array( $role, $user->roles, true ) ) {
835 + // new 1.7.8
836 + $user = wp_get_current_user();
837 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
788 838 if ( _mw_adminimize_current_user_has_role( $role ) && isset( $disabled_metaboxes_post_[ $role ] )
789 - && is_array(
790 - $disabled_metaboxes_post_[ $role ]
791 - )
839 + && is_array(
840 + $disabled_metaboxes_post_[ $role ]
841 + )
792 842 ) {
793 - // The previous way $metaboxes was being filled it could be at some point non empty and empty afterwards.
794 - // For instance, if a $role has items to be hidden and the user has this $role, $metaboxes will be filled.
795 - // But in next loop $metaboxes may receive '' as the next $role might not have items to hide and the user might has the next $role.
796 - $metaboxes[] = implode( ',', $disabled_metaboxes_post_[ $role ] );
843 + $metaboxes = implode( ',', $disabled_metaboxes_post_[ $role ] );
797 844 }
798 845 }
799 846 }
800 847
801 848 $_mw_adminimize_admin_head .= '<!-- Set Adminimize metabox post options -->' . "\n";
802 - // And below we implode $metaboxes because it's an array now.
803 849 $_mw_adminimize_admin_head .= '<style type="text/css">' .
804 - implode( ',', $metaboxes ) . ' {display:none !important;}</style>' . "\n";
850 + $metaboxes . ' {display:none !important;}</style>' . "\n";
805 851
806 852 if ( ! empty( $metaboxes ) ) {
807 853 echo $_mw_adminimize_admin_head;
808 854 }
@@ -808,9 +854,9 @@
808 854 }
809 855 }
810 856
811 857 /**
812 - * Set metabox options from database an area page.
858 + * set metabox options from database an area page
813 859 */
814 860 function _mw_adminimize_set_metabox_page_option() {
815 861
816 862 // exclude super admin
@@ -835,14 +881,14 @@
835 881 if ( ! isset( $disabled_metaboxes_page_[ $role ][ '0' ] ) ) {
836 882 $disabled_metaboxes_page_[ $role ][ '0' ] = '';
837 883 }
838 884
839 - // New since version 1.7.8.
885 + // new 1.7.8
840 886 $user = wp_get_current_user();
841 - if ( is_array( $user->roles ) && in_array( $role, $user->roles, TRUE ) ) {
887 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
842 888 if ( _mw_adminimize_current_user_has_role( $role )
843 - && isset( $disabled_metaboxes_page_[ $role ] )
844 - && is_array( $disabled_metaboxes_page_[ $role ] )
889 + && isset( $disabled_metaboxes_page_[ $role ] )
890 + && is_array( $disabled_metaboxes_page_[ $role ] )
845 891 ) {
846 892 $metaboxes = implode( ',', $disabled_metaboxes_page_[ $role ] );
847 893 }
848 894 }
@@ -849,9 +895,9 @@
849 895 }
850 896
851 897 $_mw_adminimize_admin_head .= '<!-- Set Adminimize metabox page options -->' . "\n";
852 898 $_mw_adminimize_admin_head .= '<style type="text/css">' .
853 - $metaboxes . ' {display:none !important;}</style>' . "\n";
899 + $metaboxes . ' {display:none !important;}</style>' . "\n";
854 900
855 901 if ( ! empty( $metaboxes ) ) {
856 902 echo $_mw_adminimize_admin_head;
857 903 }
@@ -857,9 +903,9 @@
857 903 }
858 904 }
859 905
860 906 /**
861 - * Set metabox options from database an area post.
907 + * set metabox options from database an area post
862 908 */
863 909 function _mw_adminimize_set_metabox_cp_option() {
864 910
865 911 // exclude super admin
@@ -871,13 +917,14 @@
871 917 if ( _mw_adminimize_exclude_settings_page() ) {
872 918 return;
873 919 }
874 920
875 - $post_id = 0;
876 921 if ( isset( $_GET[ 'post' ] ) ) {
877 922 $post_id = (int) $_GET[ 'post' ];
878 923 } elseif ( isset( $_POST[ 'post_ID' ] ) ) {
879 924 $post_id = (int) $_POST[ 'post_ID' ];
925 + } else {
926 + $post_id = 0;
880 927 }
881 928
882 929 $current_post_type = $GLOBALS[ 'post_type' ];
883 930 if ( ! isset( $current_post_type ) ) {
@@ -894,9 +941,9 @@
894 941 }
895 942
896 943 $user_roles = _mw_adminimize_get_all_user_roles();
897 944 $_mw_adminimize_admin_head = '';
898 - $metaboxes = array();
945 + $metaboxes = '';
899 946
900 947 foreach ( $user_roles as $role ) {
901 948 $disabled_metaboxes_[ $current_post_type . '_' . $role ] = _mw_adminimize_get_option_value(
902 949 'mw_adminimize_disabled_metaboxes_' . $current_post_type . '_' . $role . '_items'
@@ -901,21 +948,19 @@
901 948 $disabled_metaboxes_[ $current_post_type . '_' . $role ] = _mw_adminimize_get_option_value(
902 949 'mw_adminimize_disabled_metaboxes_' . $current_post_type . '_' . $role . '_items'
903 950 );
904 951
905 - if ( ! isset( $disabled_metaboxes_[ $current_post_type . '_' . $role ]['0'] ) ) {
906 - $disabled_metaboxes_[ $current_post_type . '_' . $role ]['0'] = '';
907 -
908 - continue;
952 + if ( ! isset( $disabled_metaboxes_[ $current_post_type . '_' . $role ][ '0' ] ) ) {
953 + $disabled_metaboxes_[ $current_post_type . '_' . $role ][ '0' ] = '';
909 954 }
910 955
911 - $user = $GLOBALS['current_user'];
912 - if ( is_array( $user->roles ) && in_array( $role, $user->roles, true ) ) {
956 + $user = wp_get_current_user();
957 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
913 958 if ( _mw_adminimize_current_user_has_role( $role )
914 - && isset( $disabled_metaboxes_[ $current_post_type . '_' . $role ] )
915 - && is_array( $disabled_metaboxes_[ $current_post_type . '_' . $role ] )
959 + && isset( $disabled_metaboxes_[ $current_post_type . '_' . $role ] )
960 + && is_array( $disabled_metaboxes_[ $current_post_type . '_' . $role ] )
916 961 ) {
917 - $metaboxes[] = implode( ',', $disabled_metaboxes_[ $current_post_type . '_' . $role ] );
962 + $metaboxes = implode( ',', $disabled_metaboxes_[ $current_post_type . '_' . $role ] );
918 963 }
919 964 }
920 965 }
921 966
@@ -920,9 +965,9 @@
920 965 }
921 966
922 967 $_mw_adminimize_admin_head .= '<!-- Set Adminimize post options -->' . "\n";
923 968 $_mw_adminimize_admin_head .= '<style type="text/css">' .
924 - implode( ',', $metaboxes ) . ' {display:none !important;}</style>' . "\n";
969 + $metaboxes . ' {display:none !important;}</style>' . "\n";
925 970
926 971 if ( ! empty( $metaboxes ) ) {
927 972 echo $_mw_adminimize_admin_head;
928 973 }
@@ -928,9 +973,9 @@
928 973 }
929 974 }
930 975
931 976 /**
932 - * Set link options in area links of back end.
977 + * set link options in area Links of Backend
933 978 */
934 979 function _mw_adminimize_set_link_option() {
935 980
936 981 // exclude super admin
@@ -958,11 +1003,12 @@
958 1003 }
959 1004 }
960 1005
961 1006 $link_options = '';
1007 + // new 1.7.8
962 1008 foreach ( $user_roles as $role ) {
963 1009 $user = wp_get_current_user();
964 - if ( is_array( $user->roles ) && in_array( $role, $user->roles, TRUE ) ) {
1010 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
965 1011 if ( _mw_adminimize_current_user_has_role( $role )
966 1012 && isset( $disabled_link_option_[ $role ] )
967 1013 && is_array( $disabled_link_option_[ $role ] )
968 1014 ) {
@@ -972,9 +1018,9 @@
972 1018 }
973 1019
974 1020 $_mw_adminimize_admin_head .= '<!-- Set Adminimize links options -->' . "\n";
975 1021 $_mw_adminimize_admin_head .= '<style type="text/css">' .
976 - $link_options . ' {display:none !important;}</style>' . "\n";
1022 + $link_options . ' {display:none !important;}</style>' . "\n";
977 1023
978 1024 if ( ! empty( $link_options ) ) {
979 1025 echo $_mw_adminimize_admin_head;
980 1026 }
@@ -980,9 +1026,9 @@
980 1026 }
981 1027 }
982 1028
983 1029 /**
984 - * Remove objects on wp nav menu.
1030 + * remove objects on wp nav menu
985 1031 */
986 1032 function _mw_adminimize_set_nav_menu_option() {
987 1033
988 1034 // exclude super admin
@@ -1010,11 +1056,12 @@
1010 1056 }
1011 1057 }
1012 1058
1013 1059 $nav_menu_options = '';
1060 + // new 1.7.8
1014 1061 foreach ( $user_roles as $role ) {
1015 1062 $user = wp_get_current_user();
1016 - if ( is_array( $user->roles ) && in_array( $role, $user->roles, TRUE ) ) {
1063 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
1017 1064 if ( _mw_adminimize_current_user_has_role( $role )
1018 1065 && isset( $disabled_nav_menu_option_[ $role ] )
1019 1066 && is_array( $disabled_nav_menu_option_[ $role ] )
1020 1067 ) {
@@ -1021,12 +1068,13 @@
1021 1068 $nav_menu_options = implode( ',', $disabled_nav_menu_option_[ $role ] );
1022 1069 }
1023 1070 }
1024 1071 }
1072 + //remove_meta_box( $id, 'nav-menus', 'side' );
1025 1073
1026 1074 $_mw_adminimize_admin_head .= '<!-- Set Adminimize WP Nav Menu options -->' . "\n";
1027 1075 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1028 - $nav_menu_options . ' {display: none !important;}</style>' . "\n";
1076 + $nav_menu_options . ' {display: none !important;}</style>' . "\n";
1029 1077
1030 1078 if ( $nav_menu_options ) {
1031 1079 echo $_mw_adminimize_admin_head;
1032 1080 }
@@ -1062,11 +1110,12 @@
1062 1110 }
1063 1111 }
1064 1112
1065 1113 $widget_options = '';
1114 + // new 1.7.8
1066 1115 foreach ( $user_roles as $role ) {
1067 1116 $user = wp_get_current_user();
1068 - if ( is_array( $user->roles ) && in_array( $role, $user->roles, TRUE ) ) {
1117 + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) {
1069 1118 if ( _mw_adminimize_current_user_has_role( $role )
1070 1119 && isset( $disabled_widget_option_[ $role ] )
1071 1120 && is_array( $disabled_widget_option_[ $role ] )
1072 1121 ) {
@@ -1073,12 +1122,13 @@
1073 1122 $widget_options = implode( ',', $disabled_widget_option_[ $role ] );
1074 1123 }
1075 1124 }
1076 1125 }
1126 + //remove_meta_box( $id, 'nav-menus', 'side' );
1077 1127
1078 1128 $_mw_adminimize_admin_head .= '<!-- Set Adminimize Widget options -->' . "\n";
1079 1129 $_mw_adminimize_admin_head .= '<style type="text/css">' .
1080 - $widget_options . ' {display: none !important;}</style>' . "\n";
1130 + $widget_options . ' {display: none !important;}</style>' . "\n";
1081 1131
1082 1132 if ( $widget_options ) {
1083 1133 echo $_mw_adminimize_admin_head;
1084 1134 }
@@ -1084,9 +1134,9 @@
1084 1134 }
1085 1135 }
1086 1136
1087 1137 /**
1088 - * Print small user-info.
1138 + * small user-info
1089 1139 */
1090 1140 function _mw_adminimize_small_user_info() {
1091 1141
1092 1142 ?>
@@ -1101,14 +1151,13 @@
1101 1151 </div>
1102 1152 <?php
1103 1153 }
1104 1154
1155 +// Include message class.
1156 +require_once 'inc-setup/messages.php';
1105 1157 // include helping functions
1106 1158 require_once 'inc-setup/helping_hands.php';
1107 1159
1108 -// Include message class.
1109 -require_once 'inc-setup/messages.php';
1110 -
1111 1160 // inc. settings page
1112 1161 require_once 'adminimize_page.php';
1113 1162
1114 1163 // dashboard options
@@ -1115,11 +1164,14 @@
1115 1164 require_once 'inc-setup/dashboard.php';
1116 1165
1117 1166 // widget options
1118 1167 require_once 'inc-setup/widget.php';
1119 -require_once 'inc-setup/footer.php';
1120 1168 require_once 'inc-setup/admin-footer.php';
1121 1169
1170 +// global settings
1171 +// @TODO Testing, not ready for productive
1172 +//require_once( 'inc-options/settings_notice.php' );
1173 +
1122 1174 // remove admin bar
1123 1175 require_once 'inc-setup/remove-admin-bar.php';
1124 1176
1125 1177 // admin bar helper, setup
@@ -1132,19 +1184,15 @@
1132 1184
1133 1185 // Remove Admin Notices.
1134 1186 require_once 'inc-setup/remove-admin-notices.php';
1135 1187
1136 -// Add Ex-Import functions.
1137 -require_once 'inc-setup/export.php';
1138 -require_once 'inc-setup/import.php';
1139 -
1140 1188 /**
1141 1189 * Add action link(s) to plugins page
1142 1190 *
1143 - * @param array $links
1144 - * @param string $file
1191 + * @param $links , $file
1192 + * @param $file
1145 1193 *
1146 - * @return array $links
1194 + * @return $links
1147 1195 */
1148 1196 function _mw_adminimize_filter_plugin_meta( $links, $file ) {
1149 1197
1150 1198 /* create link */
@@ -1150,12 +1198,9 @@
1150 1198 /* create link */
1151 1199 if ( FB_ADMINIMIZE_BASENAME === $file ) {
1152 1200 array_unshift(
1153 1201 $links,
1154 - sprintf(
1155 - '<a href="options-general.php?page=adminimize-options">%s</a>',
1156 - esc_attr__( 'Settings' )
1157 - )
1202 + sprintf( '<a href="options-general.php?page=%s">%s</a>', FB_ADMINIMIZE_BASENAME, esc_attr__( 'Settings' ) )
1158 1203 );
1159 1204 }
1160 1205
1161 1206 return $links;
@@ -1161,9 +1206,9 @@
1161 1206 return $links;
1162 1207 }
1163 1208
1164 1209 /**
1165 - * Add settings in plugin-admin-page.
1210 + * settings in plugin-admin-page
1166 1211 */
1167 1212 function _mw_adminimize_add_settings_page() {
1168 1213
1169 1214 $pagehook = add_options_page(
@@ -1169,12 +1214,11 @@
1169 1214 $pagehook = add_options_page(
1170 1215 esc_attr__( 'Adminimize Options', 'adminimize' ),
1171 1216 esc_attr__( 'Adminimize', 'adminimize' ),
1172 1217 'manage_options',
1173 - 'adminimize-options',
1218 + __FILE__,
1174 1219 '_mw_adminimize_options'
1175 1220 );
1176 -
1177 1221 if ( ! is_network_admin() ) {
1178 1222 add_filter( 'plugin_action_links', '_mw_adminimize_filter_plugin_meta', 10, 2 );
1179 1223 }
1180 1224 add_action( 'load-' . $pagehook, '_mw_adminimize_on_load_page' );
@@ -1179,16 +1223,10 @@
1179 1223 }
1180 1224 add_action( 'load-' . $pagehook, '_mw_adminimize_on_load_page' );
1181 1225 }
1182 1226
1183 -/**
1184 - * Enqueue script and styles for the settings page.
1185 - */
1186 1227 function _mw_adminimize_on_load_page() {
1187 1228
1188 - // Load translation files on options page.
1189 - _mw_adminimize_textdomain();
1190 -
1191 1229 $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
1192 1230
1193 1231 wp_register_style( 'adminimize-style', plugins_url( 'css/style' . $suffix . '.css', __FILE__ ) );
1194 1232 wp_enqueue_style( 'adminimize-style' );
@@ -1203,35 +1241,52 @@
1203 1241 wp_enqueue_script( 'adminimize-settings-script' );
1204 1242 }
1205 1243
1206 1244 /**
1245 + * Set theme for users
1246 + * Kill with version 1.7.18
1247 + */
1248 +function _mw_adminimize_set_theme() {
1249 +
1250 + if ( ! current_user_can( 'edit_users' ) ) {
1251 + wp_die( esc_attr__( 'Cheatin&#8217; uh?' ) );
1252 + }
1253 +
1254 + $user_ids = $_POST[ 'mw_adminimize_theme_items' ];
1255 + $admin_color = htmlspecialchars( stripslashes( $_POST[ '_mw_adminimize_set_theme' ] ) );
1256 +
1257 + if ( ! $user_ids ) {
1258 + return FALSE;
1259 + }
1260 +
1261 + foreach ( $user_ids as $user_id ) {
1262 + update_user_meta( $user_id, 'admin_color', $admin_color );
1263 + }
1264 +
1265 + return TRUE;
1266 +}
1267 +
1268 +/**
1207 1269 * Get setting value for each options key.
1208 1270 *
1209 1271 * @param string|bool $key
1210 1272 *
1211 - * @return string
1273 + * @return array
1212 1274 */
1213 1275 function _mw_adminimize_get_option_value( $key = FALSE ) {
1214 1276
1215 - $adminimizeoptions = FALSE;
1216 - if ( ! _mw_adminimize_exclude_settings_page() ) {
1217 - $adminimizeoptions = wp_cache_get( 'mw_adminimize' );
1277 + // check for use on multisite
1278 + if ( _mw_adminimize_is_active_on_multisite() ) {
1279 + $adminimizeoptions = get_site_option( 'mw_adminimize', array() );
1280 + } else {
1281 + $adminimizeoptions = get_option( 'mw_adminimize', array() );
1218 1282 }
1219 1283
1220 - if ( FALSE === $adminimizeoptions ) {
1221 - // check for use on multisite
1222 - if ( _mw_adminimize_is_active_on_multisite() ) {
1223 - $adminimizeoptions = (array) get_site_option( 'mw_adminimize', array() );
1224 - } else {
1225 - $adminimizeoptions = (array) get_option( 'mw_adminimize', array() );
1226 - }
1227 - wp_cache_set( 'mw_adminimize', $adminimizeoptions );
1228 - }
1229 -
1230 1284 if ( ! $key ) {
1231 1285 return $adminimizeoptions;
1232 1286 }
1233 1287
1288 + /** @var array $adminimizeoptions */
1234 1289 return array_key_exists( $key, $adminimizeoptions ) ? $adminimizeoptions[ $key ] : NULL;
1235 1290 }
1236 1291
1237 1292 /**
@@ -1237,32 +1292,20 @@
1237 1292 /**
1238 1293 * Update options.
1239 1294 *
1240 1295 * @param array $options
1241 - *
1242 - * @return bool
1243 1296 */
1244 1297 function _mw_adminimize_update_option( $options ) {
1245 1298
1246 1299 if ( ! current_user_can( 'manage_options' ) ) {
1247 - return FALSE;
1300 + return;
1248 1301 }
1249 1302
1250 - // Remove slashes always.
1251 - foreach ( $options as $key => $value ) {
1252 - $options[ $key ] = stripslashes_deep( $value );
1253 - }
1254 -
1255 - // Kill the cache for the settings page.
1256 - wp_cache_delete( 'mw_adminimize' );
1257 1303 if ( _mw_adminimize_is_active_on_multisite() ) {
1258 1304 update_site_option( 'mw_adminimize', $options );
1259 1305 } else {
1260 1306 update_option( 'mw_adminimize', $options );
1261 1307 }
1262 - wp_cache_add( 'mw_adminimize', $options );
1263 -
1264 - return TRUE;
1265 1308 }
1266 1309
1267 1310 /**
1268 1311 * Update options in database
@@ -1286,33 +1329,8 @@
1286 1329 $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ] = array();
1287 1330 }
1288 1331 }
1289 1332
1290 - // Plugin Self Settings.
1291 - if ( isset( $_POST[ 'mw_adminimize_debug' ] ) ) {
1292 - $adminimizeoptions[ 'mw_adminimize_debug' ] = (int) $_POST[ 'mw_adminimize_debug' ];
1293 - } else {
1294 - $adminimizeoptions[ 'mw_adminimize_debug' ] = 0;
1295 - }
1296 -
1297 - if ( isset( $_POST[ 'mw_adminimize_multiple_roles' ] ) ) {
1298 - $adminimizeoptions[ 'mw_adminimize_multiple_roles' ] = (int) $_POST[ 'mw_adminimize_multiple_roles' ];
1299 - } else {
1300 - $adminimizeoptions[ 'mw_adminimize_multiple_roles' ] = 0;
1301 - }
1302 -
1303 - if ( isset( $_POST[ 'mw_adminimize_support_bbpress' ] ) ) {
1304 - $adminimizeoptions[ 'mw_adminimize_support_bbpress' ] = (int) $_POST[ 'mw_adminimize_support_bbpress' ];
1305 - } else {
1306 - $adminimizeoptions[ 'mw_adminimize_support_bbpress' ] = 0;
1307 - }
1308 -
1309 - if ( isset( $_POST[ 'mw_adminimize_prevent_page_access' ] ) ) {
1310 - $adminimizeoptions[ 'mw_adminimize_prevent_page_access' ] = (int) $_POST[ 'mw_adminimize_prevent_page_access' ];
1311 - } else {
1312 - $adminimizeoptions[ 'mw_adminimize_prevent_page_access' ] = 0;
1313 - }
1314 -
1315 1333 // Admin Bar Front end settings
1316 1334 $adminimizeoptions[ 'mw_adminimize_admin_bar_frontend_nodes' ] = _mw_adminimize_get_option_value(
1317 1335 'mw_adminimize_admin_bar_frontend_nodes'
1318 1336 );
@@ -1317,9 +1335,9 @@
1317 1335 'mw_adminimize_admin_bar_frontend_nodes'
1318 1336 );
1319 1337 // admin bar front end options
1320 1338 foreach ( $user_roles as $role ) {
1321 - // admin bar front-end options
1339 + // admin bar fron tend options
1322 1340 if ( isset( $_POST[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] ) ) {
1323 1341 $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] = $_POST[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ];
1324 1342 } else {
1325 1343 $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] = array();
@@ -1380,19 +1398,10 @@
1380 1398 $adminimizeoptions[ '_mw_adminimize_advice' ] = 0;
1381 1399 }
1382 1400
1383 1401 if ( isset( $_POST[ '_mw_adminimize_advice_txt' ] ) ) {
1384 - $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = wp_kses(
1385 - $_POST[ '_mw_adminimize_advice_txt' ],
1386 - array(
1387 - 'a' => array(
1388 - 'href' => array(),
1389 - 'title' => array()
1390 - ),
1391 - 'br' => array(),
1392 - 'em' => array(),
1393 - 'strong' => array(),
1394 - )
1402 + $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = htmlspecialchars(
1403 + stripslashes( $_POST[ '_mw_adminimize_advice_txt' ] )
1395 1404 );
1396 1405 } else {
1397 1406 $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = '';
1398 1407 }
@@ -1425,27 +1434,8 @@
1425 1434 $adminimizeoptions[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ] = array();
1426 1435 }
1427 1436 }
1428 1437
1429 - // @ToDo After release of WP 4.7, switch to sanitize_textarea_field()
1430 -
1431 - // own menu slug
1432 - if ( isset( $_POST[ '_mw_adminimize_own_menu_slug' ] ) ) {
1433 - $adminimizeoptions[ '_mw_adminimize_own_menu_slug' ] = stripslashes(
1434 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_menu_slug' ] )
1435 - );
1436 - } else {
1437 - $adminimizeoptions[ '_mw_adminimize_own_menu_slug' ] = '';
1438 - }
1439 - // own custom menu slug
1440 - if ( isset( $_POST[ '_mw_adminimize_own_menu_custom_slug' ] ) ) {
1441 - $adminimizeoptions[ '_mw_adminimize_own_menu_custom_slug' ] = stripslashes(
1442 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_menu_custom_slug' ] )
1443 - );
1444 - } else {
1445 - $adminimizeoptions[ '_mw_adminimize_own_menu_custom_slug' ] = '';
1446 - }
1447 -
1448 1438 // global_options, metaboxes update
1449 1439 foreach ( $user_roles as $role ) {
1450 1440
1451 1441 // global options
@@ -1512,19 +1502,15 @@
1512 1502 }
1513 1503
1514 1504 // own options
1515 1505 if ( isset( $_POST[ '_mw_adminimize_own_values' ] ) ) {
1516 - $adminimizeoptions[ '_mw_adminimize_own_values' ] = stripslashes(
1517 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_values' ] )
1518 - );
1506 + $adminimizeoptions[ '_mw_adminimize_own_values' ] = stripslashes( $_POST[ '_mw_adminimize_own_values' ] );
1519 1507 } else {
1520 1508 $adminimizeoptions[ '_mw_adminimize_own_values' ] = '';
1521 1509 }
1522 1510
1523 1511 if ( isset( $_POST[ '_mw_adminimize_own_options' ] ) ) {
1524 - $adminimizeoptions[ '_mw_adminimize_own_options' ] = stripslashes(
1525 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_options' ] )
1526 - );
1512 + $adminimizeoptions[ '_mw_adminimize_own_options' ] = stripslashes( $_POST[ '_mw_adminimize_own_options' ] );
1527 1513 } else {
1528 1514 $adminimizeoptions[ '_mw_adminimize_own_options' ] = '';
1529 1515 }
1530 1516
@@ -1530,9 +1516,9 @@
1530 1516
1531 1517 // own post options
1532 1518 if ( isset( $_POST[ '_mw_adminimize_own_post_values' ] ) ) {
1533 1519 $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = stripslashes(
1534 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_post_values' ] )
1520 + $_POST[ '_mw_adminimize_own_post_values' ]
1535 1521 );
1536 1522 } else {
1537 1523 $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = '';
1538 1524 }
@@ -1538,9 +1524,9 @@
1538 1524 }
1539 1525
1540 1526 if ( isset( $_POST[ '_mw_adminimize_own_post_options' ] ) ) {
1541 1527 $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = stripslashes(
1542 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_post_options' ] )
1528 + $_POST[ '_mw_adminimize_own_post_options' ]
1543 1529 );
1544 1530 } else {
1545 1531 $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = '';
1546 1532 }
@@ -1547,9 +1533,9 @@
1547 1533
1548 1534 // own page options
1549 1535 if ( isset( $_POST[ '_mw_adminimize_own_page_values' ] ) ) {
1550 1536 $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = stripslashes(
1551 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_page_values' ] )
1537 + $_POST[ '_mw_adminimize_own_page_values' ]
1552 1538 );
1553 1539 } else {
1554 1540 $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = '';
1555 1541 }
@@ -1555,9 +1541,9 @@
1555 1541 }
1556 1542
1557 1543 if ( isset( $_POST[ '_mw_adminimize_own_page_options' ] ) ) {
1558 1544 $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = stripslashes(
1559 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_page_options' ] )
1545 + $_POST[ '_mw_adminimize_own_page_options' ]
1560 1546 );
1561 1547 } else {
1562 1548 $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = '';
1563 1549 }
@@ -1565,9 +1551,9 @@
1565 1551 // own custom post options
1566 1552 foreach ( $post_types as $post_type ) {
1567 1553 if ( isset( $_POST[ '_mw_adminimize_own_values_' . $post_type ] ) ) {
1568 1554 $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = stripslashes(
1569 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_values_' . $post_type ] )
1555 + $_POST[ '_mw_adminimize_own_values_' . $post_type ]
1570 1556 );
1571 1557 } else {
1572 1558 $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = '';
1573 1559 }
@@ -1573,9 +1559,9 @@
1573 1559 }
1574 1560
1575 1561 if ( isset( $_POST[ '_mw_adminimize_own_options_' . $post_type ] ) ) {
1576 1562 $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = stripslashes(
1577 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_options_' . $post_type ] )
1563 + $_POST[ '_mw_adminimize_own_options_' . $post_type ]
1578 1564 );
1579 1565 } else {
1580 1566 $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = '';
1581 1567 }
@@ -1583,9 +1569,9 @@
1583 1569
1584 1570 // own link options
1585 1571 if ( isset( $_POST[ '_mw_adminimize_own_link_values' ] ) ) {
1586 1572 $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = stripslashes(
1587 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_link_values' ] )
1573 + $_POST[ '_mw_adminimize_own_link_values' ]
1588 1574 );
1589 1575 } else {
1590 1576 $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = '';
1591 1577 }
@@ -1591,9 +1577,9 @@
1591 1577 }
1592 1578
1593 1579 if ( isset( $_POST[ '_mw_adminimize_own_link_options' ] ) ) {
1594 1580 $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = stripslashes(
1595 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_link_options' ] )
1581 + $_POST[ '_mw_adminimize_own_link_options' ]
1596 1582 );
1597 1583 } else {
1598 1584 $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = '';
1599 1585 }
@@ -1600,9 +1586,9 @@
1600 1586
1601 1587 // wp nav menu options
1602 1588 if ( isset( $_POST[ '_mw_adminimize_own_nav_menu_values' ] ) ) {
1603 1589 $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = stripslashes(
1604 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_nav_menu_values' ] )
1590 + $_POST[ '_mw_adminimize_own_nav_menu_values' ]
1605 1591 );
1606 1592 } else {
1607 1593 $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = '';
1608 1594 }
@@ -1608,9 +1594,9 @@
1608 1594 }
1609 1595
1610 1596 if ( isset( $_POST[ '_mw_adminimize_own_nav_menu_options' ] ) ) {
1611 1597 $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = stripslashes(
1612 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_nav_menu_options' ] )
1598 + $_POST[ '_mw_adminimize_own_nav_menu_options' ]
1613 1599 );
1614 1600 } else {
1615 1601 $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = '';
1616 1602 }
@@ -1617,9 +1603,9 @@
1617 1603
1618 1604 // widget options
1619 1605 if ( isset( $_POST[ '_mw_adminimize_own_widget_values' ] ) ) {
1620 1606 $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = stripslashes(
1621 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_widget_values' ] )
1607 + $_POST[ '_mw_adminimize_own_widget_values' ]
1622 1608 );
1623 1609 } else {
1624 1610 $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = '';
1625 1611 }
@@ -1625,9 +1611,9 @@
1625 1611 }
1626 1612
1627 1613 if ( isset( $_POST[ '_mw_adminimize_own_widget_options' ] ) ) {
1628 1614 $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = stripslashes(
1629 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_widget_options' ] )
1615 + $_POST[ '_mw_adminimize_own_widget_options' ]
1630 1616 );
1631 1617 } else {
1632 1618 $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = '';
1633 1619 }
@@ -1634,9 +1620,9 @@
1634 1620
1635 1621 // own dashboard options
1636 1622 if ( isset( $_POST[ '_mw_adminimize_own_dashboard_values' ] ) ) {
1637 1623 $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = stripslashes(
1638 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_dashboard_values' ] )
1624 + $_POST[ '_mw_adminimize_own_dashboard_values' ]
1639 1625 );
1640 1626 } else {
1641 1627 $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = '';
1642 1628 }
@@ -1642,9 +1628,9 @@
1642 1628 }
1643 1629
1644 1630 if ( isset( $_POST[ '_mw_adminimize_own_dashboard_options' ] ) ) {
1645 1631 $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = stripslashes(
1646 - wp_strip_all_tags( $_POST[ '_mw_adminimize_own_dashboard_options' ] )
1632 + $_POST[ '_mw_adminimize_own_dashboard_options' ]
1647 1633 );
1648 1634 } else {
1649 1635 $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = '';
1650 1636 }
@@ -1659,45 +1645,23 @@
1659 1645 if ( isset( $GLOBALS[ 'submenu' ] ) ) {
1660 1646 $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $GLOBALS[ 'submenu' ];
1661 1647 }
1662 1648
1663 - /**
1664 - * Filter the adminimize options.
1665 - *
1666 - * Make the options filterable, so we can modify what is saved before it's sent to the db
1667 - *
1668 - * @since 1.11.6
1669 - *
1670 - * @param array $adminimizeoptions the original options.
1671 - * @param array $user_roles Array of the user roles.
1672 - * @param array $_POST Post data.
1673 - */
1674 - $adminimizeoptions = apply_filters( 'mw_adminimize_options_before_update', $adminimizeoptions, $user_roles, $_POST );
1675 -
1676 1649 // update
1677 - $update_status = _mw_adminimize_update_option( $adminimizeoptions );
1650 + _mw_adminimize_update_option( $adminimizeoptions );
1678 1651
1679 1652 $myErrors = new _mw_adminimize_message_class();
1680 - if ( $update_status ) {
1681 - $message = $myErrors->get_error(
1653 + $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error(
1682 1654 '_mw_adminimize_update'
1683 - );
1684 - } else {
1685 - $message = $myErrors->get_error(
1686 - '_mw_adminimize_access_denied'
1687 - );
1688 - }
1689 - echo '<div id="message" class="notice notice-success"><p>' . $message . '</p></div>';
1690 -
1691 - return TRUE;
1655 + ) . '</p></div>';
1656 + echo $myErrors;
1692 1657 }
1693 1658
1694 1659 /**
1695 1660 * Delete options in database
1696 1661 */
1697 -function _mw_adminimize_uninstall() {
1662 +function _mw_adminimize_deinstall() {
1698 1663
1699 - wp_cache_delete( 'mw_adminimize' );
1700 1664 delete_site_option( 'mw_adminimize' );
1701 1665 delete_option( 'mw_adminimize' );
1702 1666 }
1703 1667
@@ -1706,16 +1670,11 @@
1706 1670 */
1707 1671 function _mw_adminimize_install() {
1708 1672
1709 1673 if ( ! is_admin() ) {
1710 - return;
1674 + return NULL;
1711 1675 }
1712 1676
1713 - // If is AJAX Call.
1714 - if ( defined('DOING_AJAX') && DOING_AJAX ) {
1715 - return;
1716 - }
1717 -
1718 1677 global $menu, $submenu;
1719 1678
1720 1679 $user_roles = _mw_adminimize_get_all_user_roles();
1721 1680 $adminimizeoptions = array();
@@ -1743,6 +1702,71 @@
1743 1702 add_site_option( 'mw_adminimize', $adminimizeoptions );
1744 1703 } else {
1745 1704 add_option( 'mw_adminimize', $adminimizeoptions );
1746 1705 }
1747 - wp_cache_add( 'mw_adminimize', $adminimizeoptions );
1706 +}
1707 +
1708 +/**
1709 + * Process a settings export that generates a .json file of the shop settings
1710 + */
1711 +function _mw_adminimize_export_json() {
1712 +
1713 + if ( empty( $_GET[ '_mw_adminimize_export' ] ) || 'true' !== $_GET[ '_mw_adminimize_export' ] ) {
1714 + return;
1715 + }
1716 +
1717 + require_once ABSPATH . 'wp-includes/pluggable.php';
1718 + if ( ! wp_verify_nonce( $_GET[ 'mw_adminimize_export_nonce' ], 'mw_adminimize_export_nonce' ) ) {
1719 + return;
1720 + }
1721 +
1722 + if ( ! current_user_can( 'manage_options' ) ) {
1723 + return;
1724 + }
1725 +
1726 + $settings = _mw_adminimize_get_option_value();
1727 +
1728 + ignore_user_abort( TRUE );
1729 +
1730 + nocache_headers();
1731 + header( 'Content-Type: application/json; charset=utf-8' );
1732 + header( 'Content-Disposition: attachment; filename=mw_adminimize-settings-export-' . date( 'm-d-Y' ) . '.json' );
1733 + header( 'Expires: 0' );
1734 +
1735 + echo json_encode( $settings );
1736 + exit();
1737 +}
1738 +
1739 +/**
1740 + * Process a settings import from a json file
1741 + */
1742 +function _mw_adminimize_import_json() {
1743 +
1744 + if ( empty( $_POST[ '_mw_adminimize_action' ] ) || '_mw_adminimize_import' !== $_POST[ '_mw_adminimize_action' ] ) {
1745 + return;
1746 + }
1747 +
1748 + if ( ! wp_verify_nonce( $_POST[ 'mw_adminimize_import_nonce' ], 'mw_adminimize_import_nonce' ) ) {
1749 + return;
1750 + }
1751 +
1752 + if ( ! current_user_can( 'manage_options' ) ) {
1753 + return;
1754 + }
1755 +
1756 + $extension = pathinfo( $_FILES[ 'import_file' ][ 'name' ], PATHINFO_EXTENSION );
1757 + if ( $extension !== 'json' ) {
1758 + wp_die( esc_attr__( 'Please upload a valid .json file' ) );
1759 + }
1760 +
1761 + $import_file = $_FILES[ 'import_file' ][ 'tmp_name' ];
1762 +
1763 + if ( empty( $import_file ) ) {
1764 + wp_die( esc_attr__( 'Please upload a file to import' ) );
1765 + }
1766 +
1767 + // Retrieve the settings from the file and convert the json object to an array.
1768 + $settings = (array) json_decode( file_get_contents( $import_file ) );
1769 + unlink( $import_file );
1770 +
1771 + _mw_adminimize_update_option( $settings );
1748 1772 }