WordPress.org

Make WordPress Core

Changeset 27788


Ignore:
Timestamp:
03/27/2014 06:15:09 PM (6 years ago)
Author:
wonderboymusic
Message:

Move counting of attachments for audio/video to the backend, instead of using a reduce function in JS.

See #27554.

Location:
trunk/src/wp-includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/js/media-audiovideo.js

    r27785 r27788  
    903903    });
    904904
    905     _.extend( wp.media.playlist, {
    906         /**
    907          * Determine how many audio and video files the user has uploaded
    908          *
    909          * @global wp.media.view.settings
    910          *
    911          * @param {Object} settings
    912          * @returns {Object}
    913          */
    914         counts : (function(settings) {
    915             var counts = {};
    916 
    917             return  function() {
    918                 if ( ! _.isEmpty( counts ) ) {
    919                     return counts;
    920                 }
    921 
    922                 var a = 0, v = 0;
    923                 _.each( settings.attachmentCounts, function(total, mime) {
    924                     var type;
    925                     if ( -1 < mime.indexOf('/') ) {
    926                         type = mime.split('/')[0];
    927 
    928                         total = parseInt(total, 10);
    929 
    930                         switch ( type ) {
    931                             case 'audio':
    932                                 a += total;
    933                             break;
    934                             case 'video':
    935                                 v += total;
    936                             break;
    937                         }
    938                     }
    939                 } );
    940 
    941                 counts.audio = a;
    942                 counts.video = v;
    943                
    944                 return counts;
    945             };
    946         }(media.view.settings))
    947     } );
    948 
    949905    /**
    950906     * Event binding
  • trunk/src/wp-includes/media.php

    r27785 r27788  
    23812381    }
    23822382
     2383    $audio = $video = 0;
     2384    $counts = wp_count_attachments();
     2385    foreach ( $counts as $mime => $total ) {
     2386        if ( 0 === strpos( $mime, 'audio/' ) ) {
     2387            $audio += (int) $total;
     2388        } elseif ( 0 === strpos( $mime, 'video/' ) ) {
     2389            $video += (int) $total;
     2390        }
     2391    }
     2392
    23832393    $settings = array(
    23842394        'tabs'      => $tabs,
     
    23932403        ),
    23942404        'defaultProps' => $props,
    2395         'attachmentCounts' => wp_count_attachments(),
     2405        'attachmentCounts' => array(
     2406            'audio' => $audio,
     2407            'video' => $video
     2408        ),
    23962409        'embedExts'    => $exts,
    23972410        'embedMimes'   => $ext_mimes,
Note: See TracChangeset for help on using the changeset viewer.