diff --git a/wp-admin/css/ms.dev.css b/wp-admin/css/ms.dev.css index 368457cf6f..69c80f9836 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 7344c0b7e1..d0f71576c8 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(); ?> -

-

-
- +

+

+ + ID'>$current_user->user_login"; @@ -191,29 +194,40 @@ function confirm_delete_users( $users ) { $blogs = get_blogs_of_user( $val, true ); if ( !empty( $blogs ) ) { - echo '

' . sprintf( __( 'Sites from %s:' ), $delete_user->user_login ) . '

'; + ?> +

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

+ $details ) { $blog_users = get_users_of_blog( $details->userblog_id ); if ( is_array( $blog_users ) && !empty( $blog_users ) ) { - echo "

{$details->blogname} "; - echo ""; + $user_list = ''; foreach ( $blog_users as $user ) { if ( $user->user_id != $val && !in_array( $user->user_id, $allusers ) ) - $out .= ""; + $user_list .= ""; } - if ( $out == '' ) - $out = $admin_out; - echo $out; - echo "\n"; + if ( '' == $user_list ) + $user_list = $admin_out; + $user_dropdown .= $user_list; + $user_dropdown .= "\n"; + ?> +

+ "; } } } ?> -
- +

$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 "
" . sprintf( __( "Your email address has not been updated yet. Please check your inbox at %s for a confirmation email." ), $email[ 'newemail' ] ) . "
"; + if ( strpos( $_SERVER['PHP_SELF'], 'profile.php' ) && isset( $_GET['updated'] ) && $email = get_option( $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' ); @@ -348,12 +362,12 @@ function get_site_allowed_themes() { $themes = get_themes(); $allowed_themes = get_site_option( 'allowedthemes' ); if ( !is_array( $allowed_themes ) || empty( $allowed_themes ) ) { - $allowed_themes = get_site_option( "allowed_themes" ); // convert old allowed_themes format + $allowed_themes = get_site_option( 'allowed_themes' ); // convert old allowed_themes format if ( !is_array( $allowed_themes ) ) { $allowed_themes = array(); } else { foreach( (array) $themes as $key => $theme ) { - $theme_key = esc_html( $theme[ 'Stylesheet' ] ); + $theme_key = esc_html( $theme['Stylesheet'] ); if ( isset( $allowed_themes[ $key ] ) == true ) { $allowedthemes[ $theme_key ] = 1; } @@ -376,25 +390,25 @@ function is_upload_space_available() { $space_allowed = get_space_allowed(); $dir_name = trailingslashit( BLOGUPLOADDIR ); - if ( !(is_dir($dir_name) && is_readable($dir_name)) ) + if ( !( is_dir( $dir_name) && is_readable( $dir_name ) ) ) return true; - $dir = dir($dir_name); + $dir = dir( $dir_name ); $size = 0; while ( $file = $dir->read() ) { if ( $file != '.' && $file != '..' ) { if ( is_dir( $dir_name . $file) ) { - $size += get_dirsize($dir_name . $file); + $size += get_dirsize( $dir_name . $file ); } else { - $size += filesize($dir_name . $file); + $size += filesize( $dir_name . $file ); } } } $dir->close(); $size = $size / 1024 / 1024; - if ( ($space_allowed - $size) <= 0 ) + if ( ( $space_allowed - $size ) <= 0 ) return false; return true; @@ -406,10 +420,10 @@ function is_upload_space_available() { * @return int Quota */ function get_space_allowed() { - $space_allowed = get_option('blog_upload_space'); + $space_allowed = get_option( 'blog_upload_space' ); if ( $space_allowed == false ) - $space_allowed = get_site_option('blog_upload_space'); - if ( empty($space_allowed) || !is_numeric($space_allowed) ) + $space_allowed = get_site_option( 'blog_upload_space' ); + if ( empty( $space_allowed ) || !is_numeric( $space_allowed ) ) $space_allowed = 50; return $space_allowed; @@ -417,7 +431,7 @@ function get_space_allowed() { function display_space_usage() { $space = get_space_allowed(); - $used = get_dirsize( BLOGUPLOADDIR )/1024/1024; + $used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024; if ( $used > $space ) $percentused = '100'; @@ -426,12 +440,12 @@ function display_space_usage() { if ( $space > 1000 ) { $space = number_format( $space / 1024 ); - $space .= __('GB'); + $space .= __( 'GB' ); } else { - $space .= __('MB'); + $space .= __( 'MB' ); } ?> - + $quota ) $percentused = '100'; else $percentused = ( $used / $quota ) * 100; - $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved') : 'spam'; + $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved' ) : 'spam'; $used = round( $used, 2 ); $percentused = number_format( $percentused ); ?> -

-
+

+
- - - - + +
%sMB' ), $quota ); ?>%1sMB (%2$s%%)' ), $used, $percentused ); ?>%sMB' ), $quota ); ?>
+
+ + + + + +
%1sMB (%2$s%%)' ), $used, $percentused ); ?>
+
+
- - + + update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) ); if ( $refresh == 1 ) - refresh_user_details($id); + refresh_user_details( $id ); if ( $pref == 'spam' ) { if ( $value == 1 ) - do_action( "make_spam_user", $id ); + do_action( 'make_spam_user', $id ); else - do_action( "make_ham_user", $id ); + do_action( 'make_ham_user', $id ); } return $value; } -function refresh_user_details($id) { +function refresh_user_details( $id ) { $id = (int) $id; if ( !$user = get_userdata( $id ) ) return false; - clean_user_cache($id); + clean_user_cache( $id ); return $id; } function format_code_lang( $code = '' ) { - $code = strtolower(substr($code, 0, 2)); - $lang_codes = array('aa' => 'Afar', 'ab' => 'Abkhazian', 'af' => 'Afrikaans', 'ak' => 'Akan', 'sq' => 'Albanian', 'am' => 'Amharic', 'ar' => 'Arabic', 'an' => 'Aragonese', 'hy' => 'Armenian', 'as' => 'Assamese', 'av' => 'Avaric', 'ae' => 'Avestan', 'ay' => 'Aymara', 'az' => 'Azerbaijani', 'ba' => 'Bashkir', 'bm' => 'Bambara', 'eu' => 'Basque', 'be' => 'Belarusian', 'bn' => 'Bengali', 'bh' => 'Bihari', 'bi' => 'Bislama', 'bs' => 'Bosnian', 'br' => 'Breton', 'bg' => 'Bulgarian', 'my' => 'Burmese', 'ca' => 'Catalan; Valencian', 'ch' => 'Chamorro', 'ce' => 'Chechen', 'zh' => 'Chinese', 'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic', 'cv' => 'Chuvash', 'kw' => 'Cornish', 'co' => 'Corsican', 'cr' => 'Cree', 'cs' => 'Czech', 'da' => 'Danish', 'dv' => 'Divehi; Dhivehi; Maldivian', 'nl' => 'Dutch; Flemish', 'dz' => 'Dzongkha', 'en' => 'English', 'eo' => 'Esperanto', 'et' => 'Estonian', 'ee' => 'Ewe', 'fo' => 'Faroese', 'fj' => 'Fijian', 'fi' => 'Finnish', 'fr' => 'French', 'fy' => 'Western Frisian', 'ff' => 'Fulah', 'ka' => 'Georgian', 'de' => 'German', 'gd' => 'Gaelic; Scottish Gaelic', 'ga' => 'Irish', 'gl' => 'Galician', 'gv' => 'Manx', 'el' => 'Greek, Modern', 'gn' => 'Guarani', 'gu' => 'Gujarati', 'ht' => 'Haitian; Haitian Creole', 'ha' => 'Hausa', 'he' => 'Hebrew', 'hz' => 'Herero', 'hi' => 'Hindi', 'ho' => 'Hiri Motu', 'hu' => 'Hungarian', 'ig' => 'Igbo', 'is' => 'Icelandic', 'io' => 'Ido', 'ii' => 'Sichuan Yi', 'iu' => 'Inuktitut', 'ie' => 'Interlingue', 'ia' => 'Interlingua (International Auxiliary Language Association)', 'id' => 'Indonesian', 'ik' => 'Inupiaq', 'it' => 'Italian', 'jv' => 'Javanese', 'ja' => 'Japanese', 'kl' => 'Kalaallisut; Greenlandic', 'kn' => 'Kannada', 'ks' => 'Kashmiri', 'kr' => 'Kanuri', 'kk' => 'Kazakh', 'km' => 'Central Khmer', 'ki' => 'Kikuyu; Gikuyu', 'rw' => 'Kinyarwanda', 'ky' => 'Kirghiz; Kyrgyz', 'kv' => 'Komi', 'kg' => 'Kongo', 'ko' => 'Korean', 'kj' => 'Kuanyama; Kwanyama', 'ku' => 'Kurdish', 'lo' => 'Lao', 'la' => 'Latin', 'lv' => 'Latvian', 'li' => 'Limburgan; Limburger; Limburgish', 'ln' => 'Lingala', 'lt' => 'Lithuanian', 'lb' => 'Luxembourgish; Letzeburgesch', 'lu' => 'Luba-Katanga', 'lg' => 'Ganda', 'mk' => 'Macedonian', 'mh' => 'Marshallese', 'ml' => 'Malayalam', 'mi' => 'Maori', 'mr' => 'Marathi', 'ms' => 'Malay', 'mg' => 'Malagasy', 'mt' => 'Maltese', 'mo' => 'Moldavian', 'mn' => 'Mongolian', 'na' => 'Nauru', 'nv' => 'Navajo; Navaho', 'nr' => 'Ndebele, South; South Ndebele', 'nd' => 'Ndebele, North; North Ndebele', 'ng' => 'Ndonga', 'ne' => 'Nepali', 'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian', 'nb' => 'Bokmål, Norwegian, Norwegian Bokmål', 'no' => 'Norwegian', 'ny' => 'Chichewa; Chewa; Nyanja', 'oc' => 'Occitan, Provençal', 'oj' => 'Ojibwa', 'or' => 'Oriya', 'om' => 'Oromo', 'os' => 'Ossetian; Ossetic', 'pa' => 'Panjabi; Punjabi', 'fa' => 'Persian', 'pi' => 'Pali', 'pl' => 'Polish', 'pt' => 'Portuguese', 'ps' => 'Pushto', 'qu' => 'Quechua', 'rm' => 'Romansh', 'ro' => 'Romanian', 'rn' => 'Rundi', 'ru' => 'Russian', 'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili', 'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek', 've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh', 'wa' => 'Walloon' -, 'wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu'); - $lang_codes = apply_filters('lang_codes', $lang_codes, $code); + $code = strtolower( substr( $code, 0, 2 ) ); + $lang_codes = array( + 'aa' => 'Afar', 'ab' => 'Abkhazian', 'af' => 'Afrikaans', 'ak' => 'Akan', 'sq' => 'Albanian', 'am' => 'Amharic', 'ar' => 'Arabic', 'an' => 'Aragonese', 'hy' => 'Armenian', 'as' => 'Assamese', 'av' => 'Avaric', 'ae' => 'Avestan', 'ay' => 'Aymara', 'az' => 'Azerbaijani', 'ba' => 'Bashkir', 'bm' => 'Bambara', 'eu' => 'Basque', 'be' => 'Belarusian', 'bn' => 'Bengali', + 'bh' => 'Bihari', 'bi' => 'Bislama', 'bs' => 'Bosnian', 'br' => 'Breton', 'bg' => 'Bulgarian', 'my' => 'Burmese', 'ca' => 'Catalan; Valencian', 'ch' => 'Chamorro', 'ce' => 'Chechen', 'zh' => 'Chinese', 'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic', 'cv' => 'Chuvash', 'kw' => 'Cornish', 'co' => 'Corsican', 'cr' => 'Cree', + 'cs' => 'Czech', 'da' => 'Danish', 'dv' => 'Divehi; Dhivehi; Maldivian', 'nl' => 'Dutch; Flemish', 'dz' => 'Dzongkha', 'en' => 'English', 'eo' => 'Esperanto', 'et' => 'Estonian', 'ee' => 'Ewe', 'fo' => 'Faroese', 'fj' => 'Fijjian', 'fi' => 'Finnish', 'fr' => 'French', 'fy' => 'Western Frisian', 'ff' => 'Fulah', 'ka' => 'Georgian', 'de' => 'German', 'gd' => 'Gaelic; Scottish Gaelic', + 'ga' => 'Irish', 'gl' => 'Galician', 'gv' => 'Manx', 'el' => 'Greek, Modern', 'gn' => 'Guarani', 'gu' => 'Gujarati', 'ht' => 'Haitian; Haitian Creole', 'ha' => 'Hausa', 'he' => 'Hebrew', 'hz' => 'Herero', 'hi' => 'Hindi', 'ho' => 'Hiri Motu', 'hu' => 'Hungarian', 'ig' => 'Igbo', 'is' => 'Icelandic', 'io' => 'Ido', 'ii' => 'Sichuan Yi', 'iu' => 'Inuktitut', 'ie' => 'Interlingue', + 'ia' => 'Interlingua (International Auxiliary Language Association)', 'id' => 'Indonesian', 'ik' => 'Inupiaq', 'it' => 'Italian', 'jv' => 'Javanese', 'ja' => 'Japanese', 'kl' => 'Kalaallisut; Greenlandic', 'kn' => 'Kannada', 'ks' => 'Kashmiri', 'kr' => 'Kanuri', 'kk' => 'Kazakh', 'km' => 'Central Khmer', 'ki' => 'Kikuyu; Gikuyu', 'rw' => 'Kinyarwanda', 'ky' => 'Kirghiz; Kyrgyz', + 'kv' => 'Komi', 'kg' => 'Kongo', 'ko' => 'Korean', 'kj' => 'Kuanyama; Kwanyama', 'ku' => 'Kurdish', 'lo' => 'Lao', 'la' => 'Latin', 'lv' => 'Latvian', 'li' => 'Limburgan; Limburger; Limburgish', 'ln' => 'Lingala', 'lt' => 'Lithuanian', 'lb' => 'Luxembourgish; Letzeburgesch', 'lu' => 'Luba-Katanga', 'lg' => 'Ganda', 'mk' => 'Macedonian', 'mh' => 'Marshallese', 'ml' => 'Malayalam', + 'mi' => 'Maori', 'mr' => 'Marathi', 'ms' => 'Malay', 'mg' => 'Malagasy', 'mt' => 'Maltese', 'mo' => 'Moldavian', 'mn' => 'Mongolian', 'na' => 'Nauru', 'nv' => 'Navajo; Navaho', 'nr' => 'Ndebele, South; South Ndebele', 'nd' => 'Ndebele, North; North Ndebele', 'ng' => 'Ndonga', 'ne' => 'Nepali', 'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian', 'nb' => 'Bokmål, Norwegian, Norwegian Bokmål', + 'no' => 'Norwegian', 'ny' => 'Chichewa; Chewa; Nyanja', 'oc' => 'Occitan, Provençal', 'oj' => 'Ojibwa', 'or' => 'Oriya', 'om' => 'Oromo', 'os' => 'Ossetian; Ossetic', 'pa' => 'Panjabi; Punjabi', 'fa' => 'Persian', 'pi' => 'Pali', 'pl' => 'Polish', 'pt' => 'Portuguese', 'ps' => 'Pushto', 'qu' => 'Quechua', 'rm' => 'Romansh', 'ro' => 'Romanian', 'rn' => 'Rundi', 'ru' => 'Russian', + 'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili', + 'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek', + 've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh','wa' => 'Walloon','wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu' ); + $lang_codes = apply_filters( 'lang_codes', $lang_codes, $code ); return strtr( $code, $lang_codes ); } @@ -525,7 +556,7 @@ function sync_category_tag_slugs( $term, $taxonomy ) { if ( is_object( $term ) ) { $term->slug = sanitize_title( $term->name ); } else { - $term[ 'slug' ] = sanitize_title( $term[ 'name' ] ); + $term['slug'] = sanitize_title( $term['name'] ); } } return $term; @@ -535,8 +566,8 @@ 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' ]; + if ( isset( $_GET['c'] ) ) + $c = (int) $_GET['c']; if ( $c >= 5 ) { wp_die( __( "You don’t have permission to view this site. Please contact the system administrator." ) ); @@ -546,7 +577,7 @@ function redirect_user_to_blog() { $blog = get_active_blog_for_user( $current_user->ID ); $dashboard_blog = get_dashboard_blog(); if ( is_object( $blog ) ) { - wp_redirect( get_admin_url($blog->blog_id, '?c=' . $c) ); // redirect and count to 5, "just in case" + wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) ); // redirect and count to 5, "just in case" exit; } @@ -564,8 +595,7 @@ function redirect_user_to_blog() { } } $blog = get_blog_details( get_user_meta( $current_user->ID, 'primary_blog', true ) ); - $protocol = ( is_ssl() ? 'https://' : 'http://' ); - wp_redirect( $protocol . $blog->domain . $blog->path . 'wp-admin/?c=' . $c ); // redirect and count to 5, "just in case" + wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) ); exit; } wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); @@ -589,28 +619,27 @@ function mu_dropdown_languages( $lang_files = array(), $current = '' ) { if ( $code_lang == 'en_US' ) { // American English $flag = true; - $ae = __('American English'); - $output[$ae] = ''; + $ae = __( 'American English' ); + $output[$ae] = ''; } elseif ( $code_lang == 'en_GB' ) { // British English $flag = true; - $be = __('British English'); - $output[$be] = ''; + $be = __( 'British English' ); + $output[$be] = ''; } else { - $translated = format_code_lang($code_lang); - $output[$translated] = ''; + $translated = format_code_lang( $code_lang ); + $output[$translated] = ''; } } - if ( $flag === false ) { // WordPress english - $output[] = '"; - } + if ( $flag === false ) // WordPress english + $output[] = '"; // Order by name - uksort($output, 'strnatcasecmp'); + uksort( $output, 'strnatcasecmp' ); - $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current); - echo implode("\n\t", $output); + $output = apply_filters( 'mu_dropdown_languages', $output, $lang_files, $current ); + echo implode( "\n\t", $output ); } /* Warn the admin if SECRET SALT information is missing from wp-config.php */ @@ -637,8 +666,8 @@ function admin_notice_feed() { if ( $current_screen->id != 'dashboard' ) return; - if ( !empty( $_GET[ 'feed_dismiss' ] ) ) - update_user_option( $current_user->id, 'admin_feed_dismiss', $_GET[ 'feed_dismiss' ], true ); + if ( !empty( $_GET['feed_dismiss'] ) ) + update_user_option( $current_user->id, 'admin_feed_dismiss', $_GET['feed_dismiss'], true ); $url = get_site_option( 'admin_notice_feed' ); if ( empty( $url ) ) @@ -666,28 +695,28 @@ function site_admin_notice() { if ( !is_super_admin() ) return false; if ( get_site_option( 'wpmu_upgrade_site' ) != $wp_db_version ) - echo "
" . __( 'Thank you for Updating! Please visit the Update Network page to update all your sites.' ) . "
"; + 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' ) ) ) . "
"; } add_action( 'admin_notices', 'site_admin_notice' ); function avoid_blog_page_permalink_collision( $data, $postarr ) { if ( is_subdomain_install() ) return $data; - if ( $data[ 'post_type' ] != 'page' ) + if ( $data['post_type'] != 'page' ) return $data; - if ( !isset( $data[ 'post_name' ] ) || $data[ 'post_name' ] == '' ) + if ( !isset( $data['post_name'] ) || $data['post_name'] == '' ) return $data; if ( !is_main_site() ) return $data; - $post_name = $data[ 'post_name' ]; + $post_name = $data['post_name']; $c = 0; while( $c < 10 && get_id_from_blogname( $post_name ) ) { $post_name .= mt_rand( 1, 10 ); $c ++; } - if ( $post_name != $data[ 'post_name' ] ) { - $data[ 'post_name' ] = $post_name; + if ( $post_name != $data['post_name'] ) { + $data['post_name'] = $post_name; } return $data; } @@ -699,11 +728,11 @@ function choose_primary_blog() { - + - - - '; - } - } - - if ( $out != '' ) { - ?> -
-

-
-
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

"; } diff --git a/wp-admin/ms-delete-site.php b/wp-admin/ms-delete-site.php index ad269de6e2..e179810474 100644 --- a/wp-admin/ms-delete-site.php +++ b/wp-admin/ms-delete-site.php @@ -1,67 +1,74 @@ blogid ); + wp_die( sprintf( __( 'Thank you for using %s, your site has been deleted. Happy trails to you until we meet again.' ), $current_site->site_name ) ); + } else { + wp_die( __( "I'm sorry, the link you clicked is stale. Please select another option." ) ); + } +} -$action = isset($_POST['action']) ? $_POST['action'] : 'splash'; +$action = isset( $_POST['action'] ) ? $_POST['action'] : 'splash'; -$title = __('Delete Blog'); +$title = __( 'Delete Site' ); $parent_file = 'tools.php'; -require_once('admin-header.php'); +require_once( './admin-header.php' ); echo '
'; 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 30077e4d45..9147649789 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.' ) ); ?> - > + > - <?php _e("WordPress › Confirm your action"); ?> + <?php _e( 'WordPress › Confirm your action' ); ?> -

