X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/699231ae09f7057a4d0000cdf32e50a3df6a04ca..ebf9bbbbf2dbd59c653bbec4ed90d2947a95b9e7:/wp-admin/includes/ms.php diff --git a/wp-admin/includes/ms.php b/wp-admin/includes/ms.php index ae23b7f8..84585264 100644 --- a/wp-admin/includes/ms.php +++ b/wp-admin/includes/ms.php @@ -65,12 +65,12 @@ function wpmu_delete_blog( $blog_id, $drop = false ) { do_action( 'delete_blog', $blog_id, $drop ); - $users = get_users_of_blog( $blog_id ); + $users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids' ) ); // Remove users from this blog. if ( ! empty( $users ) ) { - foreach ( $users as $user ) { - remove_user_from_blog( $user->user_id, $blog_id) ; + foreach ( $users as $user_id ) { + remove_user_from_blog( $user_id, $blog_id) ; } } @@ -177,72 +177,6 @@ function wpmu_delete_user( $id ) { return true; } -function confirm_delete_users( $users ) { - global $current_user; - if ( !is_array( $users ) ) - return false; - - screen_icon(); - ?> -

-

-
- - ID'>$current_user->user_login"; - - foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) { - if ( $val != '' && $val != '0' ) { - $delete_user = new WP_User( $val ); - - if ( in_array( $delete_user->user_login, $site_admins ) ) - wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $delete_user->user_login ) ); - - echo "\n"; - $blogs = get_blogs_of_user( $val, true ); - - if ( !empty( $blogs ) ) { - ?> -

%s?" ), $delete_user->user_login ); ?>

- $details ) { - $blog_users = get_users_of_blog( $details->userblog_id ); - if ( is_array( $blog_users ) && !empty( $blog_users ) ) { - $user_site = "{$details->blogname}"; - $user_dropdown = "\n"; - ?> - - "; - } - } - } - ?> -

- - ID . '_new_email' ) ) + if ( strpos( $_SERVER['PHP_SELF'], 'profile.php' ) && isset( $_GET['updated'] ) && $email = get_option( get_current_user_id() . '_new_email' ) ) echo "
" . sprintf( __( "Your email address has not been updated yet. Please check your inbox at %s for a confirmation email." ), $email['newemail'] ) . "
"; } add_action( 'admin_notices', 'new_user_email_admin_notice' ); @@ -406,13 +340,16 @@ function is_upload_space_available() { return true; } -/* +/** * @since 3.0.0 * * @return int of upload size limit in bytes */ function upload_size_limit_filter( $size ) { $fileupload_maxk = 1024 * get_site_option( 'fileupload_maxk', 1500 ); + if ( get_site_option( 'upload_space_check_disabled' ) ) + return min( $size, $fileupload_maxk ); + return min( $size, $fileupload_maxk, get_upload_space_available() ); } /** @@ -483,46 +420,6 @@ function display_space_usage() { $quota ) - $percentused = '100'; - else - $percentused = ( $used / $quota ) * 100; - $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved' ) : 'spam'; - $used = round( $used, 2 ); - $percentused = number_format( $percentused ); - - ?> -

