Enhanced Media Library - Version 2.1.6

Version Description

Release Date - January 19, 2016

Download this release

Release Info

Developer webbistro
Plugin Icon 128x128 Enhanced Media Library
Version 2.1.6
Comparing to
See all releases

Code changes from version 2.1.5 to 2.1.6

core/{gallery.php → medialist.php} RENAMED
@@ -2,18 +2,21 @@
2
 
3
 
4
 
 
 
 
 
 
5
  /**
6
- * wpuxss_eml_shortcode_atts_gallery
7
  *
8
- * @since 2.1.5
9
- * @created 12/01/16
10
  */
11
 
12
- add_filter( 'shortcode_atts_gallery', 'wpuxss_eml_shortcode_atts_gallery', 10, 3 );
13
 
14
- if ( ! function_exists( 'wpuxss_eml_shortcode_atts_gallery' ) ) {
15
-
16
- function wpuxss_eml_shortcode_atts_gallery( $out, $pairs, $atts ) {
17
 
18
  $is_filter_based = false;
19
  $id = isset( $atts['id'] ) ? intval( $atts['id'] ) : 0;
@@ -64,10 +67,12 @@ if ( ! function_exists( 'wpuxss_eml_shortcode_atts_gallery' ) ) {
64
 
65
  $ids = array();
66
 
 
 
67
  $query = array(
68
  'post_status' => 'inherit',
69
  'post_type' => 'attachment',
70
- 'post_mime_type' => 'image',
71
  'order' => $out['order'],
72
  'orderby' => $out['orderby'],
73
  'posts_per_page' => isset( $atts['limit'] ) ? intval( $atts['limit'] ) : -1, //TODO: add pagination
2
 
3
 
4
 
5
+ add_filter( 'shortcode_atts_gallery', 'wpuxss_eml_shortcode_atts', 10, 3 );
6
+ add_filter( 'shortcode_atts_playlist', 'wpuxss_eml_shortcode_atts', 10, 3 );
7
+
8
+
9
+
10
  /**
11
+ * wpuxss_eml_shortcode_atts
12
  *
13
+ * @since 2.1.6
14
+ * @created 19/01/16
15
  */
16
 
17
+ if ( ! function_exists( 'wpuxss_eml_shortcode_atts' ) ) {
18
 
19
+ function wpuxss_eml_shortcode_atts( $out, $pairs, $atts ) {
 
 
20
 
21
  $is_filter_based = false;
22
  $id = isset( $atts['id'] ) ? intval( $atts['id'] ) : 0;
67
 
68
  $ids = array();
69
 
70
+ $mime_type = isset( $out['type'] ) && ( 'audio' === $out['type'] || 'video' === $out['type'] ) ? $out['type'] : 'image';
71
+
72
  $query = array(
73
  'post_status' => 'inherit',
74
  'post_type' => 'attachment',
75
+ 'post_mime_type' => $mime_type,
76
  'order' => $out['order'],
77
  'orderby' => $out['orderby'],
78
  'posts_per_page' => isset( $atts['limit'] ) ? intval( $atts['limit'] ) : -1, //TODO: add pagination
core/options-pages.php CHANGED
@@ -568,6 +568,7 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
568
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
569
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_nav_menus]" value="1" ' . checked( 1, $taxonomy->show_in_nav_menus, false ) . ' /></li>';
570
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][sort]" value="1" ' . checked( 1, $taxonomy->sort, false ) . ' /></li>';
 
571
  $html .= '<li><label>' . __('Rewrite Slug','eml') . '</label><input type="text" class="wpuxss-eml-slug" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][rewrite][slug]" value="' . esc_attr($taxonomy->rewrite['slug']) . '" /></li>';
572
  $html .= '<li><label>' . __('Slug with Front','eml') . '</label><input type="checkbox" class="wpuxss-eml-rewrite-with-front" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][rewrite][with_front]" value="1" ' . checked( 1, $taxonomy->rewrite['with_front'], false ) . ' /></li>';
573
  $html .= '</ul>';
@@ -636,6 +637,7 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
636
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input class="wpuxss-eml-media_popup_taxonomy_edit" type="checkbox" name="" value="1" /></li>';
637
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="" value="1" /></li>';
638
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="" value="1" /></li>';
 
639
  $html .= '<li><label>' . __('Rewrite Slug','eml') . '</label><input type="text" class="wpuxss-eml-slug" name="" value="" /></li>';
640
  $html .= '<li><label>' . __('Slug with Front','eml') . '</label><input type="checkbox" class="wpuxss-eml-rewrite-with-front" name="" value="1" checked="checked" /></li>';
641
  $html .= '</ul>';
@@ -810,19 +812,21 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
810
 
811
  <div class="postbox">
812
 
813
- <h3 class="hndle"><?php _e('Gallery','eml'); ?></h3>
814
 
815
  <div class="inside">
816
 
817
  <table class="form-table">
818
 
819
  <tr>
820
- <th scope="row"><?php _e('Enhanced gallery','eml'); ?></th>
821
  <td>
822
  <fieldset>
823
- <legend class="screen-reader-text"><span><?php _e('Enhanced gallery','eml'); ?></span></legend>
824
- <label for="wpuxss_eml_tax_options[enhance_gallery_shortcode]"><input name="wpuxss_eml_tax_options[enhance_gallery_shortcode]" type="hidden" value="0" /><input name="wpuxss_eml_tax_options[enhance_gallery_shortcode]" type="checkbox" value="1" <?php checked( true, $wpuxss_eml_tax_options['enhance_gallery_shortcode'], true ); ?> /> <?php _e('Enhance WordPress native gallery shortcode to make it understand media taxonomies, date, and image number limit','eml'); ?></label>
825
- <p class="description"><?php _e( 'The example: [gallery media_category="5" limit="10" monthnum="12" year="2015"]', 'eml' ); ?></p>
 
 
826
  <p class="description"><?php
827
  printf( __( '%sWarning:%s Incompatibility with other gallery plugins or themes possible!', 'eml' ), '<strong style="color:red">', '</strong>' );
828
 
568
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
569
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_nav_menus]" value="1" ' . checked( 1, $taxonomy->show_in_nav_menus, false ) . ' /></li>';
570
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][sort]" value="1" ' . checked( 1, $taxonomy->sort, false ) . ' /></li>';
571
+ $html .= '<li><label>' . __('Show in REST','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_rest" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_rest]" value="1" ' . checked( 1, $taxonomy->show_in_rest, false ) . ' /></li>';
572
  $html .= '<li><label>' . __('Rewrite Slug','eml') . '</label><input type="text" class="wpuxss-eml-slug" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][rewrite][slug]" value="' . esc_attr($taxonomy->rewrite['slug']) . '" /></li>';
573
  $html .= '<li><label>' . __('Slug with Front','eml') . '</label><input type="checkbox" class="wpuxss-eml-rewrite-with-front" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][rewrite][with_front]" value="1" ' . checked( 1, $taxonomy->rewrite['with_front'], false ) . ' /></li>';
574
  $html .= '</ul>';
637
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input class="wpuxss-eml-media_popup_taxonomy_edit" type="checkbox" name="" value="1" /></li>';
638
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="" value="1" /></li>';
639
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="" value="1" /></li>';
640
+ $html .= '<li><label>' . __('Show in REST','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_rest" name="" value="1" /></li>';
641
  $html .= '<li><label>' . __('Rewrite Slug','eml') . '</label><input type="text" class="wpuxss-eml-slug" name="" value="" /></li>';
642
  $html .= '<li><label>' . __('Slug with Front','eml') . '</label><input type="checkbox" class="wpuxss-eml-rewrite-with-front" name="" value="1" checked="checked" /></li>';
643
  $html .= '</ul>';
812
 
813
  <div class="postbox">
814
 
815
+ <h3 class="hndle"><?php _e('Media Shortcodes','eml'); ?></h3>
816
 
817
  <div class="inside">
818
 
819
  <table class="form-table">
820
 
821
  <tr>
822
+ <th scope="row"><?php _e('Enhanced media shortcodes','eml'); ?></th>
823
  <td>
824
  <fieldset>
825
+ <legend class="screen-reader-text"><span><?php _e('Enhanced media shortcodes','eml'); ?></span></legend>
826
+ <label for="wpuxss_eml_tax_options[enhance_media_shortcodes]"><input name="wpuxss_eml_tax_options[enhance_media_shortcodes]" type="hidden" value="0" /><input name="wpuxss_eml_tax_options[enhance_media_shortcodes]" type="checkbox" value="1" <?php checked( true, $wpuxss_eml_tax_options['enhance_media_shortcodes'], true ); ?> /> <?php _e('Enhance WordPress media shortcodes to make them understand media taxonomies, uploade date, and media items number limit','eml'); ?></label>
827
+ <p class="description"><?php _e( 'Gallery example: [gallery media_category="5" limit="10" monthnum="12" year="2015"]', 'eml' ); ?></p>
828
+ <p class="description"><?php _e( 'Audio playlist example: [playlist media_category="5" limit="10" monthnum="12" year="2015"]', 'eml' ); ?></p>
829
+ <p class="description"><?php _e( 'Video playlist example: [playlist type="video" media_category="5" limit="10" monthnum="12" year="2015"]', 'eml' ); ?></p>
830
  <p class="description"><?php
831
  printf( __( '%sWarning:%s Incompatibility with other gallery plugins or themes possible!', 'eml' ), '<strong style="color:red">', '</strong>' );
832
 
core/taxonomies.php CHANGED
@@ -2,40 +2,6 @@
2
 
3
 
4
 
5
- /**
6
- * unregister_taxonomy_for_object_type
7
- *
8
- * Unassign taxonomy (duplicates native WP(Since: WordPress 3.7.0) for back compatibility)
9
- * Based on /wp-includes/taxonomy.php
10
- *
11
- * @since 2.0
12
- * @created 05/08/14
13
- */
14
-
15
- if( ! function_exists( 'unregister_taxonomy_for_object_type' ) ) {
16
-
17
- function unregister_taxonomy_for_object_type( $taxonomy, $object_type ) {
18
-
19
- global $wp_taxonomies;
20
-
21
- if ( ! isset( $wp_taxonomies[ $taxonomy ] ) )
22
- return false;
23
-
24
- if ( ! get_post_type_object( $object_type ) )
25
- return false;
26
-
27
- $key = array_search( $object_type, $wp_taxonomies[ $taxonomy ]->object_type, true );
28
- if ( false === $key )
29
- return false;
30
-
31
- unset( $wp_taxonomies[ $taxonomy ]->object_type[ $key ] );
32
-
33
- return true;
34
- }
35
- }
36
-
37
-
38
-
39
  /**
40
  * wpuxss_eml_taxonomies_validate
41
  *
@@ -62,6 +28,7 @@ if( ! function_exists( 'wpuxss_eml_taxonomies_validate' ) ) {
62
  }
63
 
64
  $input[$taxonomy]['hierarchical'] = isset($params['hierarchical']) && !! $params['hierarchical'] ? 1 : 0;
 
65
  $input[$taxonomy]['sort'] = isset($params['sort']) && !! $params['sort'] ? 1 : 0;
66
  $input[$taxonomy]['show_admin_column'] = isset($params['show_admin_column']) && !! $params['show_admin_column'] ? 1 : 0;
67
  $input[$taxonomy]['show_in_nav_menus'] = isset($params['show_in_nav_menus']) && !! $params['show_in_nav_menus'] ? 1 : 0;
2
 
3
 
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  /**
6
  * wpuxss_eml_taxonomies_validate
7
  *
28
  }
29
 
30
  $input[$taxonomy]['hierarchical'] = isset($params['hierarchical']) && !! $params['hierarchical'] ? 1 : 0;
31
+ $input[$taxonomy]['show_in_rest'] = isset($params['show_in_rest']) && !! $params['show_in_rest'] ? 1 : 0;
32
  $input[$taxonomy]['sort'] = isset($params['sort']) && !! $params['sort'] ? 1 : 0;
33
  $input[$taxonomy]['show_admin_column'] = isset($params['show_admin_column']) && !! $params['show_admin_column'] ? 1 : 0;
34
  $input[$taxonomy]['show_in_nav_menus'] = isset($params['show_in_nav_menus']) && !! $params['show_in_nav_menus'] ? 1 : 0;
enhanced-media-library.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Enhanced Media Library
4
  Plugin URI: http://wpUXsolutions.com
5
  Description: This plugin will be handy for those who need to manage a lot of media files.
6
- Version: 2.1.5
7
  Author: wpUXsolutions
8
  Author URI: http://wpUXsolutions.com
9
  Text Domain: eml
@@ -22,7 +22,7 @@ global $wp_version,
22
 
23
 
24
 
25
- $wpuxss_eml_version = '2.1.5';
26
 
27
 
28
 
@@ -66,21 +66,21 @@ if ( ! function_exists( 'wpuxss_get_eml_basename' ) ) {
66
 
67
 
68
  /**
69
- * wpuxss_eml_enhance_gallery_shortcode
70
  *
71
  * @since 2.1.4
72
  * @created 08/01/16
73
  */
74
 
75
- if ( ! function_exists( 'wpuxss_eml_enhance_gallery_shortcode' ) ) {
76
 
77
- function wpuxss_eml_enhance_gallery_shortcode() {
78
 
79
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
80
 
81
- $enhance_gallery_shortcode = isset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] ) ? (bool)$wpuxss_eml_tax_options['enhance_gallery_shortcode'] : false;
82
 
83
- return $enhance_gallery_shortcode;
84
  }
85
  }
86
 
@@ -112,8 +112,8 @@ if ( ! function_exists( 'wpuxss_eml_on_plugins_loaded' ) ) {
112
  include_once( 'core/mime-types.php' );
113
  include_once( 'core/taxonomies.php' );
114
 
115
- if ( wpuxss_eml_enhance_gallery_shortcode() ) {
116
- include_once( 'core/gallery.php' );
117
  }
118
 
119
  if ( is_admin() ) {
@@ -165,6 +165,7 @@ if ( ! function_exists( 'wpuxss_eml_on_init' ) ) {
165
  'hierarchical' => $params['hierarchical'],
166
  'update_count_callback' => '_update_generic_term_count',
167
  'sort' => $params['sort'],
 
168
  'rewrite' => array(
169
  'slug' => $params['rewrite']['slug'],
170
  'with_front' => $params['rewrite']['with_front']
@@ -416,20 +417,24 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
416
  // );
417
 
418
 
 
 
 
 
 
419
  wp_localize_script(
420
  'wpuxss-eml-media-models-script',
421
- 'wpuxss_eml_attachments_edit_nonce',
422
- wp_create_nonce( 'eml-attachments-edit-nonce' )
423
  );
424
 
 
425
  $media_views_l10n = array(
426
  'taxonomies' => $taxonomies_array,
427
  'compat_taxonomies' => $compat_taxonomies,
428
  'compat_taxonomies_to_hide' => $compat_taxonomies_to_hide,
429
  'is_tax_compat' => count( $compat_taxonomies_to_show ) ? 1 : 0,
430
  'force_filters' => $wpuxss_eml_tax_options['force_filters'],
431
- 'media_orderby' => $wpuxss_eml_tax_options['media_orderby'],
432
- 'media_order' => $wpuxss_eml_tax_options['media_order'],
433
  'wp_version' => $wp_version,
434
  'uncategorized' => __( 'All Uncategorized', 'eml' ),
435
  'filter_by' => __( 'Filter by ', 'eml' ),
@@ -446,11 +451,11 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
446
  );
447
 
448
 
449
- if ( wpuxss_eml_enhance_gallery_shortcode() ) {
450
 
451
  wp_enqueue_script(
452
- 'wpuxss-eml-enhanced-gallery-script',
453
- $wpuxss_eml_dir . 'js/eml-enhanced-gallery.js',
454
  array('media-views'),
455
  $wpuxss_eml_version,
456
  true
@@ -459,21 +464,21 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
459
  wp_enqueue_script(
460
  'wpuxss-eml-media-editor-script',
461
  $wpuxss_eml_dir . 'js/eml-media-editor.js',
462
- array('media-editor','media-views', 'wpuxss-eml-enhanced-gallery-script'),
463
  $wpuxss_eml_version,
464
  true
465
  );
466
 
467
- $enhanced_gallery_l10n = array(
468
  'all_taxonomies' => $all_taxonomies_array,
469
  'uploaded_to' => __( 'Uploaded to post #', 'eml' ),
470
  'based_on' => __( 'Based On', 'eml' )
471
  );
472
 
473
  wp_localize_script(
474
- 'wpuxss-eml-enhanced-gallery-script',
475
- 'wpuxss_eml_enhanced_gallery_l10n',
476
- $enhanced_gallery_l10n
477
  );
478
  }
479
 
@@ -546,6 +551,7 @@ if ( ! function_exists( 'wpuxss_eml_on_activation_update' ) ) {
546
 
547
  'show_in_nav_menus' => 1,
548
  'sort' => 0,
 
549
  'rewrite' => array(
550
  'slug' => 'media_category',
551
  'with_front' => 1
@@ -556,7 +562,7 @@ if ( ! function_exists( 'wpuxss_eml_on_activation_update' ) ) {
556
  'tax_archives' => 1,
557
  'edit_all_as_hierarchical' => 0,
558
  'force_filters' => 0,
559
- 'enhance_gallery_shortcode' => 0,
560
  'media_orderby' => 'date',
561
  'media_order' => 'DESC'
562
  );
@@ -624,12 +630,32 @@ if ( ! function_exists( 'wpuxss_eml_on_activation_update' ) ) {
624
  if ( version_compare( $wpuxss_eml_old_version, '2.1.4', '<' ) ) {
625
 
626
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
627
- $wpuxss_eml_tax_options['enhance_gallery_shortcode'] = 0;
628
  $wpuxss_eml_tax_options['media_orderby'] = 'date';
629
  $wpuxss_eml_tax_options['media_order'] = 'DESC';
630
 
631
  update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
632
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
633
  } // endif :: new and old versions are not the same
634
  }
635
  }
3
  Plugin Name: Enhanced Media Library
4
  Plugin URI: http://wpUXsolutions.com
5
  Description: This plugin will be handy for those who need to manage a lot of media files.
6
+ Version: 2.1.6
7
  Author: wpUXsolutions
8
  Author URI: http://wpUXsolutions.com
9
  Text Domain: eml
22
 
23
 
24
 
25
+ $wpuxss_eml_version = '2.1.6';
26
 
27
 
28
 
66
 
67
 
68
  /**
69
+ * wpuxss_eml_enhance_media_shortcodes
70
  *
71
  * @since 2.1.4
72
  * @created 08/01/16
73
  */
74
 
75
+ if ( ! function_exists( 'wpuxss_eml_enhance_media_shortcodes' ) ) {
76
 
77
+ function wpuxss_eml_enhance_media_shortcodes() {
78
 
79
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
80
 
81
+ $enhance_media_shortcodes = isset( $wpuxss_eml_tax_options['enhance_media_shortcodes'] ) ? (bool)$wpuxss_eml_tax_options['enhance_media_shortcodes'] : false;
82
 
83
+ return $enhance_media_shortcodes;
84
  }
85
  }
86
 
112
  include_once( 'core/mime-types.php' );
113
  include_once( 'core/taxonomies.php' );
114
 
115
+ if ( wpuxss_eml_enhance_media_shortcodes() ) {
116
+ include_once( 'core/medialist.php' );
117
  }
118
 
119
  if ( is_admin() ) {
165
  'hierarchical' => $params['hierarchical'],
166
  'update_count_callback' => '_update_generic_term_count',
167
  'sort' => $params['sort'],
168
+ 'show_in_rest' => $params['show_in_rest'],
169
  'rewrite' => array(
170
  'slug' => $params['rewrite']['slug'],
171
  'with_front' => $params['rewrite']['with_front']
417
  // );
418
 
419
 
420
+ $media_models_l10n = array(
421
+ 'media_orderby' => $wpuxss_eml_tax_options['media_orderby'],
422
+ 'media_order' => $wpuxss_eml_tax_options['media_order']
423
+ );
424
+
425
  wp_localize_script(
426
  'wpuxss-eml-media-models-script',
427
+ 'wpuxss_eml_media_models_l10n',
428
+ $media_models_l10n
429
  );
430
 
431
+
432
  $media_views_l10n = array(
433
  'taxonomies' => $taxonomies_array,
434
  'compat_taxonomies' => $compat_taxonomies,
435
  'compat_taxonomies_to_hide' => $compat_taxonomies_to_hide,
436
  'is_tax_compat' => count( $compat_taxonomies_to_show ) ? 1 : 0,
437
  'force_filters' => $wpuxss_eml_tax_options['force_filters'],
 
 
438
  'wp_version' => $wp_version,
439
  'uncategorized' => __( 'All Uncategorized', 'eml' ),
440
  'filter_by' => __( 'Filter by ', 'eml' ),
451
  );
452
 
453
 
454
+ if ( wpuxss_eml_enhance_media_shortcodes() ) {
455
 
456
  wp_enqueue_script(
457
+ 'wpuxss-eml-enhanced-medialist-script',
458
+ $wpuxss_eml_dir . 'js/eml-enhanced-medialist.js',
459
  array('media-views'),
460
  $wpuxss_eml_version,
461
  true
464
  wp_enqueue_script(
465
  'wpuxss-eml-media-editor-script',
466
  $wpuxss_eml_dir . 'js/eml-media-editor.js',
467
+ array('media-editor','media-views', 'wpuxss-eml-enhanced-medialist-script'),
468
  $wpuxss_eml_version,
469
  true
470
  );
471
 
472
+ $enhanced_medialist_l10n = array(
473
  'all_taxonomies' => $all_taxonomies_array,
474
  'uploaded_to' => __( 'Uploaded to post #', 'eml' ),
475
  'based_on' => __( 'Based On', 'eml' )
476
  );
477
 
478
  wp_localize_script(
479
+ 'wpuxss-eml-enhanced-medialist-script',
480
+ 'wpuxss_eml_enhanced_medialist_l10n',
481
+ $enhanced_medialist_l10n
482
  );
483
  }
484
 
551
 
552
  'show_in_nav_menus' => 1,
553
  'sort' => 0,
554
+ 'show_in_rest' => 0,
555
  'rewrite' => array(
556
  'slug' => 'media_category',
557
  'with_front' => 1
562
  'tax_archives' => 1,
563
  'edit_all_as_hierarchical' => 0,
564
  'force_filters' => 0,
565
+ 'enhance_media_shortcodes' => 0,
566
  'media_orderby' => 'date',
567
  'media_order' => 'DESC'
568
  );
630
  if ( version_compare( $wpuxss_eml_old_version, '2.1.4', '<' ) ) {
631
 
632
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
633
+
634
  $wpuxss_eml_tax_options['media_orderby'] = 'date';
635
  $wpuxss_eml_tax_options['media_order'] = 'DESC';
636
 
637
  update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
638
  }
639
+
640
+ if ( version_compare( $wpuxss_eml_old_version, '2.1.6', '<' ) ) {
641
+
642
+ $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
643
+ $wpuxss_eml_taxonomies = get_option('wpuxss_eml_taxonomies');
644
+
645
+ if ( isset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] ) ) {
646
+ $wpuxss_eml_tax_options['enhance_media_shortcodes'] = $wpuxss_eml_tax_options['enhance_gallery_shortcode'];
647
+ }
648
+ else {
649
+ $wpuxss_eml_tax_options['enhance_media_shortcodes'] = 0;
650
+ }
651
+
652
+ foreach( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
653
+ $wpuxss_eml_taxonomies[$taxonomy]['show_in_rest'] = 0;
654
+ }
655
+
656
+ update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
657
+ update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
658
+ }
659
  } // endif :: new and old versions are not the same
660
  }
661
  }
js/eml-enhanced-gallery.js DELETED
@@ -1,217 +0,0 @@
1
- window.wp = window.wp || {};
2
- window.eml = window.eml || { l10n: {} };
3
-
4
-
5
-
6
- function emlIsGalleryFilterBased( attrs ) {
7
-
8
- if ( _.isUndefined( attrs ) || _.isEmpty( attrs ) ) {
9
- return false;
10
- }
11
-
12
- if ( attrs.uploadedTo ) {
13
- return true;
14
- }
15
-
16
- if ( _.filter( _.pick( attrs, 'monthnum', 'year' ), _.identity ).length == 2 ) {
17
- return true;
18
- }
19
-
20
- return _.some( eml.l10n.all_taxonomies, function( terms, taxonomy ) {
21
- return ( ! _.isUndefined( attrs[taxonomy] ) && ! _.isNull( attrs[taxonomy] ) );
22
- });
23
- }
24
-
25
-
26
-
27
- ( function( $, _ ) {
28
-
29
- var media = wp.media,
30
- original = {};
31
-
32
-
33
-
34
- _.extend( eml.l10n, wpuxss_eml_enhanced_gallery_l10n );
35
-
36
-
37
-
38
- /**
39
- * wp.media.view.MediaFrame.Post
40
- *
41
- */
42
- original.MediaFrame = {
43
-
44
- Post: {
45
- galleryMenu: media.view.MediaFrame.Post.prototype.galleryMenu
46
- }
47
- };
48
-
49
- _.extend( media.view.MediaFrame.Post.prototype, {
50
-
51
- galleryMenu: function( view ) {
52
-
53
- original.MediaFrame.Post.galleryMenu.apply( this, arguments );
54
-
55
- var library = this.state().get('library'),
56
- isFilterBased = emlIsGalleryFilterBased( library.props.toJSON() );
57
-
58
-
59
- if ( isFilterBased ) {
60
- view.hide( 'gallery-library' );
61
- }
62
- }
63
- });
64
-
65
-
66
-
67
- /**
68
- * wp.media.view.Attachment.EditLibrary
69
- *
70
- */
71
- _.extend( media.view.Attachment.EditLibrary.prototype, {
72
-
73
- initialize: function() {
74
-
75
- var state = this.controller.state(),
76
- isFilterBased = emlIsGalleryFilterBased( state.get('library').props.toJSON() );
77
-
78
-
79
- this.buttons.close = ( 'gallery-edit' == state.get('id') && isFilterBased ) ? false : true;
80
- }
81
- });
82
-
83
-
84
-
85
- /**
86
- * wp.media.view.Settings.Gallery
87
- *
88
- */
89
- original.Settings = {
90
-
91
- Gallery: {
92
- render: media.view.Settings.Gallery.prototype.render
93
- }
94
- };
95
-
96
- _.extend( media.view.Settings.Gallery.prototype.events, {
97
- 'change [data-setting=_orderbyRandom]' : 'change_orderbyRandom',
98
- });
99
-
100
- _.extend( media.view.Settings.Gallery.prototype, {
101
-
102
- render: function() {
103
-
104
- var append = this.basedOnHTML();
105
-
106
-
107
- original.Settings.Gallery.render.apply( this, arguments );
108
-
109
- if ( append ) {
110
- this.$el.append( append );
111
- }
112
-
113
- return this;
114
- },
115
-
116
- change_orderbyRandom: function( event ) {
117
-
118
- var content = this.controller.frame.content,
119
- reverse = content.get().toolbar.get( 'reverse' );
120
-
121
- reverse.model.set( 'disabled', $( event.target ).is(':checked') );
122
- },
123
-
124
- basedOnHTML: function() {
125
-
126
- var library = this.controller.frame.state().get('library'),
127
- isFilterBased = emlIsGalleryFilterBased( library.props.toJSON() ),
128
- append = '',
129
- date,
130
- months = media.view.settings.months,
131
- monthnum = library.props.get( 'monthnum' ),
132
- year = library.props.get( 'year' ),
133
- uploadedTo = library.props.get( 'uploadedTo' );
134
-
135
- if ( isFilterBased ) {
136
-
137
- append = '<br class="clear" /><h3>' + eml.l10n.based_on + '</h3><label class="setting eml-filter-based"><ul class="eml-filter-based">';
138
-
139
- _.each( eml.l10n.all_taxonomies, function( attrs, taxonomy ) {
140
-
141
- var ids = library.props.get( taxonomy ),
142
- taxonomy_string;
143
-
144
- if ( ids ) {
145
-
146
- taxonomy_string = attrs.singular_name + ': ' + _.values( _.pick( attrs.terms, ids ) ).join(', ');
147
- append += '<li>' + taxonomy_string + '</li>';
148
- }
149
- });
150
-
151
- if ( monthnum && year ) {
152
- date = _.first( _.where( months, { month: monthnum, year: year } ) ).text;
153
- append += '<li>' + date + '</li>';
154
- }
155
-
156
- if ( ! _.isUndefined( uploadedTo ) ) {
157
-
158
- if ( uploadedTo == media.view.settings.post.id ) {
159
- append += '<li>' + media.view.l10n.uploadedToThisPost + '</li>';
160
- }
161
- else if ( parseInt( uploadedTo ) ) {
162
- append += '<li>' + eml.l10n.uploaded_to + uploadedTo + '</li>';
163
- }
164
- }
165
- append += '</ul></label>';
166
- }
167
-
168
- return append;
169
- },
170
- });
171
-
172
-
173
-
174
- /**
175
- * wp.media.controller.GalleryEdit
176
- *
177
- */
178
- original.GalleryEdit = {
179
-
180
- gallerySettings: media.controller.GalleryEdit.prototype.gallerySettings,
181
- };
182
-
183
- _.extend( media.controller.GalleryEdit.prototype, {
184
-
185
- gallerySettings: function( browser ) {
186
-
187
- original.GalleryEdit.gallerySettings.apply( this, arguments );
188
-
189
- var library = this.get('library'),
190
- reverse = browser.toolbar.get( 'reverse' );
191
-
192
-
193
- reverse.model.set( 'disabled', 'rand' === library.props.get('orderby') );
194
-
195
- reverse.options.click = function() {
196
-
197
- switch( library.gallery.get( 'order' ) ) {
198
- case 'ASC':
199
- library.props.set( 'order', 'DESC' );
200
- library.gallery.set( 'order', 'DESC' );
201
- break;
202
- case 'DESC':
203
- library.props.set( 'order', 'ASC' );
204
- library.gallery.set( 'order', 'ASC' );
205
- break;
206
- default:
207
- library.props.set( 'order', 'DESC' );
208
- library.gallery.set( 'order', 'DESC' );
209
- }
210
-
211
- library.reset( library.toArray().reverse() );
212
- library.saveMenuOrder();
213
- }
214
- }
215
- });
216
-
217
- })( jQuery, _ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/eml-enhanced-medialist.js ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.wp = window.wp || {};
2
+ window.eml = window.eml || { l10n: {} };
3
+
4
+
5
+
6
+ function emlIsFilterBased( attrs ) {
7
+
8
+ if ( _.isUndefined( attrs ) || _.isEmpty( attrs ) ) {
9
+ return false;
10
+ }
11
+
12
+ if ( attrs.uploadedTo ) {
13
+ return true;
14
+ }
15
+
16
+ if ( _.filter( _.pick( attrs, 'monthnum', 'year' ), _.identity ).length == 2 ) {
17
+ return true;
18
+ }
19
+
20
+ return _.some( eml.l10n.all_taxonomies, function( terms, taxonomy ) {
21
+ return ( ! _.isUndefined( attrs[taxonomy] ) && ! _.isNull( attrs[taxonomy] ) );
22
+ });
23
+ }
24
+
25
+
26
+
27
+ ( function( $, _ ) {
28
+
29
+ var media = wp.media,
30
+ original = {};
31
+
32
+
33
+
34
+ _.extend( eml.l10n, wpuxss_eml_enhanced_medialist_l10n );
35
+
36
+
37
+
38
+ /**
39
+ * wp.media.view.MediaFrame.Post
40
+ *
41
+ */
42
+ original.MediaFrame = {
43
+
44
+ Post: {
45
+ galleryMenu: media.view.MediaFrame.Post.prototype.galleryMenu,
46
+ playlistMenu: media.view.MediaFrame.Post.prototype.playlistMenu,
47
+ videoPlaylistMenu: media.view.MediaFrame.Post.prototype.videoPlaylistMenu
48
+ }
49
+ };
50
+
51
+ _.extend( media.view.MediaFrame.Post.prototype, {
52
+
53
+ galleryMenu: function( view ) {
54
+
55
+ original.MediaFrame.Post.galleryMenu.apply( this, arguments );
56
+
57
+ var library = this.state().get('library'),
58
+ isFilterBased = emlIsFilterBased( library.props.toJSON() );
59
+
60
+
61
+ if ( isFilterBased ) {
62
+ view.hide( 'gallery-library' );
63
+ }
64
+ },
65
+
66
+ playlistMenu: function( view ) {
67
+
68
+ original.MediaFrame.Post.playlistMenu.apply( this, arguments );
69
+
70
+ var library = this.state().get('library'),
71
+ isFilterBased = emlIsFilterBased( library.props.toJSON() );
72
+
73
+
74
+ if ( isFilterBased ) {
75
+ view.hide( 'playlist-library' );
76
+ }
77
+ },
78
+
79
+ videoPlaylistMenu: function( view ) {
80
+
81
+ original.MediaFrame.Post.playlistMenu.apply( this, arguments );
82
+
83
+ var library = this.state().get('library'),
84
+ isFilterBased = emlIsFilterBased( library.props.toJSON() );
85
+
86
+
87
+ if ( isFilterBased ) {
88
+ view.hide( 'video-playlist-library' );
89
+ }
90
+ }
91
+ });
92
+
93
+
94
+
95
+ /**
96
+ * wp.media.view.Attachment.EditLibrary
97
+ *
98
+ */
99
+ _.extend( media.view.Attachment.EditLibrary.prototype, {
100
+
101
+ initialize: function() {
102
+
103
+ var state = this.controller.state(),
104
+ isFilterBased = emlIsFilterBased( state.get('library').props.toJSON() ),
105
+ isMediaList = 'gallery-edit' === state.get('id') || 'playlist-edit' === state.get('id') || 'video-playlist-edit' === state.get('id');
106
+
107
+
108
+ this.buttons.close = ( isMediaList && isFilterBased ) ? false : true;
109
+ }
110
+ });
111
+
112
+
113
+
114
+ /**
115
+ * wp.media.view.Settings
116
+ *
117
+ */
118
+ original.Settings = {
119
+
120
+ Gallery: {
121
+ render: media.view.Settings.Gallery.prototype.render
122
+ },
123
+ Playlist: {
124
+ render: media.view.Settings.Playlist.prototype.render
125
+ }
126
+ };
127
+
128
+
129
+
130
+ /**
131
+ * wp.media.view.Settings.Gallery
132
+ *
133
+ */
134
+ _.extend( media.view.Settings.Gallery.prototype.events, {
135
+ 'change [data-setting=_orderbyRandom]' : 'change_orderbyRandom'
136
+ });
137
+
138
+ _.extend( media.view.Settings.Gallery.prototype, {
139
+
140
+ render: function() {
141
+
142
+ var library = this.controller.frame.state().get('library'),
143
+ append = eml.basedOnHTML( library );
144
+
145
+
146
+ original.Settings.Gallery.render.apply( this, arguments );
147
+
148
+ if ( append ) {
149
+ this.$el.append( append );
150
+ }
151
+
152
+ return this;
153
+ },
154
+
155
+ change_orderbyRandom: function( event ) {
156
+
157
+ var content = this.controller.frame.content,
158
+ reverse = content.get().toolbar.get( 'reverse' );
159
+
160
+ reverse.model.set( 'disabled', $( event.target ).is(':checked') );
161
+ }
162
+ });
163
+
164
+
165
+
166
+ /**
167
+ * wp.media.view.Settings.Playlist
168
+ *
169
+ */
170
+ _.extend( media.view.Settings.Playlist.prototype, {
171
+
172
+ render: function() {
173
+
174
+ var library = this.controller.frame.state().get('library'),
175
+ append = eml.basedOnHTML( library );
176
+
177
+
178
+ original.Settings.Playlist.render.apply( this, arguments );
179
+
180
+ if ( append ) {
181
+ this.$el.append( append );
182
+ }
183
+
184
+ return this;
185
+ }
186
+ });
187
+
188
+
189
+
190
+ /**
191
+ * eml.basedOnHTML
192
+ *
193
+ * output for:
194
+ * wp.media.view.Settings.Gallery
195
+ * wp.media.view.Settings.Playlist
196
+ *
197
+ */
198
+ eml.basedOnHTML = function( library ) {
199
+
200
+ var isFilterBased = emlIsFilterBased( library.props.toJSON() ),
201
+ append = '',
202
+ date,
203
+ months = media.view.settings.months,
204
+ monthnum = library.props.get( 'monthnum' ),
205
+ year = library.props.get( 'year' ),
206
+ uploadedTo = library.props.get( 'uploadedTo' );
207
+
208
+ if ( isFilterBased ) {
209
+
210
+ append = '<br class="clear" /><h3>' + eml.l10n.based_on + '</h3><label class="setting eml-filter-based"><ul class="eml-filter-based">';
211
+
212
+ _.each( eml.l10n.all_taxonomies, function( attrs, taxonomy ) {
213
+
214
+ var ids = library.props.get( taxonomy ),
215
+ taxonomy_string;
216
+
217
+ if ( ids ) {
218
+
219
+ taxonomy_string = attrs.singular_name + ': ' + _.values( _.pick( attrs.terms, ids ) ).join(', ');
220
+ append += '<li>' + taxonomy_string + '</li>';
221
+ }
222
+ });
223
+
224
+ if ( monthnum && year ) {
225
+ date = _.first( _.where( months, { month: monthnum, year: year } ) ).text;
226
+ append += '<li>' + date + '</li>';
227
+ }
228
+
229
+ if ( ! _.isUndefined( uploadedTo ) ) {
230
+
231
+ if ( uploadedTo == media.view.settings.post.id ) {
232
+ append += '<li>' + media.view.l10n.uploadedToThisPost + '</li>';
233
+ }
234
+ else if ( parseInt( uploadedTo ) ) {
235
+ append += '<li>' + eml.l10n.uploaded_to + uploadedTo + '</li>';
236
+ }
237
+ }
238
+ append += '</ul></label>';
239
+ }
240
+
241
+ return append;
242
+ };
243
+
244
+
245
+
246
+ /**
247
+ * eml.renderSettings
248
+ *
249
+ * for:
250
+ * wp.media.controller.GalleryEdit
251
+ * wp.media.controller.CollectionEdit (Playlist)
252
+ *
253
+ */
254
+ eml.renderSettings = function( browser, library, tag ) {
255
+
256
+ var reverse = browser.toolbar.get( 'reverse' );
257
+
258
+
259
+ reverse.model.set( 'disabled', 'rand' === library.props.get('orderby') );
260
+
261
+ reverse.options.click = function() {
262
+
263
+ order = library.props.get( 'order' );
264
+
265
+ if ( 'ASC' === order ) {
266
+ order = 'DESC';
267
+ }
268
+ else if ( 'DESC' === order ) {
269
+ order = 'ASC';
270
+ }
271
+
272
+ library[ tag ].set( 'order', order );
273
+
274
+ library.props.set( 'order', order, { silent: true } );
275
+ library.reset( library.toArray().reverse() );
276
+ library.saveMenuOrder();
277
+ }
278
+ };
279
+
280
+
281
+
282
+ /**
283
+ * wp.media.controller.GalleryEdit
284
+ *
285
+ */
286
+ original.GalleryEdit = {
287
+
288
+ gallerySettings: media.controller.GalleryEdit.prototype.gallerySettings
289
+ };
290
+
291
+ _.extend( media.controller.GalleryEdit.prototype, {
292
+
293
+ gallerySettings: function( browser ) {
294
+
295
+ var library = this.get('library');
296
+
297
+ original.GalleryEdit.gallerySettings.apply( this, arguments );
298
+
299
+ eml.renderSettings( browser, library, media.gallery.tag );
300
+ }
301
+ });
302
+
303
+
304
+
305
+ /**
306
+ * wp.media.controller.CollectionEdit
307
+ *
308
+ */
309
+ original.CollectionEdit = {
310
+
311
+ renderSettings: media.controller.CollectionEdit.prototype.renderSettings
312
+ };
313
+
314
+ _.extend( media.controller.CollectionEdit.prototype, {
315
+
316
+ renderSettings: function( browser ) {
317
+
318
+ var library = this.get('library');
319
+
320
+ original.CollectionEdit.renderSettings.apply( this, arguments );
321
+
322
+ eml.renderSettings( browser, library, media.playlist.tag );
323
+ }
324
+ });
325
+
326
+ })( jQuery, _ );
js/eml-media-editor.js CHANGED
@@ -11,17 +11,10 @@ window.eml = window.eml || { l10n: {} };
11
 
12
 
13
  /**
14
- * wp.media.gallery
15
  *
16
  */
17
- _.extend( media.gallery.defaults, {
18
- orderby : 'menuOrder',
19
- });
20
-
21
- delete media.gallery.defaults.id;
22
-
23
-
24
- _.extend( media.gallery, {
25
 
26
  collections: {},
27
 
@@ -31,7 +24,7 @@ window.eml = window.eml || { l10n: {} };
31
  shortcodeString = shortcode.string(),
32
  result = collections[ shortcodeString ],
33
  attrs, args, query, others, self = this,
34
- isFilterBased = emlIsGalleryFilterBased( shortcode.attrs.named );
35
 
36
 
37
  delete collections[ shortcodeString ];
@@ -146,7 +139,7 @@ window.eml = window.eml || { l10n: {} };
146
  props = attachments.props.toJSON(),
147
  attrs = _.pick( props, 'orderby', 'order' ),
148
  shortcode, clone,
149
- isFilterBased = emlIsGalleryFilterBased( props );
150
 
151
 
152
  if ( attachments.type ) {
@@ -283,6 +276,36 @@ window.eml = window.eml || { l10n: {} };
283
 
284
  return this.frame;
285
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  });
287
 
 
 
 
 
288
  })( jQuery, _ );
11
 
12
 
13
  /**
14
+ * eml.mediaCollection
15
  *
16
  */
17
+ eml.mediaCollection = {
 
 
 
 
 
 
 
18
 
19
  collections: {},
20
 
24
  shortcodeString = shortcode.string(),
25
  result = collections[ shortcodeString ],
26
  attrs, args, query, others, self = this,
27
+ isFilterBased = emlIsFilterBased( shortcode.attrs.named );
28
 
29
 
30
  delete collections[ shortcodeString ];
139
  props = attachments.props.toJSON(),
140
  attrs = _.pick( props, 'orderby', 'order' ),
141
  shortcode, clone,
142
+ isFilterBased = emlIsFilterBased( props );
143
 
144
 
145
  if ( attachments.type ) {
276
 
277
  return this.frame;
278
  }
279
+ };
280
+
281
+
282
+
283
+ /**
284
+ * wp.media.gallery
285
+ *
286
+ */
287
+ _.extend( media.gallery.defaults, {
288
+ orderby : 'menuOrder'
289
+ });
290
+
291
+ delete media.gallery.defaults.id;
292
+
293
+ _.extend( media.gallery, eml.mediaCollection );
294
+
295
+
296
+
297
+ /**
298
+ * wp.media.playlist
299
+ *
300
+ */
301
+
302
+ _.extend( media.playlist.defaults, {
303
+ orderby: 'menuOrder',
304
+ order: 'ASC'
305
  });
306
 
307
+ delete media.playlist.defaults.id;
308
+
309
+ _.extend( media.playlist, eml.mediaCollection );
310
+
311
  })( jQuery, _ );
js/eml-media-models.js CHANGED
@@ -1,4 +1,6 @@
1
  window.wp = window.wp || {};
 
 
2
 
3
  ( function( $, _ ) {
4
 
@@ -8,6 +10,10 @@ window.wp = window.wp || {};
8
 
9
 
10
 
 
 
 
 
11
  _.extend( Query.prototype, {
12
 
13
  initialize: function( models, options ) {
@@ -22,7 +28,7 @@ window.wp = window.wp || {};
22
  this.created = new Date();
23
 
24
  this.filters.order = function( attachment ) {
25
-
26
  var orderby = this.props.get('orderby'),
27
  order = this.props.get('order');
28
 
@@ -74,6 +80,11 @@ window.wp = window.wp || {};
74
 
75
  _.extend( Query, {
76
 
 
 
 
 
 
77
  queries: [],
78
 
79
  cleanQueries: function(){
@@ -148,4 +159,16 @@ window.wp = window.wp || {};
148
  }())
149
  });
150
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  })( jQuery, _ );
1
  window.wp = window.wp || {};
2
+ window.eml = window.eml || { l10n: {} };
3
+
4
 
5
  ( function( $, _ ) {
6
 
10
 
11
 
12
 
13
+ _.extend( eml.l10n, wpuxss_eml_media_models_l10n );
14
+
15
+
16
+
17
  _.extend( Query.prototype, {
18
 
19
  initialize: function( models, options ) {
28
  this.created = new Date();
29
 
30
  this.filters.order = function( attachment ) {
31
+
32
  var orderby = this.props.get('orderby'),
33
  order = this.props.get('order');
34
 
80
 
81
  _.extend( Query, {
82
 
83
+ defaultProps: {
84
+ orderby: eml.l10n.media_orderby,
85
+ order: eml.l10n.media_order
86
+ },
87
+
88
  queries: [],
89
 
90
  cleanQueries: function(){
159
  }())
160
  });
161
 
162
+
163
+
164
+ media.query = function( props ) {
165
+
166
+ return new Attachments( null, {
167
+ props: _.extend( _.defaults( props || {}, {
168
+ orderby: eml.l10n.media_orderby,
169
+ order: eml.l10n.media_order
170
+ } ), { query: true } )
171
+ });
172
+ };
173
+
174
  })( jQuery, _ );
js/eml-media-views.js CHANGED
@@ -22,40 +22,19 @@ window.eml = window.eml || { l10n: {} };
22
 
23
  uploading: function( attachment ) {
24
 
25
- var dateFilter, Filters, taxFilter,
26
- content = this.frame.content,
27
- selection = this.get('selection'),
28
- library = this.get('library');
29
-
30
-
31
- if ( 'upload' === content.mode() ) {
32
- this.frame.content.mode('browse');
33
- }
34
 
35
  if ( wp.Uploader.queue.length == 1 ) {
36
-
37
- dateFilter = content.get().toolbar.get( 'dateFilter' );
38
- Filters = content.get().toolbar.get( 'filters' );
39
-
40
- if ( ! _.isUndefined(dateFilter) && 'all' !== dateFilter.$el.val() ) {
41
- dateFilter.$el.val( 'all' ).change();
42
- }
43
-
44
- if ( ! _.isUndefined(Filters) && 'all' !== Filters.$el.val() ) {
45
- Filters.$el.val( 'all' ).change();
46
- }
47
-
48
- _.each( eml.l10n.taxonomies, function( values, taxonomy ) {
49
-
50
- taxFilter = content.get().toolbar.get( taxonomy+'-filter' );
51
-
52
- if ( ! _.isUndefined(taxFilter) && 'all' !== taxFilter.$el.val() ) {
53
- taxFilter.$el.val( 'all' ).change();
54
- }
55
- });
56
  }
57
 
58
- if ( eml.l10n.wp_version < '4.0' || this.get( 'autoSelect' ) ) {
 
 
 
 
59
 
60
  if ( wp.Uploader.queue.length == 1 && selection.length ) {
61
  selection.reset();
@@ -63,8 +42,8 @@ window.eml = window.eml || { l10n: {} };
63
  selection.add( attachment );
64
  selection.trigger( 'selection:unsingle', selection.model, selection );
65
  selection.trigger( 'selection:single', selection.model, selection );
66
- }
67
- }
68
  });
69
 
70
 
@@ -153,7 +132,7 @@ window.eml = window.eml || { l10n: {} };
153
  }
154
 
155
 
156
- if ( filter && selection && selection.length && ! wp.Uploader.queue.length ) {
157
  selection.reset();
158
  }
159
 
@@ -477,7 +456,10 @@ window.eml = window.eml || { l10n: {} };
477
 
478
 
479
  if ( -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ) ||
480
- ( parseInt( eml.l10n.force_filters ) && 'gallery-edit' !== this.controller._state ) ||
 
 
 
481
  'customize' === eml.l10n.current_screen ) {
482
 
483
 
@@ -603,7 +585,7 @@ window.eml = window.eml || { l10n: {} };
603
  original.MediaFrame = {
604
 
605
  Post: {
606
- activate: media.view.MediaFrame.Post.prototype.activate,
607
  }
608
  };
609
 
@@ -611,26 +593,11 @@ window.eml = window.eml || { l10n: {} };
611
 
612
  activate: function() {
613
 
614
- original.MediaFrame.Post.activate.apply( this, arguments );
615
-
616
- var content = this.content.get(),
617
- galleryLibrary = this.state( 'gallery' ).get( 'library' ),
618
- mainFilter = content.toolbar.get( 'filters' ),
619
- resetFilterButton = content.toolbar.get( 'resetFilterButton' ),
620
- props;
621
 
 
622
 
623
  this.on( 'open', content.fixLayout, content );
624
-
625
-
626
- // TODO: reconsider this
627
- if ( mainFilter ) {
628
-
629
- props = _.extend( { type: 'image' }, mainFilter.filters.all.props );
630
- galleryLibrary.reset( wp.media.query( props ).models );
631
-
632
- resetFilterButton.click();
633
- }
634
  }
635
  });
636
 
22
 
23
  uploading: function( attachment ) {
24
 
25
+ var content = this.frame.content,
26
+ resetFilterButton = content.get().toolbar.get( 'resetFilterButton' ),
27
+ selection = this.get('selection');
 
 
 
 
 
 
28
 
29
  if ( wp.Uploader.queue.length == 1 ) {
30
+ resetFilterButton.click();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  }
32
 
33
+ if ( 'upload' === content.mode() ) {
34
+ this.frame.content.mode('browse');
35
+ }
36
+
37
+ if ( this.get( 'autoSelect' ) ) {
38
 
39
  if ( wp.Uploader.queue.length == 1 && selection.length ) {
40
  selection.reset();
42
  selection.add( attachment );
43
  selection.trigger( 'selection:unsingle', selection.model, selection );
44
  selection.trigger( 'selection:single', selection.model, selection );
45
+ }
46
+ }
47
  });
48
 
49
 
132
  }
133
 
134
 
135
+ if ( filter && selection && selection.length && wp.Uploader.queue.length !== 1 ) {
136
  selection.reset();
137
  }
138
 
456
 
457
 
458
  if ( -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ) ||
459
+ ( parseInt( eml.l10n.force_filters ) &&
460
+ 'gallery-edit' !== this.controller._state &&
461
+ 'playlist-edit' !== this.controller._state &&
462
+ 'video-playlist-edit' !== this.controller._state ) ||
463
  'customize' === eml.l10n.current_screen ) {
464
 
465
 
585
  original.MediaFrame = {
586
 
587
  Post: {
588
+ activate: media.view.MediaFrame.Post.prototype.activate
589
  }
590
  };
591
 
593
 
594
  activate: function() {
595
 
596
+ var content = this.content.get();
 
 
 
 
 
 
597
 
598
+ original.MediaFrame.Post.activate.apply( this, arguments );
599
 
600
  this.on( 'open', content.fixLayout, content );
 
 
 
 
 
 
 
 
 
 
601
  }
602
  });
603
 
languages/eml.pot CHANGED
@@ -4,7 +4,7 @@
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: Enhanced Media Library PRO\n"
7
- "POT-Creation-Date: 2016-01-14 21:05+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
@@ -36,7 +36,7 @@ msgid_plural "Unattached (%s)"
36
  msgstr[0] ""
37
  msgstr[1] ""
38
 
39
- #: core/class-eml-media-list-table.php:65 enhanced-media-library.php:448
40
  msgid "All Uncategorized"
41
  msgstr ""
42
 
@@ -52,7 +52,7 @@ msgstr[1] ""
52
  msgid "Filter"
53
  msgstr ""
54
 
55
- #: core/class-eml-media-list-table.php:90 enhanced-media-library.php:452
56
  msgid "Reset All Filters"
57
  msgstr ""
58
 
@@ -365,8 +365,8 @@ msgid "Media Settings"
365
  msgstr ""
366
 
367
  #: core/options-pages.php:90 core/options-pages.php:561
368
- #: core/options-pages.php:583 core/options-pages.php:629
369
- #: core/options-pages.php:694 core/options-pages.php:1054
370
  msgid "Settings"
371
  msgstr ""
372
 
@@ -376,13 +376,13 @@ msgid "Taxonomies"
376
  msgstr ""
377
 
378
  #: core/options-pages.php:106 core/options-pages.php:107
379
- #: core/options-pages.php:882
380
  msgid "MIME Types"
381
  msgstr ""
382
 
383
  #: core/options-pages.php:143 core/options-pages.php:535
384
- #: core/options-pages.php:550 core/options-pages.php:618
385
- #: core/options-pages.php:691
386
  msgid "Edit"
387
  msgstr ""
388
 
@@ -391,22 +391,22 @@ msgid "Close"
391
  msgstr ""
392
 
393
  #: core/options-pages.php:145 core/options-pages.php:551
394
- #: core/options-pages.php:619
395
  msgid "View"
396
  msgstr ""
397
 
398
  #: core/options-pages.php:146 core/options-pages.php:552
399
- #: core/options-pages.php:620
400
  msgid "Update"
401
  msgstr ""
402
 
403
  #: core/options-pages.php:147 core/options-pages.php:553
404
- #: core/options-pages.php:621
405
  msgid "Add New"
406
  msgstr ""
407
 
408
  #: core/options-pages.php:148 core/options-pages.php:554
409
- #: core/options-pages.php:622
410
  msgid "New"
411
  msgstr ""
412
 
@@ -415,17 +415,17 @@ msgid "Name"
415
  msgstr ""
416
 
417
  #: core/options-pages.php:150 core/options-pages.php:555
418
- #: core/options-pages.php:623
419
  msgid "Parent"
420
  msgstr ""
421
 
422
  #: core/options-pages.php:151 core/options-pages.php:549
423
- #: core/options-pages.php:617
424
  msgid "All"
425
  msgstr ""
426
 
427
  #: core/options-pages.php:152 core/options-pages.php:556
428
- #: core/options-pages.php:624
429
  msgid "Search"
430
  msgstr ""
431
 
@@ -439,7 +439,7 @@ msgstr ""
439
  msgid "There is already a taxonomy with the same name. Please chose other one."
440
  msgstr ""
441
 
442
- #: core/options-pages.php:156 core/options-pages.php:605
443
  msgid "New Taxonomy"
444
  msgstr ""
445
 
@@ -468,7 +468,7 @@ msgid "Duplicate extensions or MIME types. Please chose other one."
468
  msgstr ""
469
 
470
  #: core/options-pages.php:189 core/options-pages.php:486
471
- #: core/options-pages.php:874
472
  msgid "You do not have sufficient permissions to access this page."
473
  msgstr ""
474
 
@@ -552,184 +552,200 @@ msgstr ""
552
  msgid "Media Taxonomies"
553
  msgstr ""
554
 
555
- #: core/options-pages.php:514 core/options-pages.php:666
556
  msgid "Assign following taxonomies to Media Library:"
557
  msgstr ""
558
 
559
- #: core/options-pages.php:532 core/options-pages.php:603
560
- #: core/options-pages.php:684
561
  msgid "Assign Taxonomy"
562
  msgstr ""
563
 
564
- #: core/options-pages.php:535 core/options-pages.php:691
565
  msgid "Edit Taxonomy"
566
  msgstr ""
567
 
568
- #: core/options-pages.php:539 core/options-pages.php:607
569
  msgid "Delete Taxonomy"
570
  msgstr ""
571
 
572
- #: core/options-pages.php:544 core/options-pages.php:612
573
  msgid "Labels"
574
  msgstr ""
575
 
576
- #: core/options-pages.php:546 core/options-pages.php:614
577
  msgid "Singular"
578
  msgstr ""
579
 
580
- #: core/options-pages.php:547 core/options-pages.php:615
581
  msgid "Plural"
582
  msgstr ""
583
 
584
- #: core/options-pages.php:548 core/options-pages.php:616
585
  msgid "Menu Name"
586
  msgstr ""
587
 
588
- #: core/options-pages.php:563 core/options-pages.php:631
589
  msgid "Taxonomy Name"
590
  msgstr ""
591
 
592
- #: core/options-pages.php:564 core/options-pages.php:632
593
  msgid "Hierarchical"
594
  msgstr ""
595
 
596
- #: core/options-pages.php:565 core/options-pages.php:633
597
  msgid "Column in List View"
598
  msgstr ""
599
 
600
- #: core/options-pages.php:566 core/options-pages.php:585
601
- #: core/options-pages.php:634 core/options-pages.php:696
602
  msgid "Filter in List View"
603
  msgstr ""
604
 
605
- #: core/options-pages.php:567 core/options-pages.php:586
606
- #: core/options-pages.php:635 core/options-pages.php:697
607
  msgid "Filter in Grid View / Media Popup"
608
  msgstr ""
609
 
610
- #: core/options-pages.php:568 core/options-pages.php:587
611
- #: core/options-pages.php:636 core/options-pages.php:698
612
  msgid "Edit in Media Popup"
613
  msgstr ""
614
 
615
- #: core/options-pages.php:569 core/options-pages.php:637
616
  msgid "Show in Nav Menu"
617
  msgstr ""
618
 
619
- #: core/options-pages.php:570 core/options-pages.php:638
620
  msgid "Remember Terms Order (sort)"
621
  msgstr ""
622
 
623
- #: core/options-pages.php:571 core/options-pages.php:639
 
 
 
 
624
  msgid "Rewrite Slug"
625
  msgstr ""
626
 
627
- #: core/options-pages.php:572 core/options-pages.php:640
628
  msgid "Slug with Front"
629
  msgstr ""
630
 
631
- #: core/options-pages.php:652
632
  msgid "Add New Taxonomy"
633
  msgstr ""
634
 
635
- #: core/options-pages.php:662
636
  msgid "Non-Media Taxonomies"
637
  msgstr ""
638
 
639
- #: core/options-pages.php:725
640
  msgid "Options"
641
  msgstr ""
642
 
643
- #: core/options-pages.php:731
644
  msgid "General"
645
  msgstr ""
646
 
647
- #: core/options-pages.php:737 core/options-pages.php:740
648
  msgid "Taxonomy archive pages"
649
  msgstr ""
650
 
651
- #: core/options-pages.php:741
652
  msgid "Turn on media taxonomy archive pages on the front-end"
653
  msgstr ""
654
 
655
- #: core/options-pages.php:742
656
  msgid ""
657
  "Re-save your permalink settings after this option change to make it work."
658
  msgstr ""
659
 
660
- #: core/options-pages.php:748
661
  msgid "Assign all like hierarchical"
662
  msgstr ""
663
 
664
- #: core/options-pages.php:751 core/options-pages.php:752
665
  msgid ""
666
  "Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup"
667
  msgstr ""
668
 
669
- #: core/options-pages.php:766
670
  msgid "Filters"
671
  msgstr ""
672
 
673
- #: core/options-pages.php:773
674
  msgid "Force filters"
675
  msgstr ""
676
 
677
- #: core/options-pages.php:775
678
  msgid "Show media filters for ANY Media Popup"
679
  msgstr ""
680
 
681
- #: core/options-pages.php:776
682
  msgid "Try this if filters are not shown for third-party plugins or themes."
683
  msgstr ""
684
 
685
- #: core/options-pages.php:781
686
  msgid "Order media items by"
687
  msgstr ""
688
 
689
- #: core/options-pages.php:788 core/options-pages.php:800
690
  msgid "For media library and media popups"
691
  msgstr ""
692
 
693
- #: core/options-pages.php:789
694
  msgid "Option allows to change order by drag and drop with Custom Order value."
695
  msgstr ""
696
 
697
- #: core/options-pages.php:794
698
  msgid "Sort order"
699
  msgstr ""
700
 
701
- #: core/options-pages.php:813
702
- msgid "Gallery"
 
 
 
 
703
  msgstr ""
704
 
705
- #: core/options-pages.php:820 core/options-pages.php:823
706
- msgid "Enhanced gallery"
 
 
707
  msgstr ""
708
 
709
- #: core/options-pages.php:824
710
  msgid ""
711
- "Enhance WordPress native gallery shortcode to make it understand media "
712
- "taxonomies, date, and image number limit"
713
  msgstr ""
714
 
715
- #: core/options-pages.php:825
716
  msgid ""
717
- "The example: [gallery media_category=\"5\" limit=\"10\" monthnum=\"12\" year="
718
- "\"2015\"]"
719
  msgstr ""
720
 
721
- #: core/options-pages.php:827
 
 
 
 
 
 
722
  #, php-format
723
  msgid ""
724
  "%sWarning:%s Incompatibility with other gallery plugins or themes possible!"
725
  msgstr ""
726
 
727
- #: core/options-pages.php:829
728
  #, php-format
729
  msgid "%sLearn more%s."
730
  msgstr ""
731
 
732
- #: core/options-pages.php:831
733
  #, php-format
734
  msgid ""
735
  "Please check out your gallery front-end and back-end functionality once this "
@@ -737,70 +753,70 @@ msgid ""
737
  "%s."
738
  msgstr ""
739
 
740
- #: core/options-pages.php:883
741
  msgid "Add New MIME Type"
742
  msgstr ""
743
 
744
- #: core/options-pages.php:901 core/options-pages.php:956
745
  msgid "Extension"
746
  msgstr ""
747
 
748
- #: core/options-pages.php:902 core/options-pages.php:957
749
  msgid "MIME Type"
750
  msgstr ""
751
 
752
- #: core/options-pages.php:903 core/options-pages.php:958
753
  msgid "Singular Label"
754
  msgstr ""
755
 
756
- #: core/options-pages.php:904 core/options-pages.php:959
757
  msgid "Plural Label"
758
  msgstr ""
759
 
760
- #: core/options-pages.php:905 core/options-pages.php:935
761
- #: core/options-pages.php:948 core/options-pages.php:960
762
  msgid "Add Filter"
763
  msgstr ""
764
 
765
- #: core/options-pages.php:906 core/options-pages.php:936
766
- #: core/options-pages.php:949 core/options-pages.php:961
767
  msgid "Allow Upload"
768
  msgstr ""
769
 
770
- #: core/options-pages.php:950
771
  msgid "Delete MIME Type"
772
  msgstr ""
773
 
774
- #: core/options-pages.php:967
775
  msgid "Restore WordPress default MIME Types"
776
  msgstr ""
777
 
778
- #: core/options-pages.php:969 pro/enhanced-media-library-pro.php:179
779
  msgid "Save Changes"
780
  msgstr ""
781
 
782
- #: core/taxonomies.php:104
783
  msgid "Taxonomy settings saved."
784
  msgstr ""
785
 
786
- #: core/taxonomies.php:340 core/taxonomies.php:346
787
- #: enhanced-media-library.php:449
788
  msgid "Filter by "
789
  msgstr ""
790
 
791
- #: core/taxonomies.php:347 enhanced-media-library.php:450
792
  msgid "All "
793
  msgstr ""
794
 
795
- #: core/taxonomies.php:348 enhanced-media-library.php:451
796
  msgid "Not in "
797
  msgstr ""
798
 
799
- #: enhanced-media-library.php:483
800
  msgid "Uploaded to post #"
801
  msgstr ""
802
 
803
- #: enhanced-media-library.php:484
804
  msgid "Based On"
805
  msgstr ""
806
 
@@ -848,39 +864,39 @@ msgstr ""
848
  msgid "Delete Selected"
849
  msgstr ""
850
 
851
- #: pro/core/gallery.php:21
852
  msgid "Order By"
853
  msgstr ""
854
 
855
- #: pro/core/gallery.php:25
856
  msgid "Date"
857
  msgstr ""
858
 
859
- #: pro/core/gallery.php:28
860
  msgid "Title"
861
  msgstr ""
862
 
863
- #: pro/core/gallery.php:31
864
  msgid "Custom Order"
865
  msgstr ""
866
 
867
- #: pro/core/gallery.php:34
868
  msgid "Random"
869
  msgstr ""
870
 
871
- #: pro/core/gallery.php:40
872
  msgid "Order"
873
  msgstr ""
874
 
875
- #: pro/core/gallery.php:44
876
  msgid "Ascending"
877
  msgstr ""
878
 
879
- #: pro/core/gallery.php:47
880
  msgid "Descending"
881
  msgstr ""
882
 
883
- #: pro/core/gallery.php:57
884
  msgid "Limit"
885
  msgstr ""
886
 
@@ -1020,18 +1036,26 @@ msgstr ""
1020
  msgid "Create a filter-based gallery"
1021
  msgstr ""
1022
 
1023
- #: pro/enhanced-media-library-pro.php:280
 
 
 
 
 
 
 
 
1024
  msgid ""
1025
  "Please deactivate and <strong>remove</strong> the old FREE version prior to "
1026
  "the <strong>Enhanced Media Library PRO</strong> activation. All your data "
1027
  "will remain intact."
1028
  msgstr ""
1029
 
1030
- #: pro/enhanced-media-library-pro.php:280
1031
  msgid "Return to Plugins"
1032
  msgstr ""
1033
 
1034
- #: pro/enhanced-media-library-pro.php:331
1035
  msgid ""
1036
  "Both FREE and PRO versions of the Enhanced Media Library are network active. "
1037
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
@@ -1039,14 +1063,14 @@ msgid ""
1039
  "plugin. All your data will remail intact."
1040
  msgstr ""
1041
 
1042
- #: pro/enhanced-media-library-pro.php:348
1043
  msgid ""
1044
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
1045
  "be active. Please deactivate and delete the free version of the plugin. All "
1046
  "your data will remain intact."
1047
  msgstr ""
1048
 
1049
- #: pro/enhanced-media-library-pro.php:364
1050
  msgid ""
1051
  "Both FREE and PRO versions of the Enhanced Media Library are active for this "
1052
  "site. <strong>Enhanced Media Library PRO</strong> does not require free "
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: Enhanced Media Library PRO\n"
7
+ "POT-Creation-Date: 2016-01-20 00:06+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
36
  msgstr[0] ""
37
  msgstr[1] ""
38
 
39
+ #: core/class-eml-media-list-table.php:65 enhanced-media-library.php:453
40
  msgid "All Uncategorized"
41
  msgstr ""
42
 
52
  msgid "Filter"
53
  msgstr ""
54
 
55
+ #: core/class-eml-media-list-table.php:90 enhanced-media-library.php:457
56
  msgid "Reset All Filters"
57
  msgstr ""
58
 
365
  msgstr ""
366
 
367
  #: core/options-pages.php:90 core/options-pages.php:561
368
+ #: core/options-pages.php:584 core/options-pages.php:630
369
+ #: core/options-pages.php:696 core/options-pages.php:1058
370
  msgid "Settings"
371
  msgstr ""
372
 
376
  msgstr ""
377
 
378
  #: core/options-pages.php:106 core/options-pages.php:107
379
+ #: core/options-pages.php:886
380
  msgid "MIME Types"
381
  msgstr ""
382
 
383
  #: core/options-pages.php:143 core/options-pages.php:535
384
+ #: core/options-pages.php:550 core/options-pages.php:619
385
+ #: core/options-pages.php:693
386
  msgid "Edit"
387
  msgstr ""
388
 
391
  msgstr ""
392
 
393
  #: core/options-pages.php:145 core/options-pages.php:551
394
+ #: core/options-pages.php:620
395
  msgid "View"
396
  msgstr ""
397
 
398
  #: core/options-pages.php:146 core/options-pages.php:552
399
+ #: core/options-pages.php:621
400
  msgid "Update"
401
  msgstr ""
402
 
403
  #: core/options-pages.php:147 core/options-pages.php:553
404
+ #: core/options-pages.php:622
405
  msgid "Add New"
406
  msgstr ""
407
 
408
  #: core/options-pages.php:148 core/options-pages.php:554
409
+ #: core/options-pages.php:623
410
  msgid "New"
411
  msgstr ""
412
 
415
  msgstr ""
416
 
417
  #: core/options-pages.php:150 core/options-pages.php:555
418
+ #: core/options-pages.php:624
419
  msgid "Parent"
420
  msgstr ""
421
 
422
  #: core/options-pages.php:151 core/options-pages.php:549
423
+ #: core/options-pages.php:618
424
  msgid "All"
425
  msgstr ""
426
 
427
  #: core/options-pages.php:152 core/options-pages.php:556
428
+ #: core/options-pages.php:625
429
  msgid "Search"
430
  msgstr ""
431
 
439
  msgid "There is already a taxonomy with the same name. Please chose other one."
440
  msgstr ""
441
 
442
+ #: core/options-pages.php:156 core/options-pages.php:606
443
  msgid "New Taxonomy"
444
  msgstr ""
445
 
468
  msgstr ""
469
 
470
  #: core/options-pages.php:189 core/options-pages.php:486
471
+ #: core/options-pages.php:878
472
  msgid "You do not have sufficient permissions to access this page."
473
  msgstr ""
474
 
552
  msgid "Media Taxonomies"
553
  msgstr ""
554
 
555
+ #: core/options-pages.php:514 core/options-pages.php:668
556
  msgid "Assign following taxonomies to Media Library:"
557
  msgstr ""
558
 
559
+ #: core/options-pages.php:532 core/options-pages.php:604
560
+ #: core/options-pages.php:686
561
  msgid "Assign Taxonomy"
562
  msgstr ""
563
 
564
+ #: core/options-pages.php:535 core/options-pages.php:693
565
  msgid "Edit Taxonomy"
566
  msgstr ""
567
 
568
+ #: core/options-pages.php:539 core/options-pages.php:608
569
  msgid "Delete Taxonomy"
570
  msgstr ""
571
 
572
+ #: core/options-pages.php:544 core/options-pages.php:613
573
  msgid "Labels"
574
  msgstr ""
575
 
576
+ #: core/options-pages.php:546 core/options-pages.php:615
577
  msgid "Singular"
578
  msgstr ""
579
 
580
+ #: core/options-pages.php:547 core/options-pages.php:616
581
  msgid "Plural"
582
  msgstr ""
583
 
584
+ #: core/options-pages.php:548 core/options-pages.php:617
585
  msgid "Menu Name"
586
  msgstr ""
587
 
588
+ #: core/options-pages.php:563 core/options-pages.php:632
589
  msgid "Taxonomy Name"
590
  msgstr ""
591
 
592
+ #: core/options-pages.php:564 core/options-pages.php:633
593
  msgid "Hierarchical"
594
  msgstr ""
595
 
596
+ #: core/options-pages.php:565 core/options-pages.php:634
597
  msgid "Column in List View"
598
  msgstr ""
599
 
600
+ #: core/options-pages.php:566 core/options-pages.php:586
601
+ #: core/options-pages.php:635 core/options-pages.php:698
602
  msgid "Filter in List View"
603
  msgstr ""
604
 
605
+ #: core/options-pages.php:567 core/options-pages.php:587
606
+ #: core/options-pages.php:636 core/options-pages.php:699
607
  msgid "Filter in Grid View / Media Popup"
608
  msgstr ""
609
 
610
+ #: core/options-pages.php:568 core/options-pages.php:588
611
+ #: core/options-pages.php:637 core/options-pages.php:700
612
  msgid "Edit in Media Popup"
613
  msgstr ""
614
 
615
+ #: core/options-pages.php:569 core/options-pages.php:638
616
  msgid "Show in Nav Menu"
617
  msgstr ""
618
 
619
+ #: core/options-pages.php:570 core/options-pages.php:639
620
  msgid "Remember Terms Order (sort)"
621
  msgstr ""
622
 
623
+ #: core/options-pages.php:571 core/options-pages.php:640
624
+ msgid "Show in REST"
625
+ msgstr ""
626
+
627
+ #: core/options-pages.php:572 core/options-pages.php:641
628
  msgid "Rewrite Slug"
629
  msgstr ""
630
 
631
+ #: core/options-pages.php:573 core/options-pages.php:642
632
  msgid "Slug with Front"
633
  msgstr ""
634
 
635
+ #: core/options-pages.php:654
636
  msgid "Add New Taxonomy"
637
  msgstr ""
638
 
639
+ #: core/options-pages.php:664
640
  msgid "Non-Media Taxonomies"
641
  msgstr ""
642
 
643
+ #: core/options-pages.php:727
644
  msgid "Options"
645
  msgstr ""
646
 
647
+ #: core/options-pages.php:733
648
  msgid "General"
649
  msgstr ""
650
 
651
+ #: core/options-pages.php:739 core/options-pages.php:742
652
  msgid "Taxonomy archive pages"
653
  msgstr ""
654
 
655
+ #: core/options-pages.php:743
656
  msgid "Turn on media taxonomy archive pages on the front-end"
657
  msgstr ""
658
 
659
+ #: core/options-pages.php:744
660
  msgid ""
661
  "Re-save your permalink settings after this option change to make it work."
662
  msgstr ""
663
 
664
+ #: core/options-pages.php:750
665
  msgid "Assign all like hierarchical"
666
  msgstr ""
667
 
668
+ #: core/options-pages.php:753 core/options-pages.php:754
669
  msgid ""
670
  "Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup"
671
  msgstr ""
672
 
673
+ #: core/options-pages.php:768
674
  msgid "Filters"
675
  msgstr ""
676
 
677
+ #: core/options-pages.php:775
678
  msgid "Force filters"
679
  msgstr ""
680
 
681
+ #: core/options-pages.php:777
682
  msgid "Show media filters for ANY Media Popup"
683
  msgstr ""
684
 
685
+ #: core/options-pages.php:778
686
  msgid "Try this if filters are not shown for third-party plugins or themes."
687
  msgstr ""
688
 
689
+ #: core/options-pages.php:783
690
  msgid "Order media items by"
691
  msgstr ""
692
 
693
+ #: core/options-pages.php:790 core/options-pages.php:802
694
  msgid "For media library and media popups"
695
  msgstr ""
696
 
697
+ #: core/options-pages.php:791
698
  msgid "Option allows to change order by drag and drop with Custom Order value."
699
  msgstr ""
700
 
701
+ #: core/options-pages.php:796
702
  msgid "Sort order"
703
  msgstr ""
704
 
705
+ #: core/options-pages.php:815
706
+ msgid "Media Shortcodes"
707
+ msgstr ""
708
+
709
+ #: core/options-pages.php:822 core/options-pages.php:825
710
+ msgid "Enhanced media shortcodes"
711
  msgstr ""
712
 
713
+ #: core/options-pages.php:826
714
+ msgid ""
715
+ "Enhance WordPress media shortcodes to make them understand media taxonomies, "
716
+ "uploade date, and media items number limit"
717
  msgstr ""
718
 
719
+ #: core/options-pages.php:827
720
  msgid ""
721
+ "Gallery example: [gallery media_category=\"5\" limit=\"10\" monthnum=\"12\" "
722
+ "year=\"2015\"]"
723
  msgstr ""
724
 
725
+ #: core/options-pages.php:828
726
  msgid ""
727
+ "Audio playlist example: [playlist media_category=\"5\" limit=\"10\" monthnum="
728
+ "\"12\" year=\"2015\"]"
729
  msgstr ""
730
 
731
+ #: core/options-pages.php:829
732
+ msgid ""
733
+ "Video playlist example: [playlist type=\"video\" media_category=\"5\" limit="
734
+ "\"10\" monthnum=\"12\" year=\"2015\"]"
735
+ msgstr ""
736
+
737
+ #: core/options-pages.php:831
738
  #, php-format
739
  msgid ""
740
  "%sWarning:%s Incompatibility with other gallery plugins or themes possible!"
741
  msgstr ""
742
 
743
+ #: core/options-pages.php:833
744
  #, php-format
745
  msgid "%sLearn more%s."
746
  msgstr ""
747
 
748
+ #: core/options-pages.php:835
749
  #, php-format
750
  msgid ""
751
  "Please check out your gallery front-end and back-end functionality once this "
753
  "%s."
754
  msgstr ""
755
 
756
+ #: core/options-pages.php:887
757
  msgid "Add New MIME Type"
758
  msgstr ""
759
 
760
+ #: core/options-pages.php:905 core/options-pages.php:960
761
  msgid "Extension"
762
  msgstr ""
763
 
764
+ #: core/options-pages.php:906 core/options-pages.php:961
765
  msgid "MIME Type"
766
  msgstr ""
767
 
768
+ #: core/options-pages.php:907 core/options-pages.php:962
769
  msgid "Singular Label"
770
  msgstr ""
771
 
772
+ #: core/options-pages.php:908 core/options-pages.php:963
773
  msgid "Plural Label"
774
  msgstr ""
775
 
776
+ #: core/options-pages.php:909 core/options-pages.php:939
777
+ #: core/options-pages.php:952 core/options-pages.php:964
778
  msgid "Add Filter"
779
  msgstr ""
780
 
781
+ #: core/options-pages.php:910 core/options-pages.php:940
782
+ #: core/options-pages.php:953 core/options-pages.php:965
783
  msgid "Allow Upload"
784
  msgstr ""
785
 
786
+ #: core/options-pages.php:954
787
  msgid "Delete MIME Type"
788
  msgstr ""
789
 
790
+ #: core/options-pages.php:971
791
  msgid "Restore WordPress default MIME Types"
792
  msgstr ""
793
 
794
+ #: core/options-pages.php:973 pro/enhanced-media-library-pro.php:179
795
  msgid "Save Changes"
796
  msgstr ""
797
 
798
+ #: core/taxonomies.php:71
799
  msgid "Taxonomy settings saved."
800
  msgstr ""
801
 
802
+ #: core/taxonomies.php:307 core/taxonomies.php:313
803
+ #: enhanced-media-library.php:454
804
  msgid "Filter by "
805
  msgstr ""
806
 
807
+ #: core/taxonomies.php:314 enhanced-media-library.php:455
808
  msgid "All "
809
  msgstr ""
810
 
811
+ #: core/taxonomies.php:315 enhanced-media-library.php:456
812
  msgid "Not in "
813
  msgstr ""
814
 
815
+ #: enhanced-media-library.php:488
816
  msgid "Uploaded to post #"
817
  msgstr ""
818
 
819
+ #: enhanced-media-library.php:489
820
  msgid "Based On"
821
  msgstr ""
822
 
864
  msgid "Delete Selected"
865
  msgstr ""
866
 
867
+ #: pro/core/medialist.php:21 pro/core/medialist.php:66
868
  msgid "Order By"
869
  msgstr ""
870
 
871
+ #: pro/core/medialist.php:25 pro/core/medialist.php:70
872
  msgid "Date"
873
  msgstr ""
874
 
875
+ #: pro/core/medialist.php:28 pro/core/medialist.php:73
876
  msgid "Title"
877
  msgstr ""
878
 
879
+ #: pro/core/medialist.php:31 pro/core/medialist.php:76
880
  msgid "Custom Order"
881
  msgstr ""
882
 
883
+ #: pro/core/medialist.php:34 pro/core/medialist.php:79
884
  msgid "Random"
885
  msgstr ""
886
 
887
+ #: pro/core/medialist.php:40 pro/core/medialist.php:85
888
  msgid "Order"
889
  msgstr ""
890
 
891
+ #: pro/core/medialist.php:44 pro/core/medialist.php:89
892
  msgid "Ascending"
893
  msgstr ""
894
 
895
+ #: pro/core/medialist.php:47 pro/core/medialist.php:92
896
  msgid "Descending"
897
  msgstr ""
898
 
899
+ #: pro/core/medialist.php:57 pro/core/medialist.php:98
900
  msgid "Limit"
901
  msgstr ""
902
 
1036
  msgid "Create a filter-based gallery"
1037
  msgstr ""
1038
 
1039
+ #: pro/enhanced-media-library-pro.php:207
1040
+ msgid "Create a filter-based playlist"
1041
+ msgstr ""
1042
+
1043
+ #: pro/enhanced-media-library-pro.php:208
1044
+ msgid "Create a filter-based video playlist"
1045
+ msgstr ""
1046
+
1047
+ #: pro/enhanced-media-library-pro.php:282
1048
  msgid ""
1049
  "Please deactivate and <strong>remove</strong> the old FREE version prior to "
1050
  "the <strong>Enhanced Media Library PRO</strong> activation. All your data "
1051
  "will remain intact."
1052
  msgstr ""
1053
 
1054
+ #: pro/enhanced-media-library-pro.php:282
1055
  msgid "Return to Plugins"
1056
  msgstr ""
1057
 
1058
+ #: pro/enhanced-media-library-pro.php:333
1059
  msgid ""
1060
  "Both FREE and PRO versions of the Enhanced Media Library are network active. "
1061
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
1063
  "plugin. All your data will remail intact."
1064
  msgstr ""
1065
 
1066
+ #: pro/enhanced-media-library-pro.php:350
1067
  msgid ""
1068
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
1069
  "be active. Please deactivate and delete the free version of the plugin. All "
1070
  "your data will remain intact."
1071
  msgstr ""
1072
 
1073
+ #: pro/enhanced-media-library-pro.php:366
1074
  msgid ""
1075
  "Both FREE and PRO versions of the Enhanced Media Library are active for this "
1076
  "site. <strong>Enhanced Media Library PRO</strong> does not require free "
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: webbistro
3
  Tags: media library, media category, media categories, media gallery, gallery shortcode, media tag, media tags, media taxonomy, media taxonomies, media uploader, mime type, mime, mime types, file types, media types, media filter, attachment, gallery, image, images, media, ux, user experience, wp-admin, admin, taxonomy, taxonomies
4
  Requires at least: 4.4
5
  Tested up to: 4.4.1
6
- Stable tag: 2.1.5
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -35,13 +35,13 @@ You can also assign to the media library built-in WordPress taxonomies – Categ
35
  **Order options.** With two options "Order media items by" (Date, Title, and Custom Order) and "Sort order" (Ascending and Descending) you can control media items order for all screens of the media library in WP admin. "Custom Order" allows to re-order media items within a category with drag and drop. This order will be used, in particular, for the gallery based on this category. See `Media Settings > Taxonomies > Options > Filters`.
36
 
37
 
38
- = Filter-Based Image Galleries =
39
 
40
- **Fully compatible with WordPress native gallery shortcode**
41
 
42
- Image categorizing can be useful for the front-end as well. To insert media galleries based on media categories you have to use the familiar format like `[gallery media_category="5" category="2" limit="10" monthnum="12" year="2015" orderby="title" order="DESC"]`. The PRO version of the plugin allows to manage gallery shortcode without "coding" at all. Just choose the settings with the plugin's UI in the familiar gallery edit popup and see your gallery live immediately in the post/page editor.
43
 
44
- To turn on the feature set "Enhanced gallery" option on `Media Settings > Taxonomies > Options > Gallery`. Please be advised that conflicts with other gallery plugins or themes are possible. Check your front-end and back-end gallery functionality after activating the feature.
45
 
46
 
47
  = MIME Types =
@@ -110,7 +110,7 @@ Please notice that you use the Enhanced Media Library with other plugins that ad
110
  = Useful Links =
111
 
112
  * [Where to start? (The complete beginners guide)](http://wpuxsolutions.com/documents/enhanced-media-library/eml-where-to-start/)
113
- * [Enhanced Gallery Possible Conflicts](http://www.wpuxsolutions.com/documents/enhanced-media-library/enhanced-gallery-possible-conflicts/)
114
 
115
 
116
 
@@ -144,6 +144,12 @@ Since EML 2.1 you can use gallery shortcode with taxonomy parameters like this:
144
 
145
  Also, you can use WP_Query ([example of the code](http://wordpress.org/support/topic/php-displaying-an-array-of-images-per-category-or-categories)).
146
 
 
 
 
 
 
 
147
  = My gallery behavior is strange | Wrong or none media items displayed | Ligtbox/carousel/slideshow/mosaic looks broken =
148
 
149
  The plugin enhances WordPress gallery shortcode in most gentle manner possible. Since v2.1.5 the mechanism of the enhancement is dramatically improved to avoid possible conflicts. In most cases Enhanced Media Library is compatible with any plugin that changes *native* WP gallery template in order to provide lightbox, carousel, slideshow, grid/mosaic functionality.
@@ -152,7 +158,7 @@ That said, other plugins might override WP gallery attributes or database query
152
 
153
  If you find a possible conflict and prefer third-party features to taxonomy-based gallery of the plugin, please deactivate the feature (unset "Enhanced gallery" option on `Media Settings > Taxonomies > Options > Gallery`) and let us know about the issue. We would like to find a solution!
154
 
155
- If you are a plugin/theme developer please read [Enhanced Gallery Possible Conflicts](http://www.wpuxsolutions.com/documents/enhanced-media-library/enhanced-gallery-possible-conflicts/)
156
 
157
  = I get "Something went wrong" error when bulk-editing in PRO =
158
 
@@ -188,6 +194,23 @@ No, all your data will remain intact. Your created media categories and their ti
188
 
189
  == Changelog ==
190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
  = 2.1.5 =
192
  *Release Date - January 14, 2016*
193
 
3
  Tags: media library, media category, media categories, media gallery, gallery shortcode, media tag, media tags, media taxonomy, media taxonomies, media uploader, mime type, mime, mime types, file types, media types, media filter, attachment, gallery, image, images, media, ux, user experience, wp-admin, admin, taxonomy, taxonomies
4
  Requires at least: 4.4
5
  Tested up to: 4.4.1
6
+ Stable tag: 2.1.6
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
35
  **Order options.** With two options "Order media items by" (Date, Title, and Custom Order) and "Sort order" (Ascending and Descending) you can control media items order for all screens of the media library in WP admin. "Custom Order" allows to re-order media items within a category with drag and drop. This order will be used, in particular, for the gallery based on this category. See `Media Settings > Taxonomies > Options > Filters`.
36
 
37
 
38
+ = Filter-Based Shortcodes =
39
 
40
+ **Image Gallery and Audio / Video Playlist**
41
 
42
+ **Fully compatible with WordPress native shortcodes.** Media items categorizing can be useful for the front-end as well. To insert media galleries or audio / video playlists based on media categories you have to use the familiar format like `[gallery media_category="5" category="2" limit="10" monthnum="12" year="2015" orderby="title" order="DESC"]` or `[playlist media_category="5" category="2" limit="10" monthnum="12" year="2015" orderby="title" order="DESC"]`. The PRO version of the plugin allows to manage gallery or playlist shortcode without "coding" at all. Just choose the settings with the plugin's UI in the familiar edit popup and see your gallery / playlis live immediately in the post/page editor.
43
 
44
+ To turn on the feature set "Enhanced media shortcodes" option on `Media Settings > Taxonomies > Options > Media shortcodes`. Please be advised that conflicts with other gallery plugins or themes are possible. Check your front-end and back-end gallery / playlist functionality after activating the feature.
45
 
46
 
47
  = MIME Types =
110
  = Useful Links =
111
 
112
  * [Where to start? (The complete beginners guide)](http://wpuxsolutions.com/documents/enhanced-media-library/eml-where-to-start/)
113
+ * [Enhanced Media Shortcode Possible Conflicts](http://www.wpuxsolutions.com/documents/enhanced-media-library/enhanced-media-shortcode-possible-conflicts/)
114
 
115
 
116
 
144
 
145
  Also, you can use WP_Query ([example of the code](http://wordpress.org/support/topic/php-displaying-an-array-of-images-per-category-or-categories)).
146
 
147
+ = Drag and Drop re-order does not work for media library =
148
+
149
+ First, please make sure that you chose "Custom Order" on `Media Settings > Taxonomies > Options > Filters > Order media items by`.
150
+
151
+ If you use Chrome on Windows, there can be an unexplored issue with it. See core tickets [#22607](https://core.trac.wordpress.org/ticket/22607), [#29606](https://core.trac.wordpress.org/ticket/29606), [#31652](https://core.trac.wordpress.org/ticket/31652). Feel free to contribute your issue details. Meanwhile, use other browser to re-order with drag and drop.
152
+
153
  = My gallery behavior is strange | Wrong or none media items displayed | Ligtbox/carousel/slideshow/mosaic looks broken =
154
 
155
  The plugin enhances WordPress gallery shortcode in most gentle manner possible. Since v2.1.5 the mechanism of the enhancement is dramatically improved to avoid possible conflicts. In most cases Enhanced Media Library is compatible with any plugin that changes *native* WP gallery template in order to provide lightbox, carousel, slideshow, grid/mosaic functionality.
158
 
159
  If you find a possible conflict and prefer third-party features to taxonomy-based gallery of the plugin, please deactivate the feature (unset "Enhanced gallery" option on `Media Settings > Taxonomies > Options > Gallery`) and let us know about the issue. We would like to find a solution!
160
 
161
+ If you are a plugin/theme developer please read [Enhanced Media Shortcode Possible Conflicts](http://www.wpuxsolutions.com/documents/enhanced-media-library/enhanced-media-shortcode-possible-conflicts/)
162
 
163
  = I get "Something went wrong" error when bulk-editing in PRO =
164
 
194
 
195
  == Changelog ==
196
 
197
+ = 2.1.6 =
198
+ *Release Date - January 19, 2016*
199
+
200
+ = New =
201
+ * Support for [playlist] shortcode added
202
+ * Easy visual playlist editing with the native WordPress UI [PRO only]
203
+ * "Show in REST" option added per taxonomy, see [Registering A Custom Taxonomy With REST API Support](http://v2.wp-api.org/extending/custom-content-types/#registering-a-custom-taxonomy-with-rest-api-support)
204
+
205
+ = Improvements =
206
+ * Option "Enhanced gallery" replaced with "Enhanced media shortcodes"
207
+
208
+ = Bugfixes =
209
+ * Orderby and order behavior improved, minor bugs fixed
210
+ * Minor CSS fixes
211
+
212
+
213
+ &nbsp;
214
  = 2.1.5 =
215
  *Release Date - January 14, 2016*
216