WordPress

-
' method='post'> - ' /> - - - -

-

+

WordPress

+ + + + + +

+

'true', 'action' => 'delete'), $_POST['ref'] ) ); - exit(); - break; - - case "allusers": - check_admin_referer('allusers'); + // Users + case 'deleteuser': 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 ( isset($_POST['alluser_delete']) ) { - require_once('admin-header.php'); - echo '
'; + 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 0419d97f9a..f304a7bc40 100644 --- a/wp-admin/ms-options.php +++ b/wp-admin/ms-options.php @@ -1,42 +1,42 @@ -

+

-

+

- -

+ +

- + - + - + +
+
- +
- +

@@ -45,16 +45,16 @@ if (isset($_GET['updated'])) {
-
-
-

+

- + - + - + + + id, 'feed/' ) ) + echo __( 'A good one to use would be the feed from your main site: ' ) . esc_url( get_home_url( $current_site->id, 'feed/' ) ) ?>
- - + +
New users are added to this site as the user role defined below if they don't have a site. Leave blank for the main site. Users with the subscriber role on old site will be moved to the new site if changed. The new site will be created if it does not exist." ); ?>


-
-

+

- + - + - + - + - + @@ -160,105 +162,105 @@ if (isset($_GET['updated'])) {
-
-
-
-
-

+
+
+
+
+

' . __('If registration is disabled, please set NOBLOGREDIRECT in wp-config.php to a url you will redirect visitors to if they visit a non-existent site.') . '

'; + echo '

' . __( 'If registration is disabled, please set NOBLOGREDIRECT in wp-config.php to a url you will redirect visitors to if they visit a non-existent site.' ) . '

'; } ?>
- +
- +
- " size="45" /> + " size="45" />
- +
- - +
- +
- +
- + - + - + - + - + - + - +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-

+

- + - - + - + - - + +

-
-
+

+
+
-
+
' ); ?>' ); ?>
-

