Enhanced Media Library - Version 2.6.1

Version Description

Download this release

Release Info

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

Code changes from version 2.6.4 to 2.6.1

Files changed (4) hide show
  1. core/options-pages.php +14 -13
  2. core/taxonomies.php +44 -62
  3. enhanced-media-library.php +197 -169
  4. readme.txt +7 -10
core/options-pages.php CHANGED
@@ -1009,7 +1009,7 @@ if ( ! function_exists( 'wpuxss_eml_print_network_settings' ) ) {
1009
 
1010
  </table>
1011
 
1012
- <?php submit_button( __( 'Save Changes' ), 'primary', 'eml-submit-network-settings', true ); ?>
1013
 
1014
  </form>
1015
 
@@ -1023,13 +1023,12 @@ if ( ! function_exists( 'wpuxss_eml_print_network_settings' ) ) {
1023
 
1024
  <div class="inside">
1025
 
1026
- <?php
1027
  $wpuxss_eml_taxonomies = array();
1028
 
1029
- foreach( get_sites( array( 'fields' => 'ids' ) ) as $site_id ) :
1030
-
1031
- switch_to_blog( $site_id );
1032
 
 
1033
  $wpuxss_eml_taxonomies = array_merge( $wpuxss_eml_taxonomies, wpuxss_eml_get_eml_taxonomies() );
1034
 
1035
  restore_current_blog();
@@ -1103,7 +1102,7 @@ if ( ! function_exists( 'wpuxss_eml_update_network_settings' ) ) {
1103
 
1104
  function wpuxss_eml_update_network_settings() {
1105
 
1106
- if ( ! isset($_POST['eml-submit-network-settings']) )
1107
  return;
1108
 
1109
  check_admin_referer( 'eml-network-settings-options' );
@@ -1348,25 +1347,28 @@ if ( ! function_exists( 'wpuxss_eml_settings_cleanup' ) ) {
1348
 
1349
  if ( is_multisite() ) {
1350
 
1351
- foreach( get_sites( array( 'fields' => 'ids' ) ) as $site_id ) {
1352
 
1353
- switch_to_blog( $site_id );
1354
 
1355
  wpuxss_eml_term_relationship_cleanup();
1356
  wpuxss_eml_options_cleanup();
1357
- deactivate_plugins( wpuxss_get_eml_basename() );
1358
 
1359
  restore_current_blog();
1360
  }
 
 
1361
  }
1362
  else {
1363
 
1364
  wpuxss_eml_term_relationship_cleanup();
1365
  wpuxss_eml_options_cleanup();
 
 
1366
  }
1367
 
1368
- wpuxss_eml_common_options_cleanup();
1369
- wpuxss_eml_transients_cleanup();
1370
  deactivate_plugins( wpuxss_get_eml_basename(), false, is_multisite() );
1371
 
1372
 
@@ -1471,8 +1473,7 @@ if ( ! function_exists( 'wpuxss_eml_options_cleanup' ) ) {
1471
  'wpuxss_eml_tax_options',
1472
  'wpuxss_eml_mimes_backup',
1473
  'wpuxss_eml_mimes',
1474
- 'wpuxss_eml_backup',
1475
- 'wpuxss_eml_version'
1476
  );
1477
 
1478
  $options = apply_filters( 'wpuxss_eml_pro_add_options', $options );
1009
 
1010
  </table>
1011
 
1012
+ <?php submit_button( __( 'Save Changes' ), 'primary', 'submit', true, array( 'id' => 'eml-submit-network-settings' ) ); ?>
1013
 
1014
  </form>
1015
 
1023
 
1024
  <div class="inside">
1025
 
1026
+ <?php $sites = get_sites();
1027
  $wpuxss_eml_taxonomies = array();
1028
 
1029
+ foreach( $sites as $site ) :
 
 
1030
 
1031
+ switch_to_blog( $site->blog_id );
1032
  $wpuxss_eml_taxonomies = array_merge( $wpuxss_eml_taxonomies, wpuxss_eml_get_eml_taxonomies() );
1033
 
1034
  restore_current_blog();
1102
 
1103
  function wpuxss_eml_update_network_settings() {
1104
 
1105
+ if ( ! isset($_POST['submit']) )
1106
  return;
1107
 
1108
  check_admin_referer( 'eml-network-settings-options' );
1347
 
1348
  if ( is_multisite() ) {
1349
 
1350
+ foreach( get_sites() as $site ) {
1351
 
1352
+ switch_to_blog( $site->blog_id );
1353
 
1354
  wpuxss_eml_term_relationship_cleanup();
1355
  wpuxss_eml_options_cleanup();
1356
+ wpuxss_eml_transients_cleanup();
1357
 
1358
  restore_current_blog();
1359
  }
1360
+
1361
+ wpuxss_eml_common_options_cleanup();
1362
  }
1363
  else {
1364
 
1365
  wpuxss_eml_term_relationship_cleanup();
1366
  wpuxss_eml_options_cleanup();
1367
+ wpuxss_eml_common_options_cleanup();
1368
+ wpuxss_eml_transients_cleanup();
1369
  }
1370
 
1371
+
 
1372
  deactivate_plugins( wpuxss_get_eml_basename(), false, is_multisite() );
1373
 
1374
 
1473
  'wpuxss_eml_tax_options',
1474
  'wpuxss_eml_mimes_backup',
1475
  'wpuxss_eml_mimes',
1476
+ 'wpuxss_eml_backup'
 
1477
  );
1478
 
1479
  $options = apply_filters( 'wpuxss_eml_pro_add_options', $options );
core/taxonomies.php CHANGED
@@ -495,8 +495,8 @@ if ( ! function_exists( 'wpuxss_eml_dropdown_cats' ) ) {
495
  /**
496
  * wpuxss_eml_parse_tax_query
497
  *
498
- * @since 2.6.4
499
- * @created 23/05/18
500
  */
501
 
502
  add_action( 'parse_tax_query', 'wpuxss_eml_parse_tax_query' );
@@ -505,63 +505,18 @@ if ( ! function_exists( 'wpuxss_eml_parse_tax_query' ) ) {
505
 
506
  function wpuxss_eml_parse_tax_query( $query ) {
507
 
508
- if ( ! $query->is_main_query() ) {
509
- return;
510
- }
511
-
512
-
513
- $wpuxss_eml_tax_options = get_option( 'wpuxss_eml_tax_options', array() );
514
-
515
- if ( (bool) $wpuxss_eml_tax_options['tax_archives'] ) {
516
-
517
- $wpuxss_eml_lib_options = get_option( 'wpuxss_eml_lib_options', array() );
518
-
519
- foreach ( get_option('wpuxss_eml_taxonomies', array() ) as $taxonomy => $params ) {
520
-
521
- if ( (bool) $params['assigned'] && (bool) $params['eml_media'] && is_tax( $taxonomy ) ) {
522
-
523
- $query->tax_query->queries[0]['include_children'] = (bool) $wpuxss_eml_lib_options['include_children'];
524
- }
525
- }
526
- }
527
- }
528
- }
529
-
530
-
531
-
532
- /**
533
- * wpuxss_eml_backend_parse_tax_query
534
- *
535
- * @since 2.6.4
536
- * @created 23/05/18
537
- */
538
-
539
- add_action( 'parse_tax_query', 'wpuxss_eml_backend_parse_tax_query' );
540
-
541
- if ( ! function_exists( 'wpuxss_eml_backend_parse_tax_query' ) ) {
542
-
543
- function wpuxss_eml_backend_parse_tax_query( $query ) {
544
-
545
  global $current_screen;
546
 
547
 
548
- if ( ! is_admin() ) {
549
- return;
550
- }
551
-
552
-
553
- if ( ! isset( $current_screen ) || 'upload' !== $current_screen->base ) {
554
- return;
555
- }
556
-
557
- if ( ! $query->is_main_query() ) {
558
  return;
559
  }
560
 
561
 
562
  $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
563
 
564
- if ( 'list' !== $media_library_mode ) {
 
565
  return;
566
  }
567
 
@@ -1379,7 +1334,6 @@ if ( ! function_exists( 'wpuxss_eml_the_posts' ) ) {
1379
  * wpuxss_eml_pre_get_posts
1380
  *
1381
  * Taxonomy archive specific query (front-end)
1382
- * Ensure correct items order
1383
  *
1384
  * @since 1.0
1385
  * @created 03/08/13
@@ -1407,7 +1361,6 @@ if ( ! function_exists('wpuxss_eml_pre_get_posts') ) {
1407
  }
1408
 
1409
 
1410
- // front-end only
1411
  if ( ! is_admin() ) {
1412
 
1413
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
@@ -1428,27 +1381,56 @@ if ( ! function_exists('wpuxss_eml_pre_get_posts') ) {
1428
  }
1429
 
1430
 
1431
- // both front-end and back-end
1432
  if ( 'attachment' !== $query->get('post_type') ) {
1433
  return;
1434
  }
1435
 
1436
 
1437
- $query_orderby = $query->get('orderby');
1438
- $query_order = $query->get('order');
1439
 
1440
- if ( $query_orderby && $query_order ) {
1441
- return;
 
 
 
 
 
 
 
 
1442
  }
1443
 
1444
 
1445
- $wpuxss_eml_lib_options = get_option( 'wpuxss_eml_lib_options', array() );
 
 
 
 
 
 
 
1446
 
1447
- $orderby = ( 'menuOrder' === $wpuxss_eml_lib_options['media_orderby'] ) ? 'menu_order' : esc_attr( $wpuxss_eml_lib_options['media_orderby'] );
1448
- $order = esc_attr( $wpuxss_eml_lib_options['media_order'] );
 
 
 
 
 
 
 
 
 
 
1449
 
1450
- $query->set('orderby', $orderby );
1451
- $query->set('order', $order );
 
 
 
 
 
 
1452
  }
1453
  }
1454
 
495
  /**
496
  * wpuxss_eml_parse_tax_query
497
  *
498
+ * @since 2.0.4
499
+ * @created 19/02/15
500
  */
501
 
502
  add_action( 'parse_tax_query', 'wpuxss_eml_parse_tax_query' );
505
 
506
  function wpuxss_eml_parse_tax_query( $query ) {
507
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
508
  global $current_screen;
509
 
510
 
511
+ if ( ! is_admin() || ! isset( $current_screen ) ) {
 
 
 
 
 
 
 
 
 
512
  return;
513
  }
514
 
515
 
516
  $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
517
 
518
+
519
+ if ( 'upload' !== $current_screen->base || 'list' !== $media_library_mode ) {
520
  return;
521
  }
522
 
1334
  * wpuxss_eml_pre_get_posts
1335
  *
1336
  * Taxonomy archive specific query (front-end)
 
1337
  *
1338
  * @since 1.0
1339
  * @created 03/08/13
1361
  }
1362
 
1363
 
 
1364
  if ( ! is_admin() ) {
1365
 
1366
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
1381
  }
1382
 
1383
 
 
1384
  if ( 'attachment' !== $query->get('post_type') ) {
1385
  return;
1386
  }
1387
 
1388
 
1389
+ if ( empty( $query_orderby ) && empty( $query_order ) ) {
 
1390
 
1391
+ $wpuxss_eml_lib_options = get_option('wpuxss_eml_lib_options');
1392
+
1393
+ $query_orderby = $query->get('orderby');
1394
+ $query_order = $query->get('order');
1395
+
1396
+ $orderby = ( 'menuOrder' === $wpuxss_eml_lib_options['media_orderby'] ) ? 'menu_order' : $wpuxss_eml_lib_options['media_orderby'];
1397
+ $order = $wpuxss_eml_lib_options['media_order'];
1398
+
1399
+ $query->set('orderby', $orderby );
1400
+ $query->set('order', $order );
1401
  }
1402
 
1403
 
1404
+ }
1405
+ }
1406
+
1407
+
1408
+
1409
+ add_action( 'parse_tax_query', 'kia_no_child_terms' );
1410
+
1411
+ function kia_no_child_terms( $query ) {
1412
 
1413
+ if ( ! $query->is_main_query() ) {
1414
+ return;
1415
+ }
1416
+
1417
+
1418
+ if ( ! is_admin() ) {
1419
+
1420
+ $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
1421
+
1422
+ if ( (bool) $wpuxss_eml_tax_options['tax_archives'] ) {
1423
+
1424
+ $wpuxss_eml_lib_options = get_option('wpuxss_eml_lib_options');
1425
 
1426
+ foreach ( get_option('wpuxss_eml_taxonomies', array() ) as $taxonomy => $params ) {
1427
+
1428
+ if ( (bool) $params['assigned'] && (bool) $params['eml_media'] && is_tax( $taxonomy ) ) {
1429
+
1430
+ $query->tax_query->queries[0]['include_children'] = (bool) $wpuxss_eml_lib_options['include_children'];
1431
+ }
1432
+ }
1433
+ }
1434
  }
1435
  }
1436
 
enhanced-media-library.php CHANGED
@@ -3,14 +3,14 @@
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.6.4
7
  Author: wpUXsolutions
8
  Author URI: http://wpUXsolutions.com
9
  Text Domain: enhanced-media-library
10
  Domain Path: /languages
11
  License: GPL version 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
12
 
13
- Copyright 2013-2018 wpUXsolutions (email : wpUXsolutions@gmail.com)
14
  */
15
 
16
 
@@ -26,7 +26,7 @@ global $wp_version,
26
 
27
 
28
 
29
- if ( ! defined('EML_VERSION') ) define( 'EML_VERSION', '2.6.4' );
30
 
31
 
32
 
@@ -106,12 +106,6 @@ if ( is_admin() ) {
106
  include_once( 'core/options-pages.php' );
107
  }
108
 
109
-
110
-
111
- /**
112
- * Activation hook
113
- */
114
-
115
  register_activation_hook( __FILE__, 'wpuxss_eml_on_activation' );
116
 
117
 
@@ -142,17 +136,16 @@ if ( ! function_exists( 'wpuxss_eml_on_plugins_loaded' ) ) {
142
 
143
 
144
  // on update
145
- $eml_current_version = get_site_option( 'wpuxss_eml_version' );
146
 
147
- if ( false === $eml_current_version ) {
148
- $eml_current_version = get_option( 'wpuxss_eml_version' );
149
- }
150
-
151
- if ( EML_VERSION !== $eml_current_version ) {
152
 
153
- wpuxss_eml_on_activation();
154
  update_site_option( 'wpuxss_eml_version', EML_VERSION );
155
- delete_site_transient( 'eml_transient' );
 
 
 
 
156
  }
157
  }
158
  }
@@ -177,9 +170,11 @@ if ( ! function_exists( 'wpuxss_eml_on_init' ) ) {
177
 
178
  if ( is_multisite() && isset($plugins[wpuxss_get_eml_basename()]) ) {
179
 
180
- foreach( get_sites( array( 'fields' => 'ids' ) ) as $site_id ) {
181
 
182
- switch_to_blog( $site_id );
 
 
183
  wpuxss_eml_register_taxonomies();
184
  restore_current_blog();
185
  }
@@ -476,16 +471,14 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
476
  $terms_id_name_ready_for_script = wpuxss_eml_get_media_term_pairs( $terms, 'id=>name' );
477
 
478
 
 
479
  $users_ready_for_script = array();
480
 
481
- if ( current_user_can( 'manage_options' ) && in_array( 'authors', $wpuxss_eml_lib_options['filters_to_show'] ) ) {
482
-
483
- foreach( get_users( array( 'who' => 'authors' ) ) as $user ) {
484
- $users_ready_for_script[] = array(
485
- 'user_id' => $user->ID,
486
- 'user_name' => $user->data->display_name
487
- );
488
- }
489
  }
490
 
491
 
@@ -645,15 +638,13 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
645
 
646
  if ( ! function_exists( 'wpuxss_eml_on_activation' ) ) {
647
 
648
- function wpuxss_eml_on_activation() {
649
 
650
- $plugins = get_site_option( 'active_sitewide_plugins');
651
-
652
- if ( is_multisite() && isset($plugins[wpuxss_get_eml_basename()]) ) {
653
 
654
- foreach( get_sites( array( 'fields' => 'ids' ) ) as $site_id ) {
655
 
656
- switch_to_blog( $site_id );
657
  wpuxss_eml_set_options();
658
  restore_current_blog();
659
  }
@@ -662,11 +653,15 @@ if ( ! function_exists( 'wpuxss_eml_on_activation' ) ) {
662
  wpuxss_eml_set_options();
663
  }
664
 
665
- if ( is_multisite() ) {
666
- wpuxss_eml_set_network_options();
667
- }
 
 
 
668
 
669
- do_action( 'wpuxss_eml_on_activation' );
 
670
  }
671
  }
672
 
@@ -683,117 +678,186 @@ if ( ! function_exists( 'wpuxss_eml_set_options' ) ) {
683
 
684
  function wpuxss_eml_set_options() {
685
 
686
- $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies' );
687
- $wpuxss_eml_lib_options = get_option( 'wpuxss_eml_lib_options', array() );
688
- $wpuxss_eml_tax_options = get_option( 'wpuxss_eml_tax_options', array() );
689
-
690
 
691
- // taxonomies
692
- if ( false === $wpuxss_eml_taxonomies ) {
693
-
694
- $wpuxss_eml_taxonomies = array(
695
-
696
- 'media_category' => array(
697
- 'assigned' => 1,
698
- 'eml_media' => 1,
699
- 'public' => 1,
700
-
701
- 'labels' => array(
702
- 'name' => __( 'Media Categories', 'enhanced-media-library' ),
703
- 'singular_name' => __( 'Media Category', 'enhanced-media-library' ),
704
- 'menu_name' => __( 'Media Categories', 'enhanced-media-library' ),
705
- 'all_items' => __( 'All Media Categories', 'enhanced-media-library' ),
706
- 'edit_item' => __( 'Edit Media Category', 'enhanced-media-library' ),
707
- 'view_item' => __( 'View Media Category', 'enhanced-media-library' ),
708
- 'update_item' => __( 'Update Media Category', 'enhanced-media-library' ),
709
- 'add_new_item' => __( 'Add New Media Category', 'enhanced-media-library' ),
710
- 'new_item_name' => __( 'New Media Category Name', 'enhanced-media-library' ),
711
- 'parent_item' => __( 'Parent Media Category', 'enhanced-media-library' ),
712
- 'parent_item_colon' => __( 'Parent Media Category:', 'enhanced-media-library' ),
713
- 'search_items' => __( 'Search Media Categories', 'enhanced-media-library' )
714
- ),
715
-
716
- 'hierarchical' => 1,
717
-
718
- 'show_admin_column' => 1,
719
- 'admin_filter' => 1, // list view filter
720
- 'media_uploader_filter' => 1, // grid view filter
721
- 'media_popup_taxonomy_edit' => 1,
722
-
723
- 'show_in_nav_menus' => 1,
724
- 'sort' => 0,
725
- 'show_in_rest' => 0,
726
- 'rewrite' => array(
727
- 'slug' => 'media_category',
728
- 'with_front' => 1
729
- )
730
- )
731
- );
732
- }
733
-
734
- // false !== $wpuxss_eml_taxonomies
735
- else {
736
-
737
- // per-taxonomy settings
738
- $media_taxonomy_args_defaults = array(
739
  'assigned' => 1,
740
  'eml_media' => 1,
741
- 'media_only' => 0,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
742
 
743
  'hierarchical' => 1,
744
 
745
- 'show_admin_column' => 0,
746
- 'admin_filter' => 0,
747
- 'media_uploader_filter' => 0,
748
- 'media_popup_taxonomy_edit' => 0,
749
 
750
- 'show_in_nav_menus' => 0,
751
  'sort' => 0,
752
  'show_in_rest' => 0,
753
  'rewrite' => array(
 
754
  'with_front' => 1
755
  )
756
  );
757
 
758
- $non_media_taxonomy_args_defaults = array(
759
- 'assigned' => 0,
760
- 'eml_media' => 0,
761
- 'media_only' => 0,
762
- 'admin_filter' => 0,
763
- 'media_uploader_filter' => 0,
764
- 'media_popup_taxonomy_edit' => 0,
765
- 'taxonomy_auto_assign' => 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
766
  );
767
 
 
 
768
 
769
- foreach( $wpuxss_eml_taxonomies as $taxonomy => $params ) {
770
 
771
- if ( ! isset( $params['eml_media'] ) ) {
772
- $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] = 0;
773
- }
 
774
 
775
- if ( (bool) $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] ) {
 
776
 
777
- $wpuxss_eml_taxonomies[$taxonomy] = array_intersect_key( $params, $media_taxonomy_args_defaults);
778
- $wpuxss_eml_taxonomies[$taxonomy] = array_merge( $media_taxonomy_args_defaults, $params );
779
 
780
- if ( ! isset( $params['rewrite']['slug'] ) || empty( $params['rewrite']['slug'] ) ) {
781
- $wpuxss_eml_taxonomies[$taxonomy]['rewrite']['slug'] = $taxonomy;
782
- }
783
- }
784
 
785
- if ( ! (bool) $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] ) {
786
 
787
- $wpuxss_eml_taxonomies[$taxonomy] = array_intersect_key( $params, $non_media_taxonomy_args_defaults);
788
- $wpuxss_eml_taxonomies[$taxonomy] = array_merge( $non_media_taxonomy_args_defaults, $params );
789
- }
 
 
 
 
790
  }
 
 
 
 
 
 
 
791
  }
792
 
793
- update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
 
 
794
 
795
 
796
- // media library options
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
797
  $eml_lib_options_defaults = array(
798
  'enhance_media_shortcodes' => isset( $wpuxss_eml_tax_options['enhance_media_shortcodes'] ) ? (bool) $wpuxss_eml_tax_options['enhance_media_shortcodes'] : ( isset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] ) ? (bool) $wpuxss_eml_tax_options['enhance_gallery_shortcode'] : 0 ),
799
  'media_orderby' => isset( $wpuxss_eml_tax_options['media_orderby'] ) ? sanitize_text_field( $wpuxss_eml_tax_options['media_orderby'] ) : 'date',
@@ -819,10 +883,8 @@ if ( ! function_exists( 'wpuxss_eml_set_options' ) ) {
819
  $wpuxss_eml_lib_options = array_intersect_key( $wpuxss_eml_lib_options, $eml_lib_options_defaults );
820
  $wpuxss_eml_lib_options = array_merge( $eml_lib_options_defaults, $wpuxss_eml_lib_options );
821
 
822
- update_option( 'wpuxss_eml_lib_options', $wpuxss_eml_lib_options );
823
-
824
 
825
- // taxonomy options
826
  $eml_tax_options_defaults = array(
827
  'tax_archives' => 0, // since 2.6
828
  'edit_all_as_hierarchical' => 0
@@ -831,61 +893,27 @@ if ( ! function_exists( 'wpuxss_eml_set_options' ) ) {
831
  $wpuxss_eml_tax_options = array_intersect_key( $wpuxss_eml_tax_options, $eml_tax_options_defaults );
832
  $wpuxss_eml_tax_options = array_merge( $eml_tax_options_defaults, $wpuxss_eml_tax_options );
833
 
834
- update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
835
 
 
 
 
836
 
837
- // MIME types
838
- if ( false === get_option( 'wpuxss_eml_mimes' ) ) {
839
 
840
- $allowed_mimes = get_allowed_mime_types();
841
- $default_mimes = array();
842
 
843
- foreach ( wp_get_mime_types() as $type => $mime ) {
844
 
845
- $wpuxss_eml_mimes[$type] = $default_mimes[$type] = array(
846
- 'mime' => $mime,
847
- 'singular' => $mime,
848
- 'plural' => $mime,
849
- 'filter' => 0,
850
- 'upload' => isset($allowed_mimes[$type]) ? 1 : 0
851
- );
852
- }
853
 
854
- $wpuxss_eml_mimes['pdf']['singular'] = 'PDF';
855
- $wpuxss_eml_mimes['pdf']['plural'] = 'PDFs';
856
- $wpuxss_eml_mimes['pdf']['filter'] = 1;
857
 
858
- update_option( 'wpuxss_eml_mimes', $wpuxss_eml_mimes );
859
- update_option( 'wpuxss_eml_mimes_backup', $default_mimes );
860
  }
861
  }
862
  }
863
 
864
-
865
-
866
- /**
867
- * wpuxss_eml_set_network_options
868
- *
869
- * @since 2.6.3
870
- * @created 21/05/18
871
- */
872
-
873
- if ( ! function_exists( 'wpuxss_eml_set_network_options' ) ) {
874
-
875
- function wpuxss_eml_set_network_options() {
876
-
877
- $wpuxss_eml_network_options = get_site_option( 'wpuxss_eml_network_options', array() );
878
-
879
- $wpuxss_eml_network_options_defaults = array(
880
- 'media_settings' => 1,
881
- 'utilities' => 1
882
- );
883
-
884
- $wpuxss_eml_network_options = array_intersect_key( $wpuxss_eml_network_options, $wpuxss_eml_network_options_defaults );
885
- $wpuxss_eml_network_options = array_merge( $wpuxss_eml_network_options_defaults, $wpuxss_eml_network_options );
886
-
887
- update_site_option( 'wpuxss_eml_network_options', $wpuxss_eml_network_options );
888
- }
889
- }
890
-
891
  ?>
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.6.1
7
  Author: wpUXsolutions
8
  Author URI: http://wpUXsolutions.com
9
  Text Domain: enhanced-media-library
10
  Domain Path: /languages
11
  License: GPL version 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
12
 
13
+ Copyright 2013-2016 wpUXsolutions (email : wpUXsolutions@gmail.com)
14
  */
15
 
16
 
26
 
27
 
28
 
29
+ if ( ! defined('EML_VERSION') ) define( 'EML_VERSION', '2.6.1' );
30
 
31
 
32
 
106
  include_once( 'core/options-pages.php' );
107
  }
108
 
 
 
 
 
 
 
109
  register_activation_hook( __FILE__, 'wpuxss_eml_on_activation' );
110
 
111
 
136
 
137
 
138
  // on update
139
+ $wpuxss_eml_old_version = get_site_option( 'wpuxss_eml_version', null );
140
 
141
+ if ( EML_VERSION !== $wpuxss_eml_old_version ) {
 
 
 
 
142
 
 
143
  update_site_option( 'wpuxss_eml_version', EML_VERSION );
144
+
145
+ if ( ! is_null( $wpuxss_eml_old_version ) ) {
146
+ wpuxss_eml_on_update();
147
+ delete_site_transient( 'eml_transient' );
148
+ }
149
  }
150
  }
151
  }
170
 
171
  if ( is_multisite() && isset($plugins[wpuxss_get_eml_basename()]) ) {
172
 
173
+ $sites = get_sites();
174
 
175
+ foreach( $sites as $site ) {
176
+
177
+ switch_to_blog( $site->blog_id );
178
  wpuxss_eml_register_taxonomies();
179
  restore_current_blog();
180
  }
471
  $terms_id_name_ready_for_script = wpuxss_eml_get_media_term_pairs( $terms, 'id=>name' );
472
 
473
 
474
+ $users = current_user_can( 'manage_options' ) ? get_users() : array();
475
  $users_ready_for_script = array();
476
 
477
+ foreach( $users as $user ) {
478
+ $users_ready_for_script[] = array(
479
+ 'user_id' => $user->ID,
480
+ 'user_name' => $user->data->display_name
481
+ );
 
 
 
482
  }
483
 
484
 
638
 
639
  if ( ! function_exists( 'wpuxss_eml_on_activation' ) ) {
640
 
641
+ function wpuxss_eml_on_activation( $network_wide ) {
642
 
643
+ if ( $network_wide ) {
 
 
644
 
645
+ foreach( get_sites() as $site ) {
646
 
647
+ switch_to_blog( $site->blog_id );
648
  wpuxss_eml_set_options();
649
  restore_current_blog();
650
  }
653
  wpuxss_eml_set_options();
654
  }
655
 
656
+ if ( is_multisite() && null === get_site_option( 'wpuxss_eml_network_options', null ) ) {
657
+
658
+ $wpuxss_eml_network_options = array(
659
+ 'media_settings' => 1,
660
+ 'utilities' => 1
661
+ );
662
 
663
+ update_site_option( 'wpuxss_eml_network_options', $wpuxss_eml_network_options );
664
+ }
665
  }
666
  }
667
 
678
 
679
  function wpuxss_eml_set_options() {
680
 
681
+ if ( null === get_option( 'wpuxss_eml_taxonomies', null ) ) {
 
 
 
682
 
683
+ $wpuxss_eml_taxonomies['media_category'] = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
684
  'assigned' => 1,
685
  'eml_media' => 1,
686
+ 'public' => 1,
687
+
688
+ 'labels' => array(
689
+ 'name' => __( 'Media Categories', 'enhanced-media-library' ),
690
+ 'singular_name' => __( 'Media Category', 'enhanced-media-library' ),
691
+ 'menu_name' => __( 'Media Categories', 'enhanced-media-library' ),
692
+ 'all_items' => __( 'All Media Categories', 'enhanced-media-library' ),
693
+ 'edit_item' => __( 'Edit Media Category', 'enhanced-media-library' ),
694
+ 'view_item' => __( 'View Media Category', 'enhanced-media-library' ),
695
+ 'update_item' => __( 'Update Media Category', 'enhanced-media-library' ),
696
+ 'add_new_item' => __( 'Add New Media Category', 'enhanced-media-library' ),
697
+ 'new_item_name' => __( 'New Media Category Name', 'enhanced-media-library' ),
698
+ 'parent_item' => __( 'Parent Media Category', 'enhanced-media-library' ),
699
+ 'parent_item_colon' => __( 'Parent Media Category:', 'enhanced-media-library' ),
700
+ 'search_items' => __( 'Search Media Categories', 'enhanced-media-library' )
701
+ ),
702
 
703
  'hierarchical' => 1,
704
 
705
+ 'show_admin_column' => 1,
706
+ 'admin_filter' => 1, // list view filter
707
+ 'media_uploader_filter' => 1, // grid view filter
708
+ 'media_popup_taxonomy_edit' => 1,
709
 
710
+ 'show_in_nav_menus' => 1,
711
  'sort' => 0,
712
  'show_in_rest' => 0,
713
  'rewrite' => array(
714
+ 'slug' => 'media_category',
715
  'with_front' => 1
716
  )
717
  );
718
 
719
+ update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
720
+ }
721
+
722
+ if ( null === get_option( 'wpuxss_eml_lib_options', null ) ) {
723
+
724
+ $wpuxss_eml_lib_options = array(
725
+ 'enhance_media_shortcodes' => 0,
726
+ 'media_orderby' => 'date',
727
+ 'media_order' => 'DESC',
728
+ 'natural_sort' => 0,
729
+ 'force_filters' => 1, // since 2.5
730
+ 'filters_to_show' => array( // since 2.5
731
+ 'types',
732
+ 'dates',
733
+ 'taxonomies'
734
+ ),
735
+ 'show_count' => 1,
736
+ 'include_children' => 1, // since 2.6
737
+ 'grid_show_caption' => 0, // since 2.6
738
+ 'grid_caption_type' => 'title', // since 2.6
739
+ 'search_in' => array( // since 2.6
740
+ 'titles',
741
+ 'captions',
742
+ 'descriptions'
743
+ )
744
  );
745
 
746
+ update_option( 'wpuxss_eml_lib_options', $wpuxss_eml_lib_options );
747
+ }
748
 
749
+ if ( null === get_option( 'wpuxss_eml_tax_options', null ) ) {
750
 
751
+ $wpuxss_eml_tax_options = array(
752
+ 'tax_archives' => 0, // since 2.6
753
+ 'edit_all_as_hierarchical' => 0
754
+ );
755
 
756
+ update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
757
+ }
758
 
759
+ if ( null === get_option( 'wpuxss_eml_mimes', null ) ) {
 
760
 
761
+ $allowed_mimes = get_allowed_mime_types();
762
+ $default_mimes = array();
 
 
763
 
764
+ foreach ( wp_get_mime_types() as $type => $mime ) {
765
 
766
+ $wpuxss_eml_mimes[$type] = $default_mimes[$type] = array(
767
+ 'mime' => $mime,
768
+ 'singular' => $mime,
769
+ 'plural' => $mime,
770
+ 'filter' => 0,
771
+ 'upload' => isset($allowed_mimes[$type]) ? 1 : 0
772
+ );
773
  }
774
+
775
+ $wpuxss_eml_mimes['pdf']['singular'] = 'PDF';
776
+ $wpuxss_eml_mimes['pdf']['plural'] = 'PDFs';
777
+ $wpuxss_eml_mimes['pdf']['filter'] = 1;
778
+
779
+ update_option( 'wpuxss_eml_mimes', $wpuxss_eml_mimes );
780
+ update_option( 'wpuxss_eml_mimes_backup', $default_mimes );
781
  }
782
 
783
+ }
784
+ }
785
+
786
 
787
 
788
+ /**
789
+ * wpuxss_eml_on_update
790
+ *
791
+ * @since 2.2
792
+ * @created 12/03/16
793
+ */
794
+
795
+ if ( ! function_exists( 'wpuxss_eml_on_update' ) ) {
796
+
797
+ function wpuxss_eml_on_update() {
798
+
799
+ $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies', array() );
800
+ $wpuxss_eml_lib_options = get_option( 'wpuxss_eml_lib_options', array() );
801
+ $wpuxss_eml_tax_options = get_option( 'wpuxss_eml_tax_options', array() );
802
+
803
+
804
+ // per-taxonomy settings
805
+ $media_taxonomy_args_defaults = array(
806
+ 'assigned' => 0,
807
+ 'eml_media' => 1,
808
+ 'media_only' => 0,
809
+
810
+ 'hierarchical' => 1,
811
+
812
+ 'show_admin_column' => 0,
813
+ 'admin_filter' => 0,
814
+ 'media_uploader_filter' => 0,
815
+ 'media_popup_taxonomy_edit' => 0,
816
+
817
+ 'show_in_nav_menus' => 0,
818
+ 'sort' => 0,
819
+ 'show_in_rest' => 0,
820
+ 'rewrite' => array(
821
+ 'with_front' => 1
822
+ )
823
+ );
824
+
825
+ $non_media_taxonomy_args_defaults = array(
826
+ 'assigned' => 0,
827
+ 'eml_media' => 0,
828
+ 'media_only' => 0,
829
+ 'admin_filter' => 0,
830
+ 'media_uploader_filter' => 0,
831
+ 'media_popup_taxonomy_edit' => 0,
832
+ 'taxonomy_auto_assign' => 0
833
+ );
834
+
835
+
836
+ foreach( $wpuxss_eml_taxonomies as $taxonomy => $params ) {
837
+
838
+ if ( ! isset( $params['eml_media'] ) ) {
839
+ $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] = 0;
840
+ }
841
+
842
+ if ( (bool) $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] ) {
843
+
844
+ $wpuxss_eml_taxonomies[$taxonomy] = array_intersect_key( $params, $media_taxonomy_args_defaults);
845
+ $wpuxss_eml_taxonomies[$taxonomy] = array_merge( $media_taxonomy_args_defaults, $params );
846
+
847
+ if ( ! isset( $params['rewrite']['slug'] ) || empty( $params['rewrite']['slug'] ) ) {
848
+ $wpuxss_eml_taxonomies[$taxonomy]['rewrite']['slug'] = $taxonomy;
849
+ }
850
+ }
851
+
852
+ if ( ! (bool) $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] ) {
853
+
854
+ $wpuxss_eml_taxonomies[$taxonomy] = array_intersect_key( $params, $non_media_taxonomy_args_defaults);
855
+ $wpuxss_eml_taxonomies[$taxonomy] = array_merge( $non_media_taxonomy_args_defaults, $params );
856
+ }
857
+ }
858
+
859
+
860
+ // media library settings
861
  $eml_lib_options_defaults = array(
862
  'enhance_media_shortcodes' => isset( $wpuxss_eml_tax_options['enhance_media_shortcodes'] ) ? (bool) $wpuxss_eml_tax_options['enhance_media_shortcodes'] : ( isset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] ) ? (bool) $wpuxss_eml_tax_options['enhance_gallery_shortcode'] : 0 ),
863
  'media_orderby' => isset( $wpuxss_eml_tax_options['media_orderby'] ) ? sanitize_text_field( $wpuxss_eml_tax_options['media_orderby'] ) : 'date',
883
  $wpuxss_eml_lib_options = array_intersect_key( $wpuxss_eml_lib_options, $eml_lib_options_defaults );
884
  $wpuxss_eml_lib_options = array_merge( $eml_lib_options_defaults, $wpuxss_eml_lib_options );
885
 
 
 
886
 
887
+ // media taxonomies settings
888
  $eml_tax_options_defaults = array(
889
  'tax_archives' => 0, // since 2.6
890
  'edit_all_as_hierarchical' => 0
893
  $wpuxss_eml_tax_options = array_intersect_key( $wpuxss_eml_tax_options, $eml_tax_options_defaults );
894
  $wpuxss_eml_tax_options = array_merge( $eml_tax_options_defaults, $wpuxss_eml_tax_options );
895
 
 
896
 
897
+ update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
898
+ update_option( 'wpuxss_eml_lib_options', $wpuxss_eml_lib_options );
899
+ update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
900
 
 
 
901
 
902
+ if ( is_multisite() ) {
 
903
 
904
+ $wpuxss_eml_network_options = get_site_option( 'wpuxss_eml_network_options', array() );
905
 
906
+ $wpuxss_eml_network_options_defaults = array(
907
+ 'media_settings' => 1,
908
+ 'utilities' => 1
909
+ );
 
 
 
 
910
 
911
+ $wpuxss_eml_network_options = array_intersect_key( $wpuxss_eml_network_options, $wpuxss_eml_network_options_defaults );
912
+ $wpuxss_eml_network_options = array_merge( $wpuxss_eml_network_options_defaults, $wpuxss_eml_network_options );
 
913
 
914
+ update_site_option( 'wpuxss_eml_network_options', $wpuxss_eml_network_options );
 
915
  }
916
  }
917
  }
