diff --git a/wp-admin/css/ms.dev.css b/wp-admin/css/ms.dev.css index 368457cf6..69c80f983 100644 --- a/wp-admin/css/ms.dev.css +++ b/wp-admin/css/ms.dev.css @@ -1,45 +1,3 @@ -/* Blog Switcher */ - -#all-my-blogs-tab a.current { - position: relative; - padding-bottom: 10px; -} - -#all-my-blogs { - position: absolute; - top: 30px; - left: 0; - right: 0; - _width: 100%; /* IE6 Hack */ - margin: 4px 7px; - padding: 6px 10px; - font-size: 12px; -} - -#all-my-blogs * { - margin: 0; -} - -form#all-my-blogs p, form#all-my-blogs p * { - vertical-align: middle; -} - -#all-my-blogs a { - font-size: 10px; - text-decoration: underline; - margin: 0 14px; -} - -#all-my-blogs a:hover, #all-my-blogs a:active { - text-decoration: none; -} - -form#wpmu-search { - position:absolute; - right:0; - top:0; -} - /* Site Admin Menu */ #adminmenu .menu-icon-site div.wp-menu-image { background: transparent url('../images/site-admin.png') no-repeat scroll 0px -33px; @@ -49,7 +7,7 @@ form#wpmu-search { background: transparent url('../images/site-admin.png') no-repeat scroll 0px -1px; } -/* Dashboard: MU Specific Data */ +/* Dashboard: MS Specific Data */ #dashboard_right_now p.musub { margin-top: 12px; border-top: 1px solid #ececec; @@ -59,12 +17,32 @@ form#wpmu-search { #dashboard_right_now td.b a.musublink { font-size: 16px; } + +#dashboard_right_now div.musubtable { + border-top: none; +} + +/* No drag and drop on ms-sites.php */ +.ms-sites-php .postbox h3 { + cursor: auto; +} + +.ms-sites-php .postbox .description { + margin:10px 0 0px; + padding:0px 10px 10px; + border-bottom:1px solid #DFDFDF; +} + +/* Background Color for Site Status */ tr.site-deleted { - background:#f55; + background: #ff8573; } tr.site-spammed { - background:#faa; + background: #faa; } tr.site-archived { - background:#fee; + background:#ffebe8; +} +tr.site-mature { + background: #fecac2; } diff --git a/wp-admin/includes/ms.php b/wp-admin/includes/ms.php index 7344c0b7e..d0f71576c 100644 --- a/wp-admin/includes/ms.php +++ b/wp-admin/includes/ms.php @@ -27,7 +27,7 @@ function check_upload_size( $file ) { if ( $file_size > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) ) $file['error'] = sprintf(__('This file is too big. Files must be less than %1$s Kb in size.'), get_site_option( 'fileupload_maxk', 1500 ) ); if ( upload_is_user_over_quota( false ) ) { - $file['error'] = __('You have used your space quota. Please delete files before uploading.'); + $file['error'] = __( 'You have used your space quota. Please delete files before uploading.' ); } if ( $file['error'] != '0' ) wp_die( $file['error'] . ' ' . __( 'Back' ) . '' ); @@ -45,74 +45,77 @@ add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' ); * @param bool $drop True if blog's table should be dropped. Default is false. * @return void */ -function wpmu_delete_blog($blog_id, $drop = false) { +function wpmu_delete_blog( $blog_id, $drop = false ) { global $wpdb; - $switched = false; + $switch = false; if ( $blog_id != $wpdb->blogid ) { $switch = true; - switch_to_blog($blog_id); + switch_to_blog( $blog_id ); } - do_action('delete_blog', $blog_id, $drop); + $blog_prefix = $wpdb->get_blog_prefix( $blog_id ); - $users = get_users_of_blog($blog_id); + do_action( 'delete_blog', $blog_id, $drop ); + + $users = get_users_of_blog( $blog_id ); // Remove users from this blog. - if ( !empty($users) ) { - foreach ($users as $user) { - remove_user_from_blog($user->user_id, $blog_id); + if ( ! empty( $users ) ) { + foreach ( $users as $user ) { + remove_user_from_blog( $user->user_id, $blog_id) ; } } update_blog_status( $blog_id, 'deleted', 1 ); if ( $drop ) { - $drop_tables = $wpdb->get_results("show tables LIKE '". $wpdb->base_prefix . $blog_id . "\_%'", ARRAY_A); + $drop_tables = $wpdb->get_results( "SHOW TABLES LIKE '{$blog_prefix}%'", ARRAY_A ); $drop_tables = apply_filters( 'wpmu_drop_tables', $drop_tables ); reset( $drop_tables ); foreach ( (array) $drop_tables as $drop_table) { $wpdb->query( "DROP TABLE IF EXISTS ". current( $drop_table ) ."" ); } - $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id) ); + $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id ) ); $dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id ); - $dir = rtrim($dir, DIRECTORY_SEPARATOR); + $dir = rtrim( $dir, DIRECTORY_SEPARATOR ); $top_dir = $dir; $stack = array($dir); $index = 0; - while ( $index < count($stack) ) { + while ( $index < count( $stack ) ) { # Get indexed directory from stack $dir = $stack[$index]; - $dh = @ opendir($dir); + $dh = @opendir( $dir ); if ( $dh ) { - while ( ($file = @ readdir($dh)) !== false ) { - if ($file == '.' or $file == '..') + while ( ( $file = @readdir( $dh ) ) !== false ) { + if ( $file == '.' || $file == '..' ) continue; - if (@ is_dir($dir . DIRECTORY_SEPARATOR . $file)) + if ( @is_dir( $dir . DIRECTORY_SEPARATOR . $file ) ) $stack[] = $dir . DIRECTORY_SEPARATOR . $file; - else if (@ is_file($dir . DIRECTORY_SEPARATOR . $file)) - @ unlink($dir . DIRECTORY_SEPARATOR . $file); + else if ( @is_file( $dir . DIRECTORY_SEPARATOR . $file ) ) + @unlink( $dir . DIRECTORY_SEPARATOR . $file ); } } $index++; } - $stack = array_reverse($stack); // Last added dirs are deepest + $stack = array_reverse( $stack ); // Last added dirs are deepest foreach( (array) $stack as $dir ) { if ( $dir != $top_dir) - @rmdir($dir); + @rmdir( $dir ); } } - $wpdb->query( $wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE meta_key = %s", 'wp_{$blog_id}_autosave_draft_ids') ); - $blogs = get_site_option( "blog_list" ); + + $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$blog_prefix}autosave_draft_ids'" ); + $blogs = get_site_option( 'blog_list' ); if ( is_array( $blogs ) ) { foreach ( $blogs as $n => $blog ) { - if ( $blog[ 'blog_id' ] == $blog_id ) - unset( $blogs[ $n ] ); + if ( $blog['blog_id'] == $blog_id ) + unset( $blogs[$n] ); } update_site_option( 'blog_list', $blogs ); } @@ -122,44 +125,44 @@ function wpmu_delete_blog($blog_id, $drop = false) { } // @todo Merge with wp_delete_user() ? -function wpmu_delete_user($id) { +function wpmu_delete_user( $id ) { global $wpdb; $id = (int) $id; - do_action('wpmu_delete_user', $id); + do_action( 'wpmu_delete_user', $id ); - $blogs = get_blogs_of_user($id); + $blogs = get_blogs_of_user( $id ); - if ( ! empty($blogs) ) { - foreach ($blogs as $blog) { - switch_to_blog($blog->userblog_id); - remove_user_from_blog($id, $blog->userblog_id); + if ( ! empty( $blogs ) ) { + foreach ( $blogs as $blog ) { + switch_to_blog( $blog->userblog_id ); + remove_user_from_blog( $id, $blog->userblog_id ); - $post_ids = $wpdb->get_col( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) ); + $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) ); foreach ( (array) $post_ids as $post_id ) { - wp_delete_post($post_id); + wp_delete_post( $post_id ); } // Clean links - $link_ids = $wpdb->get_col( $wpdb->prepare("SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id) ); + $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id ) ); if ( $link_ids ) { foreach ( $link_ids as $link_id ) - wp_delete_link($link_id); + wp_delete_link( $link_id ); } restore_current_blog(); } } - $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->users WHERE ID = %d", $id) ); - $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d", $id) ); + $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->users WHERE ID = %d", $id ) ); + $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE user_id = %d", $id ) ); - clean_user_cache($id); + clean_user_cache( $id ); // allow for commit transaction - do_action('deleted_user', $id); + do_action( 'deleted_user', $id ); return true; } @@ -169,14 +172,14 @@ function confirm_delete_users( $users ) { if ( !is_array( $users ) ) return false; - screen_icon('tools'); + screen_icon(); ?> -
- - $theme ) { - $theme_key = esc_html( $theme[ 'Stylesheet' ] ); - if ( isset( $blog_allowed_themes[ $key ] ) == true ) { - $blog_allowedthemes[ $theme_key ] = 1; + $theme_key = esc_html( $theme['Stylesheet'] ); + if ( isset( $blog_allowed_themes[$key] ) == true ) { + $blog_allowedthemes[$theme_key] = 1; } } $blog_allowed_themes = $blog_allowedthemes; - add_option( "allowedthemes", $blog_allowed_themes ); - delete_option( "allowed_themes" ); + add_option( 'allowedthemes', $blog_allowed_themes ); + delete_option( 'allowed_themes' ); } } @@ -248,18 +262,18 @@ function wpmu_get_blog_allowedthemes( $blog_id = 0 ) { return $blog_allowed_themes; } -function update_option_new_admin_email($old_value, $value) { +function update_option_new_admin_email( $old_value, $value ) { if ( $value == get_option( 'admin_email' ) || !is_email( $value ) ) return; $hash = md5( $value. time() .mt_rand() ); $new_admin_email = array( - "hash" => $hash, - "newemail" => $value + 'hash' => $hash, + 'newemail' => $value ); update_option( 'adminhash', $new_admin_email ); - $content = apply_filters( 'new_admin_email_content', __("Dear user, + $content = apply_filters( 'new_admin_email_content', __( "Dear user, You recently requested to have the administration email address on your site changed. @@ -273,45 +287,45 @@ This email has been sent to ###EMAIL### Regards, All at ###SITENAME### -###SITEURL###"), $new_admin_email ); +###SITEURL### "), $new_admin_email ); - $content = str_replace('###ADMIN_URL###', esc_url(admin_url('options.php?adminhash='.$hash)), $content); - $content = str_replace('###EMAIL###', $value, $content); - $content = str_replace('###SITENAME###', get_site_option( 'site_name' ), $content); - $content = str_replace('###SITEURL###', network_home_url(), $content); + $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'options.php?adminhash='.$hash ) ), $content ); + $content = str_replace( '###EMAIL###', $value, $content ); + $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content ); + $content = str_replace( '###SITEURL###', network_home_url(), $content ); - wp_mail( $value, sprintf(__('[%s] New Admin Email Address'), get_option('blogname')), $content ); + wp_mail( $value, sprintf( __( '[%s] New Admin Email Address' ), get_option( 'blogname' ) ), $content ); } -add_action('update_option_new_admin_email', 'update_option_new_admin_email', 10, 2); +add_action( 'update_option_new_admin_email', 'update_option_new_admin_email', 10, 2 ); function send_confirmation_on_profile_email() { global $errors, $wpdb, $current_user; if ( ! is_object($errors) ) $errors = new WP_Error(); - if ( $current_user->id != $_POST[ 'user_id' ] ) + if ( $current_user->id != $_POST['user_id'] ) return false; - if ( $current_user->user_email != $_POST[ 'email' ] ) { - if ( !is_email( $_POST[ 'email' ] ) ) { + if ( $current_user->user_email != $_POST['email'] ) { + if ( !is_email( $_POST['email'] ) ) { $errors->add( 'user_email', __( "ERROR: The e-mail address isn't correct." ), array( 'form-field' => 'email' ) ); return; } - if ( $wpdb->get_var( $wpdb->prepare( "SELECT user_email FROM {$wpdb->users} WHERE user_email=%s", $_POST[ 'email' ] ) ) ) { + if ( $wpdb->get_var( $wpdb->prepare( "SELECT user_email FROM {$wpdb->users} WHERE user_email=%s", $_POST['email'] ) ) ) { $errors->add( 'user_email', __( "ERROR: The e-mail address is already used." ), array( 'form-field' => 'email' ) ); delete_option( $current_user->ID . '_new_email' ); return; } - $hash = md5( $_POST[ 'email' ] . time() . mt_rand() ); + $hash = md5( $_POST['email'] . time() . mt_rand() ); $new_user_email = array( - "hash" => $hash, - "newemail" => $_POST[ 'email' ] + 'hash' => $hash, + 'newemail' => $_POST['email'] ); update_option( $current_user->ID . '_new_email', $new_user_email ); - $content = apply_filters( 'new_user_email_content', __("Dear user, + $content = apply_filters( 'new_user_email_content', __( "Dear user, You recently requested to have the email address on your account changed. If this is correct, please click on the following link to change it: @@ -324,23 +338,23 @@ This email has been sent to ###EMAIL### Regards, All at ###SITENAME### -###SITEURL###"), $new_user_email ); +###SITEURL###" ), $new_user_email ); - $content = str_replace('###ADMIN_URL###', esc_url(admin_url('profile.php?newuseremail='.$hash)), $content); - $content = str_replace('###EMAIL###', $_POST[ 'email' ], $content); - $content = str_replace('###SITENAME###', get_site_option( 'site_name' ), $content); - $content = str_replace('###SITEURL###', network_home_url(), $content); + $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'profile.php?newuseremail='.$hash ) ), $content ); + $content = str_replace( '###EMAIL###', $_POST['email'], $content); + $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content ); + $content = str_replace( '###SITEURL###', network_home_url(), $content ); - wp_mail( $_POST[ 'email' ], sprintf(__('[%s] New Email Address'), get_option('blogname')), $content ); - $_POST[ 'email' ] = $current_user->user_email; + wp_mail( $_POST['email'], sprintf( __( '[%s] New Email Address' ), get_option( 'blogname' ) ), $content ); + $_POST['email'] = $current_user->user_email; } } add_action( 'personal_options_update', 'send_confirmation_on_profile_email' ); function new_user_email_admin_notice() { global $current_user; - if ( strpos( $_SERVER['PHP_SELF'], 'profile.php' ) && isset( $_GET[ 'updated' ] ) && $email = get_option( $current_user->ID . '_new_email' ) ) - echo "%sMB' ), $quota ); ?> | -- | %1sMB (%2$s%%)' ), $used, $percentused ); ?> | -+ | %sMB' ), $quota ); ?> | +
%1sMB (%2$s%%)' ), $used, $percentused ); ?> | ++ |
+ |
ID );
- $primary_blog = get_user_meta($current_user->ID, 'primary_blog', true);
+ $primary_blog = get_user_meta( $current_user->ID, 'primary_blog', true );
if ( count( $all_blogs ) > 1 ) {
$found = false;
?>
@@ -711,7 +740,7 @@ function choose_primary_blog() {
userblog_id )
$found = true;
- ?>
" . sprintf( __( "Warning! The current theme supports post thumbnails. You must enable image uploads on the options page for it to work." ), admin_url( 'ms-options.php' ) ) . "";
+ if ( empty($mu_media_buttons['image']) && current_theme_supports( 'post-thumbnails' ) ) {
+ echo " " . sprintf( __( "Warning! The current theme supports post thumbnails. 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' );
@@ -760,7 +789,7 @@ add_action( 'admin_notices', 'ms_deprecated_blogs_file' );
* @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' ) . '' );
+ $message = sprintf( __( 'The plugins page is not visible to normal users. It must be activated first. %s' ), '' . __( 'Activate' ) . '' );
echo "$message ';
screen_icon();
-echo ' '. esc_html($title) .''; +echo '' . esc_html( $title ) . ''; -if ( isset($_POST['action']) && $_POST['action'] == "deleteblog" && isset($_POST['confirmdelete']) && $_POST['confirmdelete'] == '1' ) { - $hash = wp_generate_password(20, false); - update_option( "delete_blog_hash", $hash ); - $url_delete = admin_url('ms-delete-site.php?h=' . $hash); - $msg = __("Dear User, -You recently clicked the 'Delete Blog' link on your blog and filled in a +if ( isset( $_POST['action'] ) && $_POST['action'] == 'deleteblog' && isset( $_POST['confirmdelete'] ) && $_POST['confirmdelete'] == '1' ) { + $hash = wp_generate_password( 20, false ); + update_option( 'delete_blog_hash', $hash ); + + $url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) ); + + $content = apply_filters( 'delete_site_email_content', __( "Dear User, +You recently clicked the 'Delete Site' link on your site and filled in a form on that page. -If you really want to delete your blog, click the link below. You will not +If you really want to delete your site, click the link below. You will not be asked to confirm again so only click this link if you are absolutely certain: -URL_DELETE +###URL_DELETE### -If you delete your blog, please consider opening a new blog here -some time in the future! (But remember your current blog and username +If you delete your site, please consider opening a new site here +some time in the future! (But remember your current site and username are gone forever.) Thanks for using the site, Webmaster -SITE_NAME -"); - $msg = str_replace( "URL_DELETE", $url_delete, $msg ); - $msg = str_replace( "SITE_NAME", $current_site->site_name, $msg ); - wp_mail( get_option( "admin_email" ), "[ " . get_option( "blogname" ) . " ] ".__("Delete My Blog"), $msg ); +###SITE_NAME###" ) ); + + $content = str_replace( '###URL_DELETE###', $url_delete, $content ); + $content = str_replace( '###SITE_NAME###', $current_site->site_name, $content ); + + wp_mail( get_option( 'admin_email' ), "[ " . get_option( 'blogname' ) . " ] ".__( 'Delete My Site' ), $content ); ?> - + + + + +Delete My Site Permanently you will be sent an email with a link in it. Click on this link to delete your site.'), $current_site->site_name); ?> + + + blogid ); - echo "" . sprintf(__('Thank you for using %s, your blog has been deleted. Happy trails to you until we meet again.'), $current_site->site_name) . " "; - } else { - echo "" . __("I'm sorry, the link you clicked is stale. Please select another option.") . " "; - } -} else { -?> -Delete My Blog you will be sent an email with a link in it. Click on this link to delete your blog.'), $current_site->site_name); ?> - - -'; -include('admin-footer.php'); -?> \ No newline at end of file +include( './admin-footer.php' ); +?> diff --git a/wp-admin/ms-edit.php b/wp-admin/ms-edit.php index 30077e4d4..914764978 100644 --- a/wp-admin/ms-edit.php +++ b/wp-admin/ms-edit.php @@ -1,33 +1,30 @@ options page") ); + wp_die( sprintf( __( 'You probably need to go back to the options page.', esc_url( admin_url( 'ms-options.php' ) ) ) ) ); - if ( isset($_POST['WPLANG']) && ( '' === $_POST['WPLANG'] || in_array($_POST['WPLANG'], get_available_languages()) ) ) - update_site_option( "WPLANG", $_POST['WPLANG'] ); + if ( isset($_POST['WPLANG']) && ( '' === $_POST['WPLANG'] || in_array( $_POST['WPLANG'], get_available_languages() ) ) ) + update_site_option( 'WPLANG', $_POST['WPLANG'] ); if ( is_email( $_POST['admin_email'] ) ) - update_site_option( "admin_email", $_POST['admin_email'] ); + update_site_option( 'admin_email', $_POST['admin_email'] ); $illegal_names = split( ' ', $_POST['illegal_names'] ); foreach ( (array) $illegal_names as $name ) { @@ -35,10 +32,10 @@ switch ( $_GET['action'] ) { if ( $name != '' ) $names[] = trim( $name ); } - update_site_option( "illegal_names", $names ); + update_site_option( 'illegal_names', $names ); if ( $_POST['limited_email_domains'] != '' ) { - $limited_email_domains = str_replace( ' ', "\n", $_POST[ 'limited_email_domains' ] ); + $limited_email_domains = str_replace( ' ', "\n", $_POST['limited_email_domains'] ); $limited_email_domains = split( "\n", stripslashes( $limited_email_domains ) ); $limited_email = array(); foreach ( (array) $limited_email_domains as $domain ) { @@ -46,31 +43,31 @@ switch ( $_GET['action'] ) { if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $domain ) ) $limited_email[] = trim( $domain ); } - update_site_option( "limited_email_domains", $limited_email ); + update_site_option( 'limited_email_domains', $limited_email ); } else { - update_site_option( "limited_email_domains", '' ); + update_site_option( 'limited_email_domains', '' ); } if ( $_POST['banned_email_domains'] != '' ) { - $banned_email_domains = split( "\n", stripslashes( $_POST[ 'banned_email_domains' ] ) ); + $banned_email_domains = split( "\n", stripslashes( $_POST['banned_email_domains'] ) ); $banned = array(); foreach ( (array) $banned_email_domains as $domain ) { $domain = trim( $domain ); if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $domain ) ) $banned[] = trim( $domain ); } - update_site_option( "banned_email_domains", $banned ); + update_site_option( 'banned_email_domains', $banned ); } else { - update_site_option( "banned_email_domains", '' ); + update_site_option( 'banned_email_domains', '' ); } - update_site_option( 'default_user_role', $_POST[ 'default_user_role' ] ); - if ( trim( $_POST[ 'dashboard_blog_orig' ] ) == '' ) - $_POST[ 'dashboard_blog_orig' ] = $current_site->blog_id; - if ( trim( $_POST[ 'dashboard_blog' ] ) == '' ) { - $_POST[ 'dashboard_blog' ] = $current_site->blog_id; + update_site_option( 'default_user_role', $_POST['default_user_role'] ); + if ( trim( $_POST['dashboard_blog_orig'] ) == '' ) + $_POST['dashboard_blog_orig'] = $current_site->blog_id; + if ( trim( $_POST['dashboard_blog'] ) == '' ) { + $_POST['dashboard_blog'] = $current_site->blog_id; $dashboard_blog_id = $current_site->blog_id; } else { - $dashboard_blog = untrailingslashit( sanitize_user( str_replace( '.', '', str_replace( $current_site->domain . $current_site->path, '', $_POST[ 'dashboard_blog' ] ) ) ) ); + $dashboard_blog = untrailingslashit( sanitize_user( str_replace( '.', '', str_replace( $current_site->domain . $current_site->path, '', $_POST['dashboard_blog'] ) ) ) ); $blog_details = get_blog_details( $dashboard_blog ); if ( false === $blog_details ) { if ( is_numeric( $dashboard_blog ) ) @@ -83,7 +80,7 @@ switch ( $_GET['action'] ) { $path = trailingslashit( $current_site->path . $dashboard_blog ); } $wpdb->hide_errors(); - $dashboard_blog_id = wpmu_create_blog( $domain, $path, __( 'My Dashboard' ), $current_user->id , array( "public" => 0 ), $current_site->id ); + $dashboard_blog_id = wpmu_create_blog( $domain, $path, __( 'My Dashboard' ), $current_user->id , array( 'public' => 0 ), $current_site->id ); $wpdb->show_errors(); } else { $dashboard_blog_id = $blog_details->blog_id; @@ -91,7 +88,7 @@ switch ( $_GET['action'] ) { } if ( is_wp_error( $dashboard_blog_id ) ) wp_die( __( 'Problem creating dashboard blog: ' ) . $dashboard_blog_id->get_error_message() ); - if ( $_POST[ 'dashboard_blog_orig' ] != $_POST[ 'dashboard_blog' ] ) { + if ( $_POST['dashboard_blog_orig'] != $_POST['dashboard_blog'] ) { $users = get_users_of_blog( get_site_option( 'dashboard_blog' ) ); $move_users = array(); foreach ( (array)$users as $user ) { @@ -106,60 +103,60 @@ switch ( $_GET['action'] ) { } } } - update_site_option( "dashboard_blog", $dashboard_blog_id ); + update_site_option( 'dashboard_blog', $dashboard_blog_id ); // global terms - if ( !global_terms_enabled() && ! empty( $_POST[ 'global_terms_enabled' ] ) ) { + if ( !global_terms_enabled() && ! empty( $_POST['global_terms_enabled'] ) ) { require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); // create global terms table install_global_terms(); } $options = array( 'registrationnotification', 'registration', 'add_new_users', 'menu_items', 'mu_media_buttons', 'upload_space_check_disabled', 'blog_upload_space', 'upload_filetypes', 'site_name', 'first_post', 'first_page', 'first_comment', 'first_comment_url', 'first_comment_author', 'welcome_email', 'welcome_user_email', 'fileupload_maxk', 'admin_notice_feed', 'global_terms_enabled' ); - $checked_options = array('mu_media_buttons' => array(), 'menu_items' => array(), 'registrationnotification' => 'no', 'upload_space_check_disabled' => 1 ); + $checked_options = array( 'mu_media_buttons' => array(), 'menu_items' => array(), 'registrationnotification' => 'no', 'upload_space_check_disabled' => 1 ); foreach ( $checked_options as $option_name => $option_unchecked_value ) { - if ( ! isset($_POST[ $option_name ]) ) - $_POST[ $option_name ] = $option_unchecked_value; + if ( ! isset( $_POST[$option_name] ) ) + $_POST[$option_name] = $option_unchecked_value; } foreach ( $options as $option_name ) { - if ( ! isset($_POST[ $option_name ]) ) + if ( ! isset($_POST[$option_name]) ) continue; - $value = stripslashes_deep( $_POST[ $option_name ] ); + $value = stripslashes_deep( $_POST[$option_name] ); update_site_option( $option_name, $value ); } // Update more options here do_action( 'update_wpmu_options' ); - wp_redirect( add_query_arg( "updated", "true", 'ms-options.php' ) ); + wp_redirect( add_query_arg( 'updated', 'true', admin_url( 'ms-options.php' ) ) ); exit(); break; - case "addblog": - check_admin_referer('add-blog'); + case 'addblog': + check_admin_referer( 'add-blog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - if ( is_array( $_POST[ 'blog' ] ) == false ) - wp_die( "Can't create an empty site." ); + if ( is_array( $_POST['blog'] ) == false ) + wp_die( __( "Can't create an empty site." ) ); $blog = $_POST['blog']; $domain = ''; - if ( ! preg_match( '/(--)/', $blog[ 'domain' ] ) && preg_match( '|^([a-zA-Z0-9-])+$|', $blog[ 'domain' ] ) ) - $domain = strtolower( $blog[ 'domain' ] ); - $email = sanitize_email( $blog[ 'email' ] ); - $title = $blog[ 'title' ]; + if ( ! preg_match( '/(--)/', $blog['domain'] ) && preg_match( '|^([a-zA-Z0-9-])+$|', $blog['domain'] ) ) + $domain = strtolower( $blog['domain'] ); + $email = sanitize_email( $blog['email'] ); + $title = $blog['title']; if ( empty( $domain ) ) wp_die( __( 'Missing or invalid site address.' ) ); if ( empty( $email ) ) wp_die( __( 'Missing email address.' ) ); if ( !is_email( $email ) ) - wp_die( __( 'Invalid email address' ) ); + wp_die( __( 'Invalid email address.' ) ); if ( is_subdomain_install() ) { - $newdomain = $domain.".".$current_site->domain; + $newdomain = $domain . '.' . $current_site->domain; $path = $base; } else { $newdomain = $current_site->domain; - $path = $base.$domain.'/'; + $path = $base . $domain . '/'; } $password = 'N/A'; @@ -168,46 +165,52 @@ switch ( $_GET['action'] ) { $password = wp_generate_password(); $user_id = wpmu_create_user( $domain, $password, $email ); if ( false == $user_id ) - wp_die( __('There was an error creating the user') ); + wp_die( __( 'There was an error creating the user.' ) ); else - wp_new_user_notification($user_id, $password); + wp_new_user_notification( $user_id, $password ); } $wpdb->hide_errors(); - $id = wpmu_create_blog($newdomain, $path, $title, $user_id , array( "public" => 1 ), $current_site->id); + $id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( 'public' => 1 ), $current_site->id ); $wpdb->show_errors(); - if ( !is_wp_error($id) ) { + if ( !is_wp_error( $id ) ) { $dashboard_blog = get_dashboard_blog(); if ( get_user_option( 'primary_blog', $user_id ) == $dashboard_blog->blog_id ) update_user_option( $user_id, 'primary_blog', $id, true ); - $content_mail = sprintf( __( "New site created by %1s\n\nAddress: http://%2s\nName: %3s"), $current_user->user_login , $newdomain.$path, stripslashes( $title ) ); - wp_mail( get_site_option('admin_email'), sprintf(__('[%s] New Site Created'), $current_site->site_name), $content_mail, 'From: "Site Admin" <' . get_site_option( 'admin_email' ) . '>' ); - wpmu_welcome_notification( $id, $user_id, $password, $title, array( "public" => 1 ) ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'add-blog'), $_SERVER['HTTP_REFERER'] ) ); + $content_mail = sprintf( __( "New site created by %1s\n\nAddress: http://%2s\nName: %3s"), $current_user->user_login , $newdomain . $path, stripslashes( $title ) ); + wp_mail( get_site_option('admin_email'), sprintf( __( '[%s] New Site Created' ), $current_site->site_name ), $content_mail, 'From: "Site Admin" <' . get_site_option( 'admin_email' ) . '>' ); + wpmu_welcome_notification( $id, $user_id, $password, $title, array( 'public' => 1 ) ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add-blog' ), wp_get_referer() ) ); exit(); } else { wp_die( $id->get_error_message() ); } break; - case "updateblog": - check_admin_referer('editblog'); + case 'updateblog': + check_admin_referer( 'editblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); if ( empty( $_POST ) ) - wp_die( __('You probably need to go back to the sites page') ); - - // themes - if ( isset($_POST[ 'theme' ]) && is_array( $_POST[ 'theme' ] ) ) - $_POST[ 'option' ][ 'allowedthemes' ] = $_POST[ 'theme' ]; - else - $_POST[ 'option' ][ 'allowedthemes' ] = ''; + wp_die( sprintf( __( 'You probably need to go back to the sites page', esc_url( admin_url( 'ms-sites.php' ) ) ) ) ); switch_to_blog( $id ); - if ( is_array( $_POST[ 'option' ] ) ) { + + // themes + $allowedthemes = array(); + if ( isset($_POST['theme']) && is_array( $_POST['theme'] ) ) { + foreach ( $_POST['theme'] as $theme => $val ) { + if ( 'on' == $val ) + $allowedthemes[$theme] = true; + } + } + update_option( 'allowedthemes', $allowedthemes ); + + // options + if ( is_array( $_POST['option'] ) ) { $c = 1; - $count = count( $_POST[ 'option' ] ); + $count = count( $_POST['option'] ); foreach ( (array) $_POST['option'] as $key => $val ) { if ( $key === 0 || is_array( $val ) ) continue; // Avoids "0 is a protected WP option and may not be modified" error when edit blog options @@ -219,10 +222,11 @@ switch ( $_GET['action'] ) { } } + // home and siteurl if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) { - $blog_address = get_blogaddress_by_domain($_POST['blog']['domain'], $_POST['blog']['path']); + $blog_address = get_blogaddress_by_domain( $_POST['blog']['domain'], $_POST['blog']['path'] ); if ( get_option( 'siteurl' ) != $blog_address ) - update_option( 'siteurl', $blog_address); + update_option( 'siteurl', $blog_address ); if ( get_option( 'home' ) != $blog_address ) update_option( 'home', $blog_address ); @@ -231,210 +235,216 @@ switch ( $_GET['action'] ) { // rewrite rules can't be flushed during switch to blog delete_option( 'rewrite_rules' ); - // update blogs count - delete_site_transient( "blog_count" ); - // update blogs table - $blog_data = stripslashes_deep($_POST[ 'blog' ]); - update_blog_details($id, $blog_data); + $blog_data = stripslashes_deep( $_POST['blog'] ); + update_blog_details( $id, $blog_data ); // get blog prefix $blog_prefix = $wpdb->get_blog_prefix( $id ); // user roles - if ( isset( $_POST[ 'role' ] ) && is_array( $_POST[ 'role' ] ) == true ) { - $newroles = $_POST[ 'role' ]; + if ( isset( $_POST['role'] ) && is_array( $_POST['role'] ) == true ) { + $newroles = $_POST['role']; + reset( $newroles ); foreach ( (array) $newroles as $userid => $role ) { - $user = new WP_User($userid); + $user = new WP_User( $userid ); if ( ! $user ) continue; - $user->for_blog($id); - $user->set_role($role); + $user->for_blog( $id ); + $user->set_role( $role ); } } // remove user - if ( isset( $_POST[ 'blogusers' ] ) && is_array( $_POST[ 'blogusers' ] ) ) { - reset( $_POST[ 'blogusers' ] ); - foreach ( (array) $_POST[ 'blogusers' ] as $key => $val ) + if ( isset( $_POST['blogusers'] ) && is_array( $_POST['blogusers'] ) ) { + reset( $_POST['blogusers'] ); + foreach ( (array) $_POST['blogusers'] as $key => $val ) remove_user_from_blog( $key, $id ); } // change password - if ( isset( $_POST[ 'user_password' ] ) && is_array( $_POST[ 'user_password' ] ) ) { - reset( $_POST[ 'user_password' ] ); - $newroles = $_POST[ 'role' ]; - foreach ( (array) $_POST[ 'user_password' ] as $userid => $pass ) { - unset( $_POST[ 'role' ] ); - $_POST[ 'role' ] = $newroles[ $userid ]; + if ( isset( $_POST['user_password'] ) && is_array( $_POST['user_password'] ) ) { + reset( $_POST['user_password'] ); + $newroles = $_POST['role']; + foreach ( (array) $_POST['user_password'] as $userid => $pass ) { + unset( $_POST['role'] ); + $_POST['role'] = $newroles[ $userid ]; if ( $pass != '' ) { $cap = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$userid}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" ); $userdata = get_userdata($userid); - $_POST[ 'pass1' ] = $_POST[ 'pass2' ] = $pass; - $_POST[ 'email' ] = $userdata->user_email; - $_POST[ 'rich_editing' ] = $userdata->rich_editing; + $_POST['pass1'] = $_POST['pass2'] = $pass; + $_POST['email'] = $userdata->user_email; + $_POST['rich_editing'] = $userdata->rich_editing; edit_user( $userid ); if ( $cap == null ) $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE user_id = '{$userid}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" ); } } - unset( $_POST[ 'role' ] ); - $_POST[ 'role' ] = $newroles; + unset( $_POST['role'] ); + $_POST['role'] = $newroles; } - // add user? - if ( isset( $_POST[ 'user_password' ] ) && !empty( $_POST[ 'newuser' ] ) ) { - $newuser = $_POST[ 'newuser' ]; + // add user + if ( !empty( $_POST['newuser'] ) ) { + $newuser = $_POST['newuser']; $userid = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = %s", $newuser ) ); if ( $userid ) { - $user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='wp_" . $id . "_capabilities'" ); + $user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='{$blog_prefix}capabilities'" ); if ( $user == false ) - add_user_to_blog($id, $userid, $_POST[ 'new_role' ]); + add_user_to_blog( $id, $userid, $_POST['new_role'] ); } } do_action( 'wpmu_update_blog_options' ); restore_current_blog(); - wpmu_admin_do_redirect( "ms-sites.php?action=editblog&updated=true&id=".$id ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'editblog', 'id' => $id ), wp_get_referer() ) ); break; - case "deleteblog": + case 'deleteblog': check_admin_referer('deleteblog'); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); if ( $id != '0' && $id != $current_site->blog_id ) wpmu_delete_blog( $id, true ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'delete'), $_POST[ 'ref' ] ) ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'delete' ), wp_get_referer() ) ); exit(); break; - case "allblogs": - if ( isset($_POST['doaction']) || isset($_POST['doaction2']) ) { - check_admin_referer('bulk-sites'); + case 'allblogs': + if ( isset( $_POST['doaction']) || isset($_POST['doaction2'] ) ) { + check_admin_referer( 'bulk-ms-sites' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); - - if ( $_GET['action'] != -1 || $_POST['action2'] != -1 ) - $doaction = $doaction = ($_POST['action'] != -1) ? $_POST['action'] : $_POST['action2']; + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + if ( $_GET['action'] != -1 || $_POST['action2'] != -1 ) + $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2']; - foreach ( (array) $_POST[ 'allblogs' ] as $key => $val ) { - if ( $val != '0' && $val != $current_site->blog_id ) { - switch ( $doaction ) { - case 'delete': - $blogfunction = 'all_delete'; - wpmu_delete_blog( $val, true ); + foreach ( (array) $_POST['allblogs'] as $key => $val ) { + if ( $val != '0' && $val != $current_site->blog_id ) { + switch ( $doaction ) { + case 'delete': + $blogfunction = 'all_delete'; + wpmu_delete_blog( $val, true ); break; - case 'spam': - $blogfunction = 'all_spam'; - update_blog_status( $val, "spam", '1', 0 ); - set_time_limit(60); + + case 'spam': + $blogfunction = 'all_spam'; + update_blog_status( $val, 'spam', '1', 0 ); + set_time_limit( 60 ); break; - case 'notspam': - $blogfunction = 'all_notspam'; - update_blog_status( $val, "spam", '0', 0 ); - set_time_limit(60); + + case 'notspam': + $blogfunction = 'all_notspam'; + update_blog_status( $val, 'spam', '0', 0 ); + set_time_limit( 60 ); break; + } + } else { + wp_die( __( 'You are not allowed to change the current site.' ) ); } - } else { - wp_die( __('You are not allowed to change one of these sites.') ); - exit(); - }; - }; - - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => $blogfunction), $_SERVER['HTTP_REFERER'] ) ); - exit(); + } + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $blogfunction ), wp_get_referer() ) ); + exit(); } else { - wp_redirect( admin_url("ms-sites.php") ); + wp_redirect( admin_url( 'ms-sites.php' ) ); } break; - case "archiveblog": - check_admin_referer('archiveblog'); + case 'archiveblog': + check_admin_referer( 'archiveblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - update_blog_status( $id, "archived", '1' ); - do_action( "archive_blog", $id ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'archive'), $_POST['ref'] ) ); + update_blog_status( $id, 'archived', '1' ); + do_action( 'archive_blog', $id ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'archive' ), wp_get_referer() ) ); exit(); break; - case "unarchiveblog": - check_admin_referer('unarchiveblog'); + case 'unarchiveblog': + check_admin_referer( 'unarchiveblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - do_action( "unarchive_blog", $id ); - update_blog_status( $id, "archived", '0' ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'unarchive'), $_POST['ref'] ) ); + do_action( 'unarchive_blog', $id ); + update_blog_status( $id, 'archived', '0' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unarchive' ), wp_get_referer() ) ); exit(); break; - case "activateblog": - check_admin_referer('activateblog'); + case 'activateblog': + check_admin_referer( 'activateblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - update_blog_status( $id, "deleted", '0' ); - do_action( "activate_blog", $id ); - wp_redirect( add_query_arg( "updated", array('updated' => 'true', 'action' => 'activate'), $_POST['ref'] ) ); + update_blog_status( $id, 'deleted', '0' ); + do_action( 'activate_blog', $id ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'activate' ), wp_get_referer() ) ); exit(); break; - case "deactivateblog": - check_admin_referer('deactivateblog'); + case 'deactivateblog': + check_admin_referer( 'deactivateblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - do_action( "deactivate_blog", $id ); - update_blog_status( $id, "deleted", '1' ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'deactivate'), $_POST['ref'] ) ); + do_action( 'deactivate_blog', $id ); + update_blog_status( $id, 'deleted', '1' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'deactivate' ), wp_get_referer() ) ); exit(); break; - case "unspamblog": - check_admin_referer('unspamblog'); + case 'unspamblog': + check_admin_referer( 'unspamblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - update_blog_status( $id, "spam", '0' ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'unspam'), $_POST['ref'] ) ); + update_blog_status( $id, 'spam', '0' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unspam' ), wp_get_referer() ) ); exit(); break; - case "spamblog": - check_admin_referer('spamblog'); + case 'spamblog': + check_admin_referer( 'spamblog' ); if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); - update_blog_status( $id, "spam", '1' ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'spam'), $_POST['ref'] ) ); + update_blog_status( $id, 'spam', '1' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'spam' ), wp_get_referer() ) ); exit(); break; - case "mature": + case 'matureblog': + check_admin_referer( 'matureblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + update_blog_status( $id, 'mature', '1' ); do_action( 'mature_blog', $id ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'mature'), $_POST['ref'] ) ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'mature' ), wp_get_referer() ) ); exit(); break; - case "unmature": + case 'unmatureblog': + check_admin_referer( 'unmatureblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + update_blog_status( $id, 'mature', '0' ); do_action( 'unmature_blog', $id ); - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'umature'), $_POST['ref'] ) ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unmature' ), wp_get_referer() ) ); exit(); break; // Themes - case "updatethemes": + case 'updatethemes': if ( ! current_user_can( 'manage_network_themes' ) ) - wp_die( __('You do not have permission to access this page.') ); + wp_die( __( 'You do not have permission to access this page.' ) ); if ( is_array( $_POST['theme'] ) ) { $themes = get_themes(); @@ -445,174 +455,217 @@ switch ( $_GET['action'] ) { } update_site_option( 'allowedthemes', $allowed_themes ); } - wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'themes'), $_SERVER['HTTP_REFERER'] ) ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'themes' ), wp_get_referer() ) ); exit(); break; // Common - case "confirm": - $referrer = ( isset($_GET['ref']) ) ? stripslashes($_GET['ref']) : $_SERVER['HTTP_REFERER']; - $referrer = esc_url($referrer); + case 'confirm': if ( !headers_sent() ) { nocache_headers(); header( 'Content-Type: text/html; charset=utf-8' ); } + if ( $current_site->blog_id == $id ) + wp_die( __( 'You are not allowed to change the current site.' ) ); ?> - > + > -';
+ check_admin_referer( 'deleteuser' );
+
+ if ( $id != '0' && $id != '1' ) {
+ $_POST['allusers'] = array( $id ); // confirm_delete_users() can only handle with arrays
+ $title = __( 'Users' );
+ $parent_file = 'ms-admin.php';
+ require_once( 'admin-header.php' );
+ echo ' ';
confirm_delete_users( $_POST['allusers'] );
echo ' ';
- require_once('admin-footer.php');
- } elseif ( isset( $_POST[ 'alluser_transfer_delete' ] ) ) {
- if ( is_array( $_POST[ 'blog' ] ) && !empty( $_POST[ 'blog' ] ) ) {
- foreach ( $_POST[ 'blog' ] as $id => $users ) {
- foreach ( $users as $blogid => $user_id ) {
- remove_user_from_blog( $id, $blogid, $user_id );
- }
- }
- }
- if ( is_array( $_POST[ 'user' ] ) && !empty( $_POST[ 'user' ] ) )
- foreach( $_POST[ 'user' ] as $id )
- wpmu_delete_user( $id );
-
- wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'all_delete'), 'ms-users.php' ) );
- } elseif ( isset( $_POST[ 'add_superadmin' ] ) ) {
- $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
- $mainblog_id = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->blogs} WHERE domain='{$current_site->domain}' AND path='{$current_site->path}'" );
- foreach ( (array) $_POST['allusers'] as $key => $val ) {
- if ( $val == '' || $val == '0' )
- continue;
- $user = new WP_User( $val );
- if ( in_array( $user->user_login, $super_admins ) )
- continue;
- if ( $mainblog_id )
- add_user_to_blog( $mainblog_id, $user->ID, 'administrator' );
- $super_admins[] = $user->user_login;
- }
- update_site_option( 'site_admins' , $super_admins );
-
- wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add_superadmin' ), $_SERVER['HTTP_REFERER'] ) );
- } elseif ( isset( $_POST[ 'remove_superadmin' ] ) ) {
- $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
- $admin_email = get_site_option( 'admin_email' );
- foreach ( (array) $_POST['allusers'] as $key => $val ) {
- if ( $val == '' || $val == '0' )
- continue;
- $user = new WP_User( $val );
- if ( $user->ID == $current_user->ID || $user->user_email == $admin_email )
- continue;
- foreach ( $super_admins as $key => $username ) {
- if ( $username == $user->user_login ) {
- unset( $super_admins[ $key ] );
- break;
- }
- }
- }
- update_site_option( 'site_admins' , $super_admins );
-
- wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'remove_superadmin' ), $_SERVER['HTTP_REFERER'] ) );
+ require_once( 'admin-footer.php' );
+ exit();
} else {
- foreach ( (array) $_POST['allusers'] as $key => $val ) {
- if ( $val == '' || $val == '0' )
- continue;
- $user = new WP_User( $val );
- if ( in_array( $user->user_login, get_site_option( 'site_admins', array( 'admin' ) ) ) )
- wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network admnistrator.' ), $user->user_login ) );
- if ( isset($_POST['alluser_spam']) ) {
- $userfunction = 'all_spam';
- $blogs = get_blogs_of_user( $val, true );
- foreach ( (array) $blogs as $key => $details ) {
- if ( $details->userblog_id == $current_site->blog_id ) { continue; } // main blog not a spam !
- update_blog_status( $details->userblog_id, "spam", '1' );
- }
- update_user_status( $val, "spam", '1', 1 );
- } elseif ( isset($_POST['alluser_notspam']) ) {
- $userfunction = 'all_notspam';
- $blogs = get_blogs_of_user( $val, true );
- foreach ( (array) $blogs as $key => $details ) {
- update_blog_status( $details->userblog_id, "spam", '0' );
- }
- update_user_status( $val, "spam", '0', 1 );
- }
- }
- wp_redirect( add_query_arg( array('updated' => 'true', 'action' => $userfunction), $_SERVER['HTTP_REFERER'] ) );
+ wp_redirect( admin_url( 'ms-users.php' ) );
}
- exit();
break;
- case "adduser":
- check_admin_referer('add-user');
+ case 'allusers':
if ( ! current_user_can( 'manage_network_users' ) )
- wp_die( __('You do not have permission to access this page.') );
+ wp_die( __( 'You do not have permission to access this page.' ) );
- if ( is_array( $_POST[ 'user' ] ) == false )
- wp_die( __( "Cannot create an empty user." ) );
+ if ( isset( $_POST['doaction']) || isset($_POST['doaction2'] ) ) {
+ check_admin_referer( 'bulk-ms-users' );
+
+ if ( $_GET['action'] != -1 || $_POST['action2'] != -1 )
+ $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
+
+ foreach ( (array) $_POST['allusers'] as $key => $val ) {
+ if ( $val != '' || $val != '0' ) {
+ switch ( $doaction ) {
+ case 'delete':
+ $title = __( 'Users' );
+ $parent_file = 'ms-admin.php';
+ require_once( 'admin-header.php' );
+ echo '';
+ confirm_delete_users( $_POST['allusers'] );
+ echo ' ';
+ require_once( 'admin-footer.php' );
+ exit();
+ break;
+
+ case 'superadmin':
+ $userfunction = 'add_superadmin';
+ $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
+
+ $user = new WP_User( $val );
+ if ( ! in_array( $user->user_login, $super_admins ) ) {
+ if ( $current_site->blog_id )
+ add_user_to_blog( $current_site->blog_id, $user->ID, 'administrator' );
+
+ $super_admins[] = $user->user_login;
+ update_site_option( 'site_admins' , $super_admins );
+ }
+ break;
+
+ case 'notsuperadmin':
+ $userfunction = 'remove_superadmin';
+ $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
+ $admin_email = get_site_option( 'admin_email' );
+
+ $user = new WP_User( $val );
+ if ( $user->ID != $current_user->ID || $user->user_email != $admin_email ) {
+ foreach ( $super_admins as $key => $username ) {
+ if ( $username == $user->user_login ) {
+ unset( $super_admins[$key] );
+ break;
+ }
+ }
+ }
+
+ update_site_option( 'site_admins' , $super_admins );
+ break;
+
+ case 'spam':
+ $user = new WP_User( $val );
+ if ( in_array( $user->user_login, get_site_option( 'site_admins', array( 'admin' ) ) ) )
+ wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network admnistrator.' ), esc_html( $user->user_login ) ) );
+
+ $userfunction = 'all_spam';
+ $blogs = get_blogs_of_user( $val, true );
+ foreach ( (array) $blogs as $key => $details ) {
+ if ( $details->userblog_id != $current_site->blog_id ) // main blog not a spam !
+ update_blog_status( $details->userblog_id, 'spam', '1' );
+ }
+ update_user_status( $val, 'spam', '1', 1 );
+ break;
+
+ case 'notspam':
+ $userfunction = 'all_notspam';
+ $blogs = get_blogs_of_user( $val, true );
+ foreach ( (array) $blogs as $key => $details )
+ update_blog_status( $details->userblog_id, 'spam', '0' );
+
+ update_user_status( $val, 'spam', '0', 1 );
+ break;
+ }
+ }
+ }
+
+ wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $userfunction ), wp_get_referer() ) );
+ exit();
+ } else {
+ wp_redirect( admin_url( 'ms-users.php' ) );
+ }
+ break;
+
+ case 'dodelete':
+ check_admin_referer( 'ms-users-delete' );
+ if ( ! current_user_can( 'manage_network_users' ) )
+ wp_die( __( 'You do not have permission to access this page.' ) );
+
+ if ( is_array( $_POST['blog'] ) && ! empty( $_POST['blog'] ) ) {
+ foreach ( $_POST['blog'] as $id => $users ) {
+ foreach ( $users as $blogid => $user_id ) {
+ if ( ! empty( $_POST['delete'] ) && 'reassign' == $_POST['delete'][$blogid][$id] )
+ remove_user_from_blog( $id, $blogid, $user_id );
+ else
+ remove_user_from_blog( $id, $blogid );
+ }
+ }
+ }
+ $i = 0;
+ if ( is_array( $_POST['user'] ) && ! empty( $_POST['user'] ) )
+ foreach( $_POST['user'] as $id ) {
+ wpmu_delete_user( $id );
+ $i++;
+ }
+
+ if ( $i == 1 )
+ $deletefunction = 'delete';
+ else
+ $deletefunction = 'all_delete';
+
+ wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $deletefunction ), admin_url( 'ms-users.php' ) ) );
+ break;
+
+ case 'adduser':
+ check_admin_referer( 'add-user' );
+ if ( ! current_user_can( 'manage_network_users' ) )
+ wp_die( __( 'You do not have permission to access this page.' ) );
+
+ if ( is_array( $_POST['user'] ) == false )
+ wp_die( __( 'Cannot create an empty user.' ) );
$user = $_POST['user'];
if ( empty($user['username']) && empty($user['email']) )
- wp_die( __('Missing username and email.') );
+ wp_die( __( 'Missing username and email.' ) );
elseif ( empty($user['username']) )
- wp_die( __('Missing username.') );
+ wp_die( __( 'Missing username.' ) );
elseif ( empty($user['email']) )
- wp_die( __('Missing email.') );
+ wp_die( __( 'Missing email.' ) );
$password = wp_generate_password();
- $user_id = wpmu_create_user(esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) );
+ $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) );
if ( false == $user_id )
- wp_die( __('Duplicated username or email address.') );
+ wp_die( __( 'Duplicated username or email address.' ) );
else
- wp_new_user_notification($user_id, $password);
+ wp_new_user_notification( $user_id, $password );
if ( get_site_option( 'dashboard_blog' ) == false )
add_user_to_blog( $current_site->blog_id, $user_id, get_site_option( 'default_user_role', 'subscriber' ) );
else
add_user_to_blog( get_site_option( 'dashboard_blog' ), $user_id, get_site_option( 'default_user_role', 'subscriber' ) );
- wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'add'), $_SERVER['HTTP_REFERER'] ) );
+ wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add' ), wp_get_referer() ) );
exit();
break;
default:
- wpmu_admin_do_redirect( "ms-admin.php" );
+ wp_redirect( admin_url( 'ms-admin.php' ) );
break;
}
?>
diff --git a/wp-admin/ms-options.php b/wp-admin/ms-options.php
index 0419d97f9..f304a7bc4 100644
--- a/wp-admin/ms-options.php
+++ b/wp-admin/ms-options.php
@@ -1,42 +1,42 @@
-
+
-
+
|
---|