+

- + @@ -267,7 +269,7 @@ if (isset($_GET['updated'])) { } // languages ?> -

+

@@ -276,7 +278,7 @@ if (isset($_GET['updated'])) { $menu_perms = get_site_option( 'menu_items' ); $menu_items = apply_filters( 'mu_menu_items', array( 'plugins' => __( 'Plugins' ) ) ); foreach ( (array) $menu_items as $key => $val ) { - echo "
"; + echo "
"; } ?> @@ -285,8 +287,8 @@ if (isset($_GET['updated'])) { -

+

- + diff --git a/wp-admin/ms-sites.php b/wp-admin/ms-sites.php index 22919cbb18..6b1db06e72 100644 --- a/wp-admin/ms-sites.php +++ b/wp-admin/ms-sites.php @@ -1,68 +1,67 @@

@@ -70,251 +69,258 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) { get_blog_prefix( $id ); $options = $wpdb->get_results( "SELECT * FROM {$blog_prefix}options WHERE option_name NOT LIKE '\_%' AND option_name NOT LIKE '%user_roles'" ); - $details = get_blog_details($id); + $details = get_blog_details( $id ); $editblog_roles = get_blog_option( $id, "{$blog_prefix}user_roles" ); $is_main_site = is_main_site( $id ); ?>

-

-

+

-

- - -
-
-

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
http://domain) ?>http://
path) ?> -
/>
- public == '1' ) echo 'checked="checked"'; ?> /> - public == '0' ) echo 'checked="checked"'; ?> /> -
- archived == '1' ) echo 'checked="checked"'; ?> /> - archived == '0' ) echo 'checked="checked"'; ?> /> -
- mature == '1' ) echo 'checked="checked"'; ?> /> - mature == '0' ) echo 'checked="checked"'; ?> /> -
- spam == '1' ) echo 'checked="checked"'; ?> /> - spam == '0' ) echo 'checked="checked"'; ?> /> -
- deleted == '1' ) echo 'checked="checked"'; ?> /> - deleted == '0' ) echo 'checked="checked"'; ?> /> -
-

