/** * Set dashboard widget options. */ function _mw_adminimize_dashboard_setup() { // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return; } $user_roles = _mw_adminimize_get_all_user_roles(); $disabled_dashboard_option_ = array(); foreach ($user_roles as $role) { $disabled_dashboard_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_dashboard_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_dashboard_option_[$role]['0'])) { $disabled_dashboard_option_[$role]['0'] = ''; } } // Get all widgets. $widgets = _mw_adminimize_get_dashboard_widgets(); // Get current user data. $user = wp_get_current_user(); foreach ($user_roles as $role) { if (is_array($user->roles) && is_array($disabled_dashboard_option_[$role]) && in_array($role, $user->roles) && _mw_adminimize_current_user_has_role($role)) { foreach ($disabled_dashboard_option_[$role] as $widget) { if (isset($widgets[$widget]['context'])) { remove_meta_box($widget, 'dashboard', $widgets[$widget]['context']); } } } } }
/** * @return bool|null */ function _mw_adminimize_check_to_remove_admin_notices() { // Exclude super admin. if (_mw_adminimize_exclude_super_admin()) { return; } $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_global_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_global_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_global_option_[$role]['0'])) { $disabled_global_option_[$role]['0'] = ''; } } $remove_admin_notices = FALSE; foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (_mw_adminimize_current_user_has_role($role) && isset($disabled_global_option_[$role]) && is_array($disabled_global_option_[$role])) { $remove_admin_notices = _mw_adminimize_recursive_in_array('.admin-notices', $disabled_global_option_[$role]); } } } return $remove_admin_notices; }
function _mw_adminimize_dashboard_setup() { global $wp_meta_boxes; $adminimizeoptions = get_option('mw_adminimize'); $widgets = _mw_adminimize_get_dashboard_widgets(); $adminimizeoptions['mw_adminimize_dashboard_widgets'] = $widgets; if (current_user_can('manage_options')) { update_option('mw_adminimize', $adminimizeoptions); } // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return NULL; } $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_dashboard_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_dashboard_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_dashboard_option_[$role]['0'])) { $disabled_dashboard_option_[$role]['0'] = ''; } } foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (current_user_can($role) && is_array($disabled_dashboard_option_[$role])) { foreach ($disabled_dashboard_option_[$role] as $widget) { if (isset($widgets[$widget]['context'])) { remove_meta_box($widget, 'dashboard', $widgets[$widget]['context']); } } } } } }
/** * Remove items in Admin Bar for current role of current active user * Exclude Super Admin, if active * Exclude Settings page of Adminimize * * @since 1.8.1 01/10/2013 * @return void */ function _mw_adminimize_change_admin_bar($wp_admin_bar) { // Don't filter on settings page if (isset($GLOBALS['current_screen']->base) && 'settings_page_adminimize/adminimize' == $GLOBALS['current_screen']->base) { return NULL; } // Exclude super admin if (_mw_adminimize_exclude_super_admin()) { return NULL; } $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_admin_bar_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_admin_bar_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_admin_bar_option_[$role]['0'])) { $disabled_admin_bar_option_[$role]['0'] = ''; } } foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (current_user_can($role) && is_array($disabled_admin_bar_option_[$role])) { foreach ($disabled_admin_bar_option_[$role] as $admin_bar_item) { $wp_admin_bar->remove_node($admin_bar_item); } } // end if } // end if user roles } }
function _mw_adminimize_options() { global $wpdb, $_wp_admin_css_colors, $wp_version, $wp_roles, $table_prefix; $_mw_adminimize_user_info = 0; // get array with userroles // also provide for the other files $user_roles = _mw_adminimize_get_all_user_roles(); $user_roles_names = _mw_adminimize_get_all_user_roles_names(); // update options if (array_key_exists('_mw_adminimize_action', $_POST) && $_POST['_mw_adminimize_action'] === '_mw_adminimize_insert' && $_POST['_mw_adminimize_save']) { if (function_exists('current_user_can') && current_user_can('manage_options')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_update(); } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } // import options if (array_key_exists('_mw_adminimize_action', $_POST) && $_POST['_mw_adminimize_action'] === '_mw_adminimize_import' && $_POST['_mw_adminimize_save']) { _mw_adminimize_import_json(); } // Uninstall options if (array_key_exists('_mw_adminimize_action', $_POST) && $_POST['_mw_adminimize_action'] === '_mw_adminimize_deinstall' && !array_key_exists('_mw_adminimize_deinstall_yes', $_POST)) { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_deinstall_yes') . '</p></div>'; wp_die($myErrors); } if (array_key_exists('_mw_adminimize_action', $_POST) && array_key_exists('_mw_adminimize_deinstall_yes', $_POST) && $_POST['_mw_adminimize_action'] === '_mw_adminimize_deinstall' && $_POST['_mw_adminimize_deinstall'] && $_POST['_mw_adminimize_deinstall_yes'] === '_mw_adminimize_deinstall') { if (function_exists('current_user_can') && current_user_can('manage_options')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_deinstall(); $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_deinstall') . '</p></div>'; echo $myErrors; } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } // load theme user data if (array_key_exists('_mw_adminimize_action', $_POST) && $_POST['_mw_adminimize_action'] === '_mw_adminimize_load_theme' && $_POST['_mw_adminimize_load']) { if (function_exists('current_user_can') && current_user_can('edit_users')) { check_admin_referer('mw_adminimize_nonce'); $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_load_theme') . '</p></div>'; echo $myErrors; } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } if (array_key_exists('_mw_adminimize_action', $_POST) && $_POST['_mw_adminimize_action'] === '_mw_adminimize_set_theme' && $_POST['_mw_adminimize_save']) { if (function_exists('current_user_can') && current_user_can('edit_users')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_set_theme(); $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_set_theme') . '</p></div>'; echo $myErrors; } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } ?> <div class="wrap"> <?php do_action('mw_adminimize_before_settings_form'); // Backend Options for all roles require_once 'inc-options/minimenu.php'; ?> <form name="backend_option" method="post" id="_mw_adminimize_options" action="?page=<?php echo esc_attr($_GET['page']); ?> "> <?php // Admin Bar options require_once 'inc-options/admin_bar.php'; // Admin Bar items frontend require_once 'inc-options/admin_bar_frontend.php'; // Backend Options for all roles require_once 'inc-options/backend_options.php'; // global options on all pages in backend for different roles require_once 'inc-options/global_options.php'; // dashboard options for different roles require_once 'inc-options/dashboard_options.php'; // Menu Sub-menu Options require_once 'inc-options/menu_options.php'; // Write Page Options require_once 'inc-options/write_post_options.php'; // Write Page Options require_once 'inc-options/write_page_options.php'; // Custom Post Type if (function_exists('get_post_types')) { require_once 'inc-options/write_cp_options.php'; } // Links Options if (0 !== get_option('link_manager_enabled')) { require_once 'inc-options/links_options.php'; } // Widget options require_once 'inc-options/widget_options.php'; // WP Nav Menu Options require_once 'inc-options/wp_nav_menu_options.php'; do_action('mw_adminimize_settings_form'); ?> </form> <?php do_action('mw_adminimize_after_settings_form'); // Theme Options require_once 'inc-options/theme_options.php'; // Im/Export Options require_once 'inc-options/im_export_options.php'; // Uninstall options require_once 'inc-options/deinstall_options.php'; ?> </div> <?php }
/** * @package Adminimize * @subpackage Admin Bar Options, settings page * @author Frank Bültge * @since 1.8.1 01/10/2013 */ if (!function_exists('add_action')) { die("Hi there! I'm just a part of plugin, not much I can do when called directly."); } /** @var $wp_admin_bar WP_Admin_Bar */ if (!isset($wp_admin_bar)) { $wp_admin_bar = ''; } if (!isset($user_roles)) { $user_roles = _mw_adminimize_get_all_user_roles(); } if (!isset($user_roles_names)) { $user_roles_names = _mw_adminimize_get_all_user_roles_names(); } ?> <div id="poststuff" class="ui-sortable meta-box-sortables"> <div class="postbox"> <div class="handlediv" title="<?php esc_attr_e('Click to toggle'); ?> "><br /></div> <h3 class="hndle" id="admin_bar_options" title="<?php esc_attr_e('Click to toggle'); ?> "><?php
/** * Install options in database */ function _mw_adminimize_install() { if (!is_admin()) { return NULL; } global $menu, $submenu; $user_roles = _mw_adminimize_get_all_user_roles(); $adminimizeoptions = array(); foreach ($user_roles as $role) { $adminimizeoptions['mw_adminimize_disabled_menu_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_submenu_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_admin_bar_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_global_option_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'] = array(); $args = array('public' => TRUE, '_builtin' => FALSE); foreach (get_post_types($args) as $post_type) { $adminimizeoptions['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'] = array(); } } $adminimizeoptions['mw_adminimize_default_menu'] = $menu; $adminimizeoptions['mw_adminimize_default_submenu'] = $submenu; if (is_multisite() && is_plugin_active_for_network(MW_ADMIN_FILE)) { add_site_option('mw_adminimize', $adminimizeoptions); } else { add_option('mw_adminimize', $adminimizeoptions); } }
/** * Remove sidebars for different roles * * @return void */ function _mw_adminimize_unregister_sidebars() { // Get settings. $adminimizeoptions = _mw_adminimize_get_option_value(); // Get settings. _mw_adminimize_update_option($adminimizeoptions); // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return NULL; } $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_widget_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_widget_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_widget_option_[$role]['0'])) { $disabled_widget_option_[$role]['0'] = ''; } } foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (_mw_adminimize_current_user_has_role($role) && is_array($disabled_widget_option_[$role])) { foreach ($disabled_widget_option_[$role] as $sidebar) { unregister_sidebar($sidebar); } } } // end if user roles } }
/** * Remove Admin Bar */ function _mw_adminimize_remove_admin_bar() { // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return NULL; } global $wp_version; $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_global_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_global_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_global_option_[$role]['0'])) { $disabled_global_option_[$role]['0'] = ''; } } $remove_adminbar = FALSE; // new 1.7.8 foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (_mw_adminimize_current_user_has_role($role) && isset($disabled_global_option_[$role]) && is_array($disabled_global_option_[$role])) { if (_mw_adminimize_recursive_in_array('.show-admin-bar', $disabled_global_option_[$role])) { $remove_adminbar = TRUE; } } } } if ($remove_adminbar) { // for deactivate admin bar in WP smaller WP 3.3 if (version_compare($wp_version, '3.3alpha', '<=')) { add_filter('show_admin_bar', '__return_false'); wp_deregister_script('admin-bar'); wp_deregister_style('admin-bar'); remove_action('wp_footer', 'wp_admin_bar_render', 1000); remove_action('wp_head', '_admin_bar_bump_cb'); } else { if (!is_admin_bar_showing()) { return FALSE; } add_filter('show_admin_bar', '__return_false'); add_filter('wp_admin_bar_class', '__return_false'); add_filter('show_wp_pointer_admin_bar', '__return_false'); wp_deregister_script('admin-bar'); wp_deregister_style('admin-bar'); remove_action('init', '_wp_admin_bar_init'); remove_action('wp_footer', 'wp_admin_bar_render', 1000); remove_action('admin_footer', 'wp_admin_bar_render', 1000); // maybe also: 'wp_head' foreach (array('wp_head', 'admin_head') as $hook) { add_action($hook, create_function('', "echo '<style>body.admin-bar, body.admin-bar #wpcontent, body.admin-bar #adminmenu {\n\t\t\t\t\t\t\t padding-top: 0 !important;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thtml.wp-toolbar {\n\t\t\t\t\t\t\tpadding-top: 0 !important;\n\t\t\t\t\t\t}</style>';")); } add_action('in_admin_header', '_mw_adminimize_restore_links'); } // end else version 3.3 } // end if $remove_adminbar TRUE return NULL; }
function _mw_adminimize_options() { global $wpdb, $_wp_admin_css_colors, $wp_version, $wp_roles, $table_prefix; $_mw_adminimize_user_info = ''; //get array with userroles $user_roles = _mw_adminimize_get_all_user_roles(); $user_roles_names = _mw_adminimize_get_all_user_roles_names(); // update options if (isset($_POST['_mw_adminimize_action']) && $_POST['_mw_adminimize_action'] == '_mw_adminimize_insert' && $_POST['_mw_adminimize_save']) { if (function_exists('current_user_can') && current_user_can('manage_options')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_update(); } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } // import options if (isset($_POST['_mw_adminimize_action']) && $_POST['_mw_adminimize_action'] == '_mw_adminimize_import' && $_POST['_mw_adminimize_save']) { if (function_exists('current_user_can') && current_user_can('manage_options')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_import(); } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } // deinstall options if (isset($_POST['_mw_adminimize_action']) && $_POST['_mw_adminimize_action'] == '_mw_adminimize_deinstall' && $_POST['_mw_adminimize_deinstall_yes'] != '_mw_adminimize_deinstall') { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_deinstall_yes') . '</p></div>'; wp_die($myErrors); } if (isset($_POST['_mw_adminimize_action']) && $_POST['_mw_adminimize_action'] == '_mw_adminimize_deinstall' && $_POST['_mw_adminimize_deinstall'] && $_POST['_mw_adminimize_deinstall_yes'] == '_mw_adminimize_deinstall') { if (function_exists('current_user_can') && current_user_can('manage_options')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_deinstall(); $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_deinstall') . '</p></div>'; echo $myErrors; } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } // load theme user data if (isset($_POST['_mw_adminimize_action']) && $_POST['_mw_adminimize_action'] == '_mw_adminimize_load_theme' && $_POST['_mw_adminimize_load']) { if (function_exists('current_user_can') && current_user_can('edit_users')) { check_admin_referer('mw_adminimize_nonce'); $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_load_theme') . '</p></div>'; echo $myErrors; } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } if (isset($_POST['_mw_adminimize_action']) && $_POST['_mw_adminimize_action'] == '_mw_adminimize_set_theme' && $_POST['_mw_adminimize_save']) { if (function_exists('current_user_can') && current_user_can('edit_users')) { check_admin_referer('mw_adminimize_nonce'); _mw_adminimize_set_theme(); $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_set_theme') . '</p></div>'; echo $myErrors; } else { $myErrors = new _mw_adminimize_message_class(); $myErrors = '<div id="message" class="error"><p>' . $myErrors->get_error('_mw_adminimize_access_denied') . '</p></div>'; wp_die($myErrors); } } ?> <div class="wrap"> <?php do_action('mw_adminimize_before_settings_form'); // Backend Options for all roles require_once 'inc-options/minimenu.php'; ?> <form name="backend_option" method="post" id="_mw_adminimize_options" action="?page=<?php echo esc_attr($_GET['page']); ?> " > <?php // Admin Bar options require_once 'inc-options/admin_bar.php'; // Backend Options for all roles require_once 'inc-options/backend_options.php'; // global options on all pages in backend for diffferent roles require_once 'inc-options/global_options.php'; // dashboard options for different roles require_once 'inc-options/dashboard_options.php'; // Menu Submenu Options require_once 'inc-options/menu_options.php'; // Write Page Options require_once 'inc-options/write_post_options.php'; // Write Page Options require_once 'inc-options/write_page_options.php'; // Custom Post Type if (function_exists('get_post_types')) { require_once 'inc-options/write_cp_options.php'; } // Links Options if (0 != get_option('link_manager_enabled')) { require_once 'inc-options/links_options.php'; } // Widget options require_once 'inc-options/widget_options.php'; // WP Nav Menu Options require_once 'inc-options/wp_nav_menu_options.php'; do_action('mw_adminimize_settings_form'); ?> </form> <?php do_action('mw_adminimize_after_settings_form'); // Theme Options require_once 'inc-options/theme_options.php'; // Im/Export Options require_once 'inc-options/im_export_options.php'; // deinstall options require_once 'inc-options/deinstall_options.php'; ?> <script type="text/javascript"> <!-- <?php if (version_compare($wp_version, '2.7alpha', '<')) { ?> jQuery('.postbox h3').prepend('<a class="togbox">+</a> '); <?php } ?> jQuery('.postbox h3').click( function() { jQuery(jQuery(this).parent().get(0)).toggleClass('closed'); } ); jQuery('.postbox .handlediv').click( function() { jQuery(jQuery(this).parent().get(0)).toggleClass('closed'); } ); jQuery('.postbox.close-me').each(function() { jQuery(this).addClass("closed"); }); //--> </script> </div> <?php }
/** * Remove items in Admin Bar for current role of current active user in front end area * Exclude Super Admin, if active * Exclude Settings page of Adminimize * * @since 1.8.1 01/10/2013 * * @param $wp_admin_bar * * @return null */ function _mw_adminimize_change_admin_bar_frontend($wp_admin_bar) { // works only for back end admin bar if (is_admin()) { return NULL; } // Exclude super admin if (_mw_adminimize_exclude_super_admin()) { return NULL; } $user_roles = _mw_adminimize_get_all_user_roles(); $disabled_admin_bar_frontend_option_ = ''; foreach ($user_roles as $role) { $disabled_admin_bar_frontend_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_admin_bar_frontend_option_[$role]['0'])) { $disabled_admin_bar_frontend_option_[$role]['0'] = ''; } } foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (current_user_can($role) && is_array($disabled_admin_bar_frontend_option_[$role])) { foreach ($disabled_admin_bar_frontend_option_[$role] as $admin_bar_item) { $wp_admin_bar->remove_node($admin_bar_item); } } // end if } // end if user roles } }
/** * Remove sidebars for different roles * * @return void */ function _mw_adminimize_unregister_sidebars() { if (is_multisite() && is_plugin_active_for_network(MW_ADMIN_FILE)) { $adminimizeoptions = get_site_option('mw_adminimize'); } else { $adminimizeoptions = get_option('mw_adminimize'); } if (current_user_can('manage_options')) { if (is_multisite() && is_plugin_active_for_network(MW_ADMIN_FILE)) { update_site_option('mw_adminimize', $adminimizeoptions); } else { update_option('mw_adminimize', $adminimizeoptions); } } // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return NULL; } $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_widget_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_widget_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_widget_option_[$role]['0'])) { $disabled_widget_option_[$role]['0'] = ''; } } foreach ($user_roles as $role) { $user = wp_get_current_user(); if (is_array($user->roles) && in_array($role, $user->roles)) { if (current_user_can($role) && is_array($disabled_widget_option_[$role])) { foreach ($disabled_widget_option_[$role] as $sidebar) { unregister_sidebar($sidebar); } } } // end if user roles } }
/** * Remove Admin Bar * * @return null|void */ function _mw_adminimize_remove_admin_bar() { // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return; } // Leave the settings screen from Adminimize to see all areas on settings. if (_mw_adminimize_exclude_settings_page()) { return; } $user_roles = _mw_adminimize_get_all_user_roles(); foreach ($user_roles as $role) { $disabled_global_option_[$role] = _mw_adminimize_get_option_value('mw_adminimize_disabled_global_option_' . $role . '_items'); } foreach ($user_roles as $role) { if (!isset($disabled_global_option_[$role]['0'])) { $disabled_global_option_[$role]['0'] = ''; } } $user = wp_get_current_user(); $remove_adminbar = FALSE; // new 1.7.8 foreach ($user_roles as $role) { if (is_array($user->roles) && in_array($role, $user->roles, FALSE)) { if (_mw_adminimize_current_user_has_role($role) && isset($disabled_global_option_[$role]) && is_array($disabled_global_option_[$role]) && _mw_adminimize_recursive_in_array('.show-admin-bar', $disabled_global_option_[$role])) { $remove_adminbar = TRUE; } } } if ($remove_adminbar) { if (!is_admin_bar_showing()) { return FALSE; } add_filter('show_admin_bar', '__return_false'); add_filter('wp_admin_bar_class', '__return_false'); add_filter('show_wp_pointer_admin_bar', '__return_false'); wp_deregister_script('admin-bar'); wp_deregister_style('admin-bar'); remove_action('init', '_wp_admin_bar_init'); remove_action('wp_footer', 'wp_admin_bar_render', 1000); remove_action('admin_footer', 'wp_admin_bar_render', 1000); // maybe also: 'wp_head' foreach (array('wp_head', 'admin_head') as $hook) { add_action($hook, create_function('', "echo '<style>body.admin-bar, body.admin-bar #wpcontent, body.admin-bar #adminmenu {\n\t\t\t\t\t\t\t padding-top: 0 !important;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thtml.wp-toolbar {\n\t\t\t\t\t\t\tpadding-top: 0 !important;\n\t\t\t\t\t\t}</style>';")); } add_action('in_admin_header', '_mw_adminimize_restore_links'); } // end if $remove_adminbar TRUE }
/** * Remove Admin Bar * * @return null|void */ function _mw_adminimize_remove_admin_bar() { // exclude super admin if (_mw_adminimize_exclude_super_admin()) { return; } // Leave the settings screen from Adminimize to see all areas on settings. if (_mw_adminimize_exclude_settings_page()) { return; } $user_roles = _mw_adminimize_get_all_user_roles(); $disabled_global_option_ = array(); foreach ($user_roles as $role) { $disabled_global_option_[$role] = (array) _mw_adminimize_get_option_value('mw_adminimize_disabled_global_option_' . $role . '_items'); } $mw_global_options = array(); $user = wp_get_current_user(); foreach ($user_roles as $role) { if (in_array($role, $user->roles, FALSE) && _mw_adminimize_current_user_has_role($role)) { // Create array about all items with all affected roles, important for multiple roles. foreach ($disabled_global_option_[$role] as $global_item) { $mw_global_options[] = $global_item; } } } // Support Multiple Roles for users. if (_mw_adminimize_get_option_value('mw_adminimize_multiple_roles') && 1 < count($user->roles)) { $mw_global_options = _mw_adminimize_get_duplicate($mw_global_options); } $remove_adminbar = FALSE; // Check for admin bar selector to set to remove the Admin Bar. if (_mw_adminimize_recursive_in_array('.show-admin-bar', $mw_global_options)) { $remove_adminbar = TRUE; } if ($remove_adminbar) { if (!is_admin_bar_showing()) { return FALSE; } add_filter('show_admin_bar', '__return_false'); add_filter('wp_admin_bar_class', '__return_false'); add_filter('show_wp_pointer_admin_bar', '__return_false'); wp_deregister_script('admin-bar'); wp_deregister_style('admin-bar'); remove_action('init', '_wp_admin_bar_init'); remove_action('wp_footer', 'wp_admin_bar_render', 1000); remove_action('admin_footer', 'wp_admin_bar_render', 1000); // maybe also: 'wp_head' foreach (array('wp_head', 'admin_head') as $hook) { add_action($hook, create_function('', "echo '<style>body.admin-bar, body.admin-bar #wpcontent, body.admin-bar #adminmenu {\n\t\t\t\t\t\t\t padding-top: 0 !important;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thtml.wp-toolbar {\n\t\t\t\t\t\t\tpadding-top: 0 !important;\n\t\t\t\t\t\t}</style>';")); } add_action('in_admin_header', '_mw_adminimize_restore_links'); } // end if $remove_adminbar TRUE }
/** * Install options in database */ function _mw_adminimize_install() { global $menu, $submenu; $user_roles = _mw_adminimize_get_all_user_roles(); $adminimizeoptions = array(); foreach ($user_roles as $role) { $adminimizeoptions['mw_adminimize_disabled_menu_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_submenu_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_global_option_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_metaboxes_post_' . $role . '_items'] = array(); $adminimizeoptions['mw_adminimize_disabled_metaboxes_page_' . $role . '_items'] = array(); $args = array('public' => TRUE, '_builtin' => FALSE); foreach (get_post_types($args) as $post_type) { $adminimizeoptions['mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items'] = array(); } } $adminimizeoptions['mw_adminimize_default_menu'] = $menu; $adminimizeoptions['mw_adminimize_default_submenu'] = $submenu; add_option('mw_adminimize', $adminimizeoptions); }