if ( defined( 'WP_IMPORTING' ) )
return $file;
- $space_allowed = 1048576 * get_space_allowed();
- $space_used = get_dirsize( BLOGUPLOADDIR );
- $space_left = $space_allowed - $space_used;
+ $space_left = get_upload_space_available();
+
$file_size = filesize( $file['tmp_name'] );
if ( $space_left < $file_size )
$file['error'] = sprintf( __( 'Not enough space to upload. %1$s KB needed.' ), number_format( ($file_size - $space_left) /1024 ) );
global $wpdb, $current_site;
$switch = false;
- if ( $blog_id != $wpdb->blogid ) {
+ if ( get_current_blog_id() != $blog_id ) {
$switch = true;
switch_to_blog( $blog_id );
- $blog = get_blog_details( $blog_id );
- } else {
- $blog = $GLOBALS['current_blog'];
}
+ $blog = get_blog_details( $blog_id );
+
do_action( 'delete_blog', $blog_id, $drop );
$users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids' ) );
$drop = false;
if ( $drop ) {
-
$drop_tables = apply_filters( 'wpmu_drop_tables', $wpdb->tables( 'blog' ) );
foreach ( (array) $drop_tables as $table ) {
$wpdb->delete( $wpdb->blogs, array( 'blog_id' => $blog_id ) );
- $dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id );
+ $uploads = wp_upload_dir();
+ $dir = apply_filters( 'wpmu_delete_blog_upload_dir', $uploads['basedir'], $blog_id );
$dir = rtrim( $dir, DIRECTORY_SEPARATOR );
$top_dir = $dir;
$stack = array($dir);
else if ( @is_file( $dir . DIRECTORY_SEPARATOR . $file ) )
@unlink( $dir . DIRECTORY_SEPARATOR . $file );
}
+ @closedir( $dh );
}
$index++;
}
if ( $dir != $top_dir)
@rmdir( $dir );
}
+
+ clean_blog_cache( $blog );
}
if ( $switch )
if ( $current_user->user_email != $_POST['email'] ) {
if ( !is_email( $_POST['email'] ) ) {
- $errors->add( 'user_email', __( "<strong>ERROR</strong>: The e-mail address isn't correct." ), array( 'form-field' => 'email' ) );
+ $errors->add( 'user_email', __( "<strong>ERROR</strong>: The email address isn’t correct." ), array( 'form-field' => 'email' ) );
return;
}
if ( $wpdb->get_var( $wpdb->prepare( "SELECT user_email FROM {$wpdb->users} WHERE user_email=%s", $_POST['email'] ) ) ) {
- $errors->add( 'user_email', __( "<strong>ERROR</strong>: The e-mail address is already used." ), array( 'form-field' => 'email' ) );
+ $errors->add( 'user_email', __( "<strong>ERROR</strong>: The email address is already used." ), array( 'form-field' => 'email' ) );
delete_option( $current_user->ID . '_new_email' );
return;
}
add_action( 'admin_notices', 'new_user_email_admin_notice' );
/**
- * Determines if there is any upload space left in the current blog's quota.
+ * Check whether a blog has used its allotted upload space.
*
- * @since 3.0.0
- * @return bool True if space is available, false otherwise.
- */
-function is_upload_space_available() {
- if ( get_site_option( 'upload_space_check_disabled' ) )
- return true;
-
- if ( !( $space_allowed = get_upload_space_available() ) )
- return false;
-
- return true;
-}
-
-/**
- * @since 3.0.0
- *
- * @return int of upload size limit in bytes
- */
-function upload_size_limit_filter( $size ) {
- $fileupload_maxk = 1024 * get_site_option( 'fileupload_maxk', 1500 );
- if ( get_site_option( 'upload_space_check_disabled' ) )
- return min( $size, $fileupload_maxk );
-
- return min( $size, $fileupload_maxk, get_upload_space_available() );
-}
-/**
- * Determines if there is any upload space left in the current blog's quota.
+ * @since MU
*
- * @return int of upload space available in bytes
+ * @param bool $echo Optional. If $echo is set and the quota is exceeded, a warning message is echoed. Default is true.
+ * @return int
*/
-function get_upload_space_available() {
- $space_allowed = get_space_allowed() * 1024 * 1024;
+function upload_is_user_over_quota( $echo = true ) {
if ( get_site_option( 'upload_space_check_disabled' ) )
- return $space_allowed;
+ return false;
- $dir_name = trailingslashit( BLOGUPLOADDIR );
- if ( !( is_dir( $dir_name) && is_readable( $dir_name ) ) )
- return $space_allowed;
+ $space_allowed = get_space_allowed();
+ if ( empty( $space_allowed ) || !is_numeric( $space_allowed ) )
+ $space_allowed = 10; // Default space allowed is 10 MB
- $dir = dir( $dir_name );
- $size = 0;
+ $space_used = get_space_used();
- while ( $file = $dir->read() ) {
- if ( $file != '.' && $file != '..' ) {
- if ( is_dir( $dir_name . $file) ) {
- $size += get_dirsize( $dir_name . $file );
- } else {
- $size += filesize( $dir_name . $file );
- }
- }
+ if ( ( $space_allowed - $space_used ) < 0 ) {
+ if ( $echo )
+ _e( 'Sorry, you have used your space allocation. Please delete some files to upload more files.' );
+ return true;
+ } else {
+ return false;
}
- $dir->close();
-
- if ( ( $space_allowed - $size ) <= 0 )
- return 0;
-
- return $space_allowed - $size;
}
/**
- * Returns the upload quota for the current blog.
+ * Displays the amount of disk space used by the current blog. Not used in core.
*
- * @return int Quota
+ * @since MU
*/
-function get_space_allowed() {
- $space_allowed = get_option( 'blog_upload_space' );
-
- if ( ! is_numeric( $space_allowed ) )
- $space_allowed = get_site_option( 'blog_upload_space' );
-
- if ( empty( $space_allowed ) || ! is_numeric( $space_allowed ) )
- $space_allowed = 50;
-
- return $space_allowed;
-}
-
function display_space_usage() {
- $space = get_space_allowed();
- $used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024;
+ $space_allowed = get_space_allowed();
+ $space_used = get_space_used();
- $percentused = ( $used / $space ) * 100;
+ $percent_used = ( $space_used / $space_allowed ) * 100;
- if ( $space > 1000 ) {
- $space = number_format( $space / 1024 );
+ if ( $space_allowed > 1000 ) {
+ $space = number_format( $space_allowed / 1024 );
/* translators: Gigabytes */
$space .= __( 'GB' );
} else {
+ $space = number_format( $space_allowed );
/* translators: Megabytes */
$space .= __( 'MB' );
}
?>
- <strong><?php printf( __( 'Used: %1s%% of %2s' ), number_format( $percentused ), $space ); ?></strong>
+ <strong><?php printf( __( 'Used: %1$s%% of %2$s' ), number_format( $percent_used ), $space ); ?></strong>
<?php
}
+/**
+ * Get the remaining upload space for this blog.
+ *
+ * @since MU
+ * @uses upload_is_user_over_quota()
+ * @uses get_space_allowed()
+ * @uses get_upload_space_available()
+ *
+ * @param int $size Current max size in bytes
+ * @return int Max size in bytes
+ */
+function fix_import_form_size( $size ) {
+ if ( upload_is_user_over_quota( false ) == true )
+ return 0;
+
+ $available = get_upload_space_available();
+ return min( $size, $available );
+}
+
// Edit blog upload space setting on Edit Blog page
function upload_space_setting( $id ) {
- $quota = get_blog_option( $id, 'blog_upload_space' );
+ switch_to_blog( $id );
+ $quota = get_option( 'blog_upload_space' );
+ restore_current_blog();
+
if ( !$quota )
$quota = '';
<?php if ( in_array( get_site_option( 'registration' ), array( 'all', 'blog' ) ) ) : ?>
<tr>
<th scope="row" colspan="2" class="th-full">
- <a href="<?php echo apply_filters( 'wp_signup_location', network_home_url( 'wp-signup.php' ) ); ?>"><?php _e( 'Create a New Site' ); ?></a>
+ <a href="<?php echo apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) ); ?>"><?php _e( 'Create a New Site' ); ?></a>
</th>
</tr>
<?php endif; ?>
<?php
}
-function ms_deprecated_blogs_file() {
- if ( ! is_super_admin() )
- return;
- if ( ! file_exists( WP_CONTENT_DIR . '/blogs.php' ) )
- return;
- echo '<div class="update-nag">' . sprintf( __( 'The <code>%1$s</code> file is deprecated. Please remove it and update your server rewrite rules to use <code>%2$s</code> instead.' ), 'wp-content/blogs.php', 'wp-includes/ms-files.php' ) . '</div>';
-}
-add_action( 'network_admin_notices', 'ms_deprecated_blogs_file' );
-
/**
* Grants super admin privileges.
*
// Directly fetch site_admins instead of using get_super_admins()
$super_admins = get_site_option( 'site_admins', array( 'admin' ) );
- $user = new WP_User( $user_id );
- if ( ! in_array( $user->user_login, $super_admins ) ) {
+ $user = get_userdata( $user_id );
+ if ( $user && ! in_array( $user->user_login, $super_admins ) ) {
$super_admins[] = $user->user_login;
update_site_option( 'site_admins' , $super_admins );
do_action( 'granted_super_admin', $user_id );
// Directly fetch site_admins instead of using get_super_admins()
$super_admins = get_site_option( 'site_admins', array( 'admin' ) );
- $user = new WP_User( $user_id );
- if ( $user->user_email != get_site_option( 'admin_email' ) ) {
+ $user = get_userdata( $user_id );
+ if ( $user && $user->user_email != get_site_option( 'admin_email' ) ) {
if ( false !== ( $key = array_search( $user->user_login, $super_admins ) ) ) {
unset( $super_admins[$key] );
update_site_option( 'site_admins', $super_admins );
<script type="text/javascript">
//<![CDATA[
var tb_pathToImage = "../../wp-includes/js/thickbox/loadingAnimation.gif";
-var tb_closeImage = "../../wp-includes/js/thickbox/tb-close.png";
//]]>
</script>
<?php