. */ global $show_admin_bar; add_action( 'admin_init', 'global_adminbar_settings' ); add_action( 'admin_menu', 'global_adminbar_menu' ); add_filter( 'show_admin_bar', 'global_show_hide_admin_bar' ); add_action( 'admin_print_styles-profile.php', 'global_profile_hide_admin_bar' ); add_action( 'admin_print_styles-user-edit.php', 'global_profile_hide_admin_bar' ); add_filter( 'plugin_row_meta', 'global_adminbar_filter_plugin_links', 10, 2); add_action( 'plugin_action_links_' . plugin_basename(__FILE__), 'global_adminbar_filter_plugin_actions'); function global_adminbar_filter_plugin_actions($links){ $new_links = array(); $adminlink = get_bloginfo('url').'/wp-admin/'; $fcmlink = 'http://www.fischercreativemedia.com/wordpress-plugins'; $new_links[] = 'Settings'; $new_links[] = 'Donate'; return array_merge($links,$new_links ); } function global_adminbar_filter_plugin_links($links, $file){ if ( $file == plugin_basename(__FILE__) ){ $adminlink = get_bloginfo('url').'/wp-admin/'; $fcmlink = 'http://www.fischercreativemedia.com/wordpress-plugins'; $links[] = 'Toolbar Settings'; $links[] = 'FAQs'; $links[] = 'Donate'; } return $links; } function global_show_hide_admin_bar($showvar) { global $show_admin_bar; $theRoles = get_option('global-admin-bar-roles'); $userRole = get_current_user_role(); if(get_option('global-admin-bar-plugin-setting')=='1' && in_array($userRole,$theRoles)){ $show_admin_bar = false; return false; }else{ return $showvar ; } } function get_current_user_role() { global $wp_roles; $current_user = wp_get_current_user(); $roles = $current_user->roles; $role = array_shift($roles); return $role; } function get_profile_user_role() { global $wp_roles,$user_id; $user_id = (int) $user_id; $current_user = wp_get_current_user(); $profileuser = get_user_to_edit($user_id); if($user_id != $current_user->ID){ $roles = $profileuser->roles; $role = array_shift($roles); return $role; } return; } function global_profile_hide_admin_bar() { if(get_option('global-admin-bar-plugin-user-setting')=='1'){ echo ''; } return; } function global_adminbar_menu(){ if(is_multisite() && is_super_admin()){ add_options_page( 'Global Hide/Remove Toolbar Plugin Options', 'Hide Toolbar Options','manage_network', 'admin-bar-plugin', 'gabrhp_admin_bar_page' ); }elseif(is_multisite() && !is_super_admin()){ $theRoles = get_option('global-admin-bar-roles'); if(!is_array($theRoles)){$theRoles = array();} if(!in_array(get_current_user_role(),$theRoles)){ add_options_page( 'Global Hide/Remove Toolbar Plugin Options', 'Hide Toolbar Options','manage_options', 'admin-bar-plugin', 'gabrhp_admin_bar_page' ); } }elseif(!is_multisite() && current_user_can('manage_options')){ add_options_page( 'Global Hide/Remove Toolbar Plugin Options', 'Hide Toolbar Options','manage_options', 'admin-bar-plugin', 'gabrhp_admin_bar_page' ); } } function global_adminbar_settings() { register_setting( 'global-admin-bar-group', 'global-admin-bar-plugin-setting' ); register_setting( 'global-admin-bar-group', 'global-admin-bar-plugin-user-setting' ); register_setting( 'global-admin-bar-group', 'global-admin-bar-roles' ); register_setting( 'global-admin-bar-group', 'global-admin-bar-profiles' ); $checkRoles = get_option('global-admin-bar-roles'); $checkProfiles = get_option('global-admin-bar-profiles'); $okRoles = get_usable_clean_roles(); if($checkRoles == '' ){ update_option( 'global-admin-bar-roles', $okRoles ); } if($checkProfiles == '' ){ update_option( 'global-admin-bar-profiles', $okRoles ); } } function get_usable_clean_roles() { global $wp_roles; $all_roles = $wp_roles->roles; $newArr = array(); $editable_roles = apply_filters('editable_roles', $all_roles); if(count($editable_roles)>0){ foreach($editable_roles as $key=>$roledata){ $newArr[] = $key; } } return $newArr; } function get_usable_roles($name = 'roles') { if((is_multisite() && is_super_admin()) || (!is_multisite() && current_user_can('manage_options'))){ global $wp_roles; $theRoles = get_option('global-admin-bar-'.$name); $newArr = array(); $all_roles = $wp_roles->roles; $editable_roles = apply_filters('editable_roles', $all_roles); if(!is_array($theRoles)){$theRoles = array();} if(count($editable_roles)>0){ $newArr[] = '