-
- -
-

-
- + + +
+
+

+
+
+ + option_name == 'default_role' ) - $editblog_default_role = $option->option_value; - $disabled = false; - if ( is_serialized($option->option_value) ) { - if ( is_serialized_string($option->option_value) ) { - $option->option_value = esc_html(maybe_unserialize($option->option_value), 'single'); - } else { - $option->option_value = "SERIALIZED DATA"; - $disabled = true; - } - } - if ( stristr($option->option_value, "\r") || stristr($option->option_value, "\n") || stristr($option->option_value, "\r\n") ) { - ?> - - - - - - - -option_name, array( 'siteurl', 'home' ) ) ) { ?> - - - - - - -
option_name ) ) ?>
option_name ) ) ?>option_value ) ?> />
-

-
-
- -
- $theme ) { - $theme_key = esc_html( $theme['Stylesheet'] ); - if ( ! isset($allowed_themes[$theme_key] ) ) { - $checked = ( isset($blog_allowed_themes[ $theme_key ]) ) ? 'checked="checked"' : ''; - $out .= '
' . esc_html($key) . '' . __( 'Active' ) . '
- - -
-

-
- - -

' . __('Site Users') . '

'; - echo ''; - echo ""; - reset($blogusers); - foreach ( (array) $blogusers as $key => $val ) { - if ( isset( $val->meta_value ) && ! $val->meta_value ) - continue; - $t = @unserialize( $val->meta_value ); - if ( is_array( $t ) ) { - reset( $t ); - $existing_role = key( $t ); - } - echo ''; - if ( $val->user_id != $current_user->data->ID ) { - ?> - - - '; - } else { - echo ""; - } - echo ''; - } - echo "
" . __('User') . "" . __('Role') . "" . __('Password') . "" . __('Remove') . "
' . $val->user_login . ' - - - - " . __ ('N/A') . "" . __ ('N/A') . "" . __('N/A') . "
"; - echo '

