From 48c5af2ac08eda1df185d814535c07024baffeef Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Fri, 30 Mar 2012 21:04:48 +0000 Subject: [PATCH] Clean up cap checks for autocompletes for sites and users in a network. see #19810. git-svn-id: https://develop.svn.wordpress.org/trunk@20332 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/includes/ajax-actions.php | 17 +++++------------ wp-admin/includes/dashboard.php | 17 +++-------------- wp-admin/network/users.php | 7 +------ wp-admin/user-new.php | 5 ++--- wp-admin/users.php | 4 +--- 5 files changed, 12 insertions(+), 38 deletions(-) diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php index ecd4d2f1ef..75051ed82a 100644 --- a/wp-admin/includes/ajax-actions.php +++ b/wp-admin/includes/ajax-actions.php @@ -150,13 +150,11 @@ function wp_ajax_oembed_cache() { } function wp_ajax_autocomplete_user() { - if ( ! is_multisite() - || ! current_user_can( 'promote_users' ) - || wp_is_large_network( 'users' ) - || ( ! is_super_admin() && ! apply_filters( 'autocomplete_users_for_site_admins', false ) ) - ) { + if ( ! is_multisite() || ! current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) ) + wp_die( -1 ); + + if ( ! is_super_admin() && ! apply_filters( 'autocomplete_users_for_site_admins', false ) ) wp_die( -1 ); - } $return = array(); @@ -215,13 +213,8 @@ function wp_ajax_dashboard_widgets() { } function wp_ajax_autocomplete_site() { - if ( ! is_multisite() - || ! current_user_can( 'manage_sites' ) - || wp_is_large_network( 'sites' ) - || ! is_super_admin() - ) { + if ( ! is_multisite() || ! current_user_can( 'manage_sites' ) || wp_is_large_network( 'sites' ) ) wp_die( -1 ); - } $return = array(); diff --git a/wp-admin/includes/dashboard.php b/wp-admin/includes/dashboard.php index ad04ba187e..8d43581a52 100644 --- a/wp-admin/includes/dashboard.php +++ b/wp-admin/includes/dashboard.php @@ -416,22 +416,11 @@ function wp_network_dashboard_right_now() { if ( current_user_can('create_users') ) $actions['create-user'] = '' . __( 'Create a New User' ) . ''; - if ( is_multisite() - && current_user_can( 'promote_users' ) - && ! wp_is_large_network( 'users' ) - && is_super_admin() - && is_network_admin() - ) { + if ( ! wp_is_large_network( 'users' ) ) wp_enqueue_script( 'user-search' ); - } - if ( is_multisite() - && current_user_can( 'manage_sites' ) - && ! wp_is_large_network( 'sites' ) - && is_super_admin() - && is_network_admin() - ) { + + if ( ! wp_is_large_network( 'sites' ) ) wp_enqueue_script( 'site-search' ); - } $c_users = get_user_count(); $c_blogs = get_blog_count(); diff --git a/wp-admin/network/users.php b/wp-admin/network/users.php index d454362f57..9d0d1f2e2c 100644 --- a/wp-admin/network/users.php +++ b/wp-admin/network/users.php @@ -245,13 +245,8 @@ get_current_screen()->set_help_sidebar( '

' . __('Support Forums') . '

' ); -if ( is_multisite() - && current_user_can( 'promote_users' ) - && ! wp_is_large_network( 'users' ) - && is_super_admin() -) { +if ( ! wp_is_large_network( 'users' ) ) wp_enqueue_script( 'user-search' ); -} require_once( '../admin-header.php' ); diff --git a/wp-admin/user-new.php b/wp-admin/user-new.php index df33977a46..b17b0f72cb 100644 --- a/wp-admin/user-new.php +++ b/wp-admin/user-new.php @@ -178,9 +178,8 @@ get_current_screen()->set_help_sidebar( wp_enqueue_script('wp-ajax-response'); wp_enqueue_script('user-profile'); -if ( is_multisite() - && current_user_can( 'promote_users' ) - && ! wp_is_large_network( 'users' ) + +if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' ) && ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) ) ) { wp_enqueue_script( 'user-search' ); diff --git a/wp-admin/users.php b/wp-admin/users.php index a736b5613c..593b9907fb 100644 --- a/wp-admin/users.php +++ b/wp-admin/users.php @@ -339,9 +339,7 @@ default: exit; } - if ( is_multisite() - && current_user_can( 'promote_users' ) - && ! wp_is_large_network( 'users' ) + if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' ) && ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) ) ) { wp_enqueue_script( 'user-search' );