diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php
index 78cad54..55661dd 100644
a
|
b
|
function wp_ajax_query_attachments() { |
2156 | 2156 | $query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array(); |
2157 | 2157 | $query = array_intersect_key( $query, array_flip( array( |
2158 | 2158 | 's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type', |
2159 | | 'post_parent', 'post__in', 'post__not_in', |
| 2159 | 'post_parent', 'post__in', 'post__not_in', 'year', 'monthnum' |
2160 | 2160 | ) ) ); |
2161 | 2161 | |
2162 | 2162 | $query['post_type'] = 'attachment'; |
… |
… |
function wp_ajax_parse_media_shortcode() { |
2713 | 2713 | if ( ! empty( $wp_scripts ) ) { |
2714 | 2714 | $wp_scripts->done = array(); |
2715 | 2715 | } |
2716 | | |
| 2716 | |
2717 | 2717 | if ( 'playlist' === $_REQUEST['type'] ) { |
2718 | 2718 | wp_underscore_playlist_templates(); |
2719 | 2719 | |
diff --git a/src/wp-includes/js/media-grid.js b/src/wp-includes/js/media-grid.js
index a1f2e30..bdb6b90 100644
a
|
b
|
|
448 | 448 | |
449 | 449 | /** |
450 | 450 | * Render the EditImage view into the frame's content region. |
451 | | * |
| 451 | * |
452 | 452 | * @param {Object} contentRegion Basic object with a `view` property, which |
453 | 453 | * should be set with the proper region view. |
454 | 454 | */ |
… |
… |
|
649 | 649 | } |
650 | 650 | }); |
651 | 651 | |
| 652 | /** |
| 653 | * A filter dropdown for month/dates. |
| 654 | */ |
| 655 | media.view.DateFilter = media.view.AttachmentFilters.extend({ |
| 656 | createFilters: function() { |
| 657 | var filters = {}; |
| 658 | _.each( media.view.settings.months || {}, function( value, index ) { |
| 659 | filters[ index ] = { |
| 660 | text: value.text, |
| 661 | props: { |
| 662 | year: value.year, |
| 663 | monthnum: value.month |
| 664 | } |
| 665 | }; |
| 666 | }); |
| 667 | filters.all = { |
| 668 | text: l10n.allDates, |
| 669 | props: { |
| 670 | monthnum: false, |
| 671 | year: false |
| 672 | }, |
| 673 | priority: 10 |
| 674 | }; |
| 675 | this.filters = filters; |
| 676 | } |
| 677 | }); |
| 678 | |
652 | 679 | }(jQuery, _, Backbone, wp)); |
| 680 | No newline at end of file |
diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js
index ce8eadf..ef3e787 100644
a
|
b
|
|
5506 | 5506 | this.select(); |
5507 | 5507 | }, |
5508 | 5508 | |
| 5509 | /** |
| 5510 | * @abstract |
| 5511 | */ |
5509 | 5512 | createFilters: function() { |
5510 | 5513 | this.filters = {}; |
5511 | 5514 | }, |
5512 | 5515 | |
| 5516 | /** |
| 5517 | * When the selection changes, set the Query properties |
| 5518 | * accordingly for the selected filter. |
| 5519 | */ |
5513 | 5520 | change: function() { |
5514 | 5521 | var filter = this.filters[ this.el.value ]; |
5515 | | |
5516 | 5522 | if ( filter ) { |
5517 | 5523 | this.model.set( filter.props ); |
5518 | 5524 | } |
… |
… |
|
5742 | 5748 | priority: -90 |
5743 | 5749 | }).render() ); |
5744 | 5750 | |
5745 | | this.toolbar.set( 'BulkSelection', new media.view.BulkSelection({ |
| 5751 | this.toolbar.set( 'bulkSelection', new media.view.BulkSelection({ |
5746 | 5752 | controller: this.controller, |
5747 | 5753 | priority: -70 |
5748 | 5754 | }).render() ); |
| 5755 | this.toolbar.set( 'dateFilter', new media.view.DateFilter({ |
| 5756 | controller: this.controller, |
| 5757 | model: this.collection.props, |
| 5758 | priority: -75 |
| 5759 | }).render() ); |
5749 | 5760 | } |
5750 | 5761 | |
5751 | 5762 | filters = this.options.filters; |
diff --git a/src/wp-includes/media.php b/src/wp-includes/media.php
index fea3c34..cd32ae1 100644
a
|
b
|
function wp_enqueue_media( $args = array() ) { |
2772 | 2772 | if ( did_action( 'wp_enqueue_media' ) ) |
2773 | 2773 | return; |
2774 | 2774 | |
2775 | | global $content_width, $wpdb; |
| 2775 | global $content_width, $wpdb, $wp_locale; |
2776 | 2776 | |
2777 | 2777 | $defaults = array( |
2778 | 2778 | 'post' => null, |
… |
… |
function wp_enqueue_media( $args = array() ) { |
2825 | 2825 | AND post_mime_type LIKE 'video%' |
2826 | 2826 | LIMIT 1 |
2827 | 2827 | " ); |
| 2828 | $months = $wpdb->get_results( $wpdb->prepare( " |
| 2829 | SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month |
| 2830 | FROM $wpdb->posts |
| 2831 | WHERE post_type = %s |
| 2832 | ORDER BY post_date DESC |
| 2833 | ", 'attachment' ) ); |
| 2834 | foreach ( $months as $month_year ) { |
| 2835 | $month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year ); |
| 2836 | } |
2828 | 2837 | |
2829 | 2838 | $settings = array( |
2830 | 2839 | 'tabs' => $tabs, |
… |
… |
function wp_enqueue_media( $args = array() ) { |
2846 | 2855 | 'embedExts' => $exts, |
2847 | 2856 | 'embedMimes' => $ext_mimes, |
2848 | 2857 | 'contentWidth' => $content_width, |
| 2858 | 'months' => $months, |
2849 | 2859 | ); |
2850 | 2860 | |
2851 | 2861 | $post = null; |
… |
… |
function wp_enqueue_media( $args = array() ) { |
2904 | 2914 | 'returnToLibrary' => __( '← Return to library' ), |
2905 | 2915 | 'allMediaItems' => __( 'All media items' ), |
2906 | 2916 | 'allMediaTypes' => __( 'All media types' ), |
| 2917 | 'allDates' => __( 'All dates' ), |
2907 | 2918 | 'noItemsFound' => __( 'No items found.' ), |
2908 | 2919 | 'insertIntoPost' => $hier ? __( 'Insert into page' ) : __( 'Insert into post' ), |
2909 | 2920 | 'uploadedToThisPost' => $hier ? __( 'Uploaded to this page' ) : __( 'Uploaded to this post' ), |