-
- - - - - -
%2$sMB' ), esc_url( admin_url( 'upload.php' ) ), $quota ); ?>
-
-
- - - - - -
%2$sMB (%3$s%%)' ), esc_url( admin_url( 'upload.php' ) ), $used, $percentused ); ?>
-
-
- update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) ); - if ( $refresh == 1 ) - refresh_user_details( $id ); + clean_user_cache( $id ); if ( $pref == 'spam' ) { if ( $value == 1 ) @@ -598,7 +497,6 @@ function sync_category_tag_slugs( $term, $taxonomy ) { add_filter( 'get_term', 'sync_category_tag_slugs', 10, 2 ); function redirect_user_to_blog() { - global $current_user; $c = 0; if ( isset( $_GET['c'] ) ) $c = (int) $_GET['c']; @@ -608,31 +506,14 @@ function redirect_user_to_blog() { } $c ++; - $blog = get_active_blog_for_user( $current_user->ID ); - $dashboard_blog = get_dashboard_blog(); + $blog = get_active_blog_for_user( get_current_user_id() ); + if ( is_object( $blog ) ) { wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) ); // redirect and count to 5, "just in case" - exit; - } - - /* - If the user is a member of only 1 blog and the user's primary_blog isn't set to that blog, - then update the primary_blog record to match the user's blog - */ - $blogs = get_blogs_of_user( $current_user->ID ); - - if ( !empty( $blogs ) ) { - foreach( $blogs as $blogid => $blog ) { - if ( $blogid != $dashboard_blog->blog_id && get_user_meta( $current_user->ID , 'primary_blog', true ) == $dashboard_blog->blog_id ) { - update_user_meta( $current_user->ID, 'primary_blog', $blogid ); - continue; - } - } - $blog = get_blog_details( get_user_meta( $current_user->ID, 'primary_blog', true ) ); - wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) ); - exit; + } else { + wp_redirect( user_admin_url( '?c=' . $c ) ); // redirect and count to 5, "just in case" } - wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); + exit; } add_action( 'admin_page_access_denied', 'redirect_user_to_blog', 99 ); @@ -654,20 +535,20 @@ function mu_dropdown_languages( $lang_files = array(), $current = '' ) { if ( $code_lang == 'en_US' ) { // American English $flag = true; $ae = __( 'American English' ); - $output[$ae] = ''; + $output[$ae] = ''; } elseif ( $code_lang == 'en_GB' ) { // British English $flag = true; $be = __( 'British English' ); - $output[$be] = ''; + $output[$be] = ''; } else { $translated = format_code_lang( $code_lang ); - $output[$translated] = ''; + $output[$translated] = ''; } } if ( $flag === false ) // WordPress english - $output[] = '"; + $output[] = '"; // Order by name uksort( $output, 'strnatcasecmp' ); @@ -694,47 +575,17 @@ function secret_salt_warning() { echo "
$msg
"; } } -add_action( 'admin_notices', 'secret_salt_warning' ); - -function admin_notice_feed() { - global $current_user, $current_screen; - if ( $current_screen->id != 'dashboard' ) - return; - - if ( !empty( $_GET['feed_dismiss'] ) ) { - update_user_option( $current_user->id, 'admin_feed_dismiss', $_GET['feed_dismiss'], true ); - return; - } - - $url = get_site_option( 'admin_notice_feed' ); - if ( empty( $url ) ) - return; - - $rss = fetch_feed( $url ); - if ( ! is_wp_error( $rss ) && $item = $rss->get_item() ) { - $title = $item->get_title(); - if ( md5( $title ) == get_user_option( 'admin_feed_dismiss' ) ) - return; - $msg = "

" . esc_html( $title ) . "

\n"; - $content = $item->get_description(); - $content = $content ? wp_html_excerpt( $content, 200 ) . ' … ' : ''; - $link = esc_url( strip_tags( $item->get_link() ) ); - $msg .= "

" . $content . "" . __( 'Read More' ) . " " . __( 'Dismiss' ) . "

"; - echo "
$msg
"; - } elseif ( is_super_admin() ) { - printf( '
' . __( 'Your feed at %s is empty.' ) . '
', esc_html( $url ) ); - } -} -add_action( 'admin_notices', 'admin_notice_feed' ); +add_action( 'network_admin_notices', 'secret_salt_warning' ); function site_admin_notice() { - global $current_user, $wp_db_version; + global $wp_db_version; if ( !is_super_admin() ) return false; if ( get_site_option( 'wpmu_upgrade_site' ) != $wp_db_version ) - echo "
" . sprintf( __( 'Thank you for Updating! Please visit the Update Network page to update all your sites.' ), esc_url( admin_url( 'ms-upgrade-network.php' ) ) ) . "
"; + echo "
" . sprintf( __( 'Thank you for Updating! Please visit the Update Network page to update all your sites.' ), esc_url( network_admin_url( 'upgrade.php' ) ) ) . "
"; } add_action( 'admin_notices', 'site_admin_notice' ); +add_action( 'network_admin_notices', 'site_admin_notice' ); function avoid_blog_page_permalink_collision( $data, $postarr ) { if ( is_subdomain_install() ) @@ -760,7 +611,6 @@ function avoid_blog_page_permalink_collision( $data, $postarr ) { add_filter( 'wp_insert_post_data', 'avoid_blog_page_permalink_collision', 10, 2 ); function choose_primary_blog() { - global $current_user; ?> @@ -768,8 +618,8 @@ function choose_primary_blog() {
ID ); - $primary_blog = get_user_meta( $current_user->ID, 'primary_blog', true ); + $all_blogs = get_blogs_of_user( get_current_user_id() ); + $primary_blog = get_user_meta( get_current_user_id(), 'primary_blog', true ); if ( count( $all_blogs ) > 1 ) { $found = false; ?> @@ -783,13 +633,13 @@ function choose_primary_blog() { ID, 'primary_blog', $blog->userblog_id ); + update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id ); } } elseif ( count( $all_blogs ) == 1 ) { $blog = array_shift( $all_blogs ); echo $blog->domain; if ( $primary_blog != $blog->userblog_id ) // Set the primary blog again if it's out of sync with blog list. - update_user_meta( $current_user->ID, 'primary_blog', $blog->userblog_id ); + update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id ); } else { echo "N/A"; } @@ -807,16 +657,6 @@ function choose_primary_blog() { " . sprintf( __( "Warning! The current theme supports Featured Images. You must enable image uploads on the options page for it to work." ), esc_url( admin_url( 'ms-options.php' ) ) ) . ""; - } -} -add_action( 'admin_notices', 'show_post_thumbnail_warning' ); - function ms_deprecated_blogs_file() { if ( ! is_super_admin() ) return; @@ -824,24 +664,13 @@ function ms_deprecated_blogs_file() { return; echo '
' . sprintf( __( 'The %1$s file is deprecated. Please remove it and update your server rewrite rules to use %2$s instead.' ), 'wp-content/blogs.php', 'wp-includes/ms-files.php' ) . '
'; } -add_action( 'admin_notices', 'ms_deprecated_blogs_file' ); - -/** - * Outputs the notice message for multisite regarding activation of plugin page. - * - * @since 3.0.0 - * @return none - */ -function _admin_notice_multisite_activate_plugins_page() { - $message = sprintf( __( 'The plugins page is not visible to normal users. It must be activated first. %s' ), '' . __( 'Activate' ) . '' ); - echo "

$message

"; -} +add_action( 'network_admin_notices', 'ms_deprecated_blogs_file' ); /** * Grants super admin privileges. * * @since 3.0.0 - * @param $user_id + * @param int $user_id */ function grant_super_admin( $user_id ) { global $super_admins; @@ -869,7 +698,7 @@ function grant_super_admin( $user_id ) { * Revokes super admin privileges. * * @since 3.0.0 - * @param $user_id + * @param int $user_id */ function revoke_super_admin( $user_id ) { global $super_admins; @@ -894,4 +723,41 @@ function revoke_super_admin( $user_id ) { } return false; } + +/** + * Whether or not we can edit this network from this page + * + * By default editing of network is restricted to the Network Admin for that site_id this allows for this to be overridden + * + * @since 3.1.0 + * @param integer $site_id The network/site id to check. + */ +function can_edit_network( $site_id ) { + global $wpdb; + + if ($site_id == $wpdb->siteid ) + $result = true; + else + $result = false; + + return apply_filters( 'can_edit_network', $result, $site_id ); +} + +/** + * Thickbox image paths for Network Admin. + * + * @since 3.1.0 + * @access private + */ +function _thickbox_path_admin_subfolder() { +?> + +