id)) {
if ( $screen->id == 'settings_page_admin-tools' ) {
$ycat_js_ver = date("ymd-Gis", filemtime( YC_ADMIN_TOOLS_PLUGIN_DIR . 'js/ycat.js' ));
$ycat_css_ver = date("ymd-Gis", filemtime( YC_ADMIN_TOOLS_PLUGIN_DIR . 'css/ycat.css' ));
wp_enqueue_script( 'ycat-js', plugins_url( '/js/ycat.js', YC_ADMIN_TOOLS_PLUGIN_URL), array(), $ycat_js_ver );
wp_enqueue_style( 'ycat-css', plugins_url( '/css/ycat.css', YC_ADMIN_TOOLS_PLUGIN_URL ), false, $ycat_css_ver );
wp_enqueue_style ( 'ycat-css' );
wp_enqueue_media();
}
if ( $screen->id == 'plugins' ) {
$ycat_css_ver = date("ymd-Gis", filemtime( YC_ADMIN_TOOLS_PLUGIN_DIR . 'css/ycat.css' ));
wp_enqueue_style( 'ycat-css', plugins_url( '/css/ycat.css', YC_ADMIN_TOOLS_PLUGIN_URL ), false, $ycat_css_ver );
wp_enqueue_style ( 'ycat-css' );
}
}
}
function ycat_settings_page() {
global $menu, $submenu;
$user = wp_get_current_user();
$admin_tools_hidden = esc_attr( get_option('admin_tools_hidden'));
$user_id = $user->ID;
?>
query_where = str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.ID<>1",$user_search->query_where);
add_filter( 'views_users', array( $this, 'remove_count_from_users_list') );
}
}
function remove_count_from_users_list( $views ) {
$users_roles = array();
$avail_roles = wp_roles()->get_names();
$result = count_users();
$all_users = $result['total_users'] -1;
$users_roles['all'] = '' . __( 'All' ) . ' (' . $all_users . ')';
foreach ( $result['avail_roles'] as $role => $count ) {
if ( $role == 'administrator') {
$count = $count -1;
}
if ( $role != 'none') {
$users_roles[$role] = '' . _x(ucfirst($role), 'User role') . ' (' . $count . ')';
}
}
$views = $users_roles;
return $views;
}
function hide_admin_tools_plugin() {
$admin_tools_hidden = esc_attr( get_option('admin_tools_hidden'));
$user_id = get_current_user_id();
if( $admin_tools_hidden != '' && $user_id != $admin_tools_hidden ){
global $wp_list_table;
$hidearr = array('admin-tools/admin-tools.php');
$admin_tools_plugin = $wp_list_table->items;
foreach ($admin_tools_plugin as $key => $val) {
if (in_array($key,$hidearr)) {
unset($wp_list_table->items[$key]);
}
}
}
}
function remove_admin_menus() {
global $menu, $submenu;
$menus_only_to = esc_attr( get_option('menus_only_to'));
$user_id = get_current_user_id();
if(esc_attr( get_option('menus_only_to')) == '' ) {
if ( ! is_super_admin() ) {
foreach($menu as $menu_item){
$menu_name = $menu_item[0];
$menu_name = sanitize_text_field( $menu_name );
$menu_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $menu_name);
$menu_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $menu_name);
$menu_slug = $menu_item[2];
$menu_slug = sanitize_text_field( $menu_slug );
$menu_slug_ns = str_replace(array("&", "?"), '', $menu_slug) . '_item';
$checkboxs_menu_items = esc_attr( get_option('menu_items_list_to_hide') );
$check_menu_item = strpos($checkboxs_menu_items, $menu_slug_ns);
if( $check_menu_item !== false ) {
remove_menu_page($menu_slug);
}
foreach ($submenu as $key => $value) {
foreach ($value as $key => $value) {
$value[2] = isset($value[2]) ? $value[2] : null;
$submenu_name = $value[0];
$submenu_name = sanitize_text_field( $submenu_name );
$submenu_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $submenu_name);
$submenu_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $submenu_name);
$submenu_slug = $value[2];
$submenu_slug = sanitize_text_field( $submenu_slug );
$submenu_slug_ns = str_replace(array("&", "?"), '', $submenu_slug) . '_item';
$checkboxs_submenu_items = esc_attr( get_option('submenu_items_list_to_hide') );
$check_submenu_item = strpos($checkboxs_submenu_items, $submenu_slug_ns);
if( $check_submenu_item !== false ) {
remove_submenu_page( $menu_slug, $submenu_slug );
}
}
}
}
}
} else {
if( $user_id != $menus_only_to ){
foreach($menu as $menu_item){
$menu_name = $menu_item[0];
$menu_name = sanitize_text_field( $menu_name );
$menu_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $menu_name);
$menu_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $menu_name);
$menu_slug = $menu_item[2];
$menu_slug = sanitize_text_field( $menu_slug );
$menu_slug_ns = str_replace(array("&", "?"), '', $menu_slug) . '_item';
$checkboxs_menu_items = esc_attr( get_option('menu_items_list_to_hide') );
$check_menu_item = strpos($checkboxs_menu_items, $menu_slug_ns);
if( $check_menu_item !== false ) {
remove_menu_page($menu_slug);
}
foreach ($submenu as $key => $value) {
foreach ($value as $key => $value) {
$value[2] = isset($value[2]) ? $value[2] : null;
$submenu_name = $value[0];
$submenu_name = sanitize_text_field( $submenu_name );
$submenu_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $submenu_name);
$submenu_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $submenu_name);
$submenu_slug = $value[2];
$submenu_slug = sanitize_text_field( $submenu_slug );
$submenu_slug_ns = str_replace(array("&", "?"), '', $submenu_slug) . '_item';
$checkboxs_submenu_items = esc_attr( get_option('submenu_items_list_to_hide') );
$check_submenu_item = strpos($checkboxs_submenu_items, $submenu_slug_ns);
if( $check_submenu_item !== false ) {
remove_submenu_page( $menu_slug, $submenu_slug );
}
}
}
}
}
}
}
function hide_plugins() {
$all_plugins = get_plugins();
$plugins_only_to = esc_attr( get_option('plugins_only_to'));
$user_id = get_current_user_id();
if(esc_attr( get_option('plugins_only_to')) == '' ) {
if ( ! is_super_admin() ) {
foreach($all_plugins as $key => $value){
$plugin_url = $key;
$plugin_name = $value[Name];
$plugin_name = sanitize_text_field( $plugin_name );
$plugin_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $plugin_name);
$plugin_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $plugin_name);
$checkboxs_plugin_items = esc_attr( get_option('plugin_items_list_to_hide') );
$check_plugin_item = strpos($checkboxs_plugin_items, $plugin_url);
if($plugin_name != ''){
if ($check_plugin_item !== false) {
global $wp_list_table;
$hidearr = array($plugin_url);
$admin_tools_plugin = $wp_list_table->items;
foreach ($admin_tools_plugin as $key => $val) {
if (in_array($key,$hidearr)) {
unset($wp_list_table->items[$key]);
}
}
}
}
}
add_filter('views_plugins', array( $this, 'remove_count_from_plugins_list') );
}
} else {
if( $user_id != $plugins_only_to ){
foreach($all_plugins as $key => $value){
$plugin_url = $key;
$plugin_name = $value['Name'];
$plugin_name = sanitize_text_field( $plugin_name );
$plugin_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $plugin_name);
$plugin_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $plugin_name);
$checkboxs_plugin_items = esc_attr( get_option('plugin_items_list_to_hide') );
$check_plugin_item = strpos($checkboxs_plugin_items, $plugin_url);
if($plugin_name != ''){
if ($check_plugin_item !== false) {
global $wp_list_table;
$hidearr = array($plugin_url);
$admin_tools_plugin = $wp_list_table->items;
foreach ($admin_tools_plugin as $key => $val) {
if (in_array($key,$hidearr)) {
unset($wp_list_table->items[$key]);
}
}
}
}
}
add_filter('views_plugins', array( $this, 'remove_count_from_plugins_list') );
}
}
}
function remove_count_from_plugins_list( $views ) {
$all_plugins = get_plugins();
$plugins_count = array();
foreach($all_plugins as $key => $value){
$plugin_url = $key;
$plugin_name = $value['Name'];
$plugin_name = sanitize_text_field( $plugin_name );
$plugin_name = str_replace(array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $plugin_name);
$plugin_name_ns = str_replace(array(" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"), '', $plugin_name);
$checkboxs_plugin_items = esc_attr( get_option('plugin_items_list_to_hide') );
$check_plugin_item = strpos($checkboxs_plugin_items, $plugin_url);
if( $check_plugin_item !== false && $key != 'admin-tools/admin-tools.php' ) {
$plugins_count[$key] = '1';
}
}
if(esc_attr( get_option('admin_tools_hidden')) != '' || esc_attr(get_option('options_for_plugin_AdminTools')) != '') {
$admin_tools_count = '1';
} else {
$admin_tools_count = '0';
}
$counts_all_plugins = count($all_plugins);
$count_result = count($plugins_count);
$all_counts = $counts_all_plugins - $count_result - $admin_tools_count;
$sum_counts = $count_result + $admin_tools_count;
global $totals, $status;
$status_links = array();
foreach ( $totals as $type => $count ) {
if ( !$count )
continue;
if ( $type == 'upgrade' || $type == 'recently_activated' || $type == 'dropins' || $type == 'mustuse' )
break;
$count = $count - $sum_counts;
switch ( $type ) {
case 'all':
$text = _nx( 'All (%s)', 'All (%s)', $count, 'plugins' );
break;
case 'active':
$text = _n( 'Active (%s)', 'Active (%s)', $count );
$inactive_count = $count;
break;
case 'recently_activated':
$text = _n( 'Recently Active (%s)', 'Recently Active (%s)', $count );
break;
case 'inactive':
$inactive_count = $all_counts - $inactive_count;
$text = _n( 'Inactive (%s)', 'Inactive (%s)', $inactive_count );
break;
case 'mustuse':
$text = _n( 'Must-Use (%s)', 'Must-Use (%s)', $count );
break;
case 'dropins':
$text = _n( 'Drop-ins (%s)', 'Drop-ins (%s)', $count );
break;
case 'upgrade':
$text = _n( 'Update Available (%s)', 'Update Available (%s)', $count );
break;
}
if ( 'search' !== $type && $type !== 'inactive' ) {
$status_links[$type] = sprintf( "%s",
add_query_arg('plugin_status', $type, 'plugins.php'),
( $type === $status ) ? ' class="current"' : '',
sprintf( $text, number_format_i18n( $count ) )
);
}
if ( 'search' !== $type && $type == 'inactive' ) {
$status_links[$type] = sprintf( "%s",
add_query_arg('plugin_status', $type, 'plugins.php'),
( $type === $status ) ? ' class="current"' : '',
sprintf( $text, number_format_i18n( $inactive_count ) )
);
}
}
$views = $status_links;
return $views;
}
function my_login_logo() {
if( get_option('admin_login_logo') != '' ) {
?>
menu_nodes as $node){
$node_id = $node->id;
$node_title = sanitize_text_field( $node->title );
$checkbox_value = esc_attr( get_option('options_for_top_bar_menus'));
$check_menu = strpos($checkbox_value, $node_id);
if ($check_menu === false) {
// do nothing
} else {
$wp_admin_bar->remove_menu($node_id);
}
}
}
} else if( $top_bar_only_to != $user_id ) {
foreach($this->menu_nodes as $node){
$node_id = $node->id;
$node_title = sanitize_text_field( $node->title );
$checkbox_value = esc_attr( get_option('options_for_top_bar_menus') );
$check_menu = strpos($checkbox_value, $node_id);
if ($check_menu === false) {
// do nothing
} else {
$wp_admin_bar->remove_menu($node_id);
}
}
}
}
function add_site_menu_to_top_bar() {
global $wp_admin_bar;
$menus = get_terms('nav_menu');
foreach($menus as $menu){
if ( esc_attr( get_option('add_site_menu')) == $menu->name && is_super_admin() ) {
$args = array(
'id' => 'site_menu',
'title' => __('Menu Site:', 'admin-tools') . ' ' . $menu->name,
);
$items = wp_get_nav_menu_items( $menu, $args );
$wp_admin_bar->add_node( $args );
foreach($items as $item) {
if ( $item->menu_item_parent == 0 ) {
$item->menu_item_parent = 'site_menu';
}
$args = array(
'parent' => $item->menu_item_parent,
'id' => $item->ID,
'title' => $item->title,
'href' => $item->url,
'meta' => array( 'target' => '_blank' ),
);
$wp_admin_bar->add_node( $args );
}
}
}
}
function save_menu_nodes() {
global $wp_admin_bar;
$this->menu_nodes = $wp_admin_bar->get_nodes();
}
function hide_all_admin_notices() {
$user_id = get_current_user_id();
$admin_notices_only_to = esc_attr( get_option('admin_notices_only_to'));
if( $admin_notices_only_to == 'administrators' ) {
if ( ! is_super_admin() ) {
remove_all_actions( 'network_admin_notices' );
remove_all_actions( 'user_admin_notices' );
remove_all_actions( 'admin_notices' );
remove_all_actions( 'all_admin_notices' );
}
} else if ( $admin_notices_only_to != '' ) {
if ( $admin_notices_only_to != $user_id ) {
remove_all_actions( 'network_admin_notices' );
remove_all_actions( 'user_admin_notices' );
remove_all_actions( 'admin_notices' );
remove_all_actions( 'all_admin_notices' );
}
}
}
function auto_update_specific_plugins ( $update, $item ) {
if(esc_attr( get_option('options_for_disable_update_admin_tools_plugin')) != 'true' ) {
$plugins = array (
'admin-tools',
);
if ( in_array( $item->slug, $plugins ) ) {
return true;
} else {
return $update;
}
}
}
function disable_and_hide_updates_options() {
$user_id = get_current_user_id();
$options_for_disable_and_hide_wordpress_updates = esc_attr( get_option('options_for_disable_and_hide_wordpress_updates'));
$options_for_disable_and_hide_plugins_updates = esc_attr( get_option('options_for_disable_and_hide_plugins_updates'));
$options_for_disable_and_hide_themes_updates = esc_attr( get_option('options_for_disable_and_hide_themes_updates'));
if( $options_for_disable_and_hide_wordpress_updates == 'administrators' ) {
if ( ! is_super_admin() ) {
add_filter('pre_site_transient_update_core', array( $this, 'disable_and_hide_updates' ) );
}
} else if ( $options_for_disable_and_hide_wordpress_updates != '' ) {
if ( $options_for_disable_and_hide_wordpress_updates != $user_id ) {
add_filter('pre_site_transient_update_core', array( $this, 'disable_and_hide_updates' ) );
}
}
if( $options_for_disable_and_hide_plugins_updates == 'administrators' ) {
if ( ! is_super_admin() ) {
add_filter('pre_site_transient_update_plugins', array( $this, 'disable_and_hide_updates' ) );
}
} else if ( $options_for_disable_and_hide_plugins_updates != '' ) {
if ( $options_for_disable_and_hide_plugins_updates != $user_id ) {
add_filter('pre_site_transient_update_plugins', array( $this, 'disable_and_hide_updates' ) );
}
}
if( $options_for_disable_and_hide_themes_updates == 'administrators' ) {
if ( ! is_super_admin() ) {
add_filter('pre_site_transient_update_themes', array( $this, 'disable_and_hide_updates' ) );
}
} else if ( $options_for_disable_and_hide_themes_updates != '' ) {
if ( $options_for_disable_and_hide_themes_updates != $user_id ) {
add_filter('pre_site_transient_update_themes', array( $this, 'disable_and_hide_updates' ) );
}
}
}
function disable_and_hide_updates() {
global $wp_version;
return(object) array(
'last_checked'=> time(),
'version_checked'=> $wp_version,
'updates' => array()
);
}
function remove_plugin_update_count(){
global $menu,$submenu;
$user_id = get_current_user_id();
$options_for_disable_and_hide_wordpress_updates = esc_attr( get_option('options_for_disable_and_hide_wordpress_updates'));
$options_for_disable_and_hide_plugins_updates = esc_attr( get_option('options_for_disable_and_hide_plugins_updates'));
$options_for_disable_and_hide_themes_updates = esc_attr( get_option('options_for_disable_and_hide_themes_updates'));
if ( is_super_admin() ) {
if( $options_for_disable_and_hide_wordpress_updates == 'administrators' || $options_for_disable_and_hide_plugins_updates == 'administrators' || $options_for_disable_and_hide_themes_updates == 'administrators' ) {
} else if ( $options_for_disable_and_hide_wordpress_updates != '' || $options_for_disable_and_hide_plugins_updates != '' || $options_for_disable_and_hide_themes_updates != '' ) {
if ( $options_for_disable_and_hide_wordpress_updates != $user_id || $options_for_disable_and_hide_plugins_updates != $user_id || $options_for_disable_and_hide_themes_updates != $user_id ) {
$menu[65][0] = 'Plugins';
$submenu['index.php'][10][0] = 'Updates';
}
}
}
}
function admin_tools_action_links( $links ) {
$settings = array('settings' => '' . __( 'Settings' ) . '');
$links = array_merge($settings, $links);
return $links;
}
}
$YC_AdminTools = new YC_AdminTools;