/**
 * @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;
}
Example #2
0
/**
 * 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']);
                }
            }
        }
    }
}
Example #3
0
function _mw_adminimize_dashboard_setup()
{
    $adminimizeoptions = _mw_adminimize_get_option_value();
    $widgets = _mw_adminimize_get_dashboard_widgets();
    $adminimizeoptions['mw_adminimize_dashboard_widgets'] = $widgets;
    _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_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 (_mw_adminimize_current_user_has_role($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']);
                    }
                }
            }
        }
    }
}
Example #4
0
/**
 * 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;
}
/**
 * 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;
    }
    // Exclude super admin
    if (_mw_adminimize_exclude_super_admin()) {
        return;
    }
    $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) && _mw_adminimize_current_user_has_role($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 user roles
    }
}
Example #7
0
/**
 * Remove areas in Widget Settings
 */
function _mw_adminimize_set_widget_option()
{
    // exclude super admin
    if (_mw_adminimize_exclude_super_admin()) {
        return NULL;
    }
    // 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();
    $_mw_adminimize_admin_head = '';
    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'] = '';
        }
    }
    $widget_options = '';
    // new 1.7.8
    foreach ($user_roles as $role) {
        $user = wp_get_current_user();
        if (is_array($user->roles) && in_array($role, $user->roles, FALSE)) {
            if (_mw_adminimize_current_user_has_role($role) && isset($disabled_widget_option_[$role]) && is_array($disabled_widget_option_[$role])) {
                $widget_options = implode(',', $disabled_widget_option_[$role]);
            }
        }
    }
    //remove_meta_box( $id, 'nav-menus', 'side' );
    $_mw_adminimize_admin_head .= '<!-- Set Adminimize Widget options -->' . "\n";
    $_mw_adminimize_admin_head .= '<style type="text/css">' . $widget_options . ' {display: none !important;}</style>' . "\n";
    if ($widget_options) {
        echo $_mw_adminimize_admin_head;
    }
}
/**
 * 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
}
Example #9
0
/**
 * 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
}