918
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
919
  ?>
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.5
5
  Tested up to: 4.9.6
6
- Stable tag: 2.6.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -170,19 +170,16 @@ Additional comfort and even more convenient way to organize WordPress media libr
170
 
171
  ## Changelog ##
172
 
173
- ### 2.6.4 ###
174
- *Release Date - May 23, 2018*
175
- *Addresses various issues of all previous 2.6.x versions*
176
-
177
- = Bugfixes =
178
- * Various multisite bugs fixed, including the user deletion bug
179
- * A bug causing memory leak on websites with thousands of users fixed
180
- * A few bugs causing admin crash in PHP less than 5.5 fixed
181
- * PRO only: a few update issues fixed including persistent update message bug
182
 
183
  = Improvements =
184
  * Elementor CSS-compatibility added (a temporary solution, we are still working on the full compatibility)
185
 
 
 
 
 
186
 
187
  ### 2.6 ###
188
  *Release Date - May 18, 2018*
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.5
5
  Tested up to: 4.9.6
6
+ Stable tag: 2.6.1
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
170
 
171
  ## Changelog ##
172
 
173
+ ### 2.6.1 ###
174
+ *Release Date - May 20, 2018*
 
 
 
 
 
 
 
175
 
176
  = Improvements =
177
  * Elementor CSS-compatibility added (a temporary solution, we are still working on the full compatibility)
178
 
179
+ = Bugfixes =
180
+ * PRO only: persistent update message bug fixed
181
+ * Not updating plugin options (in some cases) causing admin errors bug fixed
182
+
183
 
184
  ### 2.6 ###
185
  *Release Date - May 18, 2018*