Move counting of attachments for audio/video to the backend, instead of using a `reduce` function in JS.
See #27554. Built from https://develop.svn.wordpress.org/trunk@27788 git-svn-id: http://core.svn.wordpress.org/trunk@27624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
e1be2d21d8
commit
ff6c0731fa
|
@ -902,50 +902,6 @@
|
|||
}
|
||||
});
|
||||
|
||||
_.extend( wp.media.playlist, {
|
||||
/**
|
||||
* Determine how many audio and video files the user has uploaded
|
||||
*
|
||||
* @global wp.media.view.settings
|
||||
*
|
||||
* @param {Object} settings
|
||||
* @returns {Object}
|
||||
*/
|
||||
counts : (function(settings) {
|
||||
var counts = {};
|
||||
|
||||
return function() {
|
||||
if ( ! _.isEmpty( counts ) ) {
|
||||
return counts;
|
||||
}
|
||||
|
||||
var a = 0, v = 0;
|
||||
_.each( settings.attachmentCounts, function(total, mime) {
|
||||
var type;
|
||||
if ( -1 < mime.indexOf('/') ) {
|
||||
type = mime.split('/')[0];
|
||||
|
||||
total = parseInt(total, 10);
|
||||
|
||||
switch ( type ) {
|
||||
case 'audio':
|
||||
a += total;
|
||||
break;
|
||||
case 'video':
|
||||
v += total;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
counts.audio = a;
|
||||
counts.video = v;
|
||||
|
||||
return counts;
|
||||
};
|
||||
}(media.view.settings))
|
||||
} );
|
||||
|
||||
/**
|
||||
* Event binding
|
||||
*/
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2380,6 +2380,16 @@ function wp_enqueue_media( $args = array() ) {
|
|||
}
|
||||
}
|
||||
|
||||
$audio = $video = 0;
|
||||
$counts = wp_count_attachments();
|
||||
foreach ( $counts as $mime => $total ) {
|
||||
if ( 0 === strpos( $mime, 'audio/' ) ) {
|
||||
$audio += (int) $total;
|
||||
} elseif ( 0 === strpos( $mime, 'video/' ) ) {
|
||||
$video += (int) $total;
|
||||
}
|
||||
}
|
||||
|
||||
$settings = array(
|
||||
'tabs' => $tabs,
|
||||
'tabUrl' => add_query_arg( array( 'chromeless' => true ), admin_url('media-upload.php') ),
|
||||
|
@ -2392,7 +2402,10 @@ function wp_enqueue_media( $args = array() ) {
|
|||
'id' => 0,
|
||||
),
|
||||
'defaultProps' => $props,
|
||||
'attachmentCounts' => wp_count_attachments(),
|
||||
'attachmentCounts' => array(
|
||||
'audio' => $audio,
|
||||
'video' => $video
|
||||
),
|
||||
'embedExts' => $exts,
|
||||
'embedMimes' => $ext_mimes,
|
||||
'contentWidth' => $content_width,
|
||||
|
|
Loading…
Reference in New Issue