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:
@@ -1,33 +1,30 @@
|
||||
<?php
|
||||
require_once('admin.php');
|
||||
require_once( './admin.php' );
|
||||
|
||||
if ( !is_multisite() )
|
||||
wp_die( __('Multisite support is not enabled.') );
|
||||
wp_die( __( 'Multisite support is not enabled.' ) );
|
||||
|
||||
do_action('wpmuadminedit', '');
|
||||
do_action( 'wpmuadminedit' , '');
|
||||
|
||||
if ( isset($_GET[ 'id' ]) )
|
||||
$id = intval( $_GET[ 'id' ] );
|
||||
elseif ( isset($_POST[ 'id' ]) )
|
||||
$id = intval( $_POST[ 'id' ] );
|
||||
|
||||
if ( isset( $_POST['ref'] ) == false && !empty($_SERVER['HTTP_REFERER']) )
|
||||
$_POST['ref'] = $_SERVER['HTTP_REFERER'];
|
||||
if ( isset( $_GET['id' ]) )
|
||||
$id = intval( $_GET['id'] );
|
||||
elseif ( isset( $_POST['id'] ) )
|
||||
$id = intval( $_POST['id'] );
|
||||
|
||||
switch ( $_GET['action'] ) {
|
||||
case "siteoptions":
|
||||
check_admin_referer('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.') );
|
||||
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'] );
|
||||
if ( isset($_POST['WPLANG']) && ( '' === $_POST['WPLANG'] || in_array( $_POST['WPLANG'], get_available_languages() ) ) )
|
||||
update_site_option( 'WPLANG', $_POST['WPLANG'] );
|
||||
|
||||
if ( is_email( $_POST['admin_email'] ) )
|
||||
update_site_option( "admin_email", $_POST['admin_email'] );
|
||||
update_site_option( 'admin_email', $_POST['admin_email'] );
|
||||
|
||||
$illegal_names = split( ' ', $_POST['illegal_names'] );
|
||||
foreach ( (array) $illegal_names as $name ) {
|
||||
@@ -35,10 +32,10 @@ switch ( $_GET['action'] ) {
|
||||
if ( $name != '' )
|
||||
$names[] = trim( $name );
|
||||
}
|
||||
update_site_option( "illegal_names", $names );
|
||||
update_site_option( 'illegal_names', $names );
|
||||
|
||||
if ( $_POST['limited_email_domains'] != '' ) {
|
||||
$limited_email_domains = str_replace( ' ', "\n", $_POST[ 'limited_email_domains' ] );
|
||||
$limited_email_domains = str_replace( ' ', "\n", $_POST['limited_email_domains'] );
|
||||
$limited_email_domains = split( "\n", stripslashes( $limited_email_domains ) );
|
||||
$limited_email = array();
|
||||
foreach ( (array) $limited_email_domains as $domain ) {
|
||||
@@ -46,31 +43,31 @@ switch ( $_GET['action'] ) {
|
||||
if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $domain ) )
|
||||
$limited_email[] = trim( $domain );
|
||||
}
|
||||
update_site_option( "limited_email_domains", $limited_email );
|
||||
update_site_option( 'limited_email_domains', $limited_email );
|
||||
} else {
|
||||
update_site_option( "limited_email_domains", '' );
|
||||
update_site_option( 'limited_email_domains', '' );
|
||||
}
|
||||
|
||||
if ( $_POST['banned_email_domains'] != '' ) {
|
||||
$banned_email_domains = split( "\n", stripslashes( $_POST[ 'banned_email_domains' ] ) );
|
||||
$banned_email_domains = split( "\n", stripslashes( $_POST['banned_email_domains'] ) );
|
||||
$banned = array();
|
||||
foreach ( (array) $banned_email_domains as $domain ) {
|
||||
$domain = trim( $domain );
|
||||
if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $domain ) )
|
||||
$banned[] = trim( $domain );
|
||||
}
|
||||
update_site_option( "banned_email_domains", $banned );
|
||||
update_site_option( 'banned_email_domains', $banned );
|
||||
} else {
|
||||
update_site_option( "banned_email_domains", '' );
|
||||
update_site_option( 'banned_email_domains', '' );
|
||||
}
|
||||
update_site_option( 'default_user_role', $_POST[ 'default_user_role' ] );
|
||||
if ( trim( $_POST[ 'dashboard_blog_orig' ] ) == '' )
|
||||
$_POST[ 'dashboard_blog_orig' ] = $current_site->blog_id;
|
||||
if ( trim( $_POST[ 'dashboard_blog' ] ) == '' ) {
|
||||
$_POST[ 'dashboard_blog' ] = $current_site->blog_id;
|
||||
update_site_option( 'default_user_role', $_POST['default_user_role'] );
|
||||
if ( trim( $_POST['dashboard_blog_orig'] ) == '' )
|
||||
$_POST['dashboard_blog_orig'] = $current_site->blog_id;
|
||||
if ( trim( $_POST['dashboard_blog'] ) == '' ) {
|
||||
$_POST['dashboard_blog'] = $current_site->blog_id;
|
||||
$dashboard_blog_id = $current_site->blog_id;
|
||||
} else {
|
||||
$dashboard_blog = untrailingslashit( sanitize_user( str_replace( '.', '', str_replace( $current_site->domain . $current_site->path, '', $_POST[ 'dashboard_blog' ] ) ) ) );
|
||||
$dashboard_blog = untrailingslashit( sanitize_user( str_replace( '.', '', str_replace( $current_site->domain . $current_site->path, '', $_POST['dashboard_blog'] ) ) ) );
|
||||
$blog_details = get_blog_details( $dashboard_blog );
|
||||
if ( false === $blog_details ) {
|
||||
if ( is_numeric( $dashboard_blog ) )
|
||||
@@ -83,7 +80,7 @@ switch ( $_GET['action'] ) {
|
||||
$path = trailingslashit( $current_site->path . $dashboard_blog );
|
||||
}
|
||||
$wpdb->hide_errors();
|
||||
$dashboard_blog_id = wpmu_create_blog( $domain, $path, __( 'My Dashboard' ), $current_user->id , array( "public" => 0 ), $current_site->id );
|
||||
$dashboard_blog_id = wpmu_create_blog( $domain, $path, __( 'My Dashboard' ), $current_user->id , array( 'public' => 0 ), $current_site->id );
|
||||
$wpdb->show_errors();
|
||||
} else {
|
||||
$dashboard_blog_id = $blog_details->blog_id;
|
||||
@@ -91,7 +88,7 @@ switch ( $_GET['action'] ) {
|
||||
}
|
||||
if ( is_wp_error( $dashboard_blog_id ) )
|
||||
wp_die( __( 'Problem creating dashboard blog: ' ) . $dashboard_blog_id->get_error_message() );
|
||||
if ( $_POST[ 'dashboard_blog_orig' ] != $_POST[ 'dashboard_blog' ] ) {
|
||||
if ( $_POST['dashboard_blog_orig'] != $_POST['dashboard_blog'] ) {
|
||||
$users = get_users_of_blog( get_site_option( 'dashboard_blog' ) );
|
||||
$move_users = array();
|
||||
foreach ( (array)$users as $user ) {
|
||||
@@ -106,60 +103,60 @@ switch ( $_GET['action'] ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
update_site_option( "dashboard_blog", $dashboard_blog_id );
|
||||
update_site_option( 'dashboard_blog', $dashboard_blog_id );
|
||||
// global terms
|
||||
if ( !global_terms_enabled() && ! empty( $_POST[ 'global_terms_enabled' ] ) ) {
|
||||
if ( !global_terms_enabled() && ! empty( $_POST['global_terms_enabled'] ) ) {
|
||||
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
||||
// create global terms table
|
||||
install_global_terms();
|
||||
}
|
||||
$options = array( 'registrationnotification', 'registration', 'add_new_users', 'menu_items', 'mu_media_buttons', 'upload_space_check_disabled', 'blog_upload_space', 'upload_filetypes', 'site_name', 'first_post', 'first_page', 'first_comment', 'first_comment_url', 'first_comment_author', 'welcome_email', 'welcome_user_email', 'fileupload_maxk', 'admin_notice_feed', 'global_terms_enabled' );
|
||||
$checked_options = array('mu_media_buttons' => array(), 'menu_items' => array(), 'registrationnotification' => 'no', 'upload_space_check_disabled' => 1 );
|
||||
$checked_options = array( 'mu_media_buttons' => array(), 'menu_items' => array(), 'registrationnotification' => 'no', 'upload_space_check_disabled' => 1 );
|
||||
foreach ( $checked_options as $option_name => $option_unchecked_value ) {
|
||||
if ( ! isset($_POST[ $option_name ]) )
|
||||
$_POST[ $option_name ] = $option_unchecked_value;
|
||||
if ( ! isset( $_POST[$option_name] ) )
|
||||
$_POST[$option_name] = $option_unchecked_value;
|
||||
}
|
||||
foreach ( $options as $option_name ) {
|
||||
if ( ! isset($_POST[ $option_name ]) )
|
||||
if ( ! isset($_POST[$option_name]) )
|
||||
continue;
|
||||
$value = stripslashes_deep( $_POST[ $option_name ] );
|
||||
$value = stripslashes_deep( $_POST[$option_name] );
|
||||
update_site_option( $option_name, $value );
|
||||
}
|
||||
|
||||
// Update more options here
|
||||
do_action( 'update_wpmu_options' );
|
||||
|
||||
wp_redirect( add_query_arg( "updated", "true", 'ms-options.php' ) );
|
||||
wp_redirect( add_query_arg( 'updated', 'true', admin_url( 'ms-options.php' ) ) );
|
||||
exit();
|
||||
break;
|
||||
case "addblog":
|
||||
check_admin_referer('add-blog');
|
||||
case 'addblog':
|
||||
check_admin_referer( 'add-blog' );
|
||||
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( is_array( $_POST[ 'blog' ] ) == false )
|
||||
wp_die( "Can't create an empty site." );
|
||||
if ( is_array( $_POST['blog'] ) == false )
|
||||
wp_die( __( "Can't create an empty site." ) );
|
||||
$blog = $_POST['blog'];
|
||||
$domain = '';
|
||||
if ( ! preg_match( '/(--)/', $blog[ 'domain' ] ) && preg_match( '|^([a-zA-Z0-9-])+$|', $blog[ 'domain' ] ) )
|
||||
$domain = strtolower( $blog[ 'domain' ] );
|
||||
$email = sanitize_email( $blog[ 'email' ] );
|
||||
$title = $blog[ 'title' ];
|
||||
if ( ! preg_match( '/(--)/', $blog['domain'] ) && preg_match( '|^([a-zA-Z0-9-])+$|', $blog['domain'] ) )
|
||||
$domain = strtolower( $blog['domain'] );
|
||||
$email = sanitize_email( $blog['email'] );
|
||||
$title = $blog['title'];
|
||||
|
||||
if ( empty( $domain ) )
|
||||
wp_die( __( 'Missing or invalid site address.' ) );
|
||||
if ( empty( $email ) )
|
||||
wp_die( __( 'Missing email address.' ) );
|
||||
if ( !is_email( $email ) )
|
||||
wp_die( __( 'Invalid email address' ) );
|
||||
wp_die( __( 'Invalid email address.' ) );
|
||||
|
||||
if ( is_subdomain_install() ) {
|
||||
$newdomain = $domain.".".$current_site->domain;
|
||||
$newdomain = $domain . '.' . $current_site->domain;
|
||||
$path = $base;
|
||||
} else {
|
||||
$newdomain = $current_site->domain;
|
||||
$path = $base.$domain.'/';
|
||||
$path = $base . $domain . '/';
|
||||
}
|
||||
|
||||
$password = 'N/A';
|
||||
@@ -168,46 +165,52 @@ switch ( $_GET['action'] ) {
|
||||
$password = wp_generate_password();
|
||||
$user_id = wpmu_create_user( $domain, $password, $email );
|
||||
if ( false == $user_id )
|
||||
wp_die( __('There was an error creating the user') );
|
||||
wp_die( __( 'There was an error creating the user.' ) );
|
||||
else
|
||||
wp_new_user_notification($user_id, $password);
|
||||
wp_new_user_notification( $user_id, $password );
|
||||
}
|
||||
|
||||
$wpdb->hide_errors();
|
||||
$id = wpmu_create_blog($newdomain, $path, $title, $user_id , array( "public" => 1 ), $current_site->id);
|
||||
$id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( 'public' => 1 ), $current_site->id );
|
||||
$wpdb->show_errors();
|
||||
if ( !is_wp_error($id) ) {
|
||||
if ( !is_wp_error( $id ) ) {
|
||||
$dashboard_blog = get_dashboard_blog();
|
||||
if ( get_user_option( 'primary_blog', $user_id ) == $dashboard_blog->blog_id )
|
||||
update_user_option( $user_id, 'primary_blog', $id, true );
|
||||
$content_mail = sprintf( __( "New site created by %1s\n\nAddress: http://%2s\nName: %3s"), $current_user->user_login , $newdomain.$path, stripslashes( $title ) );
|
||||
wp_mail( get_site_option('admin_email'), sprintf(__('[%s] New Site Created'), $current_site->site_name), $content_mail, 'From: "Site Admin" <' . get_site_option( 'admin_email' ) . '>' );
|
||||
wpmu_welcome_notification( $id, $user_id, $password, $title, array( "public" => 1 ) );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'add-blog'), $_SERVER['HTTP_REFERER'] ) );
|
||||
$content_mail = sprintf( __( "New site created by %1s\n\nAddress: http://%2s\nName: %3s"), $current_user->user_login , $newdomain . $path, stripslashes( $title ) );
|
||||
wp_mail( get_site_option('admin_email'), sprintf( __( '[%s] New Site Created' ), $current_site->site_name ), $content_mail, 'From: "Site Admin" <' . get_site_option( 'admin_email' ) . '>' );
|
||||
wpmu_welcome_notification( $id, $user_id, $password, $title, array( 'public' => 1 ) );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add-blog' ), wp_get_referer() ) );
|
||||
exit();
|
||||
} else {
|
||||
wp_die( $id->get_error_message() );
|
||||
}
|
||||
break;
|
||||
|
||||
case "updateblog":
|
||||
check_admin_referer('editblog');
|
||||
case 'updateblog':
|
||||
check_admin_referer( 'editblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( empty( $_POST ) )
|
||||
wp_die( __('You probably need to go back to the <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 );
|
||||
if ( is_array( $_POST[ 'option' ] ) ) {
|
||||
|
||||
// themes
|
||||
$allowedthemes = array();
|
||||
if ( isset($_POST['theme']) && is_array( $_POST['theme'] ) ) {
|
||||
foreach ( $_POST['theme'] as $theme => $val ) {
|
||||
if ( 'on' == $val )
|
||||
$allowedthemes[$theme] = true;
|
||||
}
|
||||
}
|
||||
update_option( 'allowedthemes', $allowedthemes );
|
||||
|
||||
// options
|
||||
if ( is_array( $_POST['option'] ) ) {
|
||||
$c = 1;
|
||||
$count = count( $_POST[ 'option' ] );
|
||||
$count = count( $_POST['option'] );
|
||||
foreach ( (array) $_POST['option'] as $key => $val ) {
|
||||
if ( $key === 0 || is_array( $val ) )
|
||||
continue; // Avoids "0 is a protected WP option and may not be modified" error when edit blog options
|
||||
@@ -219,10 +222,11 @@ switch ( $_GET['action'] ) {
|
||||
}
|
||||
}
|
||||
|
||||
// home and siteurl
|
||||
if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
|
||||
$blog_address = get_blogaddress_by_domain($_POST['blog']['domain'], $_POST['blog']['path']);
|
||||
$blog_address = get_blogaddress_by_domain( $_POST['blog']['domain'], $_POST['blog']['path'] );
|
||||
if ( get_option( 'siteurl' ) != $blog_address )
|
||||
update_option( 'siteurl', $blog_address);
|
||||
update_option( 'siteurl', $blog_address );
|
||||
|
||||
if ( get_option( 'home' ) != $blog_address )
|
||||
update_option( 'home', $blog_address );
|
||||
@@ -231,210 +235,216 @@ switch ( $_GET['action'] ) {
|
||||
// rewrite rules can't be flushed during switch to blog
|
||||
delete_option( 'rewrite_rules' );
|
||||
|
||||
// update blogs count
|
||||
delete_site_transient( "blog_count" );
|
||||
|
||||
// update blogs table
|
||||
$blog_data = stripslashes_deep($_POST[ 'blog' ]);
|
||||
update_blog_details($id, $blog_data);
|
||||
$blog_data = stripslashes_deep( $_POST['blog'] );
|
||||
update_blog_details( $id, $blog_data );
|
||||
|
||||
// get blog prefix
|
||||
$blog_prefix = $wpdb->get_blog_prefix( $id );
|
||||
|
||||
// user roles
|
||||
if ( isset( $_POST[ 'role' ] ) && is_array( $_POST[ 'role' ] ) == true ) {
|
||||
$newroles = $_POST[ 'role' ];
|
||||
if ( isset( $_POST['role'] ) && is_array( $_POST['role'] ) == true ) {
|
||||
$newroles = $_POST['role'];
|
||||
|
||||
reset( $newroles );
|
||||
foreach ( (array) $newroles as $userid => $role ) {
|
||||
$user = new WP_User($userid);
|
||||
$user = new WP_User( $userid );
|
||||
if ( ! $user )
|
||||
continue;
|
||||
$user->for_blog($id);
|
||||
$user->set_role($role);
|
||||
$user->for_blog( $id );
|
||||
$user->set_role( $role );
|
||||
}
|
||||
}
|
||||
|
||||
// remove user
|
||||
if ( isset( $_POST[ 'blogusers' ] ) && is_array( $_POST[ 'blogusers' ] ) ) {
|
||||
reset( $_POST[ 'blogusers' ] );
|
||||
foreach ( (array) $_POST[ 'blogusers' ] as $key => $val )
|
||||
if ( isset( $_POST['blogusers'] ) && is_array( $_POST['blogusers'] ) ) {
|
||||
reset( $_POST['blogusers'] );
|
||||
foreach ( (array) $_POST['blogusers'] as $key => $val )
|
||||
remove_user_from_blog( $key, $id );
|
||||
}
|
||||
|
||||
// change password
|
||||
if ( isset( $_POST[ 'user_password' ] ) && is_array( $_POST[ 'user_password' ] ) ) {
|
||||
reset( $_POST[ 'user_password' ] );
|
||||
$newroles = $_POST[ 'role' ];
|
||||
foreach ( (array) $_POST[ 'user_password' ] as $userid => $pass ) {
|
||||
unset( $_POST[ 'role' ] );
|
||||
$_POST[ 'role' ] = $newroles[ $userid ];
|
||||
if ( isset( $_POST['user_password'] ) && is_array( $_POST['user_password'] ) ) {
|
||||
reset( $_POST['user_password'] );
|
||||
$newroles = $_POST['role'];
|
||||
foreach ( (array) $_POST['user_password'] as $userid => $pass ) {
|
||||
unset( $_POST['role'] );
|
||||
$_POST['role'] = $newroles[ $userid ];
|
||||
if ( $pass != '' ) {
|
||||
$cap = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$userid}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" );
|
||||
$userdata = get_userdata($userid);
|
||||
$_POST[ 'pass1' ] = $_POST[ 'pass2' ] = $pass;
|
||||
$_POST[ 'email' ] = $userdata->user_email;
|
||||
$_POST[ 'rich_editing' ] = $userdata->rich_editing;
|
||||
$_POST['pass1'] = $_POST['pass2'] = $pass;
|
||||
$_POST['email'] = $userdata->user_email;
|
||||
$_POST['rich_editing'] = $userdata->rich_editing;
|
||||
edit_user( $userid );
|
||||
if ( $cap == null )
|
||||
$wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE user_id = '{$userid}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" );
|
||||
}
|
||||
}
|
||||
unset( $_POST[ 'role' ] );
|
||||
$_POST[ 'role' ] = $newroles;
|
||||
unset( $_POST['role'] );
|
||||
$_POST['role'] = $newroles;
|
||||
}
|
||||
|
||||
// add user?
|
||||
if ( isset( $_POST[ 'user_password' ] ) && !empty( $_POST[ 'newuser' ] ) ) {
|
||||
$newuser = $_POST[ 'newuser' ];
|
||||
// add user
|
||||
if ( !empty( $_POST['newuser'] ) ) {
|
||||
$newuser = $_POST['newuser'];
|
||||
$userid = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = %s", $newuser ) );
|
||||
if ( $userid ) {
|
||||
$user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='wp_" . $id . "_capabilities'" );
|
||||
$user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='{$blog_prefix}capabilities'" );
|
||||
if ( $user == false )
|
||||
add_user_to_blog($id, $userid, $_POST[ 'new_role' ]);
|
||||
add_user_to_blog( $id, $userid, $_POST['new_role'] );
|
||||
}
|
||||
}
|
||||
do_action( 'wpmu_update_blog_options' );
|
||||
restore_current_blog();
|
||||
wpmu_admin_do_redirect( "ms-sites.php?action=editblog&updated=true&id=".$id );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'editblog', 'id' => $id ), wp_get_referer() ) );
|
||||
break;
|
||||
|
||||
case "deleteblog":
|
||||
case 'deleteblog':
|
||||
check_admin_referer('deleteblog');
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( $id != '0' && $id != $current_site->blog_id )
|
||||
wpmu_delete_blog( $id, true );
|
||||
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'delete'), $_POST[ 'ref' ] ) );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'delete' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "allblogs":
|
||||
if ( isset($_POST['doaction']) || isset($_POST['doaction2']) ) {
|
||||
check_admin_referer('bulk-sites');
|
||||
case 'allblogs':
|
||||
if ( isset( $_POST['doaction']) || isset($_POST['doaction2'] ) ) {
|
||||
check_admin_referer( 'bulk-ms-sites' );
|
||||
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
|
||||
if ( $_GET['action'] != -1 || $_POST['action2'] != -1 )
|
||||
$doaction = $doaction = ($_POST['action'] != -1) ? $_POST['action'] : $_POST['action2'];
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( $_GET['action'] != -1 || $_POST['action2'] != -1 )
|
||||
$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
|
||||
|
||||
|
||||
foreach ( (array) $_POST[ 'allblogs' ] as $key => $val ) {
|
||||
if ( $val != '0' && $val != $current_site->blog_id ) {
|
||||
switch ( $doaction ) {
|
||||
case 'delete':
|
||||
$blogfunction = 'all_delete';
|
||||
wpmu_delete_blog( $val, true );
|
||||
foreach ( (array) $_POST['allblogs'] as $key => $val ) {
|
||||
if ( $val != '0' && $val != $current_site->blog_id ) {
|
||||
switch ( $doaction ) {
|
||||
case 'delete':
|
||||
$blogfunction = 'all_delete';
|
||||
wpmu_delete_blog( $val, true );
|
||||
break;
|
||||
case 'spam':
|
||||
$blogfunction = 'all_spam';
|
||||
update_blog_status( $val, "spam", '1', 0 );
|
||||
set_time_limit(60);
|
||||
|
||||
case 'spam':
|
||||
$blogfunction = 'all_spam';
|
||||
update_blog_status( $val, 'spam', '1', 0 );
|
||||
set_time_limit( 60 );
|
||||
break;
|
||||
case 'notspam':
|
||||
$blogfunction = 'all_notspam';
|
||||
update_blog_status( $val, "spam", '0', 0 );
|
||||
set_time_limit(60);
|
||||
|
||||
case 'notspam':
|
||||
$blogfunction = 'all_notspam';
|
||||
update_blog_status( $val, 'spam', '0', 0 );
|
||||
set_time_limit( 60 );
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
wp_die( __( 'You are not allowed to change the current site.' ) );
|
||||
}
|
||||
} else {
|
||||
wp_die( __('You are not allowed to change one of these sites.') );
|
||||
exit();
|
||||
};
|
||||
};
|
||||
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => $blogfunction), $_SERVER['HTTP_REFERER'] ) );
|
||||
exit();
|
||||
}
|
||||
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $blogfunction ), wp_get_referer() ) );
|
||||
exit();
|
||||
} else {
|
||||
wp_redirect( admin_url("ms-sites.php") );
|
||||
wp_redirect( admin_url( 'ms-sites.php' ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case "archiveblog":
|
||||
check_admin_referer('archiveblog');
|
||||
case 'archiveblog':
|
||||
check_admin_referer( 'archiveblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
update_blog_status( $id, "archived", '1' );
|
||||
do_action( "archive_blog", $id );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'archive'), $_POST['ref'] ) );
|
||||
update_blog_status( $id, 'archived', '1' );
|
||||
do_action( 'archive_blog', $id );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'archive' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "unarchiveblog":
|
||||
check_admin_referer('unarchiveblog');
|
||||
case 'unarchiveblog':
|
||||
check_admin_referer( 'unarchiveblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
do_action( "unarchive_blog", $id );
|
||||
update_blog_status( $id, "archived", '0' );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'unarchive'), $_POST['ref'] ) );
|
||||
do_action( 'unarchive_blog', $id );
|
||||
update_blog_status( $id, 'archived', '0' );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unarchive' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "activateblog":
|
||||
check_admin_referer('activateblog');
|
||||
case 'activateblog':
|
||||
check_admin_referer( 'activateblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
update_blog_status( $id, "deleted", '0' );
|
||||
do_action( "activate_blog", $id );
|
||||
wp_redirect( add_query_arg( "updated", array('updated' => 'true', 'action' => 'activate'), $_POST['ref'] ) );
|
||||
update_blog_status( $id, 'deleted', '0' );
|
||||
do_action( 'activate_blog', $id );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'activate' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "deactivateblog":
|
||||
check_admin_referer('deactivateblog');
|
||||
case 'deactivateblog':
|
||||
check_admin_referer( 'deactivateblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
do_action( "deactivate_blog", $id );
|
||||
update_blog_status( $id, "deleted", '1' );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'deactivate'), $_POST['ref'] ) );
|
||||
do_action( 'deactivate_blog', $id );
|
||||
update_blog_status( $id, 'deleted', '1' );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'deactivate' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "unspamblog":
|
||||
check_admin_referer('unspamblog');
|
||||
case 'unspamblog':
|
||||
check_admin_referer( 'unspamblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
update_blog_status( $id, "spam", '0' );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'unspam'), $_POST['ref'] ) );
|
||||
update_blog_status( $id, 'spam', '0' );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unspam' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "spamblog":
|
||||
check_admin_referer('spamblog');
|
||||
case 'spamblog':
|
||||
check_admin_referer( 'spamblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
update_blog_status( $id, "spam", '1' );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'spam'), $_POST['ref'] ) );
|
||||
update_blog_status( $id, 'spam', '1' );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'spam' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "mature":
|
||||
case 'matureblog':
|
||||
check_admin_referer( 'matureblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
update_blog_status( $id, 'mature', '1' );
|
||||
do_action( 'mature_blog', $id );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'mature'), $_POST['ref'] ) );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'mature' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "unmature":
|
||||
case 'unmatureblog':
|
||||
check_admin_referer( 'unmatureblog' );
|
||||
if ( ! current_user_can( 'manage_sites' ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
update_blog_status( $id, 'mature', '0' );
|
||||
do_action( 'unmature_blog', $id );
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'umature'), $_POST['ref'] ) );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unmature' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
// Themes
|
||||
case "updatethemes":
|
||||
case 'updatethemes':
|
||||
if ( ! current_user_can( 'manage_network_themes' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( is_array( $_POST['theme'] ) ) {
|
||||
$themes = get_themes();
|
||||
@@ -445,174 +455,217 @@ switch ( $_GET['action'] ) {
|
||||
}
|
||||
update_site_option( 'allowedthemes', $allowed_themes );
|
||||
}
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'themes'), $_SERVER['HTTP_REFERER'] ) );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'themes' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
// Common
|
||||
case "confirm":
|
||||
$referrer = ( isset($_GET['ref']) ) ? stripslashes($_GET['ref']) : $_SERVER['HTTP_REFERER'];
|
||||
$referrer = esc_url($referrer);
|
||||
case 'confirm':
|
||||
if ( !headers_sent() ) {
|
||||
nocache_headers();
|
||||
header( 'Content-Type: text/html; charset=utf-8' );
|
||||
}
|
||||
if ( $current_site->blog_id == $id )
|
||||
wp_die( __( 'You are not allowed to change the current site.' ) );
|
||||
?>
|
||||
<!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(); ?>>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) ) language_attributes(); ?>>
|
||||
<head>
|
||||
<title><?php _e("WordPress › Confirm your action"); ?></title>
|
||||
<title><?php _e( 'WordPress › 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.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( isset($_POST['alluser_delete']) ) {
|
||||
require_once('admin-header.php');
|
||||
echo '<div class="wrap" style="position:relative;">';
|
||||
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">';
|
||||
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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( is_array( $_POST[ 'user' ] ) && !empty( $_POST[ 'user' ] ) )
|
||||
foreach( $_POST[ 'user' ] as $id )
|
||||
wpmu_delete_user( $id );
|
||||
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'all_delete'), 'ms-users.php' ) );
|
||||
} elseif ( isset( $_POST[ 'add_superadmin' ] ) ) {
|
||||
$super_admins = get_site_option( 'site_admins', array( 'admin' ) );
|
||||
$mainblog_id = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->blogs} WHERE domain='{$current_site->domain}' AND path='{$current_site->path}'" );
|
||||
foreach ( (array) $_POST['allusers'] as $key => $val ) {
|
||||
if ( $val == '' || $val == '0' )
|
||||
continue;
|
||||
$user = new WP_User( $val );
|
||||
if ( in_array( $user->user_login, $super_admins ) )
|
||||
continue;
|
||||
if ( $mainblog_id )
|
||||
add_user_to_blog( $mainblog_id, $user->ID, 'administrator' );
|
||||
$super_admins[] = $user->user_login;
|
||||
}
|
||||
update_site_option( 'site_admins' , $super_admins );
|
||||
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add_superadmin' ), $_SERVER['HTTP_REFERER'] ) );
|
||||
} elseif ( isset( $_POST[ 'remove_superadmin' ] ) ) {
|
||||
$super_admins = get_site_option( 'site_admins', array( 'admin' ) );
|
||||
$admin_email = get_site_option( 'admin_email' );
|
||||
foreach ( (array) $_POST['allusers'] as $key => $val ) {
|
||||
if ( $val == '' || $val == '0' )
|
||||
continue;
|
||||
$user = new WP_User( $val );
|
||||
if ( $user->ID == $current_user->ID || $user->user_email == $admin_email )
|
||||
continue;
|
||||
foreach ( $super_admins as $key => $username ) {
|
||||
if ( $username == $user->user_login ) {
|
||||
unset( $super_admins[ $key ] );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
update_site_option( 'site_admins' , $super_admins );
|
||||
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'remove_superadmin' ), $_SERVER['HTTP_REFERER'] ) );
|
||||
require_once( 'admin-footer.php' );
|
||||
exit();
|
||||
} else {
|
||||
foreach ( (array) $_POST['allusers'] as $key => $val ) {
|
||||
if ( $val == '' || $val == '0' )
|
||||
continue;
|
||||
$user = new WP_User( $val );
|
||||
if ( in_array( $user->user_login, get_site_option( 'site_admins', array( 'admin' ) ) ) )
|
||||
wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network admnistrator.' ), $user->user_login ) );
|
||||
if ( isset($_POST['alluser_spam']) ) {
|
||||
$userfunction = 'all_spam';
|
||||
$blogs = get_blogs_of_user( $val, true );
|
||||
foreach ( (array) $blogs as $key => $details ) {
|
||||
if ( $details->userblog_id == $current_site->blog_id ) { continue; } // main blog not a spam !
|
||||
update_blog_status( $details->userblog_id, "spam", '1' );
|
||||
}
|
||||
update_user_status( $val, "spam", '1', 1 );
|
||||
} elseif ( isset($_POST['alluser_notspam']) ) {
|
||||
$userfunction = 'all_notspam';
|
||||
$blogs = get_blogs_of_user( $val, true );
|
||||
foreach ( (array) $blogs as $key => $details ) {
|
||||
update_blog_status( $details->userblog_id, "spam", '0' );
|
||||
}
|
||||
update_user_status( $val, "spam", '0', 1 );
|
||||
}
|
||||
}
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => $userfunction), $_SERVER['HTTP_REFERER'] ) );
|
||||
wp_redirect( admin_url( 'ms-users.php' ) );
|
||||
}
|
||||
exit();
|
||||
break;
|
||||
|
||||
case "adduser":
|
||||
check_admin_referer('add-user');
|
||||
case 'allusers':
|
||||
if ( ! current_user_can( 'manage_network_users' ) )
|
||||
wp_die( __('You do not have permission to access this page.') );
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( is_array( $_POST[ 'user' ] ) == false )
|
||||
wp_die( __( "Cannot create an empty user." ) );
|
||||
if ( isset( $_POST['doaction']) || isset($_POST['doaction2'] ) ) {
|
||||
check_admin_referer( 'bulk-ms-users' );
|
||||
|
||||
if ( $_GET['action'] != -1 || $_POST['action2'] != -1 )
|
||||
$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
|
||||
|
||||
foreach ( (array) $_POST['allusers'] as $key => $val ) {
|
||||
if ( $val != '' || $val != '0' ) {
|
||||
switch ( $doaction ) {
|
||||
case 'delete':
|
||||
$title = __( 'Users' );
|
||||
$parent_file = 'ms-admin.php';
|
||||
require_once( 'admin-header.php' );
|
||||
echo '<div class="wrap">';
|
||||
confirm_delete_users( $_POST['allusers'] );
|
||||
echo '</div>';
|
||||
require_once( 'admin-footer.php' );
|
||||
exit();
|
||||
break;
|
||||
|
||||
case 'superadmin':
|
||||
$userfunction = 'add_superadmin';
|
||||
$super_admins = get_site_option( 'site_admins', array( 'admin' ) );
|
||||
|
||||
$user = new WP_User( $val );
|
||||
if ( ! in_array( $user->user_login, $super_admins ) ) {
|
||||
if ( $current_site->blog_id )
|
||||
add_user_to_blog( $current_site->blog_id, $user->ID, 'administrator' );
|
||||
|
||||
$super_admins[] = $user->user_login;
|
||||
update_site_option( 'site_admins' , $super_admins );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'notsuperadmin':
|
||||
$userfunction = 'remove_superadmin';
|
||||
$super_admins = get_site_option( 'site_admins', array( 'admin' ) );
|
||||
$admin_email = get_site_option( 'admin_email' );
|
||||
|
||||
$user = new WP_User( $val );
|
||||
if ( $user->ID != $current_user->ID || $user->user_email != $admin_email ) {
|
||||
foreach ( $super_admins as $key => $username ) {
|
||||
if ( $username == $user->user_login ) {
|
||||
unset( $super_admins[$key] );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
update_site_option( 'site_admins' , $super_admins );
|
||||
break;
|
||||
|
||||
case 'spam':
|
||||
$user = new WP_User( $val );
|
||||
if ( in_array( $user->user_login, get_site_option( 'site_admins', array( 'admin' ) ) ) )
|
||||
wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network admnistrator.' ), esc_html( $user->user_login ) ) );
|
||||
|
||||
$userfunction = 'all_spam';
|
||||
$blogs = get_blogs_of_user( $val, true );
|
||||
foreach ( (array) $blogs as $key => $details ) {
|
||||
if ( $details->userblog_id != $current_site->blog_id ) // main blog not a spam !
|
||||
update_blog_status( $details->userblog_id, 'spam', '1' );
|
||||
}
|
||||
update_user_status( $val, 'spam', '1', 1 );
|
||||
break;
|
||||
|
||||
case 'notspam':
|
||||
$userfunction = 'all_notspam';
|
||||
$blogs = get_blogs_of_user( $val, true );
|
||||
foreach ( (array) $blogs as $key => $details )
|
||||
update_blog_status( $details->userblog_id, 'spam', '0' );
|
||||
|
||||
update_user_status( $val, 'spam', '0', 1 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $userfunction ), wp_get_referer() ) );
|
||||
exit();
|
||||
} else {
|
||||
wp_redirect( admin_url( 'ms-users.php' ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'dodelete':
|
||||
check_admin_referer( 'ms-users-delete' );
|
||||
if ( ! current_user_can( 'manage_network_users' ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( is_array( $_POST['blog'] ) && ! empty( $_POST['blog'] ) ) {
|
||||
foreach ( $_POST['blog'] as $id => $users ) {
|
||||
foreach ( $users as $blogid => $user_id ) {
|
||||
if ( ! empty( $_POST['delete'] ) && 'reassign' == $_POST['delete'][$blogid][$id] )
|
||||
remove_user_from_blog( $id, $blogid, $user_id );
|
||||
else
|
||||
remove_user_from_blog( $id, $blogid );
|
||||
}
|
||||
}
|
||||
}
|
||||
$i = 0;
|
||||
if ( is_array( $_POST['user'] ) && ! empty( $_POST['user'] ) )
|
||||
foreach( $_POST['user'] as $id ) {
|
||||
wpmu_delete_user( $id );
|
||||
$i++;
|
||||
}
|
||||
|
||||
if ( $i == 1 )
|
||||
$deletefunction = 'delete';
|
||||
else
|
||||
$deletefunction = 'all_delete';
|
||||
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $deletefunction ), admin_url( 'ms-users.php' ) ) );
|
||||
break;
|
||||
|
||||
case 'adduser':
|
||||
check_admin_referer( 'add-user' );
|
||||
if ( ! current_user_can( 'manage_network_users' ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
if ( is_array( $_POST['user'] ) == false )
|
||||
wp_die( __( 'Cannot create an empty user.' ) );
|
||||
$user = $_POST['user'];
|
||||
if ( empty($user['username']) && empty($user['email']) )
|
||||
wp_die( __('Missing username and email.') );
|
||||
wp_die( __( 'Missing username and email.' ) );
|
||||
elseif ( empty($user['username']) )
|
||||
wp_die( __('Missing username.') );
|
||||
wp_die( __( 'Missing username.' ) );
|
||||
elseif ( empty($user['email']) )
|
||||
wp_die( __('Missing email.') );
|
||||
wp_die( __( 'Missing email.' ) );
|
||||
|
||||
$password = wp_generate_password();
|
||||
$user_id = wpmu_create_user(esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) );
|
||||
$user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) );
|
||||
|
||||
if ( false == $user_id )
|
||||
wp_die( __('Duplicated username or email address.') );
|
||||
wp_die( __( 'Duplicated username or email address.' ) );
|
||||
else
|
||||
wp_new_user_notification($user_id, $password);
|
||||
wp_new_user_notification( $user_id, $password );
|
||||
|
||||
if ( get_site_option( 'dashboard_blog' ) == false )
|
||||
add_user_to_blog( $current_site->blog_id, $user_id, get_site_option( 'default_user_role', 'subscriber' ) );
|
||||
else
|
||||
add_user_to_blog( get_site_option( 'dashboard_blog' ), $user_id, get_site_option( 'default_user_role', 'subscriber' ) );
|
||||
|
||||
wp_redirect( add_query_arg( array('updated' => 'true', 'action' => 'add'), $_SERVER['HTTP_REFERER'] ) );
|
||||
wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'add' ), wp_get_referer() ) );
|
||||
exit();
|
||||
break;
|
||||
|
||||
default:
|
||||
wpmu_admin_do_redirect( "ms-admin.php" );
|
||||
wp_redirect( admin_url( 'ms-admin.php' ) );
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user