Huge MS refactoring and code cleanup. see #12460. props ocean90.

git-svn-id: http://svn.automattic.com/wordpress/trunk@13918 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
markjaquith 2010-04-01 21:21:27 +00:00
parent 5ca84a117e
commit d510d0bdc7
9 changed files with 1305 additions and 1218 deletions

View File

@ -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;
}
tr.site-archived {
background:#fee;
background:#ffebe8;
}
tr.site-mature {
background: #fecac2;
}

View File

@ -48,12 +48,14 @@ add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' );
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 );
}
$blog_prefix = $wpdb->get_blog_prefix( $blog_id );
do_action( 'delete_blog', $blog_id, $drop );
$users = get_users_of_blog( $blog_id );
@ -68,7 +70,7 @@ function wpmu_delete_blog($blog_id, $drop = false) {
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 );
@ -89,7 +91,7 @@ function wpmu_delete_blog($blog_id, $drop = false) {
$dh = @opendir( $dir );
if ( $dh ) {
while ( ( $file = @readdir( $dh ) ) !== false ) {
if ($file == '.' or $file == '..')
if ( $file == '.' || $file == '..' )
continue;
if ( @is_dir( $dir . DIRECTORY_SEPARATOR . $file ) )
@ -107,8 +109,9 @@ function wpmu_delete_blog($blog_id, $drop = false) {
@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 )
@ -169,14 +172,14 @@ function confirm_delete_users( $users ) {
if ( !is_array( $users ) )
return false;
screen_icon('tools');
screen_icon();
?>
<h2><?php esc_html_e( 'Users' ); ?></h2>
<p><?php _e( 'Transfer posts before deleting users:' ); ?></p>
<form action="ms-edit.php?action=allusers" method="post">
<input type="hidden" name="alluser_transfer_delete" />
<p><?php _e( 'Transfer or delete posts and links before deleting users.' ); ?></p>
<form action="ms-edit.php?action=dodelete" method="post">
<input type="hidden" name="dodelete" />
<?php
wp_nonce_field( 'allusers' );
wp_nonce_field( 'ms-users-delete' );
$site_admins = get_site_option( 'site_admins', array( 'admin' ) );
$admin_out = "<option value='$current_user->ID'>$current_user->user_login</option>";
@ -191,29 +194,40 @@ function confirm_delete_users( $users ) {
$blogs = get_blogs_of_user( $val, true );
if ( !empty( $blogs ) ) {
echo '<p><strong>' . sprintf( __( 'Sites from %s:' ), $delete_user->user_login ) . '</strong></p>';
?>
<br /><fieldset><p><legend><?php printf( __( "What should be done with posts and links owned by <em>%s</em>?" ), $delete_user->user_login ); ?></legend></p>
<?php
foreach ( (array) $blogs as $key => $details ) {
$blog_users = get_users_of_blog( $details->userblog_id );
if ( is_array( $blog_users ) && !empty( $blog_users ) ) {
echo "<p><a href='http://{$details->domain}{$details->path}'>{$details->blogname}</a> ";
echo "<select name='blog[$val][{$key}]'>";
$out = '';
$user_site = "<a href='" . esc_url( get_home_url( $details->userblog_id ) ) . "'>{$details->blogname}</a>";
$user_dropdown = "<select name='blog[$val][{$key}]'>";
$user_list = '';
foreach ( $blog_users as $user ) {
if ( $user->user_id != $val && !in_array( $user->user_id, $allusers ) )
$out .= "<option value='{$user->user_id}'>{$user->user_login}</option>";
$user_list .= "<option value='{$user->user_id}'>{$user->user_login}</option>";
}
if ( $out == '' )
$out = $admin_out;
echo $out;
echo "</select>\n";
if ( '' == $user_list )
$user_list = $admin_out;
$user_dropdown .= $user_list;
$user_dropdown .= "</select>\n";
?>
<ul style="list-style:none;">
<li><?php printf( __( 'Site: %s' ), $user_site ); ?></li>
<li><label><input type="radio" id="delete_option0" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="delete" checked="checked" />
<?php _e( 'Delete all posts and links.' ); ?></label></li>
<li><label><input type="radio" id="delete_option1" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="reassign" />
<?php echo __( 'Attribute all posts and links to:' ) . '</label>' . $user_dropdown; ?></li>
</ul>
<?php
}
}
echo "</fieldset>";
}
}
}
?>
<br class="clear" />
<input type="submit" class="button-secondary delete" value="<?php _e( 'Delete user and transfer posts' ); ?> " />
<p class="submit"><input type="submit" class="button-secondary delete" value="<?php esc_attr_e( 'Confirm Deletion' ); ?>" /></p>
</form>
<?php
return true;
@ -225,9 +239,9 @@ function wpmu_get_blog_allowedthemes( $blog_id = 0 ) {
if ( $blog_id != 0 )
switch_to_blog( $blog_id );
$blog_allowed_themes = get_option( "allowedthemes" );
$blog_allowed_themes = get_option( 'allowedthemes' );
if ( !is_array( $blog_allowed_themes ) || empty( $blog_allowed_themes ) ) { // convert old allowed_themes to new allowedthemes
$blog_allowed_themes = get_option( "allowed_themes" );
$blog_allowed_themes = get_option( 'allowed_themes' );
if ( is_array( $blog_allowed_themes ) ) {
foreach( (array) $themes as $key => $theme ) {
@ -237,8 +251,8 @@ function wpmu_get_blog_allowedthemes( $blog_id = 0 ) {
}
}
$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' );
}
}
@ -254,8 +268,8 @@ function update_option_new_admin_email($old_value, $value) {
$hash = md5( $value. time() .mt_rand() );
$new_admin_email = array(
"hash" => $hash,
"newemail" => $value
'hash' => $hash,
'newemail' => $value
);
update_option( 'adminhash', $new_admin_email );
@ -306,8 +320,8 @@ function send_confirmation_on_profile_email() {
$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 );
@ -348,7 +362,7 @@ 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 {
@ -453,16 +467,23 @@ function dashboard_quota() {
?>
<p class="sub musub"><?php _e( 'Storage Space' ); ?></p>
<div class="table">
<div class="table table_content musubtable">
<table>
<tr class="first">
<td class="first b b-posts"><?php printf( __( '<a href="upload.php" title="Manage Uploads" class="musublink">%sMB</a>' ), $quota ); ?></td>
<td class="first b b-posts"><?php printf( __( '<a href="' . esc_url( admin_url( 'upload.php' ) ) . '" title="Manage Uploads" class="musublink">%sMB</a>' ), $quota ); ?></td>
<td class="t posts"><?php _e( 'Space Allowed' ); ?></td>
<td class="b b-comments"><?php printf( __( '<a href="upload.php" title="Manage Uploads" class="musublink">%1sMB (%2$s%%)</a>' ), $used, $percentused ); ?></td>
</tr>
</table>
</div>
<div class="table table_discussion musubtable">
<table>
<tr class="first">
<td class="b b-comments"><?php printf( __( '<a href="' . esc_url( admin_url( 'upload.php' ) ) . '" title="Manage Uploads" class="musublink">%1sMB (%2$s%%)</a>' ), $used, $percentused ); ?></td>
<td class="last t comments <?php echo $used_color;?>"><?php _e( 'Space Used' );?></td>
</tr>
</table>
</div>
<br class="clear" />
<?php
}
if ( current_user_can( 'edit_posts' ) )
@ -470,7 +491,7 @@ if ( current_user_can('edit_posts') )
// Edit blog upload space setting on Edit Blog page
function upload_space_setting( $id ) {
$quota = get_blog_option($id, "blog_upload_space");
$quota = get_blog_option( $id, 'blog_upload_space' );
if ( !$quota )
$quota = '';
@ -493,9 +514,9 @@ function update_user_status( $id, $pref, $value, $refresh = 1 ) {
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;
@ -514,8 +535,18 @@ function refresh_user_details($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 = 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 );
}
@ -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.' ) );
@ -590,21 +620,20 @@ function mu_dropdown_languages( $lang_files = array(), $current = '' ) {
if ( $code_lang == 'en_US' ) { // American English
$flag = true;
$ae = __( 'American English' );
$output[$ae] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'> '.$ae.'</option>';
$output[$ae] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang ) . '> ' . $ae . '</option>';
} elseif ( $code_lang == 'en_GB' ) { // British English
$flag = true;
$be = __( 'British English' );
$output[$be] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'> '.$be.'</option>';
$output[$be] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang ) . '> ' . $be . '</option>';
} else {
$translated = format_code_lang( $code_lang );
$output[$translated] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'> '.$translated.'</option>';
$output[$translated] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang ) . '> ' . esc_html ( $translated ) . '</option>';
}
}
if ( $flag === false ) { // WordPress english
$output[] = '<option value=""'.((empty($current)) ? ' selected="selected"' : '').'>'.__('English')."</option>";
}
if ( $flag === false ) // WordPress english
$output[] = '<option value=""' . selected( $current, '' ) . '>' . __( 'English' ) . "</option>";
// Order by name
uksort( $output, 'strnatcasecmp' );
@ -666,7 +695,7 @@ function site_admin_notice() {
if ( !is_super_admin() )
return false;
if ( get_site_option( 'wpmu_upgrade_site' ) != $wp_db_version )
echo "<div id='update-nag'>" . __( 'Thank you for Updating! Please visit the <a href="ms-upgrade-network.php">Update Network</a> page to update all your sites.' ) . "</div>";
echo "<div id='update-nag'>" . sprintf( __( 'Thank you for Updating! Please visit the <a href="%s">Update Network</a> page to update all your sites.' ), esc_url( admin_url( 'ms-upgrade-network.php' ) ) ) . "</div>";
}
add_action( 'admin_notices', 'site_admin_notice' );
@ -711,7 +740,7 @@ function choose_primary_blog() {
<?php foreach( (array) $all_blogs as $blog ) {
if ( $primary_blog == $blog->userblog_id )
$found = true;
?><option value='<?php echo $blog->userblog_id ?>'<?php if ( $primary_blog == $blog->userblog_id ) echo ' selected="selected"' ?>><?php echo get_home_url($blog->userblog_id) ?></option><?php
?><option value="<?php echo $blog->userblog_id ?>"<?php selected( $primary_blog, $blog->userblog_id ); ?>><?php echo esc_url( get_home_url( $blog->userblog_id ) ) ?></option><?php
} ?>
</select>
<?php
@ -739,7 +768,7 @@ function show_post_thumbnail_warning() {
return;
$mu_media_buttons = get_site_option( 'mu_media_buttons', array() );
if ( empty($mu_media_buttons['image']) && current_theme_supports( 'post-thumbnails' ) ) {
echo "<div id='update-nag'>" . sprintf( __( "Warning! The current theme supports post thumbnails. You must enable image uploads on <a href='%s'>the options page</a> for it to work." ), admin_url( 'ms-options.php' ) ) . "</div>";
echo "<div id='update-nag'>" . sprintf( __( "Warning! The current theme supports post thumbnails. You must enable image uploads on <a href='%s'>the options page</a> for it to work." ), esc_url( admin_url( 'ms-options.php' ) ) ) . "</div>";
}
}
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' ), '<a href="ms-options.php#menu">' . __( 'Activate' ) . '</a>' );
$message = sprintf( __( 'The plugins page is not visible to normal users. It must be activated first. %s' ), '<a href="' . esc_url( admin_url( 'ms-options.php#menu' ) ) . '">' . __( 'Activate' ) . '</a>' );
echo "<div class='error'><p>$message</p></div>";
}

View File

@ -1,67 +1,74 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
if ( !is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
// @todo Create a delete blog cap.
if ( ! current_user_can( 'manage_options' ) )
wp_die(__('You do not have sufficient permissions to delete this blog.'));
wp_die(__( 'You do not have sufficient permissions to delete this site.'));
if ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option( 'delete_blog_hash' ) != false ) {
if ( get_option( 'delete_blog_hash' ) == $_GET['h'] ) {
wpmu_delete_blog( $wpdb->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';
$title = __('Delete Blog');
$title = __( 'Delete Site' );
$parent_file = 'tools.php';
require_once('admin-header.php');
require_once( './admin-header.php' );
echo '<div class="wrap">';
screen_icon();
echo '<h2>' . esc_html( $title ) . '</h2>';
if ( isset($_POST['action']) && $_POST['action'] == "deleteblog" && isset($_POST['confirmdelete']) && $_POST['confirmdelete'] == '1' ) {
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
form on that page.
If you really want to delete your blog, click the link below. You will not
be asked to confirm again so only click this link if you are absolutely certain:
URL_DELETE
update_option( 'delete_blog_hash', $hash );
If you delete your blog, please consider opening a new blog here
some time in the future! (But remember your current blog and username
$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 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###
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 );
?>
<p><?php _e('Thank you. Please check your email for a link to confirm your action. Your blog will not be deleted until this link is clicked.') ?></p>
<?php
} elseif ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option('delete_blog_hash') != false ) {
if ( get_option('delete_blog_hash') == $_GET['h'] ) {
wpmu_delete_blog( $wpdb->blogid );
echo "<p>" . sprintf(__('Thank you for using %s, your blog has been deleted. Happy trails to you until we meet again.'), $current_site->site_name) . "</p>";
} else {
echo "<p>" . __("I'm sorry, the link you clicked is stale. Please select another option.") . "</p>";
}
} else {
<p><?php _e( 'Thank you. Please check your email for a link to confirm your action. Your site will not be deleted until this link is clicked. ') ?></p>
<?php } else {
?>
<p><?php printf(__('If you do not want to use your %s blog any more, you can delete it using the form below. When you click <strong>Delete My Blog</strong> you will be sent an email with a link in it. Click on this link to delete your blog.'), $current_site->site_name); ?></p>
<p><?php _e('Remember, once deleted your blog cannot be restored.') ?></p>
<form method='post' name='deletedirect'>
<input type='hidden' name='action' value='deleteblog' />
<p><input id='confirmdelete' type='checkbox' name='confirmdelete' value='1' /> <label for='confirmdelete'><strong><?php printf( __("I'm sure I want to permanently disable my blog, and I am aware I can never get it back or use %s again."), $current_blog->domain); ?></strong></label></p>
<p class="submit"><input type='submit' value='<?php esc_attr_e('Delete My Blog Permanently') ?>' /></p>
<p><?php printf( __( 'If you do not want to use your %s site any more, you can delete it using the form below. When you click <strong>Delete My Site Permanently</strong> you will be sent an email with a link in it. Click on this link to delete your site.'), $current_site->site_name); ?></p>
<p><?php _e( 'Remember, once deleted your site cannot be restored.' ) ?></p>
<form method="post" name="deletedirect">
<input type="hidden" name="action" value="deleteblog" />
<p><input id="confirmdelete" type="checkbox" name="confirmdelete" value="1" /> <label for="confirmdelete"><strong><?php printf( __( "I'm sure I want to permanently disable my site, and I am aware I can never get it back or use %s again." ), is_subdomain_install() ? $current_blog->domain : $current_site->domain . $current_site->path ); ?></strong></label></p>
<p class="submit"><input type="submit" value="<?php esc_attr_e( 'Delete My Site Permanently' ) ?>" /></p>
</form>
<?php
}
echo '</div>';
include('admin-footer.php');
include( './admin-footer.php' );
?>

View File

@ -1,5 +1,5 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
if ( !is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
@ -11,23 +11,20 @@ if ( isset($_GET[ 'id' ]) )
elseif ( isset( $_POST['id'] ) )
$id = intval( $_POST['id'] );
if ( isset( $_POST['ref'] ) == false && !empty($_SERVER['HTTP_REFERER']) )
$_POST['ref'] = $_SERVER['HTTP_REFERER'];
switch ( $_GET['action'] ) {
case "siteoptions":
case 'siteoptions':
check_admin_referer( 'siteoptions' );
if ( ! current_user_can( 'manage_network_options' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
if ( empty( $_POST ) )
wp_die( __("You probably need to go back to the <a href='ms-options.php'>options page</a>") );
wp_die( sprintf( __( 'You probably need to go back to the <a href="%s">options page</a>.', 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'] );
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,7 +32,7 @@ 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'] );
@ -46,9 +43,9 @@ 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'] != '' ) {
@ -59,9 +56,9 @@ switch ( $_GET['action'] ) {
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'] ) == '' )
@ -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;
@ -106,7 +103,7 @@ 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'] ) ) {
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
@ -129,17 +126,17 @@ switch ( $_GET['action'] ) {
// 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":
case 'addblog':
check_admin_referer( 'add-blog' );
if ( ! current_user_can( 'manage_sites' ) )
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." );
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'] ) )
@ -152,10 +149,10 @@ switch ( $_GET['action'] ) {
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;
@ -168,13 +165,13 @@ 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 );
}
$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 ) ) {
$dashboard_blog = get_dashboard_blog();
@ -182,29 +179,35 @@ switch ( $_GET['action'] ) {
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'] ) );
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":
case 'updateblog':
check_admin_referer( 'editblog' );
if ( ! current_user_can( 'manage_sites' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
if ( empty( $_POST ) )
wp_die( __('You probably need to go back to the <a href="ms-sites.php">sites page</a>') );
// 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 <a href="%s">sites page</a>', esc_url( admin_url( 'ms-sites.php' ) ) ) ) );
switch_to_blog( $id );
// 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'] );
@ -219,6 +222,7 @@ 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'] );
if ( get_option( 'siteurl' ) != $blog_address )
@ -231,9 +235,6 @@ 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 );
@ -244,6 +245,7 @@ switch ( $_GET['action'] ) {
// user roles
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 );
@ -283,22 +285,22 @@ switch ( $_GET['action'] ) {
$_POST['role'] = $newroles;
}
// add user?
if ( isset( $_POST[ 'user_password' ] ) && !empty( $_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'] );
}
}
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.' ) );
@ -306,19 +308,19 @@ switch ( $_GET['action'] ) {
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":
case 'allblogs':
if ( isset( $_POST['doaction']) || isset($_POST['doaction2'] ) ) {
check_admin_referer('bulk-sites');
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'];
$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
foreach ( (array) $_POST['allblogs'] as $key => $val ) {
@ -328,111 +330,119 @@ switch ( $_GET['action'] ) {
$blogfunction = 'all_delete';
wpmu_delete_blog( $val, true );
break;
case 'spam':
$blogfunction = 'all_spam';
update_blog_status( $val, "spam", '1', 0 );
update_blog_status( $val, 'spam', '1', 0 );
set_time_limit( 60 );
break;
case 'notspam':
$blogfunction = 'all_notspam';
update_blog_status( $val, "spam", '0', 0 );
update_blog_status( $val, 'spam', '0', 0 );
set_time_limit( 60 );
break;
}
} else {
wp_die( __('You are not allowed to change one of these sites.') );
exit();
};
};
wp_die( __( 'You are not allowed to change the current site.' ) );
}
}
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => $blogfunction), $_SERVER['HTTP_REFERER'] ) );
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":
case 'archiveblog':
check_admin_referer( 'archiveblog' );
if ( ! current_user_can( 'manage_sites' ) )
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":
case 'unarchiveblog':
check_admin_referer( 'unarchiveblog' );
if ( ! current_user_can( 'manage_sites' ) )
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":
case 'activateblog':
check_admin_referer( 'activateblog' );
if ( ! current_user_can( 'manage_sites' ) )
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":
case 'deactivateblog':
check_admin_referer( 'deactivateblog' );
if ( ! current_user_can( 'manage_sites' ) )
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":
case 'unspamblog':
check_admin_referer( 'unspamblog' );
if ( ! current_user_can( 'manage_sites' ) )
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":
case 'spamblog':
check_admin_referer( 'spamblog' );
if ( ! current_user_can( 'manage_sites' ) )
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.' ) );
@ -445,101 +455,109 @@ 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.' ) );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) ) language_attributes(); ?>>
<head>
<title><?php _e("WordPress &rsaquo; Confirm your action"); ?></title>
<title><?php _e( 'WordPress &rsaquo; Confirm your action' ); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php wp_admin_css( 'install', true ); ?>
</head>
<body id="error-page">
<h1 id="logo"><img alt="WordPress" src="<?php echo esc_url( admin_url( 'images/wordpress-logo.png' ) ); ?>" /></h1>
<form action='ms-edit.php?action=<?php echo esc_attr( $_GET[ 'action2' ] ) ?>' method='post'>
<input type='hidden' name='action' value='<?php echo esc_attr( $_GET['action2'] ) ?>' />
<input type='hidden' name='id' value='<?php echo esc_attr( $id ); ?>' />
<input type='hidden' name='ref' value='<?php echo $referrer; ?>' />
<?php wp_nonce_field( $_GET['action2'] ) ?>
<p><?php echo esc_html( stripslashes($_GET['msg']) ); ?></p>
<p class="submit"><input class="button" type='submit' value='<?php _e("Confirm"); ?>' /></p>
<h1 id="logo"><img alt="WordPress" src="<?php echo esc_attr( admin_url( 'images/wordpress-logo.png' ) ); ?>" /></h1>
<form action="ms-edit.php?action=<?php echo esc_attr( $_GET['action2'] ) ?>" method="post">
<input type="hidden" name="action" value="<?php echo esc_attr( $_GET['action2'] ) ?>" />
<input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" />
<input type="hidden" name="_wp_http_referer" value="<?php echo esc_attr( wp_get_referer() ); ?>" />
<?php wp_nonce_field( $_GET['action2'], '_wpnonce', false ); ?>
<p><?php esc_html_e( stripslashes( $_GET['msg'] ) ); ?></p>
<p class="submit"><input class="button" type="submit" value="<?php _e( 'Confirm' ); ?>" /></p>
</form>
</body>
</html>
<?php
break;
// Users (not used any more)
case "deleteuser":
check_admin_referer('deleteuser');
if ( $id != '0' && $id != '1' )
wpmu_delete_user($id);
wp_redirect( add_query_arg( array('updated' => '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.' ) );
if ( isset($_POST['alluser_delete']) ) {
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 '<div class="wrap" style="position:relative;">';
echo '<div class="wrap">';
confirm_delete_users( $_POST['allusers'] );
echo '</div>';
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 );
exit();
} else {
wp_redirect( admin_url( 'ms-users.php' ) );
}
}
}
if ( is_array( $_POST[ 'user' ] ) && !empty( $_POST[ 'user' ] ) )
foreach( $_POST[ 'user' ] as $id )
wpmu_delete_user( $id );
break;
case 'allusers':
if ( ! current_user_can( 'manage_network_users' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
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'];
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 );
if ( $val != '' || $val != '0' ) {
switch ( $doaction ) {
case 'delete':
$title = __( 'Users' );
$parent_file = 'ms-admin.php';
require_once( 'admin-header.php' );
echo '<div class="wrap">';
confirm_delete_users( $_POST['allusers'] );
echo '</div>';
require_once( 'admin-footer.php' );
exit();
break;
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add_superadmin' ), $_SERVER['HTTP_REFERER'] ) );
} elseif ( isset( $_POST[ 'remove_superadmin' ] ) ) {
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' );
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;
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] );
@ -547,45 +565,80 @@ switch ( $_GET['action'] ) {
}
}
}
update_site_option( 'site_admins' , $super_admins );
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'remove_superadmin' ), $_SERVER['HTTP_REFERER'] ) );
} else {
foreach ( (array) $_POST['allusers'] as $key => $val ) {
if ( $val == '' || $val == '0' )
continue;
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.' ), $user->user_login ) );
if ( isset($_POST['alluser_spam']) ) {
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 ) { continue; } // main blog not a spam !
update_blog_status( $details->userblog_id, "spam", '1' );
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 );
} 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'] ) );
}
exit();
update_user_status( $val, 'spam', '1', 1 );
break;
case "adduser":
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." ) );
wp_die( __( 'Cannot create an empty user.' ) );
$user = $_POST['user'];
if ( empty($user['username']) && empty($user['email']) )
wp_die( __( 'Missing username and email.' ) );
@ -607,12 +660,12 @@ switch ( $_GET['action'] ) {
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;
}
?>

View File

@ -1,5 +1,5 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
if ( !is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
@ -7,7 +7,7 @@ if ( !is_multisite() )
$title = __( 'Network Options' );
$parent_file = 'ms-admin.php';
include('admin-header.php');
include( './admin-header.php' );
if ( ! current_user_can( 'manage_network_options' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
@ -23,7 +23,7 @@ if (isset($_GET['updated'])) {
<?php screen_icon(); ?>
<h2><?php _e( 'Network Options' ) ?></h2>
<form method="post" action="ms-edit.php?action=siteoptions">
<?php wp_nonce_field( "siteoptions" ); ?>
<?php wp_nonce_field( 'siteoptions' ); ?>
<h3><?php _e( 'Operational Settings' ); ?></h3>
<table class="form-table">
<tr valign="top">
@ -47,8 +47,8 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><?php _e( 'Global Terms' ) ?></th>
<td>
<label><input type='radio' id="global_terms_enabled" name="global_terms_enabled" value='1'<?php checked( get_site_option( 'global_terms_enabled' ), 1 ) ?>/> <?php _e( 'Maintain a global list of terms from all sites across the network.' ); ?></label><br />
<label><input type='radio' id="global_terms_enabled" name="global_terms_enabled" value='0'<?php checked( get_site_option( 'global_terms_enabled' ), 0 ) ?>/> <?php _e( 'Disabled' ); ?></label></td>
<label><input type="radio" id="global_terms_enabled" name="global_terms_enabled" value="1"<?php checked( get_site_option( 'global_terms_enabled' ), 1 ) ?>/> <?php _e( 'Maintain a global list of terms from all sites across the network.' ); ?></label><br />
<label><input type="radio" id="global_terms_enabled" name="global_terms_enabled" value="0"<?php checked( get_site_option( 'global_terms_enabled' ), 0 ) ?>/> <?php _e( 'Disabled' ); ?></label></td>
</tr>
</table>
<h3><?php _e( 'Dashboard Settings' ); ?></h3>
@ -84,8 +84,9 @@ if (isset($_GET['updated'])) {
<th scope="row"><label for="admin_notice_feed"><?php _e( 'Admin Notice Feed' ) ?></label></th>
<td><input name="admin_notice_feed" class="large-text" type="text" id="admin_notice_feed" value="<?php echo esc_attr( get_site_option( 'admin_notice_feed' ) ) ?>" size="80" /><br />
<?php _e( 'Display the latest post from this RSS or Atom feed on all site dashboards. Leave blank to disable.' ); ?><br />
<?php if ( get_site_option( 'admin_notice_feed' ) != network_home_url('feed/', 'http') )
echo __( "A good one to use would be the feed from your main site: " ) . network_home_url('feed/'); ?></td>
<?php if ( get_site_option( 'admin_notice_feed' ) != get_home_url( $current_site->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/' ) ) ?></td>
</tr>
</table>
<h3><?php _e( 'Registration Settings' ); ?></h3>
@ -95,12 +96,13 @@ if (isset($_GET['updated'])) {
<?php
if ( !get_site_option( 'registration' ) )
update_site_option( 'registration', 'none' );
$reg = get_site_option( 'registration' );
?>
<td>
<label><input name="registration" type="radio" id="registration1" value='none'<?php checked( get_site_option('registration'), 'none') ?> /> <?php _e('Registration is disabled.'); ?></label><br />
<label><input name="registration" type="radio" id="registration2" value='user'<?php checked( get_site_option('registration'), 'user') ?> /> <?php _e('User accounts may be registered.'); ?></label><br />
<label><input name="registration" type="radio" id="registration3" value='blog'<?php checked( get_site_option('registration'), 'blog') ?> /> <?php _e('Logged in users may register new sites.'); ?></label><br />
<label><input name="registration" type="radio" id="registration4" value='all'<?php checked( get_site_option('registration'), 'all') ?> /> <?php _e('Both sites and user accounts can be registered.'); ?></label><br />
<label><input name="registration" type="radio" id="registration1" value="none"<?php checked( $reg, 'none') ?> /> <?php _e( 'Registration is disabled.' ); ?></label><br />
<label><input name="registration" type="radio" id="registration2" value="user"<?php checked( $reg, 'user') ?> /> <?php _e( 'User accounts may be registered.' ); ?></label><br />
<label><input name="registration" type="radio" id="registration3" value="blog"<?php checked( $reg, 'blog') ?> /> <?php _e( 'Logged in users may register new sites.' ); ?></label><br />
<label><input name="registration" type="radio" id="registration4" value="all"<?php checked( $reg, 'all') ?> /> <?php _e( 'Both sites and user accounts can be registered.' ); ?></label><br />
<p><?php _e( 'Disable or enable registration and who or what can be registered. (Default is disabled.)' ); ?></p>
<?php if ( is_subdomain_install() ) {
echo '<p>' . __( 'If registration is disabled, please set <code>NOBLOGREDIRECT</code> in <code>wp-config.php</code> to a url you will redirect visitors to if they visit a non-existent site.' ) . '</p>';
@ -115,14 +117,14 @@ if (isset($_GET['updated'])) {
update_site_option( 'registrationnotification', 'yes' );
?>
<td>
<label><input name="registrationnotification" type="checkbox" id="registrationnotification" value='yes'<?php checked( get_site_option('registrationnotification'), 'yes' ) ?> /> <?php _e('Send the network admin an email notification every time someone registers a site or user account.') ?></label>
<label><input name="registrationnotification" type="checkbox" id="registrationnotification" value="yes"<?php checked( get_site_option( 'registrationnotification' ), 'yes' ) ?> /> <?php _e( 'Send the network admin an email notification every time someone registers a site or user account.' ) ?></label>
</td>
</tr>
<tr valign="top" id="addnewusers">
<th scope="row"><?php _e( 'Add New Users' ) ?></th>
<td>
<label><input name="add_new_users" type="checkbox" id="add_new_users" value='1'<?php checked( get_site_option('add_new_users') ) ?> /> <?php _e('Allow site administrators to add new users to their site via the "Users->Add New" page.'); ?></label>
<label><input name="add_new_users" type="checkbox" id="add_new_users" value="1"<?php checked( get_site_option( 'add_new_users' ) ) ?> /> <?php _e( 'Allow site administrators to add new users to their site via the "Users->Add New" page.' ); ?></label>
</td>
</tr>
@ -140,7 +142,7 @@ if (isset($_GET['updated'])) {
<td>
<?php $limited_email_domains = get_site_option( 'limited_email_domains' );
$limited_email_domains = str_replace( ' ', "\n", $limited_email_domains ); ?>
<textarea name="limited_email_domains" id="limited_email_domains" cols='45' rows='5'><?php echo wp_htmledit_pre( $limited_email_domains == '' ? '' : implode( "\n", (array) $limited_email_domains ) ); ?></textarea>
<textarea name="limited_email_domains" id="limited_email_domains" cols="45" rows="5"><?php echo wp_htmledit_pre( $limited_email_domains == '' ? '' : implode( "\n", (array) $limited_email_domains ) ); ?></textarea>
<br />
<?php _e( 'If you want to limit site registrations to certain domains. Enter one domain per line.' ) ?>
</td>
@ -149,7 +151,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="banned_email_domains"><?php _e('Banned Email Domains') ?></label></th>
<td>
<textarea name="banned_email_domains" id="banned_email_domains" cols='45' rows='5'><?php echo wp_htmledit_pre( get_site_option('banned_email_domains') == '' ? '' : implode( "\n", (array) get_site_option('banned_email_domains') ) ); ?></textarea>
<textarea name="banned_email_domains" id="banned_email_domains" cols="45" rows="5"><?php echo wp_htmledit_pre( get_site_option( 'banned_email_domains' ) == '' ? '' : implode( "\n", (array) get_site_option( 'banned_email_domains' ) ) ); ?></textarea>
<br />
<?php _e('If you want to ban domains from site registrations. Enter one domain per line.') ?>
</td>
@ -162,7 +164,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="welcome_email"><?php _e( 'Welcome Email' ) ?></label></th>
<td>
<textarea name="welcome_email" id="welcome_email" rows='5' cols='45' class="large-text"><?php echo stripslashes( get_site_option('welcome_email') ) ?></textarea>
<textarea name="welcome_email" id="welcome_email" rows="5" cols="45" class="large-text"><?php echo stripslashes( get_site_option( 'welcome_email' ) ) ?></textarea>
<br />
<?php _e( 'The welcome email sent to new site owners.' ) ?>
</td>
@ -170,7 +172,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="welcome_user_email"><?php _e( 'Welcome User Email' ) ?></label></th>
<td>
<textarea name="welcome_user_email" id="welcome_user_email" rows='5' cols='45' class="large-text"><?php echo stripslashes( get_site_option('welcome_user_email') ) ?></textarea>
<textarea name="welcome_user_email" id="welcome_user_email" rows="5" cols="45" class="large-text"><?php echo stripslashes( get_site_option( 'welcome_user_email' ) ) ?></textarea>
<br />
<?php _e( 'The welcome email sent to new users.' ) ?>
</td>
@ -178,7 +180,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="first_post"><?php _e( 'First Post' ) ?></label></th>
<td>
<textarea name="first_post" id="first_post" rows='5' cols='45' class="large-text"><?php echo stripslashes( get_site_option('first_post') ) ?></textarea>
<textarea name="first_post" id="first_post" rows="5" cols="45" class="large-text"><?php echo stripslashes( get_site_option( 'first_post' ) ) ?></textarea>
<br />
<?php _e( 'The first post on a new site.' ) ?>
</td>
@ -186,7 +188,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="first_page"><?php _e( 'First Page' ) ?></label></th>
<td>
<textarea name="first_page" id="first_page" rows='5' cols='45' class="large-text"><?php echo stripslashes( get_site_option('first_page') ) ?></textarea>
<textarea name="first_page" id="first_page" rows="5" cols="45" class="large-text"><?php echo stripslashes( get_site_option('first_page') ) ?></textarea>
<br />
<?php _e( 'The first page on a new site.' ) ?>
</td>
@ -194,7 +196,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="first_comment"><?php _e( 'First Comment' ) ?></label></th>
<td>
<textarea name="first_comment" id="first_comment" rows='5' cols='45' class="large-text"><?php echo stripslashes( get_site_option('first_comment') ) ?></textarea>
<textarea name="first_comment" id="first_comment" rows="5" cols="45" class="large-text"><?php echo stripslashes( get_site_option('first_comment') ) ?></textarea>
<br />
<?php _e( 'The first comment on a new site.' ) ?>
</td>
@ -202,7 +204,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="first_comment_author"><?php _e( 'First Comment Author' ) ?></label></th>
<td>
<input type="text" size='40' name="first_comment_author" id="first_comment_author" value="<?php echo get_site_option('first_comment_author') ?>" />
<input type="text" size="40" name="first_comment_author" id="first_comment_author" value="<?php echo get_site_option('first_comment_author') ?>" />
<br />
<?php _e( 'The author of the first comment on a new site.' ) ?>
</td>
@ -210,7 +212,7 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><label for="first_comment_url"><?php _e( 'First Comment URL' ) ?></label></th>
<td>
<input type="text" size='40' name="first_comment_url" id="first_comment_url" value="<?php echo esc_attr(get_site_option('first_comment_url')) ?>" />
<input type="text" size="40" name="first_comment_url" id="first_comment_url" value="<?php echo esc_attr( get_site_option( 'first_comment_url' ) ) ?>" />
<br />
<?php _e( 'The URL for the first comment on a new site.' ) ?>
</td>
@ -221,16 +223,16 @@ if (isset($_GET['updated'])) {
<tr valign="top">
<th scope="row"><?php _e( 'Media upload buttons' ) ?></th>
<?php $mu_media_buttons = get_site_option( 'mu_media_buttons', array() ); ?>
<td><label><input type='checkbox' id="mu_media_buttons_image" name="mu_media_buttons[image]" value='1'<?php checked( !empty($mu_media_buttons[ 'image' ]) ) ?>/> <?php _e( 'Images' ); ?></label><br />
<label><input type='checkbox' id="mu_media_buttons_video" name="mu_media_buttons[video]" value='1'<?php checked( !empty($mu_media_buttons[ 'video' ]) ) ?>/> <?php _e( 'Videos' ); ?></label><br />
<label><input type='checkbox' id="mu_media_buttons_audio" name="mu_media_buttons[audio]" value='1'<?php checked( !empty($mu_media_buttons[ 'audio' ]) ) ?>/> <?php _e( 'Music' ); ?></label><br />
<td><label><input type="checkbox" id="mu_media_buttons_image" name="mu_media_buttons[image]" value="1"<?php checked( ! empty( $mu_media_buttons['image'] ) ) ?>/> <?php _e( 'Images' ); ?></label><br />
<label><input type="checkbox" id="mu_media_buttons_video" name="mu_media_buttons[video]" value="1"<?php checked( ! empty( $mu_media_buttons['video'] ) ) ?>/> <?php _e( 'Videos' ); ?></label><br />
<label><input type="checkbox" id="mu_media_buttons_audio" name="mu_media_buttons[audio]" value="1"<?php checked( ! empty( $mu_media_buttons['audio'] ) ) ?>/> <?php _e( 'Music' ); ?></label><br />
<?php _e( 'The media upload buttons to display on the "Write Post" page. Make sure you update the allowed upload file types below as well.' ); ?></td>
</tr>
<tr valign="top">
<th scope="row"><?php _e( 'Site upload space' ) ?></th>
<td>
<label><input type='checkbox' id="upload_space_check_disabled" name="upload_space_check_disabled" value='0'<?php checked( get_site_option( 'upload_space_check_disabled' ), 0 ) ?>/> <?php printf( __( 'Limit total size of files uploaded to %s MB' ), '<input name="blog_upload_space" type="text" id="blog_upload_space" value="' . esc_attr( get_site_option('blog_upload_space', 10) ) . '" size="3" />' ); ?></label><br />
<label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( get_site_option( 'upload_space_check_disabled' ), 0 ) ?>/> <?php printf( __( 'Limit total size of files uploaded to %s MB' ), '<input name="blog_upload_space" type="text" id="blog_upload_space" value="' . esc_attr( get_site_option('blog_upload_space', 10) ) . '" size="3" />' ); ?></label><br />
</tr>
<tr valign="top">

View File

@ -1,5 +1,5 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
if ( !is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
@ -9,60 +9,59 @@ $parent_file = 'ms-admin.php';
wp_enqueue_script( 'admin-forms' );
require_once('admin-header.php');
require_once( './admin-header.php' );
if ( ! current_user_can( 'manage_sites' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
$id = isset( $_GET['id'] ) ? intval( $_GET['id'] ) : 0;
$protocol = is_ssl() ? 'https://' : 'http://';
if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
if ( isset( $_GET['updated'] ) && $_GET['updated'] == 'true' && ! empty( $_GET['action'] ) ) {
?>
<div id="message" class="updated fade"><p>
<?php
switch ( $_GET['action'] ) {
case 'all_notspam':
_e('Sites mark as not spam !');
_e( 'Sites mark as not spam.' );
break;
case 'all_spam':
_e('Sites mark as spam !');
_e( 'Sites mark as spam.' );
break;
case 'all_delete':
_e('Sites deleted !');
_e( 'Sites deleted.' );
break;
case 'delete':
_e('Site deleted !');
_e( 'Site deleted.' );
break;
case 'add-blog':
_e('Site added !');
_e( 'Site added.' );
break;
case 'archive':
_e('Site archived !');
_e( 'Site archived.' );
break;
case 'unarchive':
_e('Site unarchived !');
_e( 'Site unarchived.' );
break;
case 'activate':
_e('Site activated !');
_e( 'Site activated.' );
break;
case 'deactivate':
_e('Site deactivated !');
_e( 'Site deactivated.' );
break;
case 'unspam':
_e('Site mark as not spam !');
_e( 'Site mark as not spam.' );
break;
case 'spam':
_e('Site mark as spam !');
_e( 'Site mark as spam.' );
break;
case 'umature':
_e('Site mark as not mature !');
case 'unmature':
_e( 'Site mark as not mature.' );
break;
case 'mature':
_e('Site mark as mature !');
_e( 'Site mark as mature.' );
break;
default:
_e('Options saved !');
_e( 'Settings saved.' );
break;
}
?>
@ -73,8 +72,8 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
$action = isset( $_GET['action'] ) ? $_GET['action'] : 'list';
switch ( $action ) {
// Edit blog
case "editblog":
// Edit site
case 'editblog':
$blog_prefix = $wpdb->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 );
@ -83,30 +82,32 @@ switch ( $action ) {
?>
<div class="wrap">
<?php screen_icon(); ?>
<h2><?php _e('Edit Site'); ?> - <a href='<?php echo get_home_url($id); ?>'><?php echo get_home_url($id); ?></a></h2>
<h2><?php _e( 'Edit Site' ); ?> - <a href="<?php echo esc_url( get_home_url( $id ) ); ?>"><?php echo esc_url( get_home_url( $id ) ); ?></a></h2>
<form method="post" action="ms-edit.php?action=updateblog">
<?php wp_nonce_field( 'editblog' ); ?>
<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
<div class='metabox-holder' style='width:49%;float:left;'>
<div class="metabox-holder" style="width:49%;float:left;">
<div id="blogedit_bloginfo" class="postbox">
<h3 class='hndle'><span><?php _e('Site info (wp_blogs)'); ?></span></h3>
<h3 class="hndle"><span><?php _e( 'Site info (wp_blogs)' ); ?></span></h3>
<div class="inside">
<table class="form-table">
<tr class="form-field form-required">
<th scope="row"><?php _e( 'Domain' ) ?></th>
<?php if ( $is_main_site ) { ?>
<td>http://<?php echo esc_attr($details->domain) ?></td>
<?php
$protocol = is_ssl() ? 'https://' : 'http://';
if ( $is_main_site ) { ?>
<td><code><?php echo $protocol; echo esc_attr( $details->domain ) ?></code></td>
<?php } else { ?>
<td>http://<input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr($details->domain) ?>" size="33" /></td>
<td><?php echo $protocol; ?><input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" size="33" /></td>
<?php } ?>
</tr>
<tr class="form-field form-required">
<th scope="row"><?php _e( 'Path' ) ?></th>
<?php if ( $is_main_site ) { ?>
<td><?php echo esc_attr($details->path) ?></td>
<td><code><?php echo esc_attr( $details->path ) ?></code></td>
<?php } else { ?>
<td><input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" size="40" style='margin-bottom:5px;' />
<br /><input type='checkbox' style='width:20px;' name='update_home_url' value='update' <?php if ( get_blog_option( $id, 'siteurl' ) == untrailingslashit( get_blogaddress_by_id($id) ) || get_blog_option( $id, 'home' ) == untrailingslashit( get_blogaddress_by_id($id) ) ) echo 'checked="checked"'; ?> /> <?php _e( "Update 'siteurl' and 'home' as well." ); ?></td>
<br /><input type="checkbox" style="width:20px;" name="update_home_url" value="update" <?php if ( get_blog_option( $id, 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_blog_option( $id, 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></td>
<?php } ?>
</tr>
<tr class="form-field">
@ -120,44 +121,45 @@ switch ( $action ) {
<tr class="form-field">
<th scope="row"><?php _e('Public') ?></th>
<td>
<input type='radio' style='width:20px;' name='blog[public]' value='1' <?php if ( $details->public == '1' ) echo 'checked="checked"'; ?> /> <?php _e('Yes') ?>
<input type='radio' style='width:20px;' name='blog[public]' value='0' <?php if ( $details->public == '0' ) echo 'checked="checked"'; ?> /> <?php _e('No') ?>
<label><input type="radio" style="width:20px;" name="blog[public]" value="1" <?php checked( $details->public, 1 ); ?> /> <?php _e( 'Yes' ) ?></label>
<label><input type="radio" style="width:20px;" name="blog[public]" value="0" <?php checked( $details->public, 0 ); ?> /> <?php _e( 'No' ) ?></label>
</td>
</tr>
<tr class="form-field">
<th scope="row"><?php _e( 'Archived' ); ?></th>
<td>
<input type='radio' style='width:20px;' name='blog[archived]' value='1' <?php if ( $details->archived == '1' ) echo 'checked="checked"'; ?> /> <?php _e('Yes') ?>
<input type='radio' style='width:20px;' name='blog[archived]' value='0' <?php if ( $details->archived == '0' ) echo 'checked="checked"'; ?> /> <?php _e('No') ?>
<label><input type="radio" style="width:20px;" name="blog[archived]" value="1" <?php checked( $details->archived, 1 ); ?> /> <?php _e( 'Yes' ) ?></label>
<label><input type="radio" style="width:20px;" name="blog[archived]" value="0" <?php checked( $details->archived, 0 ); ?> /> <?php _e( 'No' ) ?></label>
</td>
</tr>
<tr class="form-field">
<th scope="row"><?php _e( 'Mature' ); ?></th>
<td>
<input type='radio' style='width:20px;' name='blog[mature]' value='1' <?php if ( $details->mature == '1' ) echo 'checked="checked"'; ?> /> <?php _e('Yes') ?>
<input type='radio' style='width:20px;' name='blog[mature]' value='0' <?php if ( $details->mature == '0' ) echo 'checked="checked"'; ?> /> <?php _e('No') ?>
<label><input type="radio" style="width:20px;" name="blog[mature]" value="1" <?php checked( $details->mature, 1 ); ?> /> <?php _e( 'Yes' ) ?></label>
<label><input type="radio" style="width:20px;" name="blog[mature]" value="0" <?php checked( $details->mature, 0); ?> /> <?php _e( 'No' ) ?></label>
</td>
</tr>
<tr class="form-field">
<th scope="row"><?php _e( 'Spam' ); ?></th>
<td>
<input type='radio' style='width:20px;' name='blog[spam]' value='1' <?php if ( $details->spam == '1' ) echo 'checked="checked"'; ?> /> <?php _e('Yes') ?>
<input type='radio' style='width:20px;' name='blog[spam]' value='0' <?php if ( $details->spam == '0' ) echo 'checked="checked"'; ?> /> <?php _e('No') ?>
<label><input type="radio" style="width:20px;" name="blog[spam]" value="1" <?php checked( $details->spam, 1 ); ?> /> <?php _e( 'Yes' ) ?></label>
<label><input type="radio" style="width:20px;" name="blog[spam]" value="0" <?php checked( $details->spam, 0 ); ?> /> <?php _e( 'No' ) ?></label>
</td>
</tr>
<tr class="form-field">
<th scope="row"><?php _e( 'Deleted' ); ?></th>
<td>
<input type='radio' style='width:20px;' name='blog[deleted]' value='1' <?php if ( $details->deleted == '1' ) echo 'checked="checked"'; ?> /> <?php _e('Yes') ?>
<input type='radio' style='width:20px;' name='blog[deleted]' value='0' <?php if ( $details->deleted == '0' ) echo 'checked="checked"'; ?> /> <?php _e('No') ?>
<label><input type="radio" style="width:20px;" name="blog[deleted]" value="1" <?php checked( $details->deleted, 1 ); ?> /> <?php _e( 'Yes' ) ?></label>
<label><input type="radio" style="width:20px;" name="blog[deleted]" value="0" <?php checked( $details->deleted, 0 ); ?> /> <?php _e( 'No' ) ?></label>
</td>
</tr>
</table>
<p class="submit" style="margin:-15px 0 -5px 230px;"><input type="submit" name="Submit" value="<?php esc_attr_e('Update Options') ?>" /></p>
</div></div>
<p class="submit" style="text-align:center;"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Update Options' ) ?>" /></p>
</div>
</div>
<div id="blogedit_blogoptions" class="postbox" >
<h3 class='hndle'><span><?php printf( __('Site options (%soptions)'), $blog_prefix ); ?></span></h3>
<h3 class="hndle"><span><?php printf( __( 'Site options (%soptions)' ), $blog_prefix ); ?></span></h3>
<div class="inside">
<table class="form-table">
<?php
@ -166,29 +168,31 @@ switch ( $action ) {
if ( $option->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";
$option->option_value = 'SERIALIZED DATA';
$disabled = true;
$class = 'all-options disabled';
}
}
if ( stristr($option->option_value, "\r") || stristr($option->option_value, "\n") || stristr($option->option_value, "\r\n") ) {
if ( strpos( $option->option_value, "\n" ) !== false ) {
?>
<tr class="form-field">
<th scope="row"><?php echo ucwords( str_replace( "_", " ", $option->option_name ) ) ?></th>
<td><textarea rows="5" cols="40" name="option[<?php echo esc_attr($option->option_name) ?>]" id="<?php echo esc_attr($option->option_name) ?>"<?php disabled( $disabled ) ?>><?php echo esc_html( $option->option_value ) ?></textarea></td>
<td><textarea class="<?php echo $class; ?>" rows="5" cols="40" name="option[<?php echo esc_attr( $option->option_name ) ?>]" id="<?php echo esc_attr( $option->option_name ) ?>"<?php disabled( $disabled ) ?>><?php wp_htmledit_pre( $option->option_value ) ?></textarea></td>
</tr>
<?php
} else {
?>
<tr class="form-field">
<th scope="row"><?php echo ucwords( str_replace( "_", " ", $option->option_name ) ) ?></th>
<th scope="row"><?php esc_html_e( ucwords( str_replace( "_", " ", $option->option_name ) ) ); ?></th>
<?php if ( $is_main_site && in_array( $option->option_name, array( 'siteurl', 'home' ) ) ) { ?>
<td><?php echo esc_attr( $option->option_value ) ?></td>
<td><code><?php esc_html_e( $option->option_value ) ?></code></td>
<?php } else { ?>
<td><input name="option[<?php echo esc_attr($option->option_name) ?>]" type="text" id="<?php echo esc_attr($option->option_name) ?>" value="<?php echo esc_attr( $option->option_value ) ?>" size="40" <?php disabled( $disabled ) ?> /></td>
<td><input class="<?php echo $class; ?>" name="option[<?php echo esc_attr( $option->option_name ) ?>]" type="text" id="<?php echo esc_attr( $option->option_name ) ?>" value="<?php echo esc_attr( $option->option_value ) ?>" size="40" <?php disabled( $disabled ) ?> /></td>
<?php } ?>
</tr>
<?php
@ -196,26 +200,29 @@ switch ( $action ) {
} // End foreach
?>
</table>
<p class="submit" style="margin:-15px 0 -5px 230px;"><input type="submit" name="Submit" value="<?php esc_attr_e('Update Options') ?>" /></p>
</div></div>
<p class="submit" style="text-align:center;"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Update Options' ) ?>" /></p>
</div>
</div>
</div>
<div class='metabox-holder' style='width:49%;float:right;'>
<div class="metabox-holder" style="width:49%;float:right;">
<?php
// Blog Themes
// Site Themes
$themes = get_themes();
$blog_allowed_themes = wpmu_get_blog_allowedthemes( $id );
$allowed_themes = get_site_option( "allowedthemes" );
$allowed_themes = get_site_option( 'allowedthemes' );
if ( ! $allowed_themes )
$allowed_themes = array_keys( $themes );
$out = '';
foreach ( $themes as $key => $theme ) {
$theme_key = esc_html( $theme['Stylesheet'] );
if ( ! isset( $allowed_themes[$theme_key] ) ) {
$checked = ( isset($blog_allowed_themes[ $theme_key ]) ) ? 'checked="checked"' : '';
$checked = isset( $blog_allowed_themes[ $theme_key ] ) ? 'checked="checked"' : '';
$out .= '<tr class="form-field form-required">
<th title="' . esc_attr( $theme["Description"] ).'" scope="row">' . esc_html( $key ) . '</th>
<td><input name="theme[' . esc_attr($theme_key) . ']" type="checkbox" style="width:20px;" value="on" '.$checked.'/>' . __( 'Active' ) . '</td>
<td><label><input name="theme[' . esc_attr( $theme_key ) . ']" type="checkbox" style="width:20px;" value="on" '.$checked.'/> ' . __( 'Active' ) . '</label></td>
</tr>';
}
}
@ -223,18 +230,17 @@ switch ( $action ) {
if ( $out != '' ) {
?>
<div id="blogedit_blogthemes" class="postbox">
<h3 class='hndle'><span><?php esc_html_e('Site Themes'); ?></span></h3>
<h3 class="hndle"><span><?php esc_html_e( 'Site Themes' ); ?></span></h3>
<div class="inside">
<p class="description"><?php _e( 'Activate the themename of an existing theme and hit "Update Options" to allow the theme for this site.' ) ?></p>
<table class="form-table">
<tr><th style="font-weight:bold;"><?php esc_html_e('Theme'); ?></th></tr>
<?php echo $out; ?>
</table>
<p class="submit" style="margin:-15px 0 -5px 230px;"><input type="submit" name="Submit" value="<?php esc_attr_e('Update Options') ?>" /></p>
<p class="submit" style="text-align:center;"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Update Options' ) ?>" /></p>
</div></div>
<?php } ?>
<?php }
<?php
// Blog users
// Site users
$blogusers = get_users_of_blog( $id );
if ( is_array( $blogusers ) ) {
echo '<div id="blogedit_blogusers" class="postbox"><h3 class="hndle"><span>' . __( 'Site Users' ) . '</span></h3><div class="inside">';
@ -256,14 +262,13 @@ switch ( $action ) {
<select name="role[<?php echo $val->user_id ?>]" id="new_role"><?php
foreach ( $editblog_roles as $role => $role_assoc ){
$name = translate_user_role( $role_assoc['name'] );
$selected = ( $role == $existing_role ) ? 'selected="selected"' : '';
echo "<option {$selected} value=\"" . esc_attr($role) . "\">{$name}</option>";
echo '<option ' . selected( $role, $existing_role ) . ' value="' . esc_attr( $role ) . '">' . esc_html( $name ) . '</option>';
}
?>
</select>
</td>
<td>
<input type='text' name='user_password[<?php echo esc_attr($val->user_id) ?>]' />
<input type="text" name="user_password[<?php echo esc_attr( $val->user_id ) ?>]" />
</td>
<?php
echo '<td><input title="' . __( 'Click to remove user' ) . '" type="checkbox" name="blogusers[' . esc_attr( $val->user_id ) . ']" /></td>';
@ -273,15 +278,15 @@ switch ( $action ) {
echo '</tr>';
}
echo "</table>";
echo '<p class="submit" style="margin:-15px 0 -5px 230px;"><input type="submit" name="Submit" value="' . esc_attr__('Update Options') . '" /></p>';
echo '<p class="submit" style="text-align:center;"><input type="submit" name="Submit" value="' . esc_attr__( 'Update Options' ) . '" /></p>';
echo "</div></div>";
}
?>
<div id="blogedit_blogadduser" class="postbox">
<h3 class='hndle'><span><?php _e('Add a new user'); ?></span></h3>
<h3 class="hndle"><span><?php _e( 'Add a new user' ); ?></span></h3>
<div class="inside">
<p style="margin:10px 0 0px;padding:0px 10px 10px;border-bottom:1px solid #DFDFDF;"><?php _e('Enter the username of an existing user and hit <em>Update Options</em> to add the user.') ?></p>
<p class="description"><?php _e( 'Enter the username of an existing user and hit "Update Options" to add the user.' ) ?></p>
<table class="form-table">
<tr>
<th scope="row"><?php _e( 'User&nbsp;Login:' ) ?></th>
@ -296,25 +301,26 @@ switch ( $action ) {
foreach ( $editblog_roles as $role => $role_assoc ){
$name = translate_user_role( $role_assoc['name'] );
$selected = ( $role == $editblog_default_role ) ? 'selected="selected"' : '';
echo "<option {$selected} value=\"" . esc_attr($role) . "\">{$name}</option>";
echo '<option ' . $selected . ' value="' . esc_attr( $role ) . '">' . esc_html( $name ) . '</option>';
}
?>
</select>
</td>
</tr>
</table>
<p class="submit" style="margin:-15px 0 -5px 230px;"><input type="submit" name="Submit" value="<?php esc_attr_e('Update Options') ?>" /></p>
</div></div>
<p class="submit" style="text-align:center;"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Update Options' ) ?>" /></p>
</div>
</div>
<div id="blogedit_miscoptions" class="postbox">
<h3 class='hndle'><span><?php _e('Misc Site Actions') ?></span></h3>
<h3 class="hndle"><span><?php _e( 'Misc Site Actions' ) ?></span></h3>
<div class="inside">
<table class="form-table">
<?php do_action( 'wpmueditblogaction', $id ); ?>
</table>
<p class="submit" style="margin:-15px 0 -5px 230px;"><input type="submit" name="Submit" value="<?php esc_attr_e('Update Options') ?>" /></p>
</div></div>
<p class="submit" style="text-align:center;"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Update Options' ) ?>" /></p>
</div>
</div>
</div>
<div style="clear:both;"></div>
@ -323,7 +329,7 @@ switch ( $action ) {
<?php
break;
// List blogs
// List sites
case 'list':
default:
$pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;
@ -341,16 +347,6 @@ switch ( $action ) {
$query = "SELECT * FROM {$wpdb->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}%' ) ";
@ -399,9 +395,6 @@ switch ( $action ) {
$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') ) );
?>
<div class="wrap">
@ -414,38 +407,10 @@ switch ( $action ) {
?>
</h2>
<ul class="subsubsub">
<?php
$status_links = array();
$status_class = '';
$count = get_blog_count();
if ( empty($_GET['blogstatus']) || $_GET['blogstatus'] == 'all' )
$status_class = ' class="current"';
$status_links[] = "<li><a href='ms-sites.php?blogstatus=all'$status_class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'sites' ), number_format_i18n( $count ) ) . '</a>';
foreach ( $status_list as $status => $col ) {
$status_class = '';
if ( empty( $count->$status ) )
continue;
if ( isset( $_GET['blogstatus'] ) && ( $_GET['blogstatus'] == $status ) )
$status_class = ' class="current"';
$status_links[] = "<li><a href='ms-sites.php?blogstatus=$status'$status_class>" . sprintf( $col[1] . ' <span class="count">(%s)</span>' , number_format_i18n( $count->$status ) ) . '</a>';
};
echo implode( " |</li>\n", $status_links ) . '</li>';
unset( $status_links );
?>
</ul>
<form action="ms-sites.php" method="get" id="ms-search">
<p class="search-box">
<input type="hidden" name="action" value="blogs" />
<input type="text" name="s" value="<?php esc_attr_e( $s ); ?>" />
<input type="text" name="s" value="<?php echo esc_attr( $s ); ?>" />
<input type="submit" class="button" value="<?php esc_attr_e( 'Search Site by' ) ?>" />
<select name="searchaction">
<option value="name" selected="selected"><?php _e( 'Name' ); ?></option>
@ -466,7 +431,7 @@ switch ( $action ) {
<option value="notspam"><?php _e( 'Not Spam' ); ?></option>
</select>
<input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction" id="doaction" class="button-secondary action" />
<?php wp_nonce_field('bulk-sites'); ?>
<?php wp_nonce_field( 'bulk-ms-sites' ); ?>
</div>
<?php if ( $page_links ) { ?>
@ -492,7 +457,7 @@ switch ( $action ) {
<?php
// define the columns to display, the syntax is 'internal name' => 'display name'
$blogname_columns = ( is_subdomain_install() ) ? __( 'Domain' ) : __( 'Path' );
$posts_columns = array(
$sites_columns = array(
'id' => __( 'ID' ),
'blogname' => $blogname_columns,
'lastupdated' => __( 'Last Updated'),
@ -501,40 +466,20 @@ switch ( $action ) {
);
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 );
?>
<table class="widefat">
<thead>
<tr>
<th style="" class="manage-column column-cb check-column" id="cb" scope="col">
<input type="checkbox" />
</th>
<?php
foreach($posts_columns as $column_id => $column_display_name) {
$column_link = "<a href='";
$order2 = '';
if ( $order_by == $column_id )
$order2 = ($order == 'DESC') ? 'ASC' : 'DESC';
$column_link .= esc_url(add_query_arg( array('order' => $order2, 'paged' => $pagenum, 'sortby' => $column_id ), $_SERVER['REQUEST_URI'] ) );
$column_link .= "'>{$column_display_name}</a>";
$col_url = ($column_id == 'users' || $column_id == 'plugins') ? $column_display_name : $column_link;
?>
<th scope="col">
<?php echo $col_url ?>
</th>
<?php } ?>
</tr>
</thead>
<tfoot>
<tr>
<th class="manage-column column-cb check-column" id="cb" scope="col">
<input type="checkbox" />
</th>
<?php foreach($posts_columns as $column_id => $column_display_name) {
<?php
$col_url = '';
foreach($sites_columns as $column_id => $column_display_name) {
$column_link = "<a href='";
$order2 = '';
if ( $order_by == $column_id )
@ -542,16 +487,22 @@ switch ( $action ) {
$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}</a>";
$col_url = ($column_id == 'users' || $column_id == 'plugins') ? $column_display_name : $column_link;
?>
<th scope="col">
<?php echo $col_url ?>
$col_url .= '<th scope="col">' . ( ( $column_id == 'users' || $column_id == 'plugins' ) ? $column_display_name : $column_link ) . '</th>';
}
echo $col_url ?>
</tr>
</thead>
<tfoot>
<tr>
<th class="manage-column column-cb check-column" id="cb1" scope="col">
<input type="checkbox" />
</th>
<?php } ?>
<?php echo $col_url ?>
</tr>
</tfoot>
<tbody id="the-list">
<tbody id="the-site-list" class="list:site">
<?php
$status_list = array( 'archived' => 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 ) {
@ -579,11 +530,11 @@ switch ( $action ) {
echo "<tr class='$class'>";
$blogname = ( is_subdomain_install() ) ? str_replace( '.'.$current_site->domain, '', $blog['domain'] ) : $blog['path'];
foreach ( $posts_columns as $column_name=>$column_display_name ) {
foreach ( $sites_columns as $column_name=>$column_display_name ) {
switch ( $column_name ) {
case 'id': ?>
<th scope="row" class="check-column">
<input type='checkbox' id='blog_<?php echo $blog['blog_id'] ?>' name='allblogs[]' value='<?php echo esc_attr($blog['blog_id']) ?>' />
<input type="checkbox" id="blog_<?php echo $blog['blog_id'] ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ) ?>" />
</th>
<th valign="top" scope="row">
<?php echo $blog['blog_id'] ?>
@ -593,36 +544,41 @@ switch ( $action ) {
case 'blogname': ?>
<td class="column-title">
<a href="ms-sites.php?action=editblog&amp;id=<?php echo $blog['blog_id'] ?>" class="edit"><?php echo $blogname . $blog_state; ?></a>
<a href="<?php echo esc_url( admin_url( 'ms-sites.php?action=editblog&amp;id=' . $blog['blog_id'] ) ); ?>" class="edit"><?php echo $blogname . $blog_state; ?></a>
<?php
if ( 'list' != $mode )
echo '<p>' . sprintf( _x( '%1$s &#8211; <em>%2$s', '%1$s: site name. %2$s: site tagline.' ), get_blog_option( $blog['blog_id'], 'blogname' ), get_blog_option( $blog['blog_id'], 'blogdescription ' ) ) . '</em></p>';
$actions = array();
$actions[] = '<a href="ms-sites.php?action=editblog&amp;id=' . $blog['blog_id'] . '" class="edit">' . __('Edit') . '</a>';
$actions[] = "<a href='" . get_admin_url($blog['blog_id']) . "' class='edit'>" . __('Backend') . '</a>';
if ( get_blog_status( $blog['blog_id'], "deleted" ) == '1' )
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=activateblog&amp;ref=' . urlencode( $_SERVER['REQUEST_URI'] ) . '&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to activate the site %s" ), $blogname ) ) . '">' . __('Activate') . '</a>';
$actions[] = '<span class="edit"><a href="' . esc_url( admin_url( 'ms-sites.php?action=editblog&amp;id=' . $blog['blog_id'] ) ) . '">' . __( 'Edit' ) . '</a><span>';
$actions[] = "<span class='backend'><a href='" . esc_url( get_admin_url($blog['blog_id']) ) . "' class='edit'>" . __( 'Backend' ) . '</a></span>';
if ( $current_site->blog_id != $blog['blog_id'] ) {
if ( get_blog_status( $blog['blog_id'], 'deleted' ) == '1' )
$actions[] = '<span class="activate"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=activateblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to activate the site %s" ), $blogname ) ) ) ) . '">' . __( 'Activate' ) . '</a></span>';
else
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=deactivateblog&amp;ref=' . urlencode( $_SERVER['REQUEST_URI'] ) . '&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to deactivate the site %s" ), $blogname ) ) . '">' . __('Deactivate') . '</a>';
$actions[] = '<span class="activate"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=deactivateblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to deactivate the site %s" ), $blogname ) ) ) ) . '">' . __( 'Deactivate' ) . '</a></span>';
if ( get_blog_status( $blog['blog_id'], "archived" ) == '1' )
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=unarchiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to unarchive the site %s" ), $blogname ) ) . '">' . __('Unarchive') . '</a>';
if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' )
$actions[] = '<span class="archive"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=unarchiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to unarchive the site %s." ), $blogname ) ) ) ) . '">' . __( 'Unarchive' ) . '</a></span>';
else
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=archiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to archive the site %s" ), $blogname ) ) . '">' . __('Archive') . '</a>';
$actions[] = '<span class="archive"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=archiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to archive the site %s." ), $blogname ) ) ) ) . '">' . __( 'Archive' ) . '</a></span>';
if ( get_blog_status( $blog['blog_id'], "spam" ) == '1' )
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=unspamblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to unspam the site %s" ), $blogname ) ) . '">' . __('Not Spam') . '</a>';
if ( get_blog_status( $blog['blog_id'], 'spam' ) == '1' )
$actions[] = '<span class="spam"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=unspamblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to unspam the site %s." ), $blogname ) ) ) ) . '">' . __( 'Not Spam' ) . '</a></span>';
else
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=spamblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to mark the site %s as spam" ), $blogname ) ) . '">' . __("Spam") . '</a>';
$actions[] = '<span class="spam"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=spamblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to mark the site %s as spam." ), $blogname ) ) ) ) . '">' . __( 'Spam' ) . '</a></span>';
$actions[] = '<a class="delete" href="ms-edit.php?action=confirm&amp;action2=deleteblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to delete the site %s" ), $blogname ) ) . '">' . __("Delete") . '</a>';
if ( get_blog_status( $blog['blog_id'], 'mature' ) == '1' )
$actions[] = '<span class="mature"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=unmatureblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to unmature the site %s." ), $blogname ) ) ) ) . '">' . __( 'Not Mature' ) . '</a></span>';
else
$actions[] = '<span class="mature"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=matureblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to mark the site %s as mature." ), $blogname ) ) ) ) . '">' . __( 'Mature' ) . '</a></span>';
$actions[] = "<a href='" . get_home_url($blog['blog_id']) . "' rel='permalink'>" . __('Visit') . '</a>';
?>
$actions[] = '<span class="delete"><a href="' . esc_url( admin_url( 'ms-edit.php?action=confirm&amp;action2=deleteblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( "You are about to delete the site %s." ), $blogname ) ) ) ) . '">' . __( 'Delete' ) . '</a></span>';
}
<?php if ( count($actions) ) : ?>
$actions[] = "<span class='view'><a href='" . esc_url( get_home_url( $blog['blog_id'] ) ) . "' rel='permalink'>" . __( 'Visit' ) . '</a>';
if ( count( $actions ) ) : ?>
<div class="row-actions">
<?php echo implode( ' | ', $actions ); ?>
</div>
@ -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'] ); ?>
</td>
<?php
break;
case 'registered': ?>
<td valign="top">
<?php echo mysql2date(__( $date ), $blog['registered'] ); ?>
<?php
if ( $blog['registered'] == '0000-00-00 00:00:00' )
echo '&#x2014;';
else
echo mysql2date( __( $date ), $blog['registered'] );
?>
</td>
<?php
break;
@ -656,10 +617,10 @@ switch ( $action ) {
$blogusers_warning = '';
if ( count( $blogusers ) > 5 ) {
$blogusers = array_slice( $blogusers, 0, 5 );
$blogusers_warning = __( 'Only showing first 5 users.' ) . ' <a href="' . get_admin_url($blog['blog_id'], 'users.php') . '">' . __( 'More' ) . '</a>';
$blogusers_warning = __( 'Only showing first 5 users.' ) . ' <a href="' . esc_url( get_admin_url( $blog['blog_id'], 'users.php' ) ) . '">' . __( 'More' ) . '</a>';
}
foreach ( $blogusers as $key => $val ) {
echo '<a href="user-edit.php?user_id=' . $val->user_id . '">' . $val->user_login . '</a> ';
echo '<a href="' . esc_url( admin_url( 'user-edit.php?user_id=' . $val->user_id ) ) . '">' . esc_html( $val->user_login ) . '</a> ';
if ( 'list' != $mode )
echo '(' . $val->user_email . ')';
echo '<br />';
@ -675,7 +636,7 @@ switch ( $action ) {
case 'plugins': ?>
<?php if ( has_filter( 'wpmublogsaction' ) ) { ?>
<td valign="top">
<?php do_action( "wpmublogsaction", $blog['blog_id'] ); ?>
<?php do_action( 'wpmublogsaction', $blog['blog_id'] ); ?>
</td>
<?php } ?>
<?php break;
@ -695,7 +656,7 @@ switch ( $action ) {
}
} else { ?>
<tr>
<td colspan="8"><?php _e('No blogs found.') ?></td>
<td colspan="<?php echo (int) count( $sites_columns ); ?>"><?php _e( 'No blogs found.' ) ?></td>
</tr>
<?php
} // end if ($blogs)
@ -731,27 +692,27 @@ switch ( $action ) {
<?php wp_nonce_field( 'add-blog' ) ?>
<table class="form-table">
<tr class="form-field form-required">
<th scope='row'><?php _e('Site Address') ?></th>
<th scope="row"><?php _e( 'Site Address' ) ?></th>
<td>
<?php if ( is_subdomain_install() ) { ?>
<input name="blog[domain]" type="text" class="regular-text" title="<?php _e( 'Domain' ) ?>"/>.<?php echo $current_site->domain;?>
<?php } else {
echo $current_site->domain . $current_site->path ?><input name="blog[domain]" class="regular-text" type="text" title="<?php _e( 'Domain' ) ?>"/>
<?php }
echo "<p>" . __( 'Only the characters a-z and 0-9 recommended.' ) . "</p>";
echo '<p>' . __( 'Only the characters a-z and 0-9 recommended.' ) . '</p>';
?>
</td>
</tr>
<tr class="form-field form-required">
<th scope='row'><?php _e('Site Title') ?></th>
<th scope="row"><?php _e( 'Site Title' ) ?></th>
<td><input name="blog[title]" type="text" class="regular-text" title="<?php _e( 'Title' ) ?>"/></td>
</tr>
<tr class="form-field form-required">
<th scope='row'><?php _e('Admin Email') ?></th>
<th scope="row"><?php _e( 'Admin Email' ) ?></th>
<td><input name="blog[email]" type="text" class="regular-text" title="<?php _e( 'Email' ) ?>"/></td>
</tr>
<tr class="form-field">
<td colspan='2'><?php _e('A new user will be created if the above email address is not in the database.') ?><br /><?php _e('The username and password will be mailed to this email address.') ?></td>
<td colspan="2"><?php _e( 'A new user will be created if the above email address is not in the database.' ) ?><br /><?php _e( 'The username and password will be mailed to this email address.' ) ?></td>
</tr>
</table>
<p class="submit">
@ -762,4 +723,4 @@ switch ( $action ) {
break;
} // end switch( $action )
include('admin-footer.php'); ?>
include( './admin-footer.php' ); ?>

View File

@ -1,9 +1,9 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
$title = __( 'Network Themes' );
$parent_file = 'ms-admin.php';
require_once('admin-header.php');
require_once( './admin-header.php' );
if ( ! current_user_can( 'manage_network_themes' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
@ -18,7 +18,7 @@ $themes = get_themes();
$allowed_themes = get_site_allowed_themes();
?>
<div class="wrap">
<form action='ms-edit.php?action=updatethemes' method='post'>
<form action="<?php echo esc_url( admin_url( 'ms-edit.php?action=updatethemes' ) ); ?>" method="post">
<?php screen_icon(); ?>
<h2><?php _e( 'Network Themes' ) ?></h2>
<p><?php _e( 'Disable themes network-wide. You can enable themes on a site by site basis.' ) ?></p>
@ -40,20 +40,21 @@ $allowed_themes = get_site_allowed_themes();
$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" ';
$enabled = true;
$activated_themes_count++;
$class1 = 'active';
} else {
$disabled = 'checked="checked" ';
$disabled = true;
}
?>
<tr valign="top" class="<?php echo $class.$class1; ?>">
<tr valign="top" class="<?php echo $class, $class1; ?>">
<td style="text-align:center;">
<label><input name="theme[<?php echo $theme_key ?>]" type="radio" id="enabled_<?php echo $theme_key ?>" value="enabled" <?php echo $enabled ?> /> <?php _e('Yes') ?></label>
<label><input name="theme[<?php echo $theme_key ?>]" type="radio" id="enabled_<?php echo $theme_key ?>" value="enabled" <?php checked( $enabled ) ?> /> <?php _e( 'Yes' ) ?></label>
&nbsp;&nbsp;&nbsp;
<label><input name="theme[<?php echo $theme_key ?>]" type="radio" id="disabled_<?php echo $theme_key ?>" value="disabled" <?php echo $disabled ?> /> <?php _e('No') ?></label>
<label><input name="theme[<?php echo $theme_key ?>]" type="radio" id="disabled_<?php echo $theme_key ?>" value="disabled" <?php checked( $disabled ) ?> /> <?php _e( 'No' ) ?></label>
</td>
<th scope="row" style="text-align:left;"><?php echo $key ?></th>
<td><?php echo $theme['Version'] ?></td>
@ -64,7 +65,7 @@ $allowed_themes = get_site_allowed_themes();
</table>
<p class="submit">
<input type='submit' value='<?php _e('Update Themes') ?>' /></p>
<input type="submit" value="<?php _e( 'Update Themes' ) ?>" /></p>
</form>
<h3><?php _e( 'Total' )?></h3>
@ -75,4 +76,4 @@ $allowed_themes = get_site_allowed_themes();
</p>
</div>
<?php include('admin-footer.php'); ?>
<?php include( './admin-footer.php' ); ?>

View File

@ -1,5 +1,5 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
if ( !is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
@ -9,59 +9,63 @@ $parent_file = 'ms-admin.php';
wp_enqueue_script( 'admin-forms' );
require_once('admin-header.php');
require_once( './admin-header.php' );
if ( ! current_user_can( 'manage_network_users' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
if ( isset( $_GET['updated'] ) && $_GET['updated'] == 'true' && ! empty( $_GET['action'] ) ) {
?>
<div id="message" class="updated fade"><p>
<?php
switch ( $_GET['action'] ) {
case 'delete':
_e('User deleted !');
_e( 'User deleted.' );
break;
case 'all_spam':
_e('Users marked as spam !');
_e( 'Users marked as spam.' );
break;
case 'all_notspam':
_e('Users marked as not spam !');
_e( 'Users marked as not spam.' );
break;
case 'all_delete':
_e('Users deleted !');
_e( 'Users deleted.' );
break;
case 'add':
_e('User added !');
_e( 'User added.' );
break;
case 'add_superadmin':
_e('Network admin added !');
_e( 'Network admin added.' );
break;
case 'remove_superadmin':
_e('Network admin removed !');
_e( 'Network admin removed.' );
break;
}
?>
</p></div>
<?php
}
?>
<div class="wrap" style="position:relative;">
<?php
$apage = isset( $_GET['apage'] ) ? intval( $_GET['apage'] ) : 1;
$num = isset( $_GET['num'] ) ? intval( $_GET['num'] ) : 15;
$s = isset($_GET[ 's' ]) ? esc_attr( trim( $_GET[ 's' ] ) ) : '';
$pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;
if ( empty( $pagenum ) )
$pagenum = 1;
$per_page = (int) get_user_option( 'ms_users_per_page' );
if ( empty( $per_page ) || $per_page < 1 )
$per_page = 15;
$per_page = apply_filters( 'ms_users_per_page', $per_page );
$s = isset( $_GET['s'] ) ? stripslashes( trim( $_GET[ 's' ] ) ) : '';
$like_s = esc_sql( like_escape( $s ) );
$query = "SELECT * FROM {$wpdb->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}");
$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' => __( '&laquo;' ),
'next_text' => __( '&raquo;' ),
'total' => $num_pages,
'current' => $pagenum
));
if ( $user_navigation ) {
$user_navigation = sprintf( '<span class="displaying-num">' . __( 'Displaying %s&#8211;%s of %s' ) . '</span>%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'] );
?>
<div class="wrap">
<?php screen_icon(); ?>
<h2><?php esc_html_e("Users"); ?></h2>
<h2><?php esc_html_e( 'Users' ); ?>
<a href="#form-add-user" class="button add-new-h2"><?php echo esc_html_x( 'Add New' , 'users'); ?></a>
<?php
if ( isset( $_GET['s'] ) && $_GET['s'] )
printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( $s ) );
?>
</h2>
<form action="ms-users.php" method="get" class="search-form">
<p class="search-box">
<input type="text" name="s" value="<?php if ( isset($_GET['s']) ) esc_attr( stripslashes( $s ) ); ?>" class="search-input" id="user-search-input" />
<input type="text" name="s" value="<?php echo esc_attr( $s ); ?>" class="search-input" id="user-search-input" />
<input type="submit" id="post-query-submit" value="<?php esc_attr_e( 'Search Users' ) ?>" class="button" />
</p>
</form>
</div>
<form id="form-user-list" action='ms-edit.php?action=allusers' method='post'>
<input type="hidden" name="mode" value="<?php echo esc_attr( $mode ); ?>" />
<div class="tablenav">
<?php if ( $user_navigation ) echo "<div class='tablenav-pages'>$user_navigation</div>"; ?>
<div class="alignleft actions">
<input type="submit" value="<?php esc_attr_e('Delete') ?>" name="alluser_delete" class="button-secondary delete" />
<input type="submit" value="<?php esc_attr_e('Mark as Spammers') ?>" name="alluser_spam" class="button-secondary" />
<input type="submit" value="<?php esc_attr_e('Not Spam') ?>" name="alluser_notspam" class="button-secondary" />
<input type="submit" value="<?php esc_attr_e('Add Network Admins') ?>" name="add_superadmin" class="button-secondary" />
<input type="submit" value="<?php esc_attr_e('Remove Network Admins') ?>" name="remove_superadmin" class="button-secondary" />
<?php wp_nonce_field( 'allusers' ); ?>
<br class="clear" />
</div>
<select name="action">
<option value="-1" selected="selected"><?php _e( 'Bulk Actions' ); ?></option>
<option value="delete"><?php _e( 'Delete' ); ?></option>
<option value="spam"><?php _e( 'Mark as Spammers' ); ?></option>
<option value="notspam"><?php _e( 'Not Spam' ); ?></option>
<option value="superadmin"><?php _e( 'Add Super Admins' ); ?></option>
<option value="notsuperadmin"><?php _e( 'Remove Super Admins' ); ?></option>
</select>
<input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction" id="doaction" class="button-secondary action" />
<?php wp_nonce_field( 'bulk-ms-users' ); ?>
</div>
<?php if ( isset($_GET['s']) && $_GET['s'] != '' ) : ?>
<p><a href="ms-sites.php?action=blogs&amp;s=<?php echo urlencode( stripslashes( $s ) ); ?>&blog_name=Search+blogs+by+name"><?php _e('Search Sites for') ?> <strong><?php echo stripslashes( $s ) ?></strong></a></p>
<?php endif; ?>
<?php if ( $page_links ) { ?>
<div class="tablenav-pages">
<?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s&#8211;%s of %s' ) . '</span>%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; ?>
</div>
<?php } ?>
<div class="view-switch">
<a href="<?php echo esc_url( add_query_arg( 'mode', 'list', $_SERVER['REQUEST_URI'] ) ) ?>"><img <?php if ( 'list' == $mode ) echo 'class="current"'; ?> id="view-switch-list" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e( 'List View' ) ?>" alt="<?php _e( 'List View' ) ?>" /></a>
<a href="<?php echo esc_url( add_query_arg( 'mode', 'excerpt', $_SERVER['REQUEST_URI'] ) ) ?>"><img <?php if ( 'excerpt' == $mode ) echo 'class="current"'; ?> id="view-switch-excerpt" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e( 'Excerpt View' ) ?>" alt="<?php _e( 'Excerpt View' ) ?>" /></a>
</div>
</div>
<div class="clear"></div>
<?php
// define the columns to display, the syntax is 'internal name' => 'display name'
$posts_columns = array(
'checkbox' => '',
$users_columns = array(
'id' => __( 'ID' ),
'login' => __( 'Username' ),
'name' => __( 'Name' ),
'email' => __( 'E-mail' ),
'registered' => __( 'Registered' ),
'blogs' => ''
'blogs' => __( 'Sites' )
);
$posts_columns = apply_filters('wpmu_users_columns', $posts_columns);
$users_columns = apply_filters( 'wpmu_users_columns', $users_columns );
?>
<table class="widefat" cellspacing="0">
<table class="widefat">
<thead>
<tr>
<?php foreach( (array) $posts_columns as $column_id => $column_display_name) {
if ( $column_id == 'blogs' ) {
echo '<th scope="col">'.__('Sites').'</th>';
} elseif ( $column_id == 'checkbox') {
echo '<th scope="col" class="check-column"><input type="checkbox" /></th>';
} else { ?>
<th scope="col"><a href="ms-users.php?sortby=<?php echo $column_id ?>&amp;<?php if ( $order_by == $column_id ) { if ( $order == 'DESC' ) { echo "order=ASC&amp;" ; } else { echo "order=DESC&amp;"; } } ?>apage=<?php echo $apage ?>"><?php echo $column_display_name; ?></a></th>
<?php } ?>
<?php } ?>
<th class="manage-column column-cb check-column" id="cb" scope="col">
<input type="checkbox" />
</th>
<?php
$col_url = '';
foreach($users_columns as $column_id => $column_display_name) {
$column_link = "<a href='";
$order2 = '';
if ( $order_by == $column_id )
$order2 = ( $order == 'DESC' ) ? 'ASC' : 'DESC';
$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}</a>";
$col_url .= '<th scope="col">' . ( $column_id == 'blogs' ? $column_display_name : $column_link ) . '</th>';
}
echo $col_url; ?>
</tr>
</thead>
<tbody id="users" class="list:user user-list">
<tfoot>
<tr>
<th class="manage-column column-cb check-column" id="cb" scope="col">
<input type="checkbox" />
</th>
<?php echo $col_url; ?>
</tr>
</tfoot>
<tbody id="the-user-list" class="list:user">
<?php if ( $user_list ) {
$class = '';
$super_admins = get_site_option( 'site_admins' );
foreach ( (array) $user_list as $user ) {
$class = ( 'alternate' == $class ) ? '' : 'alternate';
$status_list = array( "spam" => "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' ) {
}
?>
<tr class="<?php echo $class; ?>">
<?php
foreach( (array) $posts_columns as $column_name=>$column_display_name) :
foreach( (array) $users_columns as $column_name=>$column_display_name ) :
switch( $column_name ) {
case 'checkbox': ?>
<th scope="row" class="check-column"><input type='checkbox' id='user_<?php echo $user['ID'] ?>' name='allusers[]' value='<?php echo esc_attr($user['ID']) ?>' /></th>
case 'id': ?>
<th scope="row" class="check-column">
<input type="checkbox" id="blog_<?php echo $user['ID'] ?>" name="allusers[]" value="<?php echo esc_attr( $user['ID'] ) ?>" />
</th>
<th valign="top" scope="row">
<?php echo $user['ID'] ?>
</th>
<?php
break;
case 'login':
$avatar = get_avatar( $user['user_email'], 32 );
$edit = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), "user-edit.php?user_id=".$user['ID'] ) );
// @todo Make delete link work like delete button with transfering users (in ms-edit.php)
//$delete = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), wp_nonce_url( 'ms-edit.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user['ID'] ) );
?>
<td class="username column-username">
<?php echo $avatar; ?><strong><a href="<?php echo $edit; ?>" class="edit"><?php echo stripslashes($user['user_login']); ?></a><?php
<?php echo $avatar; ?><strong><a href="<?php echo esc_url( admin_url( 'user-edit.php?user_id=' . $user['ID'] ) ); ?>" class="edit"><?php echo stripslashes( $user['user_login'] ); ?></a><?php
if ( in_array( $user['user_login'], $super_admins ) )
echo ' - ' . __( 'Super admin' );
?></strong>
<br/>
<div class="row-actions">
<span class="edit"><a href="<?php echo $edit; ?>">Edit</a></span>
<?php /*<span class="delete"><a href="<?php echo $delete; ?>" class="delete">Delete</a></span> */ ?>
<span class="edit"><a href="<?php echo esc_url( admin_url( 'user-edit.php?user_id=' . $user['ID'] ) ); ?>"><?php _e( 'Edit'); ?></a></span>
<?php if ( ! in_array( $user['user_login'], $super_admins ) ) { ?>
| <span class="delete"><a href="<?php echo $delete = esc_url( admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'ms-edit.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user['ID'] ) ) ); ?>" class="delete"><?php _e( 'Delete' ); ?></a></span>
<?php } ?>
</div>
</td>
<?php
@ -217,8 +254,13 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
<?php
break;
case 'registered': ?>
<td><?php echo mysql2date(__('Y-m-d \<\b\r \/\> g:i a'), $user['user_registered']); ?></td>
case 'registered':
if ( 'list' == $mode )
$date = 'Y/m/d';
else
$date = 'Y/m/d \<\b\r \/\> g:i:s a';
?>
<td><?php echo mysql2date( __( $date ), $user['user_registered'] ); ?></td>
<?php
break;
@ -230,17 +272,17 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
if ( is_array( $blogs ) ) {
foreach ( (array) $blogs as $key => $val ) {
$path = ( $val->path == '/' ) ? '' : $val->path;
echo '<a href="ms-sites.php?action=editblog&amp;id=' . $val->userblog_id . '">' . str_replace( '.' . $current_site->domain, '', $val->domain . $path ) . '</a>';
echo '<a href="'. esc_url( admin_url( 'ms-sites.php?action=editblog&amp;id=' . $val->userblog_id ) ) .'">' . str_replace( '.' . $current_site->domain, '', $val->domain . $path ) . '</a>';
echo ' <small class="row-actions">';
// Edit
echo '<a href="ms-sites.php?action=editblog&amp;id=' . $val->userblog_id . '">' . __('Edit') . '</a> | ';
echo '<a href="'. esc_url( admin_url( 'ms-sites.php?action=editblog&amp;id=' . $val->userblog_id ) ) .'">' . __( 'Edit' ) . '</a> | ';
// View
echo '<a ';
if ( get_blog_status( $val->userblog_id, 'spam' ) == 1 )
echo 'style="background-color: #f66" ';
echo 'target="_new" href="http://'.$val->domain . $val->path.'">' . __('View') . '</a>';
echo 'style="background-color: #faa" ';
echo 'href="' . esc_url( get_home_url( $val->userblog_id ) ) . '">' . __( 'View' ) . '</a>';
echo '</small><br />';
}
@ -262,8 +304,8 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
}
} else {
?>
<tr style='background-color: <?php echo $bgcolor; ?>'>
<td colspan="<?php echo (int) count($posts_columns); ?>"><?php _e('No users found.') ?></td>
<tr>
<td colspan="<?php echo (int) count($users_columns); ?>"><?php _e( 'No users found.' ) ?></td>
</tr>
<?php
} // end if ($users)
@ -272,18 +314,25 @@ if ( isset($_GET['updated']) && $_GET['updated'] == 'true' ) {
</table>
<div class="tablenav">
<?php if ( $user_navigation ) echo "<div class='tablenav-pages'>$user_navigation</div>"; ?>
<?php
if ( $page_links )
echo "<div class='tablenav-pages'>$page_links_text</div>";
?>
<div class="alignleft">
<input type="submit" value="<?php esc_attr_e('Delete') ?>" name="alluser_delete" class="button-secondary delete" />
<input type="submit" value="<?php esc_attr_e('Mark as Spammers') ?>" name="alluser_spam" class="button-secondary" />
<input type="submit" value="<?php esc_attr_e('Not Spam') ?>" name="alluser_notspam" class="button-secondary" />
<input type="submit" value="<?php esc_attr_e('Add Network Admins') ?>" name="add_superadmin" class="button-secondary" />
<input type="submit" value="<?php esc_attr_e('Remove Network Admins') ?>" name="remove_superadmin" class="button-secondary" />
<?php wp_nonce_field( 'allusers' ); ?>
<div class="alignleft actions">
<select name="action2">
<option value="-1" selected="selected"><?php _e( 'Bulk Actions' ); ?></option>
<option value="delete"><?php _e( 'Delete' ); ?></option>
<option value="spam"><?php _e( 'Mark as Spammers' ); ?></option>
<option value="notspam"><?php _e( 'Not Spam' ); ?></option>
<option value="superadmin"><?php _e( 'Add Super Admins' ); ?></option>
<option value="notsuperadmin"><?php _e( 'Remove Super Admins' ); ?></option>
</select>
<input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction2" id="doaction2" class="button-secondary action" />
</div>
<br class="clear" />
</div>
</div>
</form>
</div>
@ -292,25 +341,25 @@ if ( apply_filters('show_adduser_fields', true) ) :
?>
<div class="wrap">
<h2><?php _e( 'Add user' ) ?></h2>
<form action="ms-edit.php?action=adduser" method="post">
<form action="ms-edit.php?action=adduser" method="post" id="form-add-user">
<table class="form-table">
<tr class="form-field form-required">
<th scope='row'><?php _e('Username') ?></th>
<td><input type="text" name="user[username]" /></td>
<th scope="row"><?php _e( 'Username' ) ?></th>
<td><input type="text" class="regular-text" name="user[username]" /></td>
</tr>
<tr class="form-field form-required">
<th scope='row'><?php _e('Email') ?></th>
<td><input type="text" name="user[email]" /></td>
<th scope="row"><?php _e( 'Email' ) ?></th>
<td><input type="text" class="regular-text" name="user[email]" /></td>
</tr>
<tr class="form-field">
<td colspan='2'><?php _e('Username and password will be mailed to the above email address.') ?></td>
<td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
</tr>
</table>
<p class="submit">
<?php wp_nonce_field( 'add-user' ) ?>
<input class="button" type="submit" name="Add user" value="<?php esc_attr_e('Add user') ?>" /></p>
<input class="button" type="submit" value="<?php esc_attr_e( 'Add user' ) ?>" /></p>
</form>
</div>
<?php endif; ?>
<?php include('admin-footer.php'); ?>
<?php include( './admin-footer.php' ); ?>

View File

@ -1,6 +1,5 @@
<?php
require_once('admin.php');
require_once( './admin.php' );
if ( !is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
@ -18,27 +17,35 @@ if ( empty( $blogs ) )
$updated = false;
if ( 'updateblogsettings' == $action && isset( $_POST['primary_blog'] ) ) {
check_admin_referer( 'update-my-sites' );
// @todo Validate primary blog.
$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' );
$parent_file = 'index.php';
require_once('admin-header.php');
require_once( './admin-header.php' );
if ( $updated ) { ?>
<div id="message" class="updated fade"><p><strong><?php _e( 'Your site preferences have been updated.' ); ?></strong></p></div>
<div id="message" class="updated fade"><p><strong><?php _e( 'Settings saved.' ); ?></strong></p></div>
<?php } ?>
<div class="wrap">
<?php screen_icon(); ?>
<h2><?php echo esc_html($title); ?></h2>
<h2><?php esc_html_e( $title ); ?></h2>
<form id="myblogs" action="" method="post">
<?php
choose_primary_blog();
do_action( 'myblogs_allblogs_options' );
?><table class='widefat'> <?php
?>
<br clear="all" />
<table class="widefat fixed">
<?php
$settings_html = apply_filters( 'myblogs_options', '', 'global' );
if ( $settings_html != '' ) {
echo "<tr><td valign='top'><h3>" . __( 'Global Settings' ) . "</h3></td><td>";
@ -61,16 +68,17 @@ if ( $updated ) { ?>
$c = '';
foreach ( $rows as $row ) {
$c = $c == "alternate" ? '' : 'alternate';
$c = $c == 'alternate' ? '' : 'alternate';
echo "<tr class='$c'>";
$t = '';
$i = 0;
foreach ( $row as $user_blog ) {
$t = $t == 'border-right: 1px solid #ccc;' ? '' : 'border-right: 1px solid #ccc;';
echo "<td valign='top' style='$t; width:50%'>";
$s = $i == 3 ? '' : 'border-right: 1px solid #ccc;';
echo "<td valign='top' style='$s'>";
echo "<h3>{$user_blog->blogname}</h3>";
echo "<p>" . apply_filters( "myblogs_blog_actions", "<a href='" . get_home_url($user_blog->userblog_id) . "'>" . __( 'Visit' ) . "</a> | <a href='" . get_admin_url($user_blog->userblog_id) . "'>" . __( 'Dashboard' ) . "</a>", $user_blog ) . "</p>";
echo "<p>" . apply_filters( 'myblogs_blog_actions', "<a href='" . esc_url( get_home_url( $user_blog->userblog_id ) ). "'>" . __( 'Visit' ) . "</a> | <a href='" . esc_url( get_admin_url( $user_blog->userblog_id ) ) . "'>" . __( 'Dashboard' ) . "</a>", $user_blog ) . "</p>";
echo apply_filters( 'myblogs_options', '', $user_blog );
echo "</td>";
$i++;
}
echo "</tr>";
}?>
@ -78,11 +86,10 @@ if ( $updated ) { ?>
<input type="hidden" name="action" value="updateblogsettings" />
<?php wp_nonce_field( 'update-my-sites' ); ?>
<p>
<input type="submit" class="button-primary" value="<?php _e('Update Options') ?>" name="submit" />
<input type="submit" class="button-primary" value="<?php _e( 'Save Changes' ) ?>" />
</p>
</form>
</div>
<?php
include('admin-footer.php');
include( './admin-footer.php' );
?>