Enhanced Media Library - Version 2.6.3

Version Description

Download this release

Release Info

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

Code changes from version 2.6.1 to 2.6.3

Files changed (4) hide show
  1. core/options-pages.php +11 -12
  2. core/taxonomies.php +22 -12
  3. enhanced-media-library.php +163 -197
  4. readme.txt +16 -1
core/options-pages.php CHANGED
@@ -1023,12 +1023,13 @@ if ( ! function_exists( 'wpuxss_eml_print_network_settings' ) ) {
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();
@@ -1347,28 +1348,25 @@ if ( ! function_exists( 'wpuxss_eml_settings_cleanup' ) ) {
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,7 +1471,8 @@ if ( ! function_exists( 'wpuxss_eml_options_cleanup' ) ) {
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 );
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();
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
  '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 );
core/taxonomies.php CHANGED
@@ -1406,28 +1406,38 @@ if ( ! function_exists('wpuxss_eml_pre_get_posts') ) {
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
  }
1406
 
1407
 
1408
 
1409
+ /**
1410
+ * wpuxss_eml_parse_tax_query
1411
+ *
1412
+ * @since 2.6
1413
+ * @created 05/05/18
1414
+ */
1415
 
1416
+ add_action( 'parse_tax_query', 'wpuxss_eml_parse_tax_query' );
1417
 
1418
+ if ( ! function_exists( 'wpuxss_eml_parse_tax_query' ) ) {
 
 
1419
 
1420
+ function wpuxss_eml_parse_tax_query( $query ) {
1421
 
1422
+ if ( ! $query->is_main_query() ) {
1423
+ return;
1424
+ }
1425
 
 
1426
 
1427
+ if ( ! is_admin() ) {
1428
 
1429
+ $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
1430
 
1431
+ if ( (bool) $wpuxss_eml_tax_options['tax_archives'] ) {
1432
+
1433
+ $wpuxss_eml_lib_options = get_option('wpuxss_eml_lib_options');
1434
 
1435
+ foreach ( get_option('wpuxss_eml_taxonomies', array() ) as $taxonomy => $params ) {
1436
 
1437
+ if ( (bool) $params['assigned'] && (bool) $params['eml_media'] && is_tax( $taxonomy ) ) {
1438
+
1439
+ $query->tax_query->queries[0]['include_children'] = (bool) $wpuxss_eml_lib_options['include_children'];
1440
+ }
1441
  }
1442
  }
1443
  }
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.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,7 +26,7 @@ global $wp_version,
26
 
27
 
28
 
29
- if ( ! defined('EML_VERSION') ) define( 'EML_VERSION', '2.6.1' );
30
 
31
 
32
 
@@ -136,16 +136,17 @@ if ( ! function_exists( 'wpuxss_eml_on_plugins_loaded' ) ) {
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,11 +171,9 @@ if ( ! function_exists( 'wpuxss_eml_on_init' ) ) {
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,14 +470,16 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
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,13 +639,15 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
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,15 +656,11 @@ if ( ! function_exists( 'wpuxss_eml_on_activation' ) ) {
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,186 +677,117 @@ if ( ! function_exists( 'wpuxss_eml_set_options' ) ) {
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,8 +813,10 @@ if ( ! function_exists( 'wpuxss_eml_on_update' ) ) {
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,27 +825,61 @@ if ( ! function_exists( 'wpuxss_eml_on_update' ) ) {
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
  ?>
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.3
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
 
27
 
28
 
29
+ if ( ! defined('EML_VERSION') ) define( 'EML_VERSION', '2.6.3' );
30
 
31
 
32
 
136
 
137
 
138
  // on update
139
+ $eml_current_version = get_site_option( 'wpuxss_eml_version' );
140
 
141
+ if ( false === $eml_current_version ) {
142
+ $eml_current_version = get_option( 'wpuxss_eml_version' );
143
+ }
144
 
145
+ if ( EML_VERSION !== $eml_current_version ) {
146
 
147
+ wpuxss_eml_on_activation();
148
+ update_site_option( 'wpuxss_eml_version', EML_VERSION );
149
+ delete_site_transient( 'eml_transient' );
 
150
  }
151
  }
152
  }
171
 
172
  if ( is_multisite() && isset($plugins[wpuxss_get_eml_basename()]) ) {
173
 
174
+ foreach( get_sites( array( 'fields' => 'ids' ) ) as $site_id ) {
 
 
175
 
176
+ switch_to_blog( $site_id );
177
  wpuxss_eml_register_taxonomies();
178
  restore_current_blog();
179
  }
470
  $terms_id_name_ready_for_script = wpuxss_eml_get_media_term_pairs( $terms, 'id=>name' );
471
 
472
 
 
473
  $users_ready_for_script = array();
474
 
475
+ if ( current_user_can( 'manage_options' ) && in_array( 'authors', $wpuxss_eml_lib_options['filters_to_show'] ) ) {
476
+
477
+ foreach( get_users( array( 'who' => 'authors' ) ) as $user ) {
478
+ $users_ready_for_script[] = array(
479
+ 'user_id' => $user->ID,
480
+ 'user_name' => $user->data->display_name
481
+ );
482
+ }
483
  }
484
 
485
 
639
 
640
  if ( ! function_exists( 'wpuxss_eml_on_activation' ) ) {
641
 
642
+ function wpuxss_eml_on_activation() {
643
 
644
+ $plugins = get_site_option( 'active_sitewide_plugins');
645
+
646
+ if ( is_multisite() && isset($plugins[wpuxss_get_eml_basename()]) ) {
647
 
648
+ foreach( get_sites( array( 'fields' => 'ids' ) ) as $site_id ) {
649
 
650
+ switch_to_blog( $site_id );
651
  wpuxss_eml_set_options();
652
  restore_current_blog();
653
  }
656
  wpuxss_eml_set_options();
657
  }
658
 
659
+ if ( is_multisite() ) {
660
+ wpuxss_eml_set_network_options();
 
 
 
 
 
 
661
  }
662
+
663
+ do_action( 'wpuxss_eml_on_activation' );
664
  }
665
  }
666
 
677
 
678
  function wpuxss_eml_set_options() {
679
 
680
+ $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies' );
681
+ $wpuxss_eml_lib_options = get_option( 'wpuxss_eml_lib_options', array() );
682
+ $wpuxss_eml_tax_options = get_option( 'wpuxss_eml_tax_options', array() );
683
+
684
+
685
+ // taxonomies
686
+ if ( false === $wpuxss_eml_taxonomies ) {
687
+
688
+ $wpuxss_eml_taxonomies = array(
689
+
690
+ 'media_category' => array(
691
+ 'assigned' => 1,
692
+ 'eml_media' => 1,
693
+ 'public' => 1,
694
+
695
+ 'labels' => array(
696
+ 'name' => __( 'Media Categories', 'enhanced-media-library' ),
697
+ 'singular_name' => __( 'Media Category', 'enhanced-media-library' ),
698
+ 'menu_name' => __( 'Media Categories', 'enhanced-media-library' ),
699
+ 'all_items' => __( 'All Media Categories', 'enhanced-media-library' ),
700
+ 'edit_item' => __( 'Edit Media Category', 'enhanced-media-library' ),
701
+ 'view_item' => __( 'View Media Category', 'enhanced-media-library' ),
702
+ 'update_item' => __( 'Update Media Category', 'enhanced-media-library' ),
703
+ 'add_new_item' => __( 'Add New Media Category', 'enhanced-media-library' ),
704
+ 'new_item_name' => __( 'New Media Category Name', 'enhanced-media-library' ),
705
+ 'parent_item' => __( 'Parent Media Category', 'enhanced-media-library' ),
706
+ 'parent_item_colon' => __( 'Parent Media Category:', 'enhanced-media-library' ),
707
+ 'search_items' => __( 'Search Media Categories', 'enhanced-media-library' )
708
+ ),
709
+
710
+ 'hierarchical' => 1,
711
+
712
+ 'show_admin_column' => 1,
713
+ 'admin_filter' => 1, // list view filter
714
+ 'media_uploader_filter' => 1, // grid view filter
715
+ 'media_popup_taxonomy_edit' => 1,
716
+
717
+ 'show_in_nav_menus' => 1,
718
+ 'sort' => 0,
719
+ 'show_in_rest' => 0,
720
+ 'rewrite' => array(
721
+ 'slug' => 'media_category',
722
+ 'with_front' => 1
723
+ )
724
+ )
725
+ );
726
+ }
727
 
728
+ // false !== $wpuxss_eml_taxonomies
729
+ else {
730
+
731
+ // per-taxonomy settings
732
+ $media_taxonomy_args_defaults = array(
733
  'assigned' => 1,
734
  'eml_media' => 1,
735
+ 'media_only' => 0,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
736
 
737
  'hierarchical' => 1,
738
 
739
+ 'show_admin_column' => 0,
740
+ 'admin_filter' => 0,
741
+ 'media_uploader_filter' => 0,
742
+ 'media_popup_taxonomy_edit' => 0,
743
 
744
+ 'show_in_nav_menus' => 0,
745
  'sort' => 0,
746
  'show_in_rest' => 0,
747
  'rewrite' => array(
 
748
  'with_front' => 1
749
  )
750
  );
751
 
752
+ $non_media_taxonomy_args_defaults = array(
753
+ 'assigned' => 0,
754
+ 'eml_media' => 0,
755
+ 'media_only' => 0,
756
+ 'admin_filter' => 0,
757
+ 'media_uploader_filter' => 0,
758
+ 'media_popup_taxonomy_edit' => 0,
759
+ 'taxonomy_auto_assign' => 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  );
761
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
762
 
763
+ foreach( $wpuxss_eml_taxonomies as $taxonomy => $params ) {
 
 
 
 
764
 
765
+ if ( ! isset( $params['eml_media'] ) ) {
766
+ $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] = 0;
767
+ }
768
 
769
+ if ( (bool) $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
770
 
771
+ $wpuxss_eml_taxonomies[$taxonomy] = array_intersect_key( $params, $media_taxonomy_args_defaults);
772
+ $wpuxss_eml_taxonomies[$taxonomy] = array_merge( $media_taxonomy_args_defaults, $params );
773
 
774
+ if ( ! isset( $params['rewrite']['slug'] ) || empty( $params['rewrite']['slug'] ) ) {
775
+ $wpuxss_eml_taxonomies[$taxonomy]['rewrite']['slug'] = $taxonomy;
776
+ }
777
  }
 
778
 
779
+ if ( ! (bool) $wpuxss_eml_taxonomies[$taxonomy]['eml_media'] ) {
780
 
781
+ $wpuxss_eml_taxonomies[$taxonomy] = array_intersect_key( $params, $non_media_taxonomy_args_defaults);
782
+ $wpuxss_eml_taxonomies[$taxonomy] = array_merge( $non_media_taxonomy_args_defaults, $params );
783
+ }
784
  }
785
  }
786
 
787
+ update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
788
+
789
 
790
+ // media library options
791
  $eml_lib_options_defaults = array(
792
  '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 ),
793
  'media_orderby' => isset( $wpuxss_eml_tax_options['media_orderby'] ) ? sanitize_text_field( $wpuxss_eml_tax_options['media_orderby'] ) : 'date',
813
  $wpuxss_eml_lib_options = array_intersect_key( $wpuxss_eml_lib_options, $eml_lib_options_defaults );
814
  $wpuxss_eml_lib_options = array_merge( $eml_lib_options_defaults, $wpuxss_eml_lib_options );
815
 
816
+ update_option( 'wpuxss_eml_lib_options', $wpuxss_eml_lib_options );
817
+
818
 
819
+ // taxonomy options
820
  $eml_tax_options_defaults = array(
821
  'tax_archives' => 0, // since 2.6
822
  'edit_all_as_hierarchical' => 0
825
  $wpuxss_eml_tax_options = array_intersect_key( $wpuxss_eml_tax_options, $eml_tax_options_defaults );
826
  $wpuxss_eml_tax_options = array_merge( $eml_tax_options_defaults, $wpuxss_eml_tax_options );
827
 
 
 
 
828
  update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
829
 
830
 
831
+ // MIME types
832
+ if ( false === get_option( 'wpuxss_eml_mimes' ) ) {
833
 
834
+ $allowed_mimes = get_allowed_mime_types();
835
+ $default_mimes = array();
836
 
837
+ foreach ( wp_get_mime_types() as $type => $mime ) {
 
 
 
838
 
839
+ $wpuxss_eml_mimes[$type] = $default_mimes[$type] = array(
840
+ 'mime' => $mime,
841
+ 'singular' => $mime,
842
+ 'plural' => $mime,
843
+ 'filter' => 0,
844
+ 'upload' => isset($allowed_mimes[$type]) ? 1 : 0
845
+ );
846
+ }
847
+
848
+ $wpuxss_eml_mimes['pdf']['singular'] = 'PDF';
849
+ $wpuxss_eml_mimes['pdf']['plural'] = 'PDFs';
850
+ $wpuxss_eml_mimes['pdf']['filter'] = 1;
851
 
852
+ update_option( 'wpuxss_eml_mimes', $wpuxss_eml_mimes );
853
+ update_option( 'wpuxss_eml_mimes_backup', $default_mimes );
854
  }
855
  }
856
  }
857
 
858
+
859
+
860
+ /**
861
+ * wpuxss_eml_set_network_options
862
+ *
863
+ * @since 2.6.3
864
+ * @created 21/05/18
865
+ */
866
+
867
+ if ( ! function_exists( 'wpuxss_eml_set_network_options' ) ) {
868
+
869
+ function wpuxss_eml_set_network_options() {
870
+
871
+ $wpuxss_eml_network_options = get_site_option( 'wpuxss_eml_network_options', array() );
872
+
873
+ $wpuxss_eml_network_options_defaults = array(
874
+ 'media_settings' => 1,
875
+ 'utilities' => 1
876
+ );
877
+
878
+ $wpuxss_eml_network_options = array_intersect_key( $wpuxss_eml_network_options, $wpuxss_eml_network_options_defaults );
879
+ $wpuxss_eml_network_options = array_merge( $wpuxss_eml_network_options_defaults, $wpuxss_eml_network_options );
880
+
881
+ update_site_option( 'wpuxss_eml_network_options', $wpuxss_eml_network_options );
882
+ }
883
+ }
884
+
885
  ?>
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.1
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -170,6 +170,21 @@ Additional comfort and even more convenient way to organize WordPress media libr
170
 
171
  ## Changelog ##
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  ### 2.6.1 ###
174
  *Release Date - May 20, 2018*
175
 
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.3
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.3 ###
174
+ *Release Date - May 22, 2018*
175
+
176
+ = Bugfixes =
177
+ * Various multisite bugs fixed
178
+ * A bug causing admin crash fixed
179
+
180
+
181
+ ### 2.6.2 ###
182
+ *Release Date - May 20, 2018*
183
+
184
+ = Bugfixes =
185
+ * A few bugs of v2.6 and v2.6.1 preventing admin area from working fixed
186
+
187
+
188
  ### 2.6.1 ###
189
  *Release Date - May 20, 2018*
190