WordPress.org

Make WordPress Core

Ticket #21181: 21181.patch

File 21181.patch, 2.9 KB (added by dllh, 3 years ago)

A more complete solution

  • wp-includes/ms-functions.php

     
    14751475        if ( empty( $spaceAllowed ) || !is_numeric( $spaceAllowed ) ) 
    14761476                $spaceAllowed = 10;     // Default space allowed is 10 MB 
    14771477 
    1478         $size = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024; 
     1478        $size = apply_filters( 'blog_space_used', false ); 
     1479        if ( false === $size ) 
     1480                $size = get_dirsize( BLOGUPLOADDIR ); 
    14791481 
     1482        $size = $size / 1024 / 1024; 
     1483 
    14801484        if ( ($spaceAllowed-$size) < 0 ) { 
    14811485                if ( $echo ) 
    14821486                        _e( 'Sorry, you have used your space allocation. Please delete some files to upload more files.' ); // No space left 
     
    15561560                return 0; 
    15571561 
    15581562        $spaceAllowed = 1024 * 1024 * get_space_allowed(); 
    1559         $dirsize = get_dirsize( BLOGUPLOADDIR ); 
     1563        $dirsize = apply_filters( 'blog_space_used', false ); 
     1564        if ( false === $dirsize ) 
     1565                $dirsize = get_dirsize( BLOGUPLOADDIR ); 
     1566 
    15601567        if ( $size > $spaceAllowed - $dirsize ) 
    15611568                return $spaceAllowed - $dirsize; // remaining space 
    15621569        else 
  • wp-admin/includes/dashboard.php

     
    10941094                return true; 
    10951095 
    10961096        $quota = get_space_allowed(); 
    1097         $used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024; 
     1097        $used = apply_filters( 'blog_space_used', false ); 
     1098        if ( false === $used ) 
     1099                $used = get_dirsize( BLOGUPLOADDIR ); 
    10981100 
     1101        $used = $used / 1024 / 1024; 
     1102 
    10991103        if ( $used > $quota ) 
    11001104                $percentused = '100'; 
    11011105        else 
  • wp-admin/includes/ms.php

     
    2626                return $file; 
    2727 
    2828        $space_allowed = 1048576 * get_space_allowed(); 
    29         $space_used = get_dirsize( BLOGUPLOADDIR ); 
     29        $space_used = apply_filters( 'blog_space_used', false ); 
     30        if ( false === $space_used ) 
     31                $space_used = get_dirsize( BLOGUPLOADDIR ); 
    3032        $space_left = $space_allowed - $space_used; 
    3133        $file_size = filesize( $file['tmp_name'] ); 
    3234        if ( $space_left < $file_size ) 
     
    310312        if ( get_site_option( 'upload_space_check_disabled' ) ) 
    311313                return $space_allowed; 
    312314 
     315        $space_available = apply_filters( 'pre_get_upload_space_available', false ); 
     316        if ( false !== $space_available ) 
     317                return $space_available; 
     318 
    313319        $dir_name = trailingslashit( BLOGUPLOADDIR ); 
    314320        if ( !( is_dir( $dir_name) && is_readable( $dir_name ) ) ) 
    315321                return $space_allowed; 
     
    353359 
    354360function display_space_usage() { 
    355361        $space = get_space_allowed(); 
    356         $used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024; 
     362        $used = apply_filters( 'blog_space_used', false ); 
     363        if ( false === $used ) 
     364                $used = get_dirsize( BLOGUPLOADDIR ); 
    357365 
     366        $used = $used / 1024 / 1024; 
     367 
    358368        $percentused = ( $used / $space ) * 100; 
    359369 
    360370        if ( $space > 1000 ) {