From 2c30a115186037d2ca137ae67d9f2713d55a6f56 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Sat, 26 Sep 2015 19:49:25 +0000 Subject: [PATCH] After [34577], alter `wp_xmlrpc_server::mw_newMediaObject()` to check upload space in multisite. See #21292. Built from https://develop.svn.wordpress.org/trunk@34603 git-svn-id: http://core.svn.wordpress.org/trunk@34567 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-wp-xmlrpc-server.php | 5 +++++ wp-includes/ms-functions.php | 6 +++++- wp-includes/version.php | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/wp-includes/class-wp-xmlrpc-server.php b/wp-includes/class-wp-xmlrpc-server.php index 48422c6a92..8661a44b4c 100644 --- a/wp-includes/class-wp-xmlrpc-server.php +++ b/wp-includes/class-wp-xmlrpc-server.php @@ -5721,6 +5721,11 @@ class wp_xmlrpc_server extends IXR_Server { return $this->error; } + if ( is_multisite() && upload_is_user_over_quota( false ) ) { + $this->error = new IXR_Error( 401, __( 'Sorry, you have used your space allocation.' ) ); + return $this->error; + } + /** * Filter whether to preempt the XML-RPC media upload. * diff --git a/wp-includes/ms-functions.php b/wp-includes/ms-functions.php index e866e6e255..1fc709541c 100644 --- a/wp-includes/ms-functions.php +++ b/wp-includes/ms-functions.php @@ -2372,7 +2372,11 @@ function get_space_allowed() { * @return int of upload space available in bytes */ function get_upload_space_available() { - $space_allowed = get_space_allowed() * 1024 * 1024; + $allowed = get_space_allowed(); + if ( $allowed < 0 ) { + $allowed = 0; + } + $space_allowed = $allowed * 1024 * 1024; if ( get_site_option( 'upload_space_check_disabled' ) ) return $space_allowed; diff --git a/wp-includes/version.php b/wp-includes/version.php index 29f053e728..00cd9ee197 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.4-alpha-34602'; +$wp_version = '4.4-alpha-34603'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.