Ticket #21181: 21181.rework.diff
File 21181.rework.diff, 6.2 KB (added by , 13 years ago) |
---|
-
wp-includes/ms-functions.php
1459 1459 } 1460 1460 1461 1461 /** 1462 * Check whether a blog has used its allotted upload space.1463 *1464 * @since MU1465 * @uses get_dirsize()1466 *1467 * @param bool $echo Optional. If $echo is set and the quota is exceeded, a warning message is echoed. Default is true.1468 * @return int1469 */1470 function upload_is_user_over_quota( $echo = true ) {1471 if ( get_site_option( 'upload_space_check_disabled' ) )1472 return false;1473 1474 $spaceAllowed = get_space_allowed();1475 if ( empty( $spaceAllowed ) || !is_numeric( $spaceAllowed ) )1476 $spaceAllowed = 10; // Default space allowed is 10 MB1477 1478 $size = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024;1479 1480 if ( ($spaceAllowed-$size) < 0 ) {1481 if ( $echo )1482 _e( 'Sorry, you have used your space allocation. Please delete some files to upload more files.' ); // No space left1483 return true;1484 } else {1485 return false;1486 }1487 }1488 1489 /**1490 1462 * Check an array of MIME types against a whitelist. 1491 1463 * 1492 1464 * WordPress ships with a set of allowed upload filetypes, … … 1541 1513 } 1542 1514 1543 1515 /** 1544 * Get the remaining upload space for this blog.1545 *1546 * @since MU1547 * @uses upload_is_user_over_quota()1548 * @uses get_space_allowed()1549 * @uses get_dirsize()1550 *1551 * @param int $size1552 * @return int1553 */1554 function fix_import_form_size( $size ) {1555 if ( upload_is_user_over_quota( false ) == true )1556 return 0;1557 1558 $spaceAllowed = 1024 * 1024 * get_space_allowed();1559 $dirsize = get_dirsize( BLOGUPLOADDIR );1560 if ( $size > $spaceAllowed - $dirsize )1561 return $spaceAllowed - $dirsize; // remaining space1562 else1563 return $size; // default1564 }1565 1566 /**1567 1516 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table. 1568 1517 * 1569 1518 * @since 3.0.0 -
wp-admin/includes/dashboard.php
1097 1097 return true; 1098 1098 1099 1099 $quota = get_space_allowed(); 1100 $used = get_ dirsize( BLOGUPLOADDIR ) / 1024 / 1024;1100 $used = get_space_used(); 1101 1101 1102 1102 if ( $used > $quota ) 1103 1103 $percentused = '100'; -
wp-admin/includes/ms.php
25 25 if ( defined( 'WP_IMPORTING' ) ) 26 26 return $file; 27 27 28 $space_allowed = 1048576 * get_space_allowed(); 29 $space_used = get_dirsize( BLOGUPLOADDIR ); 30 $space_left = $space_allowed - $space_used; 28 $space_left = get_upload_space_available(); 29 31 30 $file_size = filesize( $file['tmp_name'] ); 32 31 if ( $space_left < $file_size ) 33 32 $file['error'] = sprintf( __( 'Not enough space to upload. %1$s KB needed.' ), number_format( ($file_size - $space_left) /1024 ) ); … … 310 309 if ( get_site_option( 'upload_space_check_disabled' ) ) 311 310 return $space_allowed; 312 311 313 $dir_name = trailingslashit( BLOGUPLOADDIR ); 314 if ( !( is_dir( $dir_name) && is_readable( $dir_name ) ) ) 315 return $space_allowed; 312 $space_used = get_space_used() * 1024 * 1024; 316 313 317 $dir = dir( $dir_name ); 318 $size =0;314 if ( ( $space_allowed - $space_used ) <= 0 ) 315 return 0; 319 316 320 while ( $file = $dir->read() ) { 321 if ( $file != '.' && $file != '..' ) { 322 if ( is_dir( $dir_name . $file) ) { 323 $size += get_dirsize( $dir_name . $file ); 324 } else { 325 $size += filesize( $dir_name . $file ); 326 } 327 } 317 return $space_allowed - $space_used; 318 } 319 320 /** 321 * Check whether a blog has used its allotted upload space. 322 * 323 * @since MU 324 * 325 * @param bool $echo Optional. If $echo is set and the quota is exceeded, a warning message is echoed. Default is true. 326 * @return int 327 */ 328 function upload_is_user_over_quota( $echo = true ) { 329 if ( get_site_option( 'upload_space_check_disabled' ) ) 330 return false; 331 332 $space_allowed = get_space_allowed(); 333 if ( empty( $space_allowed ) || !is_numeric( $space_allowed ) ) 334 $space_allowed = 10;// Default space allowed is 10 MB 335 336 $space_used = get_space_used(); 337 338 if ( ($space_allowed - $space_used ) < 0 ) { 339 if ( $echo ) 340 _e( 'Sorry, you have used your space allocation. Please delete some files to upload more files.' ); 341 return true; 342 } else { 343 return false; 328 344 } 329 $dir->close(); 345 } 330 346 331 if ( ( $space_allowed - $size ) <= 0 ) 332 return 0; 347 function get_space_used() { 348 // Allow for an alternative way of tracking storage space used 349 $space_used = apply_filters( 'pre_get_space_used', false ); 350 if ( false === $space_used ) 351 $space_used = get_dirsize( BLOGUPLOADDIR ); 333 352 334 return $space_ allowed - $size;353 return $space_used; 335 354 } 336 355 337 356 /** … … 352 371 } 353 372 354 373 function display_space_usage() { 355 $space = get_space_allowed();356 $ used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024;374 $space_allowed = get_space_allowed(); 375 $space_used = get_space_used(); 357 376 358 $percent used = ( $used / $space) * 100;377 $percent_used = ( $space_used / $space_allowed ) * 100; 359 378 360 if ( $space > 1000 ) {361 $space = number_format( $space / 1024 );379 if ( $space_allowed > 1000 ) { 380 $space = number_format( $space_allowed / 1024 ); 362 381 /* translators: Gigabytes */ 363 382 $space .= __( 'GB' ); 364 383 } else { 384 $space = number_format( $space_allowed ); 365 385 /* translators: Megabytes */ 366 386 $space .= __( 'MB' ); 367 387 } 368 388 ?> 369 <strong><?php printf( __( 'Used: %1s%% of %2s' ), number_format( $percent used ), $space ); ?></strong>389 <strong><?php printf( __( 'Used: %1s%% of %2s' ), number_format( $percent_used ), $space ); ?></strong> 370 390 <?php 371 391 } 372 392 393 /** 394 * Get the remaining upload space for this blog. 395 * 396 * @since MU 397 * @uses upload_is_user_over_quota() 398 * @uses get_space_allowed() 399 * @uses get_upload_space_available() 400 * 401 * @param int $size Current max size in bytes 402 * @return int Max size in bytes 403 */ 404 function fix_import_form_size( $size ) { 405 if ( upload_is_user_over_quota( false ) == true ) 406 return 0; 407 408 $available = get_upload_space_available(); 409 return min( $size, $available); 410 } 411 373 412 // Edit blog upload space setting on Edit Blog page 374 413 function upload_space_setting( $id ) { 375 414 $quota = get_blog_option( $id, 'blog_upload_space' );