'; - echo "
"; - } - ?> - -
-

-
-

Update Options to add the user.') ?>

- - - - + $protocol = is_ssl() ? 'https://' : 'http://'; + if ( $is_main_site ) { ?> + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
domain ) ?>
path ) ?> +
/> siteurl and home as well.' ); ?>
- + + +
+ + +
+ + +
+ + +
+ +
-

-
+

+ + -
-

-
- - -
-

-
+
+

+
+ + option_name == 'default_role' ) + $editblog_default_role = $option->option_value; + $disabled = false; + $class = 'all-options'; + if ( is_serialized( $option->option_value ) ) { + if ( is_serialized_string( $option->option_value ) ) { + $option->option_value = esc_html( maybe_unserialize( $option->option_value ), 'single' ); + } else { + $option->option_value = 'SERIALIZED DATA'; + $disabled = true; + $class = 'all-options disabled'; + } + } + if ( strpos( $option->option_value, "\n" ) !== false ) { + ?> + + + + + + + + option_name, array( 'siteurl', 'home' ) ) ) { ?> + + + + + + +
option_name ) ) ?>
option_name ) ) ); ?>option_value ) ?> />
+

+
+
+ +
+ $theme ) { + $theme_key = esc_html( $theme['Stylesheet'] ); + if ( ! isset( $allowed_themes[$theme_key] ) ) { + $checked = isset( $blog_allowed_themes[ $theme_key ] ) ? 'checked="checked"' : ''; + $out .= ' + ' . esc_html( $key ) . ' + + '; + } + } + + if ( $out != '' ) { + ?> +
+

+
+

+ + +
+

+
+

' . __( 'Site Users' ) . '

'; + echo ''; + echo ""; + reset( $blogusers ); + foreach ( (array) $blogusers as $key => $val ) { + if ( isset( $val->meta_value ) && ! $val->meta_value ) + continue; + $t = @unserialize( $val->meta_value ); + if ( is_array( $t ) ) { + reset( $t ); + $existing_role = key( $t ); + } + echo ''; + if ( $val->user_id != $current_user->data->ID ) { + ?> + + + '; + } else { + echo ""; + } + echo ''; + } + echo "
" . __( 'User' ) . "" . __( 'Role' ) . "" . __( 'Password' ) . "" . __( 'Remove' ) . "
' . $val->user_login . ' + + + + " . __ ( 'N/A' ) . "" . __ ( 'N/A' ) . "" . __( 'N/A' ) . "
"; + echo '

'; + echo "
"; + } + ?> + +
+

+
+

+ + + + + + + + + +
+ +
+

+
+
+ +
+

+
+ + +
+

+
+
@@ -323,7 +329,7 @@ switch ( $action ) { blogs} WHERE site_id = '{$wpdb->siteid}' "; - if ( isset( $_GET['blogstatus'] ) ) { - if ( 'deleted' == $_GET['blogstatus'] ) { - $query .= " AND {$wpdb->blogs}.deleted = '1' "; - } elseif ( 'archived' == $_GET['blogstatus'] ) { - $query .= " AND {$wpdb->blogs}.archived = '1' "; - } elseif ( 'spam' == $_GET['blogstatus'] ) { - $query .= " AND {$wpdb->blogs}.spam = '1' "; - } - } - if ( isset( $_GET['searchaction'] ) ) { if ( 'name' == $_GET['searchaction'] ) { $query .= " AND ( {$wpdb->blogs}.domain LIKE '%{$like_s}%' OR {$wpdb->blogs}.path LIKE '%{$like_s}%' ) "; @@ -380,93 +376,62 @@ switch ( $action ) { $order = ( isset( $_GET['order'] ) && 'DESC' == $_GET['order'] ) ? "DESC" : "ASC"; $query .= $order; - $total = $wpdb->get_var( str_replace('SELECT *', 'SELECT COUNT(blog_id)', $query) ); + $total = $wpdb->get_var( str_replace( 'SELECT *', 'SELECT COUNT(blog_id)', $query ) ); - $query .= " LIMIT " . intval( ( $pagenum - 1 ) * $per_page) . ", " . intval( $per_page ); + $query .= " LIMIT " . intval( ( $pagenum - 1 ) * $per_page ) . ", " . intval( $per_page ); $blog_list = $wpdb->get_results( $query, ARRAY_A ); $num_pages = ceil($total / $per_page); $page_links = paginate_links( array( 'base' => add_query_arg( 'paged', '%#%' ), 'format' => '', - 'prev_text' => __('«'), - 'next_text' => __('»'), + 'prev_text' => __( '«' ), + 'next_text' => __( '»' ), 'total' => $num_pages, 'current' => $pagenum )); - if ( empty($_GET['mode']) ) + if ( empty( $_GET['mode'] ) ) $mode = 'list'; else $mode = esc_attr( $_GET['mode'] ); - - // for subsubsub and $blog_list - $status_list = array( 'archived' => array( 'site-archived', __('Archived') ), 'spam' => array( 'site-spammed', __('Spam') ), 'deleted' => array( 'site-deleted', __('Deleted') ) ); ?>

