Make WordPress Core

Ticket #21181: 21181.2.patch

File 21181.2.patch, 2.3 KB (added by dllh, 13 years ago)

A more complete approach

  • 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/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 ) / 1024 / 1024;
    357365
    358366        $percentused = ( $used / $space ) * 100;
    359367