| @@ -6,15 +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.1 | |
| 11 | - * License: GPLv3+ | |
| 10 | + * Version: 1.9.1 | |
| 11 | + * License: GPLv2+ | |
| 12 | 12 | * |
| 13 | 13 | * @package WordPress |
| 14 | 14 | * @author Frank Bültge <[email protected]> |
| 15 | 15 | * @license http://opensource.org/licenses/gpl-license.php GNU Public License |
| 16 | - * @version 2016-11-24 | |
| 16 | + * @version 2016-01-25 | |
| 17 | 17 | */ |
| 18 | 18 | |
| 19 | 19 | /** |
| 20 | 20 | * The stylesheet and the initial idea is from Eric A. Meyer http://meyerweb.com/ |
| @@ -21,9 +21,8 @@ | ||
| 21 | 21 | * I have written a plugin with many options on the basis idea |
| 22 | 22 | * of differently user-right and a user-friendly range in admin-area via reduce areas. |
| 23 | 23 | * :( grmpf i have so much wishes and hints form users, there use the plugin and |
| 24 | 24 | * it is not easy to development this on my free time. |
| 25 | - * Also I hate the source, old and hard to maintain, no OOP. | |
| 26 | 25 | */ |
| 27 | 26 | |
| 28 | 27 | if ( ! function_exists( 'add_action' ) ) { |
| 29 | 28 | echo "Hi there! I'm just a part of plugin, not much I can do when called directly."; |
| @@ -33,15 +32,8 @@ | ||
| 33 | 32 | // plugin definitions |
| 34 | 33 | define( 'FB_ADMINIMIZE_BASENAME', plugin_basename( __FILE__ ) ); |
| 35 | 34 | define( 'FB_ADMINIMIZE_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) ); |
| 36 | 35 | |
| 37 | -/** | |
| 38 | - * Return data from the plugin. | |
| 39 | - * | |
| 40 | - * @param string $value | |
| 41 | - * | |
| 42 | - * @return mixed | |
| 43 | - */ | |
| 44 | 36 | function _mw_adminimize_get_plugin_data( $value = 'Version' ) { |
| 45 | 37 | |
| 46 | 38 | if ( ! function_exists( 'get_plugin_data' ) ) { |
| 47 | 39 | require_once ABSPATH . '/wp-admin/includes/plugin.php'; |
| @@ -46,11 +38,12 @@ | ||
| 46 | 38 | if ( ! function_exists( 'get_plugin_data' ) ) { |
| 47 | 39 | require_once ABSPATH . '/wp-admin/includes/plugin.php'; |
| 48 | 40 | } |
| 49 | 41 | |
| 50 | - $plugin_data = get_plugin_data( __FILE__ ); | |
| 42 | + $plugin_data = get_plugin_data( __FILE__ ); | |
| 43 | + $plugin_value = $plugin_data[ $value ]; | |
| 51 | 44 | |
| 52 | - return $plugin_data[ $value ]; | |
| 45 | + return $plugin_value; | |
| 53 | 46 | } |
| 54 | 47 | |
| 55 | 48 | /** |
| 56 | 49 | * Load language files. |
| @@ -92,36 +85,21 @@ | ||
| 92 | 85 | * @return bool |
| 93 | 86 | */ |
| 94 | 87 | function _mw_adminimize_exclude_settings_page() { |
| 95 | 88 | |
| 96 | - if ( ! is_admin() ) { | |
| 97 | - return FALSE; | |
| 89 | + if ( ! function_exists( 'get_current_screen' ) ) { | |
| 90 | + return TRUE; | |
| 98 | 91 | } |
| 99 | 92 | |
| 100 | - if ( defined('DOING_AJAX') && DOING_AJAX ) { | |
| 101 | - return FALSE; | |
| 102 | - } | |
| 93 | + // Get admin page | |
| 94 | + $screen = get_current_screen(); | |
| 103 | 95 | |
| 104 | - if ( ! isset( $_GET[ 'page' ] ) ) { | |
| 105 | - $page = ''; | |
| 106 | - } else { | |
| 107 | - $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; | |
| 108 | 99 | } |
| 109 | 100 | |
| 110 | - if ( ! function_exists( 'get_current_screen' ) ) { | |
| 111 | - $screen = $page; | |
| 112 | - } else { | |
| 113 | - $screen = get_current_screen(); | |
| 114 | - } | |
| 115 | - | |
| 116 | - if ( ! isset( $screen->id ) ) { | |
| 117 | - $screen = $page; | |
| 118 | - } else { | |
| 119 | - $screen = $screen->id; | |
| 120 | - } | |
| 121 | - | |
| 122 | - // Don't filter on settings page | |
| 123 | - return FALSE !== strpos( $screen, 'adminimize' ); | |
| 101 | + return FALSE; | |
| 124 | 102 | } |
| 125 | 103 | |
| 126 | 104 | /** |
| 127 | 105 | * Get status, if the plugin active network wide. |
| @@ -133,9 +111,9 @@ | ||
| 133 | 111 | if ( ! function_exists( 'is_plugin_active_for_network' ) ) { |
| 134 | 112 | require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); |
| 135 | 113 | } |
| 136 | 114 | |
| 137 | - if ( is_multisite() && is_plugin_active_for_network( FB_ADMINIMIZE_BASENAME ) ) { | |
| 115 | + if ( is_multisite() && is_plugin_active_for_network( MW_ADMIN_FILE ) ) { | |
| 138 | 116 | return TRUE; |
| 139 | 117 | } |
| 140 | 118 | |
| 141 | 119 | return FALSE; |
| @@ -149,14 +127,14 @@ | ||
| 149 | 127 | * @return array $user_roles |
| 150 | 128 | */ |
| 151 | 129 | function _mw_adminimize_get_all_user_roles() { |
| 152 | 130 | |
| 153 | - /** @var $wp_roles WP_Roles */ | |
| 154 | 131 | global $wp_roles; |
| 155 | 132 | |
| 156 | 133 | $user_roles = array(); |
| 157 | 134 | |
| 158 | 135 | if ( NULL !== $wp_roles->roles && is_array( $wp_roles->roles ) ) { |
| 136 | + /** @var array $wp_roles */ | |
| 159 | 137 | foreach ( $wp_roles->roles as $role => $data ) { |
| 160 | 138 | $user_roles[] = $role; |
| 161 | 139 | //$data contains caps, maybe for later use.. |
| 162 | 140 | } |
| @@ -162,14 +140,12 @@ | ||
| 162 | 140 | } |
| 163 | 141 | } |
| 164 | 142 | |
| 165 | 143 | // Exclude the new bbPress roles. |
| 166 | - if ( ! _mw_adminimize_get_option_value( 'mw_adminimize_support_bbpress' ) ) { | |
| 167 | - $user_roles = array_diff( | |
| 168 | - $user_roles, | |
| 169 | - array( 'bbp_keymaster', 'bbp_moderator', 'bbp_participant', 'bbp_spectator', 'bbp_blocked' ) | |
| 170 | - ); | |
| 171 | - } | |
| 144 | + $user_roles = array_diff( | |
| 145 | + $user_roles, | |
| 146 | + array( 'bbp_keymaster', 'bbp_moderator', 'bbp_participant', 'bbp_spectator', 'bbp_blocked' ) | |
| 147 | + ); | |
| 172 | 148 | |
| 173 | 149 | return $user_roles; |
| 174 | 150 | } |
| 175 | 151 | |
| @@ -181,31 +157,34 @@ | ||
| 181 | 157 | * @return array $user_roles_names |
| 182 | 158 | */ |
| 183 | 159 | function _mw_adminimize_get_all_user_roles_names() { |
| 184 | 160 | |
| 185 | - /** @var $wp_roles WP_Roles */ | |
| 186 | 161 | global $wp_roles; |
| 162 | + | |
| 187 | 163 | $user_roles_names = array(); |
| 188 | 164 | |
| 165 | + /** @var array $wp_roles */ | |
| 189 | 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 | + } | |
| 190 | 172 | |
| 191 | - $data = translate_user_role( $data ); | |
| 192 | 173 | $user_roles_names[] = $data; |
| 193 | 174 | } |
| 194 | 175 | |
| 195 | 176 | // exclude the new bbPress roles |
| 196 | - if ( ! _mw_adminimize_get_option_value( 'mw_adminimize_support_bbpress' ) ) { | |
| 197 | - $user_roles_names = array_diff( | |
| 198 | - $user_roles_names, | |
| 199 | - array( | |
| 200 | - esc_attr__( 'Keymaster', 'bbpress' ), | |
| 201 | - esc_attr__( 'Moderator', 'bbpress' ), | |
| 202 | - esc_attr__( 'Participant', 'bbpress' ), | |
| 203 | - esc_attr__( 'Spectator', 'bbpress' ), | |
| 204 | - esc_attr__( 'Blocked', 'bbpress' ), | |
| 205 | - ) | |
| 206 | - ); | |
| 207 | - } | |
| 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 | + ); | |
| 208 | 187 | |
| 209 | 188 | return $user_roles_names; |
| 210 | 189 | } |
| 211 | 190 | |
| @@ -211,9 +190,9 @@ | ||
| 211 | 190 | |
| 212 | 191 | /** |
| 213 | 192 | * return post type |
| 214 | 193 | */ |
| 215 | -function _mw_adminimize_get_current_post_type() { | |
| 194 | +function _mw_get_current_post_type() { | |
| 216 | 195 | |
| 217 | 196 | global $post, $typenow, $current_screen; |
| 218 | 197 | |
| 219 | 198 | //we have a post so we can just get the post type from that |
| @@ -253,9 +232,9 @@ | ||
| 253 | 232 | if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) { |
| 254 | 233 | $current_post_type = get_post_type( $post_id ); |
| 255 | 234 | } |
| 256 | 235 | if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) { |
| 257 | - $current_post_type = _mw_adminimize_get_current_post_type(); | |
| 236 | + $current_post_type = _mw_get_current_post_type(); | |
| 258 | 237 | } |
| 259 | 238 | if ( ! $current_post_type ) // set hard to post |
| 260 | 239 | { |
| 261 | 240 | $current_post_type = 'post'; |
| @@ -260,9 +239,9 @@ | ||
| 260 | 239 | { |
| 261 | 240 | $current_post_type = 'post'; |
| 262 | 241 | } |
| 263 | 242 | |
| 264 | - // Get all user roles. | |
| 243 | + // Get all user rolles. | |
| 265 | 244 | $user_roles = _mw_adminimize_get_all_user_roles(); |
| 266 | 245 | |
| 267 | 246 | // Get settings. |
| 268 | 247 | $adminimizeoptions = _mw_adminimize_get_option_value(); |
| @@ -318,11 +297,11 @@ | ||
| 318 | 297 | } |
| 319 | 298 | |
| 320 | 299 | $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
| 321 | 300 | |
| 322 | - // Backend options | |
| 301 | + // global options | |
| 323 | 302 | // exclude super admin |
| 324 | - if ( ! _mw_adminimize_exclude_super_admin() && ! _mw_adminimize_exclude_settings_page() ) { | |
| 303 | + if ( ! _mw_adminimize_exclude_super_admin() ) { | |
| 325 | 304 | $_mw_adminimize_footer = (int) _mw_adminimize_get_option_value( '_mw_adminimize_footer' ); |
| 326 | 305 | switch ( $_mw_adminimize_footer ) { |
| 327 | 306 | case 1: |
| 328 | 307 | wp_enqueue_script( |
| @@ -402,13 +381,18 @@ | ||
| 402 | 381 | } |
| 403 | 382 | |
| 404 | 383 | } |
| 405 | 384 | |
| 406 | - // set meta-box post option | |
| 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 | |
| 407 | 391 | if ( in_array( $pagenow, $def_post_pages, FALSE ) && in_array( $current_post_type, $def_post_types, FALSE ) ) { |
| 408 | 392 | add_action( 'admin_head', '_mw_adminimize_set_metabox_post_option', 1 ); |
| 409 | 393 | } |
| 410 | - // set meta-box page option | |
| 394 | + // set metabox page option | |
| 411 | 395 | if ( in_array( $pagenow, $def_page_pages, FALSE ) && in_array( $current_post_type, $def_page_types, FALSE ) ) { |
| 412 | 396 | add_action( 'admin_head', '_mw_adminimize_set_metabox_page_option', 1 ); |
| 413 | 397 | } |
| 414 | 398 | // set custom post type options |
| @@ -430,26 +414,41 @@ | ||
| 430 | 414 | // set widget options |
| 431 | 415 | if ( in_array( $pagenow, $widget_pages, FALSE ) ) { |
| 432 | 416 | add_action( 'admin_head', '_mw_adminimize_set_widget_option', 1 ); |
| 433 | 417 | } |
| 418 | + | |
| 419 | + $adminimizeoptions[ 'mw_adminimize_default_menu' ] = $menu; | |
| 420 | + $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $submenu; | |
| 434 | 421 | } |
| 435 | 422 | |
| 436 | -// Alternative run the hok admin_head later | |
| 437 | -add_action( 'admin_menu', '_mw_adminimize_set_menu_option', 99999 ); | |
| 438 | -// global_options | |
| 439 | -add_action( 'admin_head', '_mw_adminimize_set_global_option', 1 ); | |
| 423 | +/** | |
| 424 | + * Init always with WP | |
| 425 | + */ | |
| 426 | +function _mw_adminimize_init() { | |
| 427 | + | |
| 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 | + | |
| 440 | 438 | // on admin init |
| 439 | +define( 'MW_ADMIN_FILE', plugin_basename( __FILE__ ) ); | |
| 441 | 440 | if ( is_admin() ) { |
| 442 | 441 | add_action( 'admin_init', '_mw_adminimize_textdomain' ); |
| 443 | - add_action( 'admin_init', '_mw_adminimize_admin_init' ); | |
| 442 | + add_action( 'admin_init', '_mw_adminimize_admin_init', 2 ); | |
| 444 | 443 | add_action( 'admin_menu', '_mw_adminimize_add_settings_page' ); |
| 445 | 444 | add_action( 'admin_menu', '_mw_adminimize_remove_dashboard' ); |
| 446 | 445 | } |
| 447 | -add_action( 'init', '_mw_adminimize_set_logout_menu', 2 ); | |
| 446 | +add_action( 'init', '_mw_adminimize_init', 2 ); | |
| 448 | 447 | |
| 449 | 448 | register_activation_hook( __FILE__, '_mw_adminimize_install' ); |
| 450 | -register_uninstall_hook( __FILE__, '_mw_adminimize_uninstall' ); | |
| 451 | -//register_deactivation_hook(__FILE__, '_mw_adminimize_uninstall' ); | |
| 449 | +register_uninstall_hook( __FILE__, '_mw_adminimize_deinstall' ); | |
| 450 | +//register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall' ); | |
| 452 | 451 | |
| 453 | 452 | /** |
| 454 | 453 | * Remove the dashboard |
| 455 | 454 | */ |
| @@ -466,17 +465,17 @@ | ||
| 466 | 465 | } |
| 467 | 466 | |
| 468 | 467 | global $menu, $user_ID; |
| 469 | 468 | |
| 470 | - $disabled_menu_ = array(); | |
| 471 | - $disabled_submenu_ = array(); | |
| 469 | + $disabled_menu_ = ''; | |
| 470 | + $disabled_submenu_ = ''; | |
| 472 | 471 | $user_roles = _mw_adminimize_get_all_user_roles(); |
| 473 | 472 | |
| 474 | 473 | foreach ( $user_roles as $role ) { |
| 475 | - $disabled_menu_[ $role ] = (array) _mw_adminimize_get_option_value( | |
| 474 | + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value( | |
| 476 | 475 | 'mw_adminimize_disabled_menu_' . $role . '_items' |
| 477 | 476 | ); |
| 478 | - $disabled_submenu_[ $role ] = (array) _mw_adminimize_get_option_value( | |
| 477 | + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value( | |
| 479 | 478 | 'mw_adminimize_disabled_submenu_' . $role . '_items' |
| 480 | 479 | ); |
| 481 | 480 | } |
| 482 | 481 | |
| @@ -562,8 +561,104 @@ | ||
| 562 | 561 | } |
| 563 | 562 | } |
| 564 | 563 | |
| 565 | 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&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&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 | +/** | |
| 566 | 661 | * Set menu for settings |
| 567 | 662 | */ |
| 568 | 663 | function _mw_adminimize_set_menu_option() { |
| 569 | 664 | |
| @@ -582,23 +677,17 @@ | ||
| 582 | 677 | if ( ! isset( $menu ) || empty( $menu ) ) { |
| 583 | 678 | return; |
| 584 | 679 | } |
| 585 | 680 | |
| 586 | - _mw_adminimize_debug( $menu, 'Adminimize, WordPress Menu:' ); | |
| 587 | - _mw_adminimize_debug( $submenu, 'Adminimize, WordPress Sub-Menu:' ); | |
| 681 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 682 | + $disabled_menu_ = ''; | |
| 683 | + $disabled_submenu_ = ''; | |
| 588 | 684 | |
| 589 | - //$user_roles = _mw_adminimize_get_all_user_roles(); | |
| 590 | - $disabled_menu_ = array(); | |
| 591 | - $disabled_submenu_ = array(); | |
| 592 | - $user = wp_get_current_user(); | |
| 593 | - $user_roles = $user->roles; | |
| 594 | - _mw_adminimize_debug( $user, 'Adminimize, Current User:' ); | |
| 595 | - | |
| 596 | 685 | foreach ( $user_roles as $role ) { |
| 597 | - $disabled_menu_[ $role ] = (array) _mw_adminimize_get_option_value( | |
| 686 | + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value( | |
| 598 | 687 | 'mw_adminimize_disabled_menu_' . $role . '_items' |
| 599 | 688 | ); |
| 600 | - $disabled_submenu_[ $role ] = (array) _mw_adminimize_get_option_value( | |
| 689 | + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value( | |
| 601 | 690 | 'mw_adminimize_disabled_submenu_' . $role . '_items' |
| 602 | 691 | ); |
| 603 | 692 | } |
| 604 | 693 | |
| @@ -607,67 +696,51 @@ | ||
| 607 | 696 | |
| 608 | 697 | // Set admin-menu. |
| 609 | 698 | foreach ( $user_roles as $role ) { |
| 610 | 699 | |
| 611 | - if ( in_array( $role, $user->roles, FALSE ) | |
| 612 | - && _mw_adminimize_current_user_has_role( $role ) | |
| 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 | + ) | |
| 613 | 706 | ) { |
| 614 | - // Create array about all items with all affected roles. | |
| 615 | - foreach ( $disabled_menu_[ $role ] as $menu_item ) { | |
| 616 | - $mw_adminimize_menu[] = $menu_item; | |
| 617 | - } | |
| 618 | - foreach ( $disabled_submenu_[ $role ] as $submenu_item ) { | |
| 619 | - $mw_adminimize_submenu[] = $submenu_item; | |
| 620 | - } | |
| 707 | + $mw_adminimize_menu = $disabled_menu_[ $role ]; | |
| 708 | + $mw_adminimize_submenu = $disabled_submenu_[ $role ]; | |
| 621 | 709 | } |
| 622 | - | |
| 623 | 710 | } |
| 624 | 711 | |
| 625 | - // Support Multiple Roles for users. | |
| 626 | - // Leave only the items, there are active on each roles of the users. | |
| 627 | - if ( _mw_adminimize_get_option_value( 'mw_adminimize_multiple_roles' ) && 1 < count( $user->roles ) ) { | |
| 628 | - $mw_adminimize_menu = _mw_adminimize_get_intersection( $disabled_menu_ ); | |
| 629 | - $mw_adminimize_submenu = _mw_adminimize_get_intersection( $disabled_submenu_ ); | |
| 630 | - } else { | |
| 631 | - // Alternative filter the array to remove duplicates, much faster. | |
| 632 | - $mw_adminimize_menu = array_unique( $mw_adminimize_menu ); | |
| 633 | - $mw_adminimize_submenu = array_unique( $mw_adminimize_submenu ); | |
| 634 | - } | |
| 635 | - _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Menu Slugs to hide after Filter.' ); | |
| 636 | - _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Sub-Menu Slugs to hide after Filter.' ); | |
| 637 | - | |
| 638 | 712 | // Fallback on users.php on all user roles smaller admin. |
| 639 | - if ( in_array( 'users.php', $mw_adminimize_menu, FALSE ) ) { | |
| 713 | + if ( is_array( $mw_adminimize_menu ) && in_array( 'users.php', $mw_adminimize_menu, FALSE ) ) { | |
| 640 | 714 | $mw_adminimize_menu[] = 'profile.php'; |
| 641 | 715 | } |
| 642 | - foreach ( $menu as $key => $item ) { | |
| 643 | 716 | |
| 644 | - // Menu | |
| 717 | + foreach ( $menu as $index => $item ) { | |
| 718 | + | |
| 719 | + if ( 'index.php' === $item ) { | |
| 720 | + continue; | |
| 721 | + } | |
| 722 | + | |
| 645 | 723 | if ( isset( $item[ 2 ] ) ) { |
| 646 | - $menu_slug = $item[ 2 ]; | |
| 647 | - // Check, if the Menu item in the current user role settings? | |
| 648 | - 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 | + ) | |
| 649 | 728 | ) { |
| 650 | - remove_menu_page( $menu_slug ); | |
| 651 | - // Prevent access to the page with the slug, there was inactive. | |
| 652 | - _mw_adminimize_check_page_access( $menu_slug ); | |
| 729 | + unset( $menu[ $index ] ); | |
| 653 | 730 | } |
| 654 | 731 | |
| 655 | - // Sub Menu Settings. | |
| 656 | - if ( isset( $submenu ) && ! empty( $submenu[ $menu_slug ] ) ) { | |
| 657 | - foreach ( $submenu[ $menu_slug ] as $subindex => $subitem ) { | |
| 658 | - // 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? | |
| 659 | 735 | if ( |
| 660 | 736 | isset( $mw_adminimize_submenu ) |
| 661 | 737 | && _mw_adminimize_in_arrays( |
| 662 | - array( $subitem[ 2 ], $menu_slug . '__' . $subindex ), | |
| 738 | + array( $subitem[ 2 ], $item[ 2 ] . '__' . $subindex ), | |
| 663 | 739 | $mw_adminimize_submenu |
| 664 | 740 | ) |
| 665 | 741 | ) { |
| 666 | - remove_submenu_page( $menu_slug, $subitem[ 2 ] ); | |
| 667 | - //unset( $submenu[ $menu_slug ][ $subindex ] ); | |
| 668 | - // Prevent access to the page with the slug, there was inactive. | |
| 669 | - _mw_adminimize_check_page_access( $subitem[ 2 ] ); | |
| 742 | + unset( $submenu[ $item[ 2 ] ][ $subindex ] ); | |
| 670 | 743 | } |
| 671 | 744 | } |
| 672 | 745 | } |
| 673 | 746 | } |
| @@ -675,12 +748,14 @@ | ||
| 675 | 748 | |
| 676 | 749 | } |
| 677 | 750 | |
| 678 | 751 | /** |
| 679 | - * Set global options in backend in all areas. | |
| 752 | + * set global options in backend in all areas | |
| 680 | 753 | */ |
| 681 | 754 | function _mw_adminimize_set_global_option() { |
| 682 | 755 | |
| 756 | + global $_wp_admin_css_colors; | |
| 757 | + | |
| 683 | 758 | // exclude super admin |
| 684 | 759 | if ( _mw_adminimize_exclude_super_admin() ) { |
| 685 | 760 | return NULL; |
| 686 | 761 | } |
| @@ -691,44 +766,41 @@ | ||
| 691 | 766 | } |
| 692 | 767 | |
| 693 | 768 | $user_roles = _mw_adminimize_get_all_user_roles(); |
| 694 | 769 | $_mw_adminimize_admin_head = ''; |
| 695 | - $disabled_global_option = array(); | |
| 696 | - $disabled_global_option_ = array(); | |
| 697 | - $user = wp_get_current_user(); | |
| 698 | 770 | |
| 699 | - // Get settings for each role. | |
| 700 | 771 | foreach ( $user_roles as $role ) { |
| 701 | - $disabled_global_option_[ $role ] = (array) _mw_adminimize_get_option_value( | |
| 772 | + $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 702 | 773 | 'mw_adminimize_disabled_global_option_' . $role . '_items' |
| 703 | 774 | ); |
| 704 | 775 | } |
| 705 | 776 | |
| 706 | - // Write global options in an var. | |
| 707 | 777 | foreach ( $user_roles as $role ) { |
| 708 | - if ( in_array( $role, $user->roles, FALSE ) && _mw_adminimize_current_user_has_role( $role ) ) { | |
| 778 | + if ( ! isset( $disabled_global_option_[ $role ][ '0' ] ) ) { | |
| 779 | + $disabled_global_option_[ $role ][ '0' ] = ''; | |
| 780 | + } | |
| 781 | + } | |
| 709 | 782 | |
| 710 | - // Create array about all items with all affected roles, important for multiple roles. | |
| 711 | - foreach ( $disabled_global_option_[ $role ] as $global_item ) { | |
| 712 | - $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 ] ); | |
| 713 | 793 | } |
| 714 | 794 | } |
| 715 | 795 | } |
| 716 | - | |
| 717 | - // Support Multiple Roles for users. | |
| 718 | - if ( _mw_adminimize_get_option_value( 'mw_adminimize_multiple_roles' ) && 1 < count( $user->roles ) ) { | |
| 719 | - $disabled_global_option = _mw_adminimize_get_duplicate( $disabled_global_option ); | |
| 720 | - } | |
| 721 | - $global_options = implode( ', ', $disabled_global_option ); | |
| 722 | - | |
| 723 | - if ( 0 === strpos( $global_options, '#your-profile .form-table fieldset' ) ) { | |
| 724 | - global $_wp_admin_css_colors; | |
| 796 | + if ( isset( $global_options ) && 0 != strpos( $global_options, '#your-profile .form-table fieldset' ) ) { | |
| 725 | 797 | $_wp_admin_css_colors = 0; |
| 726 | 798 | } |
| 727 | 799 | $_mw_adminimize_admin_head .= '<!-- Set Adminimize global options -->' . "\n"; |
| 728 | 800 | $_mw_adminimize_admin_head .= '<style type="text/css">' . $global_options . ' {display:none !important;}</style>' . "\n"; |
| 729 | 801 | |
| 730 | - if ( '' !== $global_options ) { | |
| 802 | + if ( ! empty( $global_options ) ) { | |
| 731 | 803 | echo $_mw_adminimize_admin_head; |
| 732 | 804 | } |
| 733 | 805 | } |
| 734 | 806 | |
| @@ -1081,9 +1153,8 @@ | ||
| 1081 | 1153 | } |
| 1082 | 1154 | |
| 1083 | 1155 | // Include message class. |
| 1084 | 1156 | require_once 'inc-setup/messages.php'; |
| 1085 | - | |
| 1086 | 1157 | // include helping functions |
| 1087 | 1158 | require_once 'inc-setup/helping_hands.php'; |
| 1088 | 1159 | |
| 1089 | 1160 | // inc. settings page |
| @@ -1202,27 +1273,20 @@ | ||
| 1202 | 1273 | * @return array |
| 1203 | 1274 | */ |
| 1204 | 1275 | function _mw_adminimize_get_option_value( $key = FALSE ) { |
| 1205 | 1276 | |
| 1206 | - $adminimizeoptions = FALSE; | |
| 1207 | - if ( ! _mw_adminimize_exclude_settings_page() ) { | |
| 1208 | - $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() ); | |
| 1209 | 1282 | } |
| 1210 | 1283 | |
| 1211 | - if ( FALSE === $adminimizeoptions ) { | |
| 1212 | - // check for use on multisite | |
| 1213 | - if ( _mw_adminimize_is_active_on_multisite() ) { | |
| 1214 | - $adminimizeoptions = (array) get_site_option( 'mw_adminimize', array() ); | |
| 1215 | - } else { | |
| 1216 | - $adminimizeoptions = (array) get_option( 'mw_adminimize', array() ); | |
| 1217 | - } | |
| 1218 | - wp_cache_set( 'mw_adminimize', $adminimizeoptions ); | |
| 1219 | - } | |
| 1220 | - | |
| 1221 | 1284 | if ( ! $key ) { |
| 1222 | 1285 | return $adminimizeoptions; |
| 1223 | 1286 | } |
| 1224 | 1287 | |
| 1288 | + /** @var array $adminimizeoptions */ | |
| 1225 | 1289 | return array_key_exists( $key, $adminimizeoptions ) ? $adminimizeoptions[ $key ] : NULL; |
| 1226 | 1290 | } |
| 1227 | 1291 | |
| 1228 | 1292 | /** |
| @@ -1228,27 +1292,20 @@ | ||
| 1228 | 1292 | /** |
| 1229 | 1293 | * Update options. |
| 1230 | 1294 | * |
| 1231 | 1295 | * @param array $options |
| 1232 | - * | |
| 1233 | - * @return bool | |
| 1234 | 1296 | */ |
| 1235 | 1297 | function _mw_adminimize_update_option( $options ) { |
| 1236 | 1298 | |
| 1237 | 1299 | if ( ! current_user_can( 'manage_options' ) ) { |
| 1238 | - return FALSE; | |
| 1300 | + return; | |
| 1239 | 1301 | } |
| 1240 | 1302 | |
| 1241 | - // Kill the cache for the settings page. | |
| 1242 | - wp_cache_delete( 'mw_adminimize' ); | |
| 1243 | 1303 | if ( _mw_adminimize_is_active_on_multisite() ) { |
| 1244 | 1304 | update_site_option( 'mw_adminimize', $options ); |
| 1245 | 1305 | } else { |
| 1246 | 1306 | update_option( 'mw_adminimize', $options ); |
| 1247 | 1307 | } |
| 1248 | - wp_cache_add( 'mw_adminimize', $options ); | |
| 1249 | - | |
| 1250 | - return TRUE; | |
| 1251 | 1308 | } |
| 1252 | 1309 | |
| 1253 | 1310 | /** |
| 1254 | 1311 | * Update options in database |
| @@ -1272,33 +1329,8 @@ | ||
| 1272 | 1329 | $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ] = array(); |
| 1273 | 1330 | } |
| 1274 | 1331 | } |
| 1275 | 1332 | |
| 1276 | - // Plugin Self Settings. | |
| 1277 | - if ( isset( $_POST[ 'mw_adminimize_debug' ] ) ) { | |
| 1278 | - $adminimizeoptions[ 'mw_adminimize_debug' ] = (int) $_POST[ 'mw_adminimize_debug' ]; | |
| 1279 | - } else { | |
| 1280 | - $adminimizeoptions[ 'mw_adminimize_debug' ] = 0; | |
| 1281 | - } | |
| 1282 | - | |
| 1283 | - if ( isset( $_POST[ 'mw_adminimize_multiple_roles' ] ) ) { | |
| 1284 | - $adminimizeoptions[ 'mw_adminimize_multiple_roles' ] = (int) $_POST[ 'mw_adminimize_multiple_roles' ]; | |
| 1285 | - } else { | |
| 1286 | - $adminimizeoptions[ 'mw_adminimize_multiple_roles' ] = 0; | |
| 1287 | - } | |
| 1288 | - | |
| 1289 | - if ( isset( $_POST[ 'mw_adminimize_support_bbpress' ] ) ) { | |
| 1290 | - $adminimizeoptions[ 'mw_adminimize_support_bbpress' ] = (int) $_POST[ 'mw_adminimize_support_bbpress' ]; | |
| 1291 | - } else { | |
| 1292 | - $adminimizeoptions[ 'mw_adminimize_support_bbpress' ] = 0; | |
| 1293 | - } | |
| 1294 | - | |
| 1295 | - if ( isset( $_POST[ 'mw_adminimize_prevent_page_access' ] ) ) { | |
| 1296 | - $adminimizeoptions[ 'mw_adminimize_prevent_page_access' ] = (int) $_POST[ 'mw_adminimize_prevent_page_access' ]; | |
| 1297 | - } else { | |
| 1298 | - $adminimizeoptions[ 'mw_adminimize_prevent_page_access' ] = 0; | |
| 1299 | - } | |
| 1300 | - | |
| 1301 | 1333 | // Admin Bar Front end settings |
| 1302 | 1334 | $adminimizeoptions[ 'mw_adminimize_admin_bar_frontend_nodes' ] = _mw_adminimize_get_option_value( |
| 1303 | 1335 | 'mw_adminimize_admin_bar_frontend_nodes' |
| 1304 | 1336 | ); |
| @@ -1303,9 +1335,9 @@ | ||
| 1303 | 1335 | 'mw_adminimize_admin_bar_frontend_nodes' |
| 1304 | 1336 | ); |
| 1305 | 1337 | // admin bar front end options |
| 1306 | 1338 | foreach ( $user_roles as $role ) { |
| 1307 | - // admin bar front-end options | |
| 1339 | + // admin bar fron tend options | |
| 1308 | 1340 | if ( isset( $_POST[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] ) ) { |
| 1309 | 1341 | $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] = $_POST[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ]; |
| 1310 | 1342 | } else { |
| 1311 | 1343 | $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] = array(); |
| @@ -1366,19 +1398,10 @@ | ||
| 1366 | 1398 | $adminimizeoptions[ '_mw_adminimize_advice' ] = 0; |
| 1367 | 1399 | } |
| 1368 | 1400 | |
| 1369 | 1401 | if ( isset( $_POST[ '_mw_adminimize_advice_txt' ] ) ) { |
| 1370 | - $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = wp_kses( | |
| 1371 | - $_POST[ '_mw_adminimize_advice_txt' ], | |
| 1372 | - array( | |
| 1373 | - 'a' => array( | |
| 1374 | - 'href' => array(), | |
| 1375 | - 'title' => array() | |
| 1376 | - ), | |
| 1377 | - 'br' => array(), | |
| 1378 | - 'em' => array(), | |
| 1379 | - 'strong' => array(), | |
| 1380 | - ) | |
| 1402 | + $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = htmlspecialchars( | |
| 1403 | + stripslashes( $_POST[ '_mw_adminimize_advice_txt' ] ) | |
| 1381 | 1404 | ); |
| 1382 | 1405 | } else { |
| 1383 | 1406 | $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = ''; |
| 1384 | 1407 | } |
| @@ -1411,27 +1434,8 @@ | ||
| 1411 | 1434 | $adminimizeoptions[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ] = array(); |
| 1412 | 1435 | } |
| 1413 | 1436 | } |
| 1414 | 1437 | |
| 1415 | - // @ToDo After release of WP 4.7, switch to sanitize_textarea_field() | |
| 1416 | - | |
| 1417 | - // own menu slug | |
| 1418 | - if ( isset( $_POST[ '_mw_adminimize_own_menu_slug' ] ) ) { | |
| 1419 | - $adminimizeoptions[ '_mw_adminimize_own_menu_slug' ] = wp_strip_all_tags( | |
| 1420 | - $_POST[ '_mw_adminimize_own_menu_slug' ] | |
| 1421 | - ); | |
| 1422 | - } else { | |
| 1423 | - $adminimizeoptions[ '_mw_adminimize_own_menu_slug' ] = ''; | |
| 1424 | - } | |
| 1425 | - // own custom menu slug | |
| 1426 | - if ( isset( $_POST[ '_mw_adminimize_own_menu_custom_slug' ] ) ) { | |
| 1427 | - $adminimizeoptions[ '_mw_adminimize_own_menu_custom_slug' ] = wp_strip_all_tags( | |
| 1428 | - $_POST[ '_mw_adminimize_own_menu_custom_slug' ] | |
| 1429 | - ); | |
| 1430 | - } else { | |
| 1431 | - $adminimizeoptions[ '_mw_adminimize_own_menu_custom_slug' ] = ''; | |
| 1432 | - } | |
| 1433 | - | |
| 1434 | 1438 | // global_options, metaboxes update |
| 1435 | 1439 | foreach ( $user_roles as $role ) { |
| 1436 | 1440 | |
| 1437 | 1441 | // global options |
| @@ -1498,15 +1502,15 @@ | ||
| 1498 | 1502 | } |
| 1499 | 1503 | |
| 1500 | 1504 | // own options |
| 1501 | 1505 | if ( isset( $_POST[ '_mw_adminimize_own_values' ] ) ) { |
| 1502 | - $adminimizeoptions[ '_mw_adminimize_own_values' ] = wp_strip_all_tags( $_POST[ '_mw_adminimize_own_values' ] ); | |
| 1506 | + $adminimizeoptions[ '_mw_adminimize_own_values' ] = stripslashes( $_POST[ '_mw_adminimize_own_values' ] ); | |
| 1503 | 1507 | } else { |
| 1504 | 1508 | $adminimizeoptions[ '_mw_adminimize_own_values' ] = ''; |
| 1505 | 1509 | } |
| 1506 | 1510 | |
| 1507 | 1511 | if ( isset( $_POST[ '_mw_adminimize_own_options' ] ) ) { |
| 1508 | - $adminimizeoptions[ '_mw_adminimize_own_options' ] = wp_strip_all_tags( $_POST[ '_mw_adminimize_own_options' ] ); | |
| 1512 | + $adminimizeoptions[ '_mw_adminimize_own_options' ] = stripslashes( $_POST[ '_mw_adminimize_own_options' ] ); | |
| 1509 | 1513 | } else { |
| 1510 | 1514 | $adminimizeoptions[ '_mw_adminimize_own_options' ] = ''; |
| 1511 | 1515 | } |
| 1512 | 1516 | |
| @@ -1511,9 +1515,9 @@ | ||
| 1511 | 1515 | } |
| 1512 | 1516 | |
| 1513 | 1517 | // own post options |
| 1514 | 1518 | if ( isset( $_POST[ '_mw_adminimize_own_post_values' ] ) ) { |
| 1515 | - $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = wp_strip_all_tags( | |
| 1519 | + $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = stripslashes( | |
| 1516 | 1520 | $_POST[ '_mw_adminimize_own_post_values' ] |
| 1517 | 1521 | ); |
| 1518 | 1522 | } else { |
| 1519 | 1523 | $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = ''; |
| @@ -1519,9 +1523,9 @@ | ||
| 1519 | 1523 | $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = ''; |
| 1520 | 1524 | } |
| 1521 | 1525 | |
| 1522 | 1526 | if ( isset( $_POST[ '_mw_adminimize_own_post_options' ] ) ) { |
| 1523 | - $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = wp_strip_all_tags( | |
| 1527 | + $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = stripslashes( | |
| 1524 | 1528 | $_POST[ '_mw_adminimize_own_post_options' ] |
| 1525 | 1529 | ); |
| 1526 | 1530 | } else { |
| 1527 | 1531 | $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = ''; |
| @@ -1528,9 +1532,9 @@ | ||
| 1528 | 1532 | } |
| 1529 | 1533 | |
| 1530 | 1534 | // own page options |
| 1531 | 1535 | if ( isset( $_POST[ '_mw_adminimize_own_page_values' ] ) ) { |
| 1532 | - $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = wp_strip_all_tags( | |
| 1536 | + $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = stripslashes( | |
| 1533 | 1537 | $_POST[ '_mw_adminimize_own_page_values' ] |
| 1534 | 1538 | ); |
| 1535 | 1539 | } else { |
| 1536 | 1540 | $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = ''; |
| @@ -1536,9 +1540,9 @@ | ||
| 1536 | 1540 | $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = ''; |
| 1537 | 1541 | } |
| 1538 | 1542 | |
| 1539 | 1543 | if ( isset( $_POST[ '_mw_adminimize_own_page_options' ] ) ) { |
| 1540 | - $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = wp_strip_all_tags( | |
| 1544 | + $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = stripslashes( | |
| 1541 | 1545 | $_POST[ '_mw_adminimize_own_page_options' ] |
| 1542 | 1546 | ); |
| 1543 | 1547 | } else { |
| 1544 | 1548 | $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = ''; |
| @@ -1546,9 +1550,9 @@ | ||
| 1546 | 1550 | |
| 1547 | 1551 | // own custom post options |
| 1548 | 1552 | foreach ( $post_types as $post_type ) { |
| 1549 | 1553 | if ( isset( $_POST[ '_mw_adminimize_own_values_' . $post_type ] ) ) { |
| 1550 | - $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = wp_strip_all_tags( | |
| 1554 | + $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = stripslashes( | |
| 1551 | 1555 | $_POST[ '_mw_adminimize_own_values_' . $post_type ] |
| 1552 | 1556 | ); |
| 1553 | 1557 | } else { |
| 1554 | 1558 | $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = ''; |
| @@ -1554,9 +1558,9 @@ | ||
| 1554 | 1558 | $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = ''; |
| 1555 | 1559 | } |
| 1556 | 1560 | |
| 1557 | 1561 | if ( isset( $_POST[ '_mw_adminimize_own_options_' . $post_type ] ) ) { |
| 1558 | - $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = wp_strip_all_tags( | |
| 1562 | + $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = stripslashes( | |
| 1559 | 1563 | $_POST[ '_mw_adminimize_own_options_' . $post_type ] |
| 1560 | 1564 | ); |
| 1561 | 1565 | } else { |
| 1562 | 1566 | $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = ''; |
| @@ -1564,9 +1568,9 @@ | ||
| 1564 | 1568 | } |
| 1565 | 1569 | |
| 1566 | 1570 | // own link options |
| 1567 | 1571 | if ( isset( $_POST[ '_mw_adminimize_own_link_values' ] ) ) { |
| 1568 | - $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = wp_strip_all_tags( | |
| 1572 | + $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = stripslashes( | |
| 1569 | 1573 | $_POST[ '_mw_adminimize_own_link_values' ] |
| 1570 | 1574 | ); |
| 1571 | 1575 | } else { |
| 1572 | 1576 | $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = ''; |
| @@ -1572,9 +1576,9 @@ | ||
| 1572 | 1576 | $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = ''; |
| 1573 | 1577 | } |
| 1574 | 1578 | |
| 1575 | 1579 | if ( isset( $_POST[ '_mw_adminimize_own_link_options' ] ) ) { |
| 1576 | - $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = wp_strip_all_tags( | |
| 1580 | + $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = stripslashes( | |
| 1577 | 1581 | $_POST[ '_mw_adminimize_own_link_options' ] |
| 1578 | 1582 | ); |
| 1579 | 1583 | } else { |
| 1580 | 1584 | $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = ''; |
| @@ -1581,9 +1585,9 @@ | ||
| 1581 | 1585 | } |
| 1582 | 1586 | |
| 1583 | 1587 | // wp nav menu options |
| 1584 | 1588 | if ( isset( $_POST[ '_mw_adminimize_own_nav_menu_values' ] ) ) { |
| 1585 | - $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = wp_strip_all_tags( | |
| 1589 | + $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = stripslashes( | |
| 1586 | 1590 | $_POST[ '_mw_adminimize_own_nav_menu_values' ] |
| 1587 | 1591 | ); |
| 1588 | 1592 | } else { |
| 1589 | 1593 | $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = ''; |
| @@ -1589,9 +1593,9 @@ | ||
| 1589 | 1593 | $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = ''; |
| 1590 | 1594 | } |
| 1591 | 1595 | |
| 1592 | 1596 | if ( isset( $_POST[ '_mw_adminimize_own_nav_menu_options' ] ) ) { |
| 1593 | - $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = wp_strip_all_tags( | |
| 1597 | + $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = stripslashes( | |
| 1594 | 1598 | $_POST[ '_mw_adminimize_own_nav_menu_options' ] |
| 1595 | 1599 | ); |
| 1596 | 1600 | } else { |
| 1597 | 1601 | $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = ''; |
| @@ -1598,9 +1602,9 @@ | ||
| 1598 | 1602 | } |
| 1599 | 1603 | |
| 1600 | 1604 | // widget options |
| 1601 | 1605 | if ( isset( $_POST[ '_mw_adminimize_own_widget_values' ] ) ) { |
| 1602 | - $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = wp_strip_all_tags( | |
| 1606 | + $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = stripslashes( | |
| 1603 | 1607 | $_POST[ '_mw_adminimize_own_widget_values' ] |
| 1604 | 1608 | ); |
| 1605 | 1609 | } else { |
| 1606 | 1610 | $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = ''; |
| @@ -1606,9 +1610,9 @@ | ||
| 1606 | 1610 | $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = ''; |
| 1607 | 1611 | } |
| 1608 | 1612 | |
| 1609 | 1613 | if ( isset( $_POST[ '_mw_adminimize_own_widget_options' ] ) ) { |
| 1610 | - $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = wp_strip_all_tags( | |
| 1614 | + $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = stripslashes( | |
| 1611 | 1615 | $_POST[ '_mw_adminimize_own_widget_options' ] |
| 1612 | 1616 | ); |
| 1613 | 1617 | } else { |
| 1614 | 1618 | $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = ''; |
| @@ -1615,9 +1619,9 @@ | ||
| 1615 | 1619 | } |
| 1616 | 1620 | |
| 1617 | 1621 | // own dashboard options |
| 1618 | 1622 | if ( isset( $_POST[ '_mw_adminimize_own_dashboard_values' ] ) ) { |
| 1619 | - $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = wp_strip_all_tags( | |
| 1623 | + $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = stripslashes( | |
| 1620 | 1624 | $_POST[ '_mw_adminimize_own_dashboard_values' ] |
| 1621 | 1625 | ); |
| 1622 | 1626 | } else { |
| 1623 | 1627 | $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = ''; |
| @@ -1623,9 +1627,9 @@ | ||
| 1623 | 1627 | $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = ''; |
| 1624 | 1628 | } |
| 1625 | 1629 | |
| 1626 | 1630 | if ( isset( $_POST[ '_mw_adminimize_own_dashboard_options' ] ) ) { |
| 1627 | - $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = wp_strip_all_tags( | |
| 1631 | + $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = stripslashes( | |
| 1628 | 1632 | $_POST[ '_mw_adminimize_own_dashboard_options' ] |
| 1629 | 1633 | ); |
| 1630 | 1634 | } else { |
| 1631 | 1635 | $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = ''; |
| @@ -1642,31 +1646,22 @@ | ||
| 1642 | 1646 | $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $GLOBALS[ 'submenu' ]; |
| 1643 | 1647 | } |
| 1644 | 1648 | |
| 1645 | 1649 | // update |
| 1646 | - $update_status = _mw_adminimize_update_option( $adminimizeoptions ); | |
| 1650 | + _mw_adminimize_update_option( $adminimizeoptions ); | |
| 1647 | 1651 | |
| 1648 | 1652 | $myErrors = new _mw_adminimize_message_class(); |
| 1649 | - if ( $update_status ) { | |
| 1650 | - $message = $myErrors->get_error( | |
| 1653 | + $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error( | |
| 1651 | 1654 | '_mw_adminimize_update' |
| 1652 | - ); | |
| 1653 | - } else { | |
| 1654 | - $message = $myErrors->get_error( | |
| 1655 | - '_mw_adminimize_access_denied' | |
| 1656 | - ); | |
| 1657 | - } | |
| 1658 | - echo '<div id="message" class="notice notice-success"><p>' . $message . '</p></div>'; | |
| 1659 | - | |
| 1660 | - return TRUE; | |
| 1655 | + ) . '</p></div>'; | |
| 1656 | + echo $myErrors; | |
| 1661 | 1657 | } |
| 1662 | 1658 | |
| 1663 | 1659 | /** |
| 1664 | 1660 | * Delete options in database |
| 1665 | 1661 | */ |
| 1666 | -function _mw_adminimize_uninstall() { | |
| 1662 | +function _mw_adminimize_deinstall() { | |
| 1667 | 1663 | |
| 1668 | - wp_cache_delete( 'mw_adminimize' ); | |
| 1669 | 1664 | delete_site_option( 'mw_adminimize' ); |
| 1670 | 1665 | delete_option( 'mw_adminimize' ); |
| 1671 | 1666 | } |
| 1672 | 1667 | |
| @@ -1675,16 +1670,11 @@ | ||
| 1675 | 1670 | */ |
| 1676 | 1671 | function _mw_adminimize_install() { |
| 1677 | 1672 | |
| 1678 | 1673 | if ( ! is_admin() ) { |
| 1679 | - return; | |
| 1674 | + return NULL; | |
| 1680 | 1675 | } |
| 1681 | 1676 | |
| 1682 | - // If is AJAX Call. | |
| 1683 | - if ( defined('DOING_AJAX') && DOING_AJAX ) { | |
| 1684 | - return; | |
| 1685 | - } | |
| 1686 | - | |
| 1687 | 1677 | global $menu, $submenu; |
| 1688 | 1678 | |
| 1689 | 1679 | $user_roles = _mw_adminimize_get_all_user_roles(); |
| 1690 | 1680 | $adminimizeoptions = array(); |
| @@ -1712,9 +1702,8 @@ | ||
| 1712 | 1702 | add_site_option( 'mw_adminimize', $adminimizeoptions ); |
| 1713 | 1703 | } else { |
| 1714 | 1704 | add_option( 'mw_adminimize', $adminimizeoptions ); |
| 1715 | 1705 | } |
| 1716 | - wp_cache_add( 'mw_adminimize', $adminimizeoptions ); | |
| 1717 | 1706 | } |
| 1718 | 1707 | |
| 1719 | 1708 | /** |
| 1720 | 1709 | * Process a settings export that generates a .json file of the shop settings |