summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wp-admin/includes/file.php2
-rw-r--r--wp-admin/includes/mu.php24
-rw-r--r--wp-includes/wpmu-functions.php10
3 files changed, 26 insertions, 10 deletions
diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php
index 2d58852..25d9c26 100644
--- a/wp-admin/includes/file.php
+++ b/wp-admin/includes/file.php
@@ -88,6 +88,8 @@ function wp_handle_upload( &$file, $overrides = false ) {
}
}
+ $file = apply_filters( 'wp_handle_upload_prefilter', $file );
+
// You may define your own function and pass the name in $overrides['upload_error_handler']
$upload_error_handler = 'wp_handle_upload_error';
diff --git a/wp-admin/includes/mu.php b/wp-admin/includes/mu.php
index cbf5c9d..90d0343 100644
--- a/wp-admin/includes/mu.php
+++ b/wp-admin/includes/mu.php
@@ -1,5 +1,29 @@
<?php
+function check_upload_size( $file ) {
+
+ if( $file[ 'error' ] != '0' ) // there's already an error
+ return $file;
+
+ $space_allowed = 1048576*get_space_allowed();
+ $space_used = get_dirsize( constant( "ABSPATH" ) . constant( "UPLOADS" ) );
+ $space_left = $space_allowed - $space_used;
+ $file_size = filesize( $file[ 'tmp_name' ]);
+ if( $space_left < $file_size )
+ $file[ 'error' ] = sprintf( __( 'Not enough space to upload. %1$sKb needed.' ), number_format( ($file_size - $space_left) /1024 ) );
+ if( $file_size > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
+ $file['error'] = sprintf(__('This file is too big. Files must be less than %1$s Kb in size.'), get_site_option( 'fileupload_maxk', 1500 ) );
+ if( upload_is_user_over_quota( false ) ) {
+ $file['error'] = __('You have used your space quota. Please delete files before uploading.');
+ }
+ if( $file[ 'error' ] != '0' )
+ wp_die( $file[ 'error' ] . ' <a href="javascript:history.go(-1)">' . __( 'Back' ) . '</a>' );
+
+ return $file;
+
+}
+add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' );
+
function wpmu_delete_blog($blog_id, $drop = false) {
global $wpdb, $wpmuBaseTablePrefix;
diff --git a/wp-includes/wpmu-functions.php b/wp-includes/wpmu-functions.php
index 14ba2ba..c7aeab6 100644
--- a/wp-includes/wpmu-functions.php
+++ b/wp-includes/wpmu-functions.php
@@ -1500,16 +1500,6 @@ function get_most_recent_post_of_user( $user_id ) {
/* Misc functions */
-function is_upload_too_big( $file ) {
- if( filesize($file['file']) > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
- $file['error'] = sprintf(__('This file is too big. Files must be less than %1$s Kb in size.<br />'), get_site_option( 'fileupload_maxk', 1500 ) );
- if( upload_is_user_over_quota( false ) ) {
- $file['error'] = __('You have used your space quota. Please delete files before uploading.<br />');
- }
- return $file;
-}
-add_filter( 'wp_handle_upload', 'is_upload_too_big' );
-
function fix_upload_details( $uploads ) {
$uploads['url'] = str_replace( UPLOADS, "files", $uploads['url'] );
return $uploads;