- + ' . __('Search results for “%s”') . '', esc_html( $s ) ); + if ( isset( $_GET['s'] ) && $_GET['s'] ) + printf( '' . __( 'Search results for “%s”' ) . '', esc_html( $s ) ); ?>

- -
- + @@ -491,71 +456,57 @@ switch ( $action ) { 'display name' - $blogname_columns = ( is_subdomain_install() ) ? __('Domain') : __('Path'); - $posts_columns = array( - 'id' => __('ID'), + $blogname_columns = ( is_subdomain_install() ) ? __( 'Domain' ) : __( 'Path' ); + $sites_columns = array( + 'id' => __( 'ID' ), 'blogname' => $blogname_columns, - 'lastupdated' => __('Last Updated'), - 'registered' => __('Registered'), - 'users' => __('Users') + 'lastupdated' => __( 'Last Updated'), + 'registered' => __( 'Registered' ), + 'users' => __( 'Users' ) ); if ( has_filter( 'wpmublogsaction' ) ) - $posts_columns['plugins'] = __('Actions'); + $sites_columns['plugins'] = __( 'Actions' ); - $posts_columns = apply_filters('wpmu_blogs_columns', $posts_columns); + $sites_columns = apply_filters( 'wpmu_blogs_columns', $sites_columns ); ?> - $column_display_name) { + $col_url = ''; + foreach($sites_columns as $column_id => $column_display_name) { $column_link = " $order2, 'paged' => $pagenum, 'sortby' => $column_id ), $_SERVER['REQUEST_URI'] ) ); + $column_link .= esc_url( add_query_arg( array( 'order' => $order2, 'paged' => $pagenum, 'sortby' => $column_id ), remove_query_arg( array('action', 'updated'), $_SERVER['REQUEST_URI'] ) ) ); $column_link .= "'>{$column_display_name}"; - $col_url = ($column_id == 'users' || $column_id == 'plugins') ? $column_display_name : $column_link; - ?> - - + $col_url .= ''; + } + echo $col_url ?> - - $column_display_name) { - $column_link = " $order2, 'paged' => $pagenum, 'sortby' => $column_id ), remove_query_arg( array('action', 'updated'), $_SERVER['REQUEST_URI'] ) ) ); - $column_link .= "'>{$column_display_name}"; - $col_url = ($column_id == 'users' || $column_id == 'plugins') ? $column_display_name : $column_link; - ?> - - - + array( 'site-archived', __( 'Archived' ) ), 'spam' => array( 'site-spammed', __( 'Spam' ) ), 'deleted' => array( 'site-deleted', __( 'Deleted' ) ), 'mature' => array( 'site-mature', __( 'Mature' ) ) ); if ( $blog_list ) { $class = ''; foreach ( $blog_list as $blog ) { - $class = ('alternate' == $class) ? '' : 'alternate'; + $class = ( 'alternate' == $class ) ? '' : 'alternate'; reset( $status_list ); $blog_states = array(); @@ -566,8 +517,8 @@ switch ( $action ) { } } $blog_state = ''; - if ( ! empty($blog_states) ) { - $state_count = count($blog_states); + if ( ! empty( $blog_states ) ) { + $state_count = count( $blog_states ); $i = 0; $blog_state .= ' - '; foreach ( $blog_states as $state ) { @@ -578,12 +529,12 @@ switch ( $action ) { } echo ""; - $blogname = ( is_subdomain_install() ) ? str_replace('.'.$current_site->domain, '', $blog['domain']) : $blog['path']; - foreach ( $posts_columns as $column_name=>$column_display_name ) { + $blogname = ( is_subdomain_install() ) ? str_replace( '.'.$current_site->domain, '', $blog['domain'] ) : $blog['path']; + foreach ( $sites_columns as $column_name=>$column_display_name ) { switch ( $column_name ) { case 'id': ?> @@ -638,13 +594,18 @@ switch ( $action ) { $date = 'Y/m/d'; else $date = 'Y/m/d \<\b\r \/\> g:i:s a'; - echo ( $blog['last_updated'] == '0000-00-00 00:00:00' ) ? __("Never") : mysql2date( __( $date ), $blog['last_updated'] ); ?> + echo ( $blog['last_updated'] == '0000-00-00 00:00:00' ) ? __( 'Never' ) : mysql2date( __( $date ), $blog['last_updated'] ); ?> 5 ) { $blogusers = array_slice( $blogusers, 0, 5 ); - $blogusers_warning = __( 'Only showing first 5 users.' ) . ' ' . __( 'More' ) . ''; + $blogusers_warning = __( 'Only showing first 5 users.' ) . ' ' . __( 'More' ) . ''; } foreach ( $blogusers as $key => $val ) { - echo '' . $val->user_login . ' '; + echo '' . esc_html( $val->user_login ) . ' '; if ( 'list' != $mode ) echo '(' . $val->user_email . ')'; echo '
'; @@ -675,7 +636,7 @@ switch ( $action ) { case 'plugins': ?> - + - +
@@ -726,40 +687,40 @@ switch ( $action ) {
-

+

- +
+ - - ' . ( ( $column_id == 'users' || $column_id == 'plugins' ) ? $column_display_name : $column_link ) . '
+ -
- ' name='allblogs[]' value='' /> + @@ -593,38 +544,43 @@ switch ( $action ) { case 'blogname': ?> - + ' . sprintf( _x( '%1$s – %2$s', '%1$s: site name. %2$s: site tagline.' ), get_blog_option( $blog['blog_id'], 'blogname' ), get_blog_option( $blog['blog_id'], 'blogdescription ' ) ) . '

'; $actions = array(); - $actions[] = '' . __('Edit') . ''; - $actions[] = "" . __('Backend') . ''; + $actions[] = '' . __( 'Edit' ) . ''; + $actions[] = "" . __( 'Backend' ) . ''; + if ( $current_site->blog_id != $blog['blog_id'] ) { + if ( get_blog_status( $blog['blog_id'], 'deleted' ) == '1' ) + $actions[] = '' . __( 'Activate' ) . ''; + else + $actions[] = '' . __( 'Deactivate' ) . ''; + + if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' ) + $actions[] = '' . __( 'Unarchive' ) . ''; + else + $actions[] = '' . __( 'Archive' ) . ''; + + if ( get_blog_status( $blog['blog_id'], 'spam' ) == '1' ) + $actions[] = '' . __( 'Not Spam' ) . ''; + else + $actions[] = '' . __( 'Spam' ) . ''; + + if ( get_blog_status( $blog['blog_id'], 'mature' ) == '1' ) + $actions[] = '' . __( 'Not Mature' ) . ''; + else + $actions[] = '' . __( 'Mature' ) . ''; + + $actions[] = '' . __( 'Delete' ) . ''; + } - if ( get_blog_status( $blog['blog_id'], "deleted" ) == '1' ) - $actions[] = '' . __('Activate') . ''; - else - $actions[] = '' . __('Deactivate') . ''; + $actions[] = "" . __( 'Visit' ) . ''; - if ( get_blog_status( $blog['blog_id'], "archived" ) == '1' ) - $actions[] = '' . __('Unarchive') . ''; - else - $actions[] = '' . __('Archive') . ''; - - if ( get_blog_status( $blog['blog_id'], "spam" ) == '1' ) - $actions[] = '' . __('Not Spam') . ''; - else - $actions[] = '' . __("Spam") . ''; - - $actions[] = '' . __("Delete") . ''; - - $actions[] = "" . __('Visit') . ''; - ?> - - + if ( count( $actions ) ) : ?>
- +
- + - + - +
- + - - + + - - + + - +
- .domain;?> + .domain;?> domain . $current_site->path ?> + echo $current_site->domain . $current_site->path ?> " . __( 'Only the characters a-z and 0-9 recommended.' ) . "

"; + echo '

' . __( 'Only the characters a-z and 0-9 recommended.' ) . '

'; ?>


-

+

+include( './admin-footer.php' ); ?> diff --git a/wp-admin/ms-themes.php b/wp-admin/ms-themes.php index 77fe804569..0d6424843d 100644 --- a/wp-admin/ms-themes.php +++ b/wp-admin/ms-themes.php @@ -1,16 +1,16 @@ -

+

-
+ -

-

+

+

- - - - + + + + @@ -37,23 +37,24 @@ $allowed_themes = get_site_allowed_themes(); $class = ''; foreach ( (array) $themes as $key => $theme ) { $total_theme_count++; - $theme_key = esc_html($theme['Stylesheet']); - $class = ('alt' == $class) ? '' : 'alt'; + $theme_key = esc_html( $theme['Stylesheet'] ); + $class = ( 'alt' == $class ) ? '' : 'alt'; $class1 = $enabled = $disabled = ''; + $enabled = $disabled = false; - if ( isset( $allowed_themes[ $theme_key ] ) == true ) { - $enabled = 'checked="checked" '; + if ( isset( $allowed_themes[$theme_key] ) == true ) { + $enabled = true; $activated_themes_count++; - $class1 = ' active'; + $class1 = 'active'; } else { - $disabled = 'checked="checked" '; + $disabled = true; } ?> - + @@ -64,15 +65,15 @@ $allowed_themes = get_site_allowed_themes();
- +     - +

- ' />

+

-

+

- +
- +

- + diff --git a/wp-admin/ms-users.php b/wp-admin/ms-users.php index cee2e10ad6..fec04054b7 100644 --- a/wp-admin/ms-users.php +++ b/wp-admin/ms-users.php @@ -1,67 +1,71 @@

-
- users}"; - if ( !empty( $s ) ) { - $search = '%' . trim( $s ) . '%'; - $query .= " WHERE user_login LIKE '$search' OR user_email LIKE '$search'"; + if ( !empty( $like_s ) ) { + $query .= " WHERE user_login LIKE '%$like_s%' OR user_email LIKE '%$like_s%'"; } $order_by = isset( $_GET['sortby'] ) ? $_GET['sortby'] : 'id'; - if ( $order_by == 'email' ) { $query .= ' ORDER BY user_email '; } elseif ( $order_by == 'login' ) { @@ -75,101 +79,131 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) { $query .= ' ORDER BY ID '; } - $order = isset($_GET['order']) ? $_GET['order'] : 'ASC'; - $order = ( 'DESC' == $order ) ? 'DESC' : 'ASC'; + $order = ( isset( $_GET['order'] ) && 'DESC' == $_GET['order'] ) ? 'DESC' : 'ASC'; $query .= $order; - if ( !empty( $s ) ) - $total = $wpdb->get_var( str_replace('SELECT *', 'SELECT COUNT(ID)', $query) ); - else - $total = $wpdb->get_var( "SELECT COUNT(ID) FROM {$wpdb->users}"); + $total = $wpdb->get_var( str_replace( 'SELECT *', 'SELECT COUNT(ID)', $query ) ); - $query .= " LIMIT " . intval( ( $apage - 1 ) * $num) . ", " . intval( $num ); + $query .= " LIMIT " . intval( ( $pagenum - 1 ) * $per_page) . ", " . intval( $per_page ); $user_list = $wpdb->get_results( $query, ARRAY_A ); - // Pagination - $user_navigation = paginate_links( array( - 'total' => ceil($total / $num), - 'current' => $apage, - 'base' => add_query_arg( 'apage', '%#%' ), - 'format' => '' + $num_pages = ceil( $total / $per_page ); + $page_links = paginate_links( array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'prev_text' => __( '«' ), + 'next_text' => __( '»' ), + 'total' => $num_pages, + 'current' => $pagenum )); - if ( $user_navigation ) { - $user_navigation = sprintf( '' . __( 'Displaying %s–%s of %s' ) . '%s', - number_format_i18n( ( $apage - 1 ) * $num + 1 ), - number_format_i18n( min( $apage * $num, $total ) ), - number_format_i18n( $total ), - $user_navigation - ); - } + if ( empty( $_GET['mode'] ) ) + $mode = 'list'; + else + $mode = esc_attr( $_GET['mode'] ); ?>
-

+

+ + ' . __( 'Search results for “%s”' ) . '', esc_html( $s ) ); + ?> +

+
-
+
- $user_navigation
"; ?> -
- - - - - - -
+ + + +
+ + +
+ ' . __( 'Displaying %s–%s of %s' ) . '%s', + number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ), + number_format_i18n( min( $pagenum * $per_page, $num_pages ) ), + number_format_i18n( $num_pages ), + $page_links + ); echo $page_links_text; ?> +
+ + +
- - -

- +
'display name' - $posts_columns = array( - 'checkbox' => '', - 'login' => __('Username'), - 'name' => __('Name'), - 'email' => __('E-mail'), - 'registered' => __('Registered'), - 'blogs' => '' + $users_columns = array( + 'id' => __( 'ID' ), + 'login' => __( 'Username' ), + 'name' => __( 'Name' ), + 'email' => __( 'E-mail' ), + 'registered' => __( 'Registered' ), + 'blogs' => __( 'Sites' ) ); - $posts_columns = apply_filters('wpmu_users_columns', $posts_columns); + $users_columns = apply_filters( 'wpmu_users_columns', $users_columns ); ?> - +
- $column_display_name) { - if ( $column_id == 'blogs' ) { - echo ''; - } elseif ( $column_id == 'checkbox') { - echo ''; - } else { ?> - - - + + $column_display_name) { + $column_link = " $order2, 'paged' => $pagenum, 'sortby' => $column_id ), remove_query_arg( array( 'action', 'updated' ), $_SERVER['REQUEST_URI'] ) ) ); + $column_link .= "'>{$column_display_name}"; + $col_url .= ''; + } + echo $col_url; ?> - - + + + + + + + "site-spammed", "deleted" => "site-deleted" ); + $status_list = array( 'spam' => 'site-spammed', 'deleted' => 'site-deleted' ); foreach ( $status_list as $status => $col ) { if ( $user[$status] ) @@ -177,31 +211,34 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) { } ?> - $column_display_name) : - switch($column_name) { - case 'checkbox': ?> - + foreach( (array) $users_columns as $column_name=>$column_display_name ) : + switch( $column_name ) { + case 'id': ?> + + - + case 'registered': + if ( 'list' == $mode ) + $date = 'Y/m/d'; + else + $date = 'Y/m/d \<\b\r \/\> g:i:s a'; + ?> + $val ) { - $path = ($val->path == '/') ? '' : $val->path; - echo '' . str_replace( '.' . $current_site->domain, '', $val->domain . $path ) . ''; + $path = ( $val->path == '/' ) ? '' : $val->path; + echo '' . str_replace( '.' . $current_site->domain, '', $val->domain . $path ) . ''; echo ' '; // Edit - echo '' . __('Edit') . ' | '; + echo '' . __( 'Edit' ) . ' | '; // View echo 'userblog_id, 'spam' ) == 1 ) - echo 'style="background-color: #f66" '; - echo 'target="_new" href="http://'.$val->domain . $val->path.'">' . __('View') . ''; - + echo 'style="background-color: #faa" '; + echo 'href="' . esc_url( get_home_url( $val->userblog_id ) ) . '">' . __( 'View' ) . ''; + echo '
'; } } @@ -251,7 +293,7 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) { break; default: ?> - + - - + +
- $user_navigation
"; ?> + $page_links_text"; + ?> -
- - - - - - -
+
+ +
+
+
+ + - -
-

-
+

+
'.__('Sites').'apage="> + + ' . ( $column_id == 'blogs' ? $column_display_name : $column_link ) . '
+ +
' name='allusers[]' value='' /> + + + + - +
- Edit - Delete */ ?> + + + | +
g:i a'), $user['user_registered']); ?>
- - + + - - + + - +

- -

+ +

- + diff --git a/wp-admin/my-sites.php b/wp-admin/my-sites.php index e23d225c21..55a1e64b40 100644 --- a/wp-admin/my-sites.php +++ b/wp-admin/my-sites.php @@ -1,14 +1,13 @@ id ); @@ -17,28 +16,36 @@ if ( empty( $blogs ) ) $updated = false; if ( 'updateblogsettings' == $action && isset( $_POST['primary_blog'] ) ) { - check_admin_referer('update-my-sites'); - // @todo Validate primary blog. - update_user_option( $current_user->id, 'primary_blog', (int) $_POST['primary_blog'], true ); - $updated = true; + check_admin_referer( 'update-my-sites' ); + + $blog = get_blog_details( (int) $_POST['primary_blog'] ); + if ( $blog && isset( $blog->domain ) ) { + update_user_option( $current_user->id, 'primary_blog', (int) $_POST['primary_blog'], true ); + $updated = true; + } else { + wp_die( __( "The primary site, which you have choosen, doesn't exists." ) ); + } } -$title = __('My Sites'); +$title = __( 'My Sites' ); $parent_file = 'index.php'; -require_once('admin-header.php'); +require_once( './admin-header.php' ); if ( $updated ) { ?> -

+

-

+

+
+
+ "; - $t = ''; + $i = 0; foreach ( $row as $user_blog ) { - $t = $t == 'border-right: 1px solid #ccc;' ? '' : 'border-right: 1px solid #ccc;'; - echo ""; + $i++; } echo ""; }?>

" . __( 'Global Settings' ) . "

"; @@ -52,7 +59,7 @@ if ( $updated ) { ?> $cols = 4; elseif ( $num >= 10 ) $cols = 2; - $num_rows = ceil($num/$cols); + $num_rows = ceil( $num / $cols ); $split = 0; for ( $i = 1; $i <= $num_rows; $i++ ) { $rows[] = array_slice( $blogs, $split, $cols ); @@ -61,28 +68,28 @@ if ( $updated ) { ?> $c = ''; foreach ( $rows as $row ) { - $c = $c == "alternate" ? '' : 'alternate'; + $c = $c == 'alternate' ? '' : 'alternate'; echo "
"; + $s = $i == 3 ? '' : 'border-right: 1px solid #ccc;'; + echo ""; echo "

{$user_blog->blogname}

"; - echo "

" . apply_filters( "myblogs_blog_actions", "" . __( 'Visit' ) . " | " . __( 'Dashboard' ) . "", $user_blog ) . "

"; + echo "

" . apply_filters( 'myblogs_blog_actions', "" . __( 'Visit' ) . " | " . __( 'Dashboard' ) . "", $user_blog ) . "

"; echo apply_filters( 'myblogs_options', '', $user_blog ); echo "
- +

- +

\ No newline at end of file +include( './admin-footer.php' ); +?>