Media Library Assistant - Version 1.00

Version Description

  • New: IPTC and EXIF metadata can be assigned to standard WordPress fields, taxonomy terms and Custom fields. You can update all existing attachments from the Settings page IPTC/EXIF tab, groups of existing attachments with a Bulk Action or one existing attachment from the Edit Media/Edit Single Item screen.
  • New: Where-used processing can be tuned or disabled on the Settings page, General tab.
  • New: "Gallery in" and "MLA Gallery in" results are cached for fifteen minutes, avoiding repetitive database access. The cache is automatically flushed when pages, posts or attachments are inserted or updates, and can be manually flushed or disabled on the Settings page, General tab.
  • New: Default [mla_gallery] style and markup templates can be specified on the Settings page.
  • New: [mla_gallery] parameter "mla_float" allows control of gallery item "float" attribute.
  • Fix: Field-level substitution parameters (custom fields, taxonomy terms, IPTC metadata and EXIF metadata) are now available for mla_link_text, mla_rollover_text and mla_caption parameters.
  • Fix: Attachment/Parent relationships are reported consistently on the edit pages and the Assistant table listing.
  • Fix: Defect in generating mla_debug messages has been corrected.
  • Fix: Default "Order by" option now includes "None".
  • Fix: For WordPress 3.5, Custom Field support for attachments enabled in admin_init action.
Download this release

Release Info

Developer dglingren
Plugin Icon 128x128 Media Library Assistant
Version 1.00
Comparing to
See all releases

Code changes from version 0.90 to 1.00

includes/class-mla-data.php CHANGED
@@ -22,7 +22,9 @@ class MLAData {
22
  * @since 0.1
23
  */
24
  public static function initialize() {
25
- /* Nothing to do at this point. */
 
 
26
  }
27
 
28
  /**
@@ -56,7 +58,7 @@ class MLAData {
56
  }
57
  break;
58
  case 'option':
59
- $template = MLASettings::mla_get_option( $source );
60
  if ( $template == false ) {
61
  return false;
62
  }
@@ -290,8 +292,8 @@ class MLAData {
290
 
291
  $clean_request = array (
292
  'm' => 0,
293
- 'orderby' => MLASettings::mla_get_option( 'default_orderby' ),
294
- 'order' => MLASettings::mla_get_option( 'default_order' ),
295
  'post_type' => 'attachment',
296
  'post_status' => 'inherit',
297
  'mla-search-connector' => 'AND',
@@ -311,13 +313,17 @@ class MLAData {
311
  $clean_request[ $key ] = sanitize_key( $value );
312
  break;
313
  case 'orderby':
314
- $sortable_columns = MLA_List_Table::mla_get_sortable_columns( );
315
- foreach ($sortable_columns as $sort_key => $sort_value ) {
316
- if ( $value == $sort_value[0] ) {
317
- $clean_request[ $key ] = $value;
318
- break;
319
- }
320
- } // foreach
 
 
 
 
321
  break;
322
  case 'post_mime_type':
323
  if ( array_key_exists( $value, MLA_List_Table::mla_get_attachment_mime_types( ) ) )
@@ -438,7 +444,7 @@ class MLAData {
438
  */
439
  if ( isset( $clean_request['mla_filter_term'] ) ) {
440
  if ( $clean_request['mla_filter_term'] != 0 ) {
441
- $tax_filter = MLASettings::mla_taxonomy_support('', 'filter');
442
  if ( $clean_request['mla_filter_term'] == -1 ) {
443
  $term_list = get_terms( $tax_filter, array(
444
  'fields' => 'ids',
@@ -651,6 +657,9 @@ class MLAData {
651
 
652
  if ( isset( self::$query_parameters['orderby'] ) ) {
653
  switch ( self::$query_parameters['orderby'] ) {
 
 
 
654
  /*
655
  * There are two columns defined that end up sorting on post_title,
656
  * so we can't use the database column to identify the column but
@@ -748,8 +757,9 @@ class MLAData {
748
  global $wpdb;
749
 
750
  /*
751
- * found_reference true if either features or inserts is not empty()
752
- * found_parent true if $parent matches a features or inserts post ID
 
753
  * is_unattached true if $parent is zero (0)
754
  * base_file relative path and name of the uploaded file, e.g., 2012/04/image.jpg
755
  * path path to the file, relative to the "uploads/" directory
@@ -761,11 +771,16 @@ class MLAData {
761
  * inserts Array of specific files (i.e., sizes) found in one or more posts/pages
762
  * as an image (<img>) or link (<a href>). The array key is the path and file name.
763
  * The array value is an array with the ID, post_type and post_title of each reference
 
 
 
 
764
  * file The name portion of the base file, e.g., image.jpg
765
  * parent_type 'post' or 'page' or the custom post type of the attachment's parent
766
  * parent_title post_title of the attachment's parent
767
  */
768
  $references = array(
 
769
  'found_reference' => false,
770
  'found_parent' => false,
771
  'is_unattached' => ( ( (int) $parent ) === 0 ),
@@ -778,9 +793,19 @@ class MLAData {
778
  'galleries' => array(),
779
  'file' => '',
780
  'parent_type' => '',
781
- 'parent_title' => ''
 
782
  );
783
 
 
 
 
 
 
 
 
 
 
784
  $attachment_metadata = get_post_meta( $ID, '_wp_attachment_metadata', true );
785
  if ( empty( $attachment_metadata ) ) {
786
  $references['base_file'] = get_post_meta( $ID, '_wp_attached_file', true );
@@ -811,118 +836,153 @@ class MLAData {
811
  /*
812
  * Process the where-used settings option
813
  */
814
- if ('checked' == MLASettings::mla_get_option( 'exclude_revisions' ) )
815
  $exclude_revisions = "(post_type <> 'revision') AND ";
816
  else
817
  $exclude_revisions = '';
818
-
819
  /*
820
- * Look for the "Featured Image(s)"
821
  */
822
- $features = $wpdb->get_results(
823
- "
824
- SELECT post_id
825
- FROM {$wpdb->postmeta}
826
- WHERE meta_key = '_thumbnail_id' AND meta_value = {$ID}
827
- "
828
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
829
 
830
- if ( !empty( $features ) ) {
831
- foreach ( $features as $feature ) {
832
- $feature_results = $wpdb->get_results(
 
 
 
 
 
 
833
  "
834
- SELECT post_type, post_title
835
  FROM {$wpdb->posts}
836
- WHERE {$exclude_revisions}(ID = {$feature->post_id})
837
- "
 
 
 
838
  );
839
-
840
- if ( !empty( $feature_results ) ) {
841
- $references['found_reference'] = true;
842
- $references['features'][ $feature->post_id ] = $feature_results[0];
843
 
844
- if ( $feature->post_id == $parent ) {
845
- $references['found_parent'] = true;
846
- $references['parent_type'] = $feature_results[0]->post_type;
847
- $references['parent_title'] = $feature_results[0]->post_title;
848
- }
 
 
 
 
849
  } // !empty
850
- } // foreach $feature
851
- }
852
 
853
  /*
854
- * Look for item(s) inserted in post_content
855
  */
856
- foreach ( $references['files'] as $file => $file_data ) {
857
- $like = like_escape( $file );
858
- $inserts = $wpdb->get_results(
859
- $wpdb->prepare(
860
- "
861
- SELECT ID, post_type, post_title
862
- FROM {$wpdb->posts}
863
- WHERE {$exclude_revisions}(
864
- CONVERT(`post_content` USING utf8 )
865
- LIKE %s)
866
- ", "%{$like}%"
867
- )
868
- );
869
-
870
- if ( !empty( $inserts ) ) {
871
- $references['found_reference'] = true;
872
- $references['inserts'][ $file ] = $inserts;
873
-
874
- foreach ( $inserts as $insert ) {
875
- if ( $insert->ID == $parent ) {
876
- $references['found_parent'] = true;
877
- $references['parent_type'] = $insert->post_type;
878
- $references['parent_title'] = $insert->post_title;
879
- }
880
- } // foreach $insert
881
- } // !empty
882
- } // foreach $file
883
 
884
  /*
885
- * Look for [mla_gallery] references
886
  */
887
- if ( self::_build_mla_galleries( self::$mla_galleries, '[mla_gallery', $exclude_revisions ) ) {
888
- $galleries = self::_search_mla_galleries( self::$mla_galleries, $ID );
889
- if ( !empty( $galleries ) ) {
890
- $references['found_reference'] = true;
891
- $references['mla_galleries'] = $galleries;
892
-
893
- foreach ( $galleries as $post_id => $gallery ) {
894
- if ( $post_id == $parent ) {
895
- $references['found_parent'] = true;
896
- $references['parent_type'] = $gallery['post_type'];
897
- $references['parent_title'] = $gallery['post_title'];
898
- }
899
- } // foreach $gallery
900
- } // !empty
901
- else
902
- $references['mla_galleries'] = array( );
903
- }
 
904
 
905
  /*
906
- * Look for [gallery] references
907
  */
908
- if ( self::_build_mla_galleries( self::$galleries, '[gallery', $exclude_revisions ) ) {
909
- $galleries = self::_search_mla_galleries( self::$galleries, $ID );
910
- if ( !empty( $galleries ) ) {
911
- $references['found_reference'] = true;
912
- $references['galleries'] = $galleries;
 
913
 
914
- foreach ( $galleries as $post_id => $gallery ) {
915
- if ( $post_id == $parent ) {
916
- $references['found_parent'] = true;
917
- $references['parent_type'] = $gallery['post_type'];
918
- $references['parent_title'] = $gallery['post_title'];
919
- }
920
- } // foreach $gallery
921
- } // !empty
922
- else
923
- $references['galleries'] = array( );
 
 
 
924
  }
925
 
 
926
  return $references;
927
  }
928
 
@@ -959,18 +1019,57 @@ class MLAData {
959
  */
960
  private static $mla_galleries = null;
961
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
962
  /**
963
  * Builds the $mla_galleries or $galleries array
964
  *
965
  * @since 0.70
966
  *
 
967
  * @param array by reference to the private static galleries array variable
968
  * @param string the shortcode to be searched for and processed
969
  * @param boolean true to exclude revisions from the search
970
  *
971
  * @return boolean true if the galleries array is not empty
972
  */
973
- private static function _build_mla_galleries( &$galleries_array, $shortcode, $exclude_revisions ) {
974
  global $wpdb, $post;
975
 
976
  if ( is_array( $galleries_array ) ) {
@@ -981,6 +1080,22 @@ class MLAData {
981
  }
982
  }
983
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
984
  /*
985
  * $galleries_array is null, so build the array
986
  */
@@ -1037,7 +1152,14 @@ class MLAData {
1037
  } // foreach $match
1038
  } // if $count
1039
  } // foreach $result
1040
-
 
 
 
 
 
 
 
1041
  return true;
1042
  }
1043
 
@@ -1097,18 +1219,22 @@ class MLAData {
1097
  * @since 0.90
1098
  *
1099
  * @param int post ID of attachment
 
1100
  *
1101
  * @return array Meta data variables
1102
  */
1103
- public static function mla_fetch_attachment_image_metadata( $post_id ) {
1104
  $results = array(
1105
  'mla_iptc_metadata' => array (),
1106
  'mla_exif_metadata' => array ()
1107
  );
1108
 
1109
- $post_meta = get_metadata( 'post', $post_id, '_wp_attachment_metadata' );
1110
- if ( is_array( $post_meta ) && isset( $post_meta[0]['file'] ) ) {
 
1111
  $path = get_attached_file($post_id);
 
 
1112
  $size = getimagesize( $path, $info );
1113
  foreach ( $info as $key => $value ) {
1114
  }
@@ -1217,6 +1343,7 @@ class MLAData {
1217
  $message = '';
1218
  $updates = array( 'ID' => $post_id );
1219
  $new_data = stripslashes_deep( $new_data );
 
1220
 
1221
  foreach ( $new_data as $key => $value ) {
1222
  switch ( $key ) {
@@ -1314,6 +1441,13 @@ class MLAData {
1314
  $message .= sprintf( 'Changing Author from "%1$s" to "%2$s"<br>', $from_user->display_name, $to_user->display_name );
1315
  $updates[ $key ] = $value;
1316
  break;
 
 
 
 
 
 
 
1317
  default:
1318
  // Ignore anything else
1319
  } // switch $key
@@ -1351,6 +1485,7 @@ class MLAData {
1351
  break;
1352
  default:
1353
  $action_name = 'Ignoring';
 
1354
  // ignore anything else
1355
  }
1356
 
@@ -1367,6 +1502,20 @@ class MLAData {
1367
  } // foreach $tax_input
1368
  } // !empty $tax_input
1369
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1370
  if ( empty( $message ) )
1371
  return array(
1372
  'message' => 'Item: ' . $post_id . ', no changes detected.',
22
  * @since 0.1
23
  */
24
  public static function initialize() {
25
+ add_action( 'save_post', 'MLAData::mla_save_post_action', 10, 1);
26
+ add_action( 'edit_attachment', 'MLAData::mla_save_post_action', 10, 1);
27
+ add_action( 'add_attachment', 'MLAData::mla_save_post_action', 10, 1);
28
  }
29
 
30
  /**
58
  }
59
  break;
60
  case 'option':
61
+ $template = MLAOptions::mla_get_option( $source );
62
  if ( $template == false ) {
63
  return false;
64
  }
292
 
293
  $clean_request = array (
294
  'm' => 0,
295
+ 'orderby' => MLAOptions::mla_get_option( 'default_orderby' ),
296
+ 'order' => MLAOptions::mla_get_option( 'default_order' ),
297
  'post_type' => 'attachment',
298
  'post_status' => 'inherit',
299
  'mla-search-connector' => 'AND',
313
  $clean_request[ $key ] = sanitize_key( $value );
314
  break;
315
  case 'orderby':
316
+ if ( 'none' == $value )
317
+ $clean_request[ $key ] = $value;
318
+ else {
319
+ $sortable_columns = MLA_List_Table::mla_get_sortable_columns( );
320
+ foreach ($sortable_columns as $sort_key => $sort_value ) {
321
+ if ( $value == $sort_value[0] ) {
322
+ $clean_request[ $key ] = $value;
323
+ break;
324
+ }
325
+ } // foreach
326
+ }
327
  break;
328
  case 'post_mime_type':
329
  if ( array_key_exists( $value, MLA_List_Table::mla_get_attachment_mime_types( ) ) )
444
  */
445
  if ( isset( $clean_request['mla_filter_term'] ) ) {
446
  if ( $clean_request['mla_filter_term'] != 0 ) {
447
+ $tax_filter = MLAOptions::mla_taxonomy_support('', 'filter');
448
  if ( $clean_request['mla_filter_term'] == -1 ) {
449
  $term_list = get_terms( $tax_filter, array(
450
  'fields' => 'ids',
657
 
658
  if ( isset( self::$query_parameters['orderby'] ) ) {
659
  switch ( self::$query_parameters['orderby'] ) {
660
+ case 'none':
661
+ $orderby = '';
662
+ break;
663
  /*
664
  * There are two columns defined that end up sorting on post_title,
665
  * so we can't use the database column to identify the column but
757
  global $wpdb;
758
 
759
  /*
760
+ * tested_reference true if any of the four where-used types was processed
761
+ * found_reference true if any where-used array is not empty()
762
+ * found_parent true if $parent matches a where-used post ID
763
  * is_unattached true if $parent is zero (0)
764
  * base_file relative path and name of the uploaded file, e.g., 2012/04/image.jpg
765
  * path path to the file, relative to the "uploads/" directory
771
  * inserts Array of specific files (i.e., sizes) found in one or more posts/pages
772
  * as an image (<img>) or link (<a href>). The array key is the path and file name.
773
  * The array value is an array with the ID, post_type and post_title of each reference
774
+ * mla_galleries Array of objects with the post_type and post_title of each post
775
+ * that was returned by an [mla_gallery] shortcode
776
+ * galleries Array of objects with the post_type and post_title of each post
777
+ * that was returned by a [gallery] shortcode
778
  * file The name portion of the base file, e.g., image.jpg
779
  * parent_type 'post' or 'page' or the custom post type of the attachment's parent
780
  * parent_title post_title of the attachment's parent
781
  */
782
  $references = array(
783
+ 'tested_reference' => false,
784
  'found_reference' => false,
785
  'found_parent' => false,
786
  'is_unattached' => ( ( (int) $parent ) === 0 ),
793
  'galleries' => array(),
794
  'file' => '',
795
  'parent_type' => '',
796
+ 'parent_title' => '',
797
+ 'parent_errors' => ''
798
  );
799
 
800
+ /*
801
+ * Fill in Parent data
802
+ */
803
+ $parent_data = self::mla_fetch_attachment_parent_data( $parent );
804
+ if ( isset( $parent_data['parent_type'] ) )
805
+ $references['parent_type'] = $parent_data['parent_type'];
806
+ if ( isset( $parent_data['parent_title'] ) )
807
+ $references['parent_title'] = $parent_data['parent_title'];
808
+
809
  $attachment_metadata = get_post_meta( $ID, '_wp_attachment_metadata', true );
810
  if ( empty( $attachment_metadata ) ) {
811
  $references['base_file'] = get_post_meta( $ID, '_wp_attached_file', true );
836
  /*
837
  * Process the where-used settings option
838
  */
839
+ if ('checked' == MLAOptions::mla_get_option( 'exclude_revisions' ) )
840
  $exclude_revisions = "(post_type <> 'revision') AND ";
841
  else
842
  $exclude_revisions = '';
843
+
844
  /*
845
+ * Accumulate reference test types, e.g., 0 = no tests, 4 = all tests
846
  */
847
+ $reference_tests = 0;
848
+
849
+ /*
850
+ * Look for the "Featured Image(s)", if enabled
851
+ */
852
+ if ( MLAOptions::$process_featured_in ) {
853
+ $reference_tests++;
854
+ $features = $wpdb->get_results(
855
+ "
856
+ SELECT post_id
857
+ FROM {$wpdb->postmeta}
858
+ WHERE meta_key = '_thumbnail_id' AND meta_value = {$ID}
859
+ "
860
+ );
861
+
862
+ if ( !empty( $features ) ) {
863
+ foreach ( $features as $feature ) {
864
+ $feature_results = $wpdb->get_results(
865
+ "
866
+ SELECT post_type, post_title
867
+ FROM {$wpdb->posts}
868
+ WHERE {$exclude_revisions}(ID = {$feature->post_id})
869
+ "
870
+ );
871
+
872
+ if ( !empty( $feature_results ) ) {
873
+ $references['found_reference'] = true;
874
+ $references['features'][ $feature->post_id ] = $feature_results[0];
875
+
876
+ if ( $feature->post_id == $parent ) {
877
+ $references['found_parent'] = true;
878
+ }
879
+ } // !empty
880
+ } // foreach $feature
881
+ }
882
+ } // $process_featured_in
883
 
884
+ /*
885
+ * Look for item(s) inserted in post_content
886
+ */
887
+ if ( MLAOptions::$process_inserted_in ) {
888
+ $reference_tests++;
889
+ foreach ( $references['files'] as $file => $file_data ) {
890
+ $like = like_escape( $file );
891
+ $inserts = $wpdb->get_results(
892
+ $wpdb->prepare(
893
  "
894
+ SELECT ID, post_type, post_title
895
  FROM {$wpdb->posts}
896
+ WHERE {$exclude_revisions}(
897
+ CONVERT(`post_content` USING utf8 )
898
+ LIKE %s)
899
+ ", "%{$like}%"
900
+ )
901
  );
 
 
 
 
902
 
903
+ if ( !empty( $inserts ) ) {
904
+ $references['found_reference'] = true;
905
+ $references['inserts'][ $file ] = $inserts;
906
+
907
+ foreach ( $inserts as $insert ) {
908
+ if ( $insert->ID == $parent ) {
909
+ $references['found_parent'] = true;
910
+ }
911
+ } // foreach $insert
912
  } // !empty
913
+ } // foreach $file
914
+ } // $process_inserted_in
915
 
916
  /*
917
+ * Look for [mla_gallery] references
918
  */
919
+ if ( MLAOptions::$process_mla_gallery_in ) {
920
+ $reference_tests++;
921
+ if ( self::_build_mla_galleries( MLAOptions::MLA_MLA_GALLERY_IN_TUNING, self::$mla_galleries, '[mla_gallery', $exclude_revisions ) ) {
922
+ $galleries = self::_search_mla_galleries( self::$mla_galleries, $ID );
923
+ if ( !empty( $galleries ) ) {
924
+ $references['found_reference'] = true;
925
+ $references['mla_galleries'] = $galleries;
926
+
927
+ foreach ( $galleries as $post_id => $gallery ) {
928
+ if ( $post_id == $parent ) {
929
+ $references['found_parent'] = true;
930
+ }
931
+ } // foreach $gallery
932
+ } // !empty
933
+ else
934
+ $references['mla_galleries'] = array( );
935
+ }
936
+ } // $process_mla_gallery_in
 
 
 
 
 
 
 
 
 
937
 
938
  /*
939
+ * Look for [gallery] references
940
  */
941
+ if ( MLAOptions::$process_gallery_in ) {
942
+ $reference_tests++;
943
+ if ( self::_build_mla_galleries( MLAOptions::MLA_GALLERY_IN_TUNING, self::$galleries, '[gallery', $exclude_revisions ) ) {
944
+ $galleries = self::_search_mla_galleries( self::$galleries, $ID );
945
+ if ( !empty( $galleries ) ) {
946
+ $references['found_reference'] = true;
947
+ $references['galleries'] = $galleries;
948
+
949
+ foreach ( $galleries as $post_id => $gallery ) {
950
+ if ( $post_id == $parent ) {
951
+ $references['found_parent'] = true;
952
+ }
953
+ } // foreach $gallery
954
+ } // !empty
955
+ else
956
+ $references['galleries'] = array( );
957
+ }
958
+ } // $process_gallery_in
959
 
960
  /*
961
+ * Evaluate and summarize reference tests
962
  */
963
+ if ( !empty( $references['parent_title'] ) )
964
+ $errors = '';
965
+ elseif ( $references['is_unattached'] )
966
+ $errors = '(UNATTACHED) ';
967
+ else
968
+ $errors = '(INVALID PARENT) ';
969
 
970
+ if ( 0 == $reference_tests ) {
971
+ $references['tested_reference'] = false;
972
+ $errors .= '(NO REFERENCE TESTS)';
973
+ }
974
+ else {
975
+ $references['tested_reference'] = true;
976
+ $suffix = ( 4 == $reference_tests ) ? '' : '?';
977
+
978
+ if ( !$references['found_reference'] )
979
+ $errors .= "(ORPHAN{$suffix}) ";
980
+
981
+ if ( !$references['found_parent'] && !empty( $references['parent_title'] ) )
982
+ $errors .= "(BAD PARENT{$suffix})";
983
  }
984
 
985
+ $references['parent_errors'] = trim( $errors );
986
  return $references;
987
  }
988
 
1019
  */
1020
  private static $mla_galleries = null;
1021
 
1022
+ /**
1023
+ * Invalidates the $mla_galleries or $galleries array and cached values
1024
+ *
1025
+ * @since 1.00
1026
+ *
1027
+ * @param string name of the gallery's cache/option variable
1028
+ *
1029
+ * @return void
1030
+ */
1031
+ public static function mla_flush_mla_galleries( $option_name ) {
1032
+ delete_transient( MLA_OPTION_PREFIX . 't_' . $option_name );
1033
+
1034
+ switch ( $option_name ) {
1035
+ case MLAOptions::MLA_GALLERY_IN_TUNING:
1036
+ self::$galleries = null;
1037
+ break;
1038
+ case MLAOptions::MLA_MLA_GALLERY_IN_TUNING:
1039
+ self::$mla_galleries = null;
1040
+ break;
1041
+ default:
1042
+ // ignore everything else
1043
+ } // switch
1044
+ }
1045
+
1046
+ /**
1047
+ * Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates
1048
+ *
1049
+ * @since 1.00
1050
+ *
1051
+ * @param integer ID of post/page/attachment; not used at this time
1052
+ *
1053
+ * @return void
1054
+ */
1055
+ public static function mla_save_post_action( $post_id ) {
1056
+ self::mla_flush_mla_galleries( MLAOptions::MLA_GALLERY_IN_TUNING );
1057
+ self::mla_flush_mla_galleries( MLAOptions::MLA_MLA_GALLERY_IN_TUNING );
1058
+ }
1059
+
1060
  /**
1061
  * Builds the $mla_galleries or $galleries array
1062
  *
1063
  * @since 0.70
1064
  *
1065
+ * @param string name of the gallery's cache/option variable
1066
  * @param array by reference to the private static galleries array variable
1067
  * @param string the shortcode to be searched for and processed
1068
  * @param boolean true to exclude revisions from the search
1069
  *
1070
  * @return boolean true if the galleries array is not empty
1071
  */
1072
+ private static function _build_mla_galleries( $option_name, &$galleries_array, $shortcode, $exclude_revisions ) {
1073
  global $wpdb, $post;
1074
 
1075
  if ( is_array( $galleries_array ) ) {
1080
  }
1081
  }
1082
 
1083
+ $option_value = MLAOptions::mla_get_option( $option_name );
1084
+ if ( 'disabled' == $option_value )
1085
+ return false;
1086
+ elseif ( 'cached' == $option_value ) {
1087
+ $galleries_array = get_transient( MLA_OPTION_PREFIX . 't_' . $option_name );
1088
+ if ( is_array( $galleries_array ) ) {
1089
+ if ( ! empty( $galleries_array ) ) {
1090
+ return true;
1091
+ } else {
1092
+ return false;
1093
+ }
1094
+ }
1095
+ else
1096
+ $galleries_array = NULL;
1097
+ } // cached
1098
+
1099
  /*
1100
  * $galleries_array is null, so build the array
1101
  */
1152
  } // foreach $match
1153
  } // if $count
1154
  } // foreach $result
1155
+
1156
+ /*
1157
+ * Maybe cache the results
1158
+ */
1159
+ if ( 'cached' == $option_value ) {
1160
+ set_transient( MLA_OPTION_PREFIX . 't_' . $option_name, $galleries_array, 900 ); // fifteen minutes
1161
+ }
1162
+
1163
  return true;
1164
  }
1165
 
1219
  * @since 0.90
1220
  *
1221
  * @param int post ID of attachment
1222
+ * @param string optional; if $post_id is zero, path to the image file.
1223
  *
1224
  * @return array Meta data variables
1225
  */
1226
+ public static function mla_fetch_attachment_image_metadata( $post_id, $path = '' ) {
1227
  $results = array(
1228
  'mla_iptc_metadata' => array (),
1229
  'mla_exif_metadata' => array ()
1230
  );
1231
 
1232
+ // $post_meta = get_metadata( 'post', $post_id, '_wp_attachment_metadata' );
1233
+ // if ( is_array( $post_meta ) && isset( $post_meta[0]['file'] ) ) {
1234
+ if ( 0 != $post_id )
1235
  $path = get_attached_file($post_id);
1236
+
1237
+ if ( ! empty( $path ) ) {
1238
  $size = getimagesize( $path, $info );
1239
  foreach ( $info as $key => $value ) {
1240
  }
1343
  $message = '';
1344
  $updates = array( 'ID' => $post_id );
1345
  $new_data = stripslashes_deep( $new_data );
1346
+ $new_meta = NULL;
1347
 
1348
  foreach ( $new_data as $key => $value ) {
1349
  switch ( $key ) {
1441
  $message .= sprintf( 'Changing Author from "%1$s" to "%2$s"<br>', $from_user->display_name, $to_user->display_name );
1442
  $updates[ $key ] = $value;
1443
  break;
1444
+ case 'taxonomy_updates':
1445
+ $tax_input = $value['inputs'];
1446
+ $tax_actions = $value['actions'];
1447
+ break;
1448
+ case 'custom_updates':
1449
+ $new_meta = $value;
1450
+ break;
1451
  default:
1452
  // Ignore anything else
1453
  } // switch $key
1485
  break;
1486
  default:
1487
  $action_name = 'Ignoring';
1488
+ $result = NULL;
1489
  // ignore anything else
1490
  }
1491
 
1502
  } // foreach $tax_input
1503
  } // !empty $tax_input
1504
 
1505
+ if ( is_array( $new_meta ) ) {
1506
+ foreach ( $new_meta as $meta_key => $meta_value ) {
1507
+ if ( isset( $post_data[ 'mla_item_' . $meta_key ] ) )
1508
+ $old_meta_value = $post_data[ 'mla_item_' . $meta_key ];
1509
+ else
1510
+ $old_meta_value = '';
1511
+
1512
+ if ( $old_meta_value != $meta_value ) {
1513
+ $message .= sprintf( 'Changing %1$s from "%2$s" to "%3$s"<br>', $meta_key, $old_meta_value, $meta_value );
1514
+ $results = update_post_meta( $post_id, $meta_key, $meta_value );
1515
+ }
1516
+ } // foreach $new_meta
1517
+ }
1518
+
1519
  if ( empty( $message ) )
1520
  return array(
1521
  'message' => 'Item: ' . $post_id . ', no changes detected.',
includes/class-mla-edit-media.php CHANGED
@@ -26,7 +26,8 @@ class MLAEdit {
26
  * page. This supports all the standard meta-boxes for post types.
27
  */
28
  if ( MLATest::$wordpress_3point5_plus ) {
29
- add_post_type_support( 'attachment', 'custom-fields' );
 
30
  add_action( 'add_meta_boxes', 'MLAEdit::mla_add_meta_boxes_action', 10, 2 );
31
 
32
  // do_action in wp-admin/includes/meta-boxes.php function attachment_submit_meta_box
@@ -40,6 +41,18 @@ class MLAEdit {
40
  } // $wordpress_3point5_plus
41
  }
42
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  /**
44
  * Adds Last Modified date to the Submit box on the Edit Media screen.
45
  * Declared public because it is an action.
@@ -79,10 +92,14 @@ class MLAEdit {
79
  if ( !empty( $image_metadata ) )
80
  add_meta_box( 'mla-image-metadata', 'Image Metadata', 'MLAEdit::mla_image_metadata_handler', 'attachment', 'normal', 'core' );
81
 
82
- add_meta_box( 'mla-featured-in', 'Featured in', 'MLAEdit::mla_featured_in_handler', 'attachment', 'normal', 'core' );
83
- add_meta_box( 'mla-inserted-in', 'Inserted in', 'MLAEdit::mla_inserted_in_handler', 'attachment', 'normal', 'core' );
84
- add_meta_box( 'mla-gallery-in', 'Gallery in', 'MLAEdit::mla_gallery_in_handler', 'attachment', 'normal', 'core' );
85
- add_meta_box( 'mla-mla-gallery-in', 'MLA Gallery in', 'MLAEdit::mla_mla_gallery_in_handler', 'attachment', 'normal', 'core' );
 
 
 
 
86
  } // 'attachment'
87
  } // mla_add_meta_boxes_action
88
 
@@ -161,28 +178,14 @@ class MLAEdit {
161
  self::$mla_references = MLAData::mla_fetch_attachment_references( $post->ID, $post->post_parent );
162
 
163
  if ( is_array( self::$mla_references ) ) {
164
- if ( self::$mla_references['found_parent'] ) {
165
- $parent_info = sprintf( '(%1$s) %2$s', self::$mla_references['parent_type'], self::$mla_references['parent_title'] );
166
- } else {
167
- $parent_info = '';
168
- if ( !self::$mla_references['found_reference'] )
169
- $parent_info .= '(ORPHAN) ';
170
-
171
- if ( self::$mla_references['is_unattached'] )
172
- $parent_info .= '(UNATTACHED) ';
173
- else {
174
- if ( !self::$mla_references['found_parent'] ) {
175
- if ( isset( self::$mla_references['parent_title'] ) )
176
- $parent_info .= '(BAD PARENT) ';
177
- else
178
- $parent_info .= '(INVALID PARENT) ';
179
- }
180
- }
181
- } // no parent
182
  } // is_array
183
 
184
  echo '<label class="screen-reader-text" for="mla_post_parent">Post Parent</label><input name="mla_post_parent" type="text" size="4" id="mla_post_parent" value="' . $post->post_parent . "\" />\r\n";
185
- echo '<label class="screen-reader-text" for="mla_parent_info">Parent Info</label><input name="mla_parent_info" type="text" readonly="readonly" size="60" id="mla_parent_info" value="' . esc_attr( $parent_info ) . "\" />\r\n";
186
  }
187
 
188
  /**
@@ -218,7 +221,13 @@ class MLAEdit {
218
  else
219
  $value = '';
220
 
221
- echo '<label class="screen-reader-text" for="mla_image_metadata">Image Metadata</label><textarea id="mla_image_metadata" rows="5" cols="80" readonly="readonly" name="mla_image_metadata" >' . esc_textarea( $value ) . "</textarea>\r\n";
 
 
 
 
 
 
222
  }
223
 
224
  /**
@@ -248,7 +257,7 @@ class MLAEdit {
248
  } // foreach $feature
249
  }
250
 
251
- echo '<label class="screen-reader-text" for="mla_featured_in">Featured in</label><textarea id="mla_featured_in" rows="5" cols="80" readonly="readonly" name="mla_featured_in" >' . esc_textarea( $features ) . "</textarea>\r\n";
252
  }
253
 
254
  /**
@@ -282,7 +291,7 @@ class MLAEdit {
282
  } // foreach $file
283
  } // is_array
284
 
285
- echo '<label class="screen-reader-text" for="mla_inserted_in">Inserted in</label><textarea id="mla_inserted_in" rows="5" cols="80" readonly="readonly" name="mla_inserted_in" >' . esc_textarea( $inserts ) . "</textarea>\r\n";
286
  }
287
 
288
  /**
@@ -312,7 +321,7 @@ class MLAEdit {
312
  } // foreach $feature
313
  }
314
 
315
- echo '<label class="screen-reader-text" for="mla_gallery_in">Gallery in</label><textarea id="mla_gallery_in" rows="5" cols="80" readonly="readonly" name="mla_gallery_in" >' . esc_textarea( $galleries ) . "</textarea>\r\n";
316
  }
317
 
318
  /**
@@ -342,7 +351,7 @@ class MLAEdit {
342
  } // foreach $feature
343
  }
344
 
345
- echo '<label class="screen-reader-text" for="mla_mla_gallery_in">MLA Gallery in</label><textarea id="mla_mla_gallery_in" rows="5" cols="80" readonly="readonly" name="mla_mla_gallery_in" >' . esc_textarea( $galleries ) . "</textarea>\r\n";
346
  }
347
 
348
  /**
26
  * page. This supports all the standard meta-boxes for post types.
27
  */
28
  if ( MLATest::$wordpress_3point5_plus ) {
29
+ add_action( 'admin_init', 'MLAEdit::mla_custom_field_support_action' );
30
+
31
  add_action( 'add_meta_boxes', 'MLAEdit::mla_add_meta_boxes_action', 10, 2 );
32
 
33
  // do_action in wp-admin/includes/meta-boxes.php function attachment_submit_meta_box
41
  } // $wordpress_3point5_plus
42
  }
43
 
44
+ /**
45
+ * Adds Custom Field support to the Edit Media screen.
46
+ * Declared public because it is an action.
47
+ *
48
+ * @since 0.80
49
+ *
50
+ * @return void echoes the HTML markup for the label and value
51
+ */
52
+ public static function mla_custom_field_support_action( ) {
53
+ add_post_type_support( 'attachment', 'custom-fields' );
54
+ }
55
+
56
  /**
57
  * Adds Last Modified date to the Submit box on the Edit Media screen.
58
  * Declared public because it is an action.
92
  if ( !empty( $image_metadata ) )
93
  add_meta_box( 'mla-image-metadata', 'Image Metadata', 'MLAEdit::mla_image_metadata_handler', 'attachment', 'normal', 'core' );
94
 
95
+ if ( MLAOptions::$process_featured_in )
96
+ add_meta_box( 'mla-featured-in', 'Featured in', 'MLAEdit::mla_featured_in_handler', 'attachment', 'normal', 'core' );
97
+ if ( MLAOptions::$process_inserted_in )
98
+ add_meta_box( 'mla-inserted-in', 'Inserted in', 'MLAEdit::mla_inserted_in_handler', 'attachment', 'normal', 'core' );
99
+ if ( MLAOptions::$process_gallery_in )
100
+ add_meta_box( 'mla-gallery-in', 'Gallery in', 'MLAEdit::mla_gallery_in_handler', 'attachment', 'normal', 'core' );
101
+ if ( MLAOptions::$process_mla_gallery_in )
102
+ add_meta_box( 'mla-mla-gallery-in', 'MLA Gallery in', 'MLAEdit::mla_mla_gallery_in_handler', 'attachment', 'normal', 'core' );
103
  } // 'attachment'
104
  } // mla_add_meta_boxes_action
105
 
178
  self::$mla_references = MLAData::mla_fetch_attachment_references( $post->ID, $post->post_parent );
179
 
180
  if ( is_array( self::$mla_references ) ) {
181
+ if ( empty(self::$mla_references['parent_title'] ) )
182
+ $parent_info = self::$mla_references['parent_errors'];
183
+ else
184
+ $parent_info = sprintf( '(%1$s) %2$s %3$s', self::$mla_references['parent_type'], self::$mla_references['parent_title'], self::$mla_references['parent_errors'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  } // is_array
186
 
187
  echo '<label class="screen-reader-text" for="mla_post_parent">Post Parent</label><input name="mla_post_parent" type="text" size="4" id="mla_post_parent" value="' . $post->post_parent . "\" />\r\n";
188
+ echo '<label class="screen-reader-text" for="mla_parent_info">Parent Info</label><input class="readonly" name="mla_parent_info" type="text" readonly="readonly" size="60" id="mla_parent_info" value="' . esc_attr( $parent_info ) . "\" />\r\n";
189
  }
190
 
191
  /**
221
  else
222
  $value = '';
223
 
224
+ echo '<label class="screen-reader-text" for="mla_image_metadata">Image Metadata</label><textarea class="readonly" id="mla_image_metadata" rows="5" cols="80" readonly="readonly" name="mla_image_metadata" >' . esc_textarea( $value ) . "</textarea>\r\n";
225
+
226
+ $view_args = array(
227
+ 'page' => 'mla-menu',
228
+ 'mla_item_ID' => $post->ID
229
+ );
230
+ echo '<a style="float: right; " href="' . add_query_arg( $view_args, wp_nonce_url( 'upload.php?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_MAP, MLA::MLA_ADMIN_NONCE ) ) . '" title="Map IPTC/EXIF metadata for this item">Map IPTC/EXIF Metadata</a>' . "\r\n";
231
  }
232
 
233
  /**
257
  } // foreach $feature
258
  }
259
 
260
+ echo '<label class="screen-reader-text" for="mla_featured_in">Featured in</label><textarea class="readonly" id="mla_featured_in" rows="5" cols="80" readonly="readonly" name="mla_featured_in" >' . esc_textarea( $features ) . "</textarea>\r\n";
261
  }
262
 
263
  /**
291
  } // foreach $file
292
  } // is_array
293
 
294
+ echo '<label class="screen-reader-text" for="mla_inserted_in">Inserted in</label><textarea class="readonly" id="mla_inserted_in" rows="5" cols="80" readonly="readonly" name="mla_inserted_in" >' . esc_textarea( $inserts ) . "</textarea>\r\n";
295
  }
296
 
297
  /**
321
  } // foreach $feature
322
  }
323
 
324
+ echo '<label class="screen-reader-text" for="mla_gallery_in">Gallery in</label><textarea class="readonly" id="mla_gallery_in" rows="5" cols="80" readonly="readonly" name="mla_gallery_in" >' . esc_textarea( $galleries ) . "</textarea>\r\n";
325
  }
326
 
327
  /**
351
  } // foreach $feature
352
  }
353
 
354
+ echo '<label class="screen-reader-text" for="mla_mla_gallery_in">MLA Gallery in</label><textarea class="readonly" id="mla_mla_gallery_in" rows="5" cols="80" readonly="readonly" name="mla_mla_gallery_in" >' . esc_textarea( $galleries ) . "</textarea>\r\n";
355
  }
356
 
357
  /**
includes/class-mla-list-table.php CHANGED
@@ -353,7 +353,7 @@ class MLA_List_Table extends WP_List_Table {
353
  $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'names' );
354
 
355
  foreach ( $taxonomies as $tax_name ) {
356
- if ( MLASettings::mla_taxonomy_support( $tax_name ) ) {
357
  $tax_object = get_taxonomy( $tax_name );
358
  MLA_List_Table::$default_columns[ 't_' . $tax_name ] = $tax_object->labels->name;
359
  MLA_List_Table::$default_hidden_columns [] = $tax_name;
@@ -575,10 +575,10 @@ class MLA_List_Table extends WP_List_Table {
575
  $taxonomies = get_object_taxonomies( 'attachment', 'objects' );
576
 
577
  foreach ( $taxonomies as $tax_name => $tax_object ) {
578
- if ( $tax_object->hierarchical && $tax_object->show_ui && MLASettings::mla_taxonomy_support($tax_name, 'quick-edit') ) {
579
  $inline_data .= ' <div class="mla_category" id="' . $tax_name . '_' . $item->ID . '">'
580
  . implode( ',', wp_get_object_terms( $item->ID, $tax_name, array( 'fields' => 'ids' ) ) ) . "</div>\r\n";
581
- } elseif ( $tax_object->show_ui && MLASettings::mla_taxonomy_support($tax_name, 'quick-edit') ) {
582
  $inline_data .= ' <div class="mla_tags" id="'.$tax_name.'_'.$item->ID. '">'
583
  . esc_html( str_replace( ',', ', ', get_terms_to_edit( $item->ID, $tax_name ) ) ) . "</div>\r\n";
584
  }
@@ -629,24 +629,12 @@ class MLA_List_Table extends WP_List_Table {
629
  * @return string HTML markup to be placed inside the column
630
  */
631
  function column_title_name( $item ) {
632
- $errors = '';
633
- if ( !$item->mla_references['found_reference'] )
634
- $errors .= '(ORPHAN) ';
635
-
636
- if ( $item->mla_references['is_unattached'] )
637
- $errors .= '(UNATTACHED) ';
638
- else {
639
- if ( !$item->mla_references['found_parent'] ) {
640
- if ( isset( $item->parent_title ) )
641
- $errors .= '(BAD PARENT) ';
642
- else
643
- $errors .= '(INVALID PARENT) ';
644
- }
645
- }
646
-
647
  $row_actions = self::_build_rollover_actions( $item, 'title_name' );
648
  $post_title = esc_attr( $item->post_title );
649
  $post_name = esc_attr( $item->post_name );
 
 
 
650
 
651
  if ( !empty( $row_actions ) ) {
652
  return sprintf( '%1$s<br>%2$s<br>%3$s%4$s', /*%1$s*/ $post_title, /*%2$s*/ $post_name, /*%3$s*/ $errors, /*%4$s*/ $this->row_actions( $row_actions ) );
@@ -737,6 +725,9 @@ class MLA_List_Table extends WP_List_Table {
737
  * @return string HTML markup to be placed inside the column
738
  */
739
  function column_featured( $item ) {
 
 
 
740
  $value = '';
741
 
742
  foreach ( $item->mla_references['features'] as $feature_id => $feature ) {
@@ -765,6 +756,9 @@ class MLA_List_Table extends WP_List_Table {
765
  * @return string HTML markup to be placed inside the column
766
  */
767
  function column_inserted( $item ) {
 
 
 
768
  $value = '';
769
 
770
  foreach ( $item->mla_references['inserts'] as $file => $inserts ) {
@@ -797,6 +791,9 @@ class MLA_List_Table extends WP_List_Table {
797
  * @return string HTML markup to be placed inside the column
798
  */
799
  function column_galleries( $item ) {
 
 
 
800
  $value = '';
801
 
802
  foreach ( $item->mla_references['galleries'] as $ID => $gallery ) {
@@ -825,6 +822,9 @@ class MLA_List_Table extends WP_List_Table {
825
  * @return string HTML markup to be placed inside the column
826
  */
827
  function column_mla_galleries( $item ) {
 
 
 
828
  $value = '';
829
 
830
  foreach ( $item->mla_references['mla_galleries'] as $ID => $gallery ) {
@@ -1195,7 +1195,7 @@ class MLA_List_Table extends WP_List_Table {
1195
  if ( 'top' == $which ) {
1196
  $this->months_dropdown( 'attachment' );
1197
 
1198
- $tax_filter = MLASettings::mla_taxonomy_support('', 'filter');
1199
  if ( ( '' != $tax_filter ) && ( is_object_in_taxonomy( 'attachment', $tax_filter ) ) ) {
1200
  $tax_object = get_taxonomy( $tax_filter );
1201
  $dropdown_options = array(
353
  $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'names' );
354
 
355
  foreach ( $taxonomies as $tax_name ) {
356
+ if ( MLAOptions::mla_taxonomy_support( $tax_name ) ) {
357
  $tax_object = get_taxonomy( $tax_name );
358
  MLA_List_Table::$default_columns[ 't_' . $tax_name ] = $tax_object->labels->name;
359
  MLA_List_Table::$default_hidden_columns [] = $tax_name;
575
  $taxonomies = get_object_taxonomies( 'attachment', 'objects' );
576
 
577
  foreach ( $taxonomies as $tax_name => $tax_object ) {
578
+ if ( $tax_object->hierarchical && $tax_object->show_ui && MLAOptions::mla_taxonomy_support($tax_name, 'quick-edit') ) {
579
  $inline_data .= ' <div class="mla_category" id="' . $tax_name . '_' . $item->ID . '">'
580
  . implode( ',', wp_get_object_terms( $item->ID, $tax_name, array( 'fields' => 'ids' ) ) ) . "</div>\r\n";
581
+ } elseif ( $tax_object->show_ui && MLAOptions::mla_taxonomy_support($tax_name, 'quick-edit') ) {
582
  $inline_data .= ' <div class="mla_tags" id="'.$tax_name.'_'.$item->ID. '">'
583
  . esc_html( str_replace( ',', ', ', get_terms_to_edit( $item->ID, $tax_name ) ) ) . "</div>\r\n";
584
  }
629
  * @return string HTML markup to be placed inside the column
630
  */
631
  function column_title_name( $item ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
632
  $row_actions = self::_build_rollover_actions( $item, 'title_name' );
633
  $post_title = esc_attr( $item->post_title );
634
  $post_name = esc_attr( $item->post_name );
635
+ $errors = $item->mla_references['parent_errors'];
636
+ if ( '(NO REFERENCE TESTS)' == $errors )
637
+ $errors = '';
638
 
639
  if ( !empty( $row_actions ) ) {
640
  return sprintf( '%1$s<br>%2$s<br>%3$s%4$s', /*%1$s*/ $post_title, /*%2$s*/ $post_name, /*%3$s*/ $errors, /*%4$s*/ $this->row_actions( $row_actions ) );
725
  * @return string HTML markup to be placed inside the column
726
  */
727
  function column_featured( $item ) {
728
+ if ( !MLAOptions::$process_featured_in )
729
+ return 'disabled';
730
+
731
  $value = '';
732
 
733
  foreach ( $item->mla_references['features'] as $feature_id => $feature ) {
756
  * @return string HTML markup to be placed inside the column
757
  */
758
  function column_inserted( $item ) {
759
+ if ( !MLAOptions::$process_inserted_in )
760
+ return 'disabled';
761
+
762
  $value = '';
763
 
764
  foreach ( $item->mla_references['inserts'] as $file => $inserts ) {
791
  * @return string HTML markup to be placed inside the column
792
  */
793
  function column_galleries( $item ) {
794
+ if ( !MLAOptions::$process_gallery_in )
795
+ return 'disabled';
796
+
797
  $value = '';
798
 
799
  foreach ( $item->mla_references['galleries'] as $ID => $gallery ) {
822
  * @return string HTML markup to be placed inside the column
823
  */
824
  function column_mla_galleries( $item ) {
825
+ if ( !MLAOptions::$process_mla_gallery_in )
826
+ return 'disabled';
827
+
828
  $value = '';
829
 
830
  foreach ( $item->mla_references['mla_galleries'] as $ID => $gallery ) {
1195
  if ( 'top' == $which ) {
1196
  $this->months_dropdown( 'attachment' );
1197
 
1198
+ $tax_filter = MLAOptions::mla_taxonomy_support('', 'filter');
1199
  if ( ( '' != $tax_filter ) && ( is_object_in_taxonomy( 'attachment', $tax_filter ) ) ) {
1200
  $tax_object = get_taxonomy( $tax_filter );
1201
  $dropdown_options = array(
includes/class-mla-main.php CHANGED
@@ -38,7 +38,7 @@ class MLA {
38
  *
39
  * @var string
40
  */
41
- const CURRENT_MLA_VERSION = '0.90';
42
 
43
  /**
44
  * Minimum version of PHP required for this plugin
@@ -166,6 +166,15 @@ class MLA {
166
  */
167
  const MLA_ADMIN_SINGLE_TRASH = 'single_item_trash';
168
 
 
 
 
 
 
 
 
 
 
169
  /**
170
  * Holds screen ids to match help text to corresponding screen
171
  *
@@ -600,6 +609,13 @@ class MLA {
600
  $item_content = self::_delete_single_item( $post_id );
601
  break;
602
  case 'edit':
 
 
 
 
 
 
 
603
  $new_data = array ( ) ;
604
  if ( isset( $_REQUEST['post_parent'] ) && is_numeric( $_REQUEST['post_parent'] ) )
605
  $new_data['post_parent'] = $_REQUEST['post_parent'];
@@ -648,9 +664,13 @@ class MLA {
648
  case self::MLA_ADMIN_SINGLE_EDIT_UPDATE:
649
  if ( !empty( $_REQUEST['update'] ) ) {
650
  $page_content = MLAData::mla_update_single_item( $_REQUEST['mla_item_ID'], $_REQUEST['attachments'][ $_REQUEST['mla_item_ID'] ], $_REQUEST['tax_input'] );
 
 
 
 
651
  } else {
652
  $page_content = array(
653
- 'message' => 'Item: ' . $_REQUEST['mla_item_ID'] . ' cancelled.',
654
  'body' => ''
655
  );
656
  }
@@ -661,6 +681,11 @@ class MLA {
661
  case self::MLA_ADMIN_SINGLE_TRASH:
662
  $page_content = self::_trash_single_item( $_REQUEST['mla_item_ID'] );
663
  break;
 
 
 
 
 
664
  default:
665
  $page_content = array(
666
  'message' => sprintf( 'Unknown mla_admin_action - "%1$s"', $_REQUEST['mla_admin_action'] ),
@@ -894,9 +919,9 @@ class MLA {
894
  $hierarchical_taxonomies = array();
895
  $flat_taxonomies = array();
896
  foreach ( $taxonomies as $tax_name => $tax_object ) {
897
- if ( $tax_object->hierarchical && $tax_object->show_ui && MLASettings::mla_taxonomy_support($tax_name, 'quick-edit') ) {
898
  $hierarchical_taxonomies[$tax_name] = $tax_object;
899
- } elseif ( $tax_object->show_ui && MLASettings::mla_taxonomy_support($tax_name, 'quick-edit') ) {
900
  $flat_taxonomies[$tax_name] = $tax_object;
901
  }
902
  }
@@ -1059,8 +1084,7 @@ class MLA {
1059
  *
1060
  * @return string|false The action name or False if no action was selected
1061
  */
1062
- private static function _current_bulk_action( )
1063
- {
1064
  $action = false;
1065
 
1066
  if ( isset( $_REQUEST['action'] ) ) {
@@ -1125,7 +1149,6 @@ class MLA {
1125
  * This function sets the global $post
1126
  */
1127
  $post_data = MLAData::mla_get_attachment_by_id( $post_id );
1128
-
1129
  if ( !isset( $post_data ) )
1130
  return array(
1131
  'message' => 'ERROR: Could not retrieve Attachment.',
@@ -1164,25 +1187,11 @@ class MLA {
1164
  $postbox_template = '';
1165
  }
1166
 
1167
- if ( $post_data['mla_references']['found_parent'] ) {
1168
- $parent_info = sprintf( '(%1$s) %2$s', $post_data['mla_references']['parent_type'], $post_data['mla_references']['parent_title'] );
1169
- } else {
1170
- $parent_info = '';
1171
- if ( !$post_data['mla_references']['found_reference'] )
1172
- $parent_info .= '(ORPHAN) ';
1173
-
1174
- if ( $post_data['mla_references']['is_unattached'] )
1175
- $parent_info .= '(UNATTACHED) ';
1176
- else {
1177
- if ( !$post_data['mla_references']['found_parent'] ) {
1178
- if ( isset( $post_data['mla_references']['parent_title'] ) )
1179
- $parent_info .= '(BAD PARENT) ';
1180
- else
1181
- $parent_info .= '(INVALID PARENT) ';
1182
- }
1183
- }
1184
- }
1185
-
1186
  if ( $authors = self::_authors_dropdown( $post_data['post_author'], 'attachments[' . $post_data['ID'] . '][post_author]' ) ) {
1187
  $args = array (
1188
  'ID' => $post_data['ID'],
@@ -1193,54 +1202,70 @@ class MLA {
1193
  else
1194
  $authors = '';
1195
 
1196
- $features = '';
1197
-
1198
- foreach ( $post_data['mla_references']['features'] as $feature_id => $feature ) {
1199
- if ( $feature_id == $post_data['post_parent'] )
1200
- $parent = 'PARENT ';
1201
- else
1202
- $parent = '';
1203
-
1204
- $features .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $feature->post_type, /*$3%s*/ $feature_id, /*$4%s*/ $feature->post_title ) . "\r\n";
1205
- } // foreach $feature
1206
-
1207
- $inserts = '';
1208
-
1209
- foreach ( $post_data['mla_references']['inserts'] as $file => $insert_array ) {
1210
- $inserts .= $file . "\r\n";
1211
 
1212
- foreach ( $insert_array as $insert ) {
1213
- if ( $insert->ID == $post_data['post_parent'] )
1214
- $parent = ' PARENT ';
1215
  else
1216
- $parent = ' ';
1217
 
1218
- $inserts .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $insert->post_type, /*$3%s*/ $insert->ID, /*$4%s*/ $insert->post_title ) . "\r\n";
1219
- } // foreach $insert
1220
- } // foreach $file
1221
-
1222
- $galleries = '';
1223
-
1224
- foreach ( $post_data['mla_references']['galleries'] as $gallery_id => $gallery ) {
1225
- if ( $gallery_id == $post_data['post_parent'] )
1226
- $parent = 'PARENT ';
1227
- else
1228
- $parent = '';
1229
 
1230
- $galleries .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $gallery['post_type'], /*$3%s*/ $gallery_id, /*$4%s*/ $gallery['post_title'] ) . "\r\n";
1231
- } // foreach $gallery
1232
-
1233
- $mla_galleries = '';
1234
 
1235
- foreach ( $post_data['mla_references']['mla_galleries'] as $gallery_id => $gallery ) {
1236
- if ( $gallery_id == $post_data['post_parent'] )
1237
- $parent = 'PARENT ';
1238
- else
1239
- $parent = '';
1240
-
1241
- $mla_galleries .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $gallery['post_type'], /*$3%s*/ $gallery_id, /*$4%s*/ $gallery['post_title'] ) . "\r\n";
1242
- } // foreach $feature
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1243
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1244
  /*
1245
  * WordPress doesn't look in hidden fields to set the month filter dropdown or pagination filter
1246
  */
38
  *
39
  * @var string
40
  */
41
+ const CURRENT_MLA_VERSION = '1.00';
42
 
43
  /**
44
  * Minimum version of PHP required for this plugin
166
  */
167
  const MLA_ADMIN_SINGLE_TRASH = 'single_item_trash';
168
 
169
+ /**
170
+ * mla_admin_action value for mapping IPTC/EXIF metadata
171
+ *
172
+ * @since 1.00
173
+ *
174
+ * @var string
175
+ */
176
+ const MLA_ADMIN_SINGLE_MAP = 'single_item_map';
177
+
178
  /**
179
  * Holds screen ids to match help text to corresponding screen
180
  *
609
  $item_content = self::_delete_single_item( $post_id );
610
  break;
611
  case 'edit':
612
+ if ( !empty( $_REQUEST['bulk_map'] ) ) {
613
+ $item = get_post( $post_id );
614
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $item, 'iptc_exif_mapping' );
615
+ $item_content = MLAData::mla_update_single_item( $post_id, $updates );
616
+ break;
617
+ }
618
+
619
  $new_data = array ( ) ;
620
  if ( isset( $_REQUEST['post_parent'] ) && is_numeric( $_REQUEST['post_parent'] ) )
621
  $new_data['post_parent'] = $_REQUEST['post_parent'];
664
  case self::MLA_ADMIN_SINGLE_EDIT_UPDATE:
665
  if ( !empty( $_REQUEST['update'] ) ) {
666
  $page_content = MLAData::mla_update_single_item( $_REQUEST['mla_item_ID'], $_REQUEST['attachments'][ $_REQUEST['mla_item_ID'] ], $_REQUEST['tax_input'] );
667
+ } elseif ( !empty( $_REQUEST['map-iptc-exif'] ) ) {
668
+ $item = get_post( $_REQUEST['mla_item_ID'] );
669
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $item, 'iptc_exif_mapping' );
670
+ $page_content = MLAData::mla_update_single_item( $_REQUEST['mla_item_ID'], $updates );
671
  } else {
672
  $page_content = array(
673
+ 'message' => 'Item: ' . $_REQUEST['mla_item_ID'] . ' cancelled.',
674
  'body' => ''
675
  );
676
  }
681
  case self::MLA_ADMIN_SINGLE_TRASH:
682
  $page_content = self::_trash_single_item( $_REQUEST['mla_item_ID'] );
683
  break;
684
+ case self::MLA_ADMIN_SINGLE_MAP:
685
+ $item = get_post( $_REQUEST['mla_item_ID'] );
686
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $item, 'iptc_exif_mapping' );
687
+ $page_content = MLAData::mla_update_single_item( $_REQUEST['mla_item_ID'], $updates );
688
+ break;
689
  default:
690
  $page_content = array(
691
  'message' => sprintf( 'Unknown mla_admin_action - "%1$s"', $_REQUEST['mla_admin_action'] ),
919
  $hierarchical_taxonomies = array();
920
  $flat_taxonomies = array();
921
  foreach ( $taxonomies as $tax_name => $tax_object ) {
922
+ if ( $tax_object->hierarchical && $tax_object->show_ui && MLAOptions::mla_taxonomy_support($tax_name, 'quick-edit') ) {
923
  $hierarchical_taxonomies[$tax_name] = $tax_object;
924
+ } elseif ( $tax_object->show_ui && MLAOptions::mla_taxonomy_support($tax_name, 'quick-edit') ) {
925
  $flat_taxonomies[$tax_name] = $tax_object;
926
  }
927
  }
1084
  *
1085
  * @return string|false The action name or False if no action was selected
1086
  */
1087
+ private static function _current_bulk_action( ) {
 
1088
  $action = false;
1089
 
1090
  if ( isset( $_REQUEST['action'] ) ) {
1149
  * This function sets the global $post
1150
  */
1151
  $post_data = MLAData::mla_get_attachment_by_id( $post_id );
 
1152
  if ( !isset( $post_data ) )
1153
  return array(
1154
  'message' => 'ERROR: Could not retrieve Attachment.',
1187
  $postbox_template = '';
1188
  }
1189
 
1190
+ if ( empty($post_data['mla_references']['parent_title'] ) )
1191
+ $parent_info = $post_data['mla_references']['parent_errors'];
1192
+ else
1193
+ $parent_info = sprintf( '(%1$s) %2$s %3$s', $post_data['mla_references']['parent_type'], $post_data['mla_references']['parent_title'], $post_data['mla_references']['parent_errors'] );
1194
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1195
  if ( $authors = self::_authors_dropdown( $post_data['post_author'], 'attachments[' . $post_data['ID'] . '][post_author]' ) ) {
1196
  $args = array (
1197
  'ID' => $post_data['ID'],
1202
  else
1203
  $authors = '';
1204
 
1205
+ if ( MLAOptions::$process_featured_in ) {
1206
+ $features = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
1207
 
1208
+ foreach ( $post_data['mla_references']['features'] as $feature_id => $feature ) {
1209
+ if ( $feature_id == $post_data['post_parent'] )
1210
+ $parent = 'PARENT ';
1211
  else
1212
+ $parent = '';
1213
 
1214
+ $features .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $feature->post_type, /*$3%s*/ $feature_id, /*$4%s*/ $feature->post_title ) . "\r\n";
1215
+ } // foreach $feature
1216
+ }
1217
+ else
1218
+ $features = 'disabled';
 
 
 
 
 
 
1219
 
1220
+ if ( MLAOptions::$process_inserted_in ) {
1221
+ $inserts = '';
 
 
1222
 
1223
+ foreach ( $post_data['mla_references']['inserts'] as $file => $insert_array ) {
1224
+ $inserts .= $file . "\r\n";
1225
+
1226
+ foreach ( $insert_array as $insert ) {
1227
+ if ( $insert->ID == $post_data['post_parent'] )
1228
+ $parent = ' PARENT ';
1229
+ else
1230
+ $parent = ' ';
1231
+
1232
+ $inserts .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $insert->post_type, /*$3%s*/ $insert->ID, /*$4%s*/ $insert->post_title ) . "\r\n";
1233
+ } // foreach $insert
1234
+ } // foreach $file
1235
+ }
1236
+ else
1237
+ $inserts = 'disabled';
1238
+
1239
+ if ( MLAOptions::$process_gallery_in ) {
1240
+ $galleries = '';
1241
+
1242
+ foreach ( $post_data['mla_references']['galleries'] as $gallery_id => $gallery ) {
1243
+ if ( $gallery_id == $post_data['post_parent'] )
1244
+ $parent = 'PARENT ';
1245
+ else
1246
+ $parent = '';
1247
+
1248
+ $galleries .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $gallery['post_type'], /*$3%s*/ $gallery_id, /*$4%s*/ $gallery['post_title'] ) . "\r\n";
1249
+ } // foreach $gallery
1250
+ }
1251
+ else
1252
+ $galleries = 'disabled';
1253
 
1254
+ if ( MLAOptions::$process_mla_gallery_in ) {
1255
+ $mla_galleries = '';
1256
+
1257
+ foreach ( $post_data['mla_references']['mla_galleries'] as $gallery_id => $gallery ) {
1258
+ if ( $gallery_id == $post_data['post_parent'] )
1259
+ $parent = 'PARENT ';
1260
+ else
1261
+ $parent = '';
1262
+
1263
+ $mla_galleries .= sprintf( '%1$s (%2$s %3$s), %4$s', /*$1%s*/ $parent, /*$2%s*/ $gallery['post_type'], /*$3%s*/ $gallery_id, /*$4%s*/ $gallery['post_title'] ) . "\r\n";
1264
+ } // foreach $gallery
1265
+ }
1266
+ else
1267
+ $mla_galleries = 'disabled';
1268
+
1269
  /*
1270
  * WordPress doesn't look in hidden fields to set the month filter dropdown or pagination filter
1271
  */
includes/class-mla-objects.php CHANGED
@@ -32,7 +32,7 @@ class MLAObjects {
32
  * @return void
33
  */
34
  private static function _build_taxonomies( ) {
35
- if ( MLASettings::mla_taxonomy_support('attachment_category') ) {
36
  $labels = array(
37
  'name' => _x( 'Att. Categories', 'taxonomy general name' ),
38
  'singular_name' => _x( 'Att. Category', 'taxonomy singular name' ),
@@ -60,7 +60,7 @@ class MLAObjects {
60
  );
61
  }
62
 
63
- if ( MLASettings::mla_taxonomy_support('attachment_tag') ) {
64
  $labels = array(
65
  'name' => _x( 'Att. Tags', 'taxonomy general name' ),
66
  'singular_name' => _x( 'Att. Tag', 'taxonomy singular name' ),
@@ -91,7 +91,7 @@ class MLAObjects {
91
 
92
  $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'names' );
93
  foreach ( $taxonomies as $tax_name ) {
94
- if ( MLASettings::mla_taxonomy_support( $tax_name ) ) {
95
  register_taxonomy_for_object_type( $tax_name, 'attachment');
96
  add_filter( "manage_edit-{$tax_name}_columns", 'MLAObjects::mla_taxonomy_get_columns_filter', 10, 1 ); // $columns
97
  add_filter( "manage_{$tax_name}_custom_column", 'MLAObjects::mla_taxonomy_column_filter', 10, 3 ); // $place_holder, $column_name, $tag->term_id
32
  * @return void
33
  */
34
  private static function _build_taxonomies( ) {
35
+ if ( MLAOptions::mla_taxonomy_support('attachment_category') ) {
36
  $labels = array(
37
  'name' => _x( 'Att. Categories', 'taxonomy general name' ),
38
  'singular_name' => _x( 'Att. Category', 'taxonomy singular name' ),
60
  );
61
  }
62
 
63
+ if ( MLAOptions::mla_taxonomy_support('attachment_tag') ) {
64
  $labels = array(
65
  'name' => _x( 'Att. Tags', 'taxonomy general name' ),
66
  'singular_name' => _x( 'Att. Tag', 'taxonomy singular name' ),
91
 
92
  $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'names' );
93
  foreach ( $taxonomies as $tax_name ) {
94
+ if ( MLAOptions::mla_taxonomy_support( $tax_name ) ) {
95
  register_taxonomy_for_object_type( $tax_name, 'attachment');
96
  add_filter( "manage_edit-{$tax_name}_columns", 'MLAObjects::mla_taxonomy_get_columns_filter', 10, 1 ); // $columns
97
  add_filter( "manage_{$tax_name}_custom_column", 'MLAObjects::mla_taxonomy_column_filter', 10, 3 ); // $place_holder, $column_name, $tag->term_id
includes/class-mla-options.php ADDED
@@ -0,0 +1,1672 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Manages the plugin option settings
4
+ *
5
+ * @package Media Library Assistant
6
+ * @since 1.00
7
+ */
8
+
9
+ /**
10
+ * Class MLA (Media Library Assistant) Options manages the plugin option settings
11
+ * and provides functions to get and put them from/to WordPress option variables
12
+ *
13
+ * Separated from class MLASettings in version 1.00
14
+ *
15
+ * @package Media Library Assistant
16
+ * @since 1.00
17
+ */
18
+ class MLAOptions {
19
+ /**
20
+ * Provides a unique name for the current version option
21
+ */
22
+ const MLA_VERSION_OPTION = 'current_version';
23
+
24
+ /**
25
+ * Provides a unique name for a database tuning option
26
+ */
27
+ const MLA_FEATURED_IN_TUNING = 'featured_in_tuning';
28
+
29
+ /**
30
+ * Provides a unique name for a database tuning option
31
+ */
32
+ const MLA_INSERTED_IN_TUNING = 'inserted_in_tuning';
33
+
34
+ /**
35
+ * Provides a unique name for a database tuning option
36
+ */
37
+ const MLA_GALLERY_IN_TUNING = 'gallery_in_tuning';
38
+
39
+ /**
40
+ * Provides a unique name for a database tuning option
41
+ */
42
+ const MLA_MLA_GALLERY_IN_TUNING = 'mla_gallery_in_tuning';
43
+
44
+ /**
45
+ * Provides a unique name for the Custom Field "new field" key
46
+ */
47
+ const MLA_NEW_CUSTOM_FIELD = '__NEW FIELD__';
48
+
49
+ /**
50
+ * Option setting for "Featured in" reporting
51
+ *
52
+ * This setting is false if the "Featured in" database access setting is "disabled", else true.
53
+ *
54
+ * @since 1.00
55
+ *
56
+ * @var boolean
57
+ */
58
+ public static $process_featured_in = true;
59
+
60
+ /**
61
+ * Option setting for "Inserted in" reporting
62
+ *
63
+ * This setting is false if the "Inserted in" database access setting is "disabled", else true.
64
+ *
65
+ * @since 1.00
66
+ *
67
+ * @var boolean
68
+ */
69
+ public static $process_inserted_in = true;
70
+
71
+ /**
72
+ * Option setting for "Gallery in" reporting
73
+ *
74
+ * This setting is false if the "Gallery in" database access setting is "disabled", else true.
75
+ *
76
+ * @since 1.00
77
+ *
78
+ * @var boolean
79
+ */
80
+ public static $process_gallery_in = true;
81
+
82
+ /**
83
+ * Option setting for "MLA Gallery in" reporting
84
+ *
85
+ * This setting is false if the "MLA Gallery in" database access setting is "disabled", else true.
86
+ *
87
+ * @since 1.00
88
+ *
89
+ * @var boolean
90
+ */
91
+ public static $process_mla_gallery_in = true;
92
+
93
+ /**
94
+ * $mla_option_definitions defines the database options and admin page areas for setting/updating them.
95
+ * Each option is defined by an array with the following elements:
96
+ *
97
+ * array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)
98
+ *
99
+ * tab => Settings page tab id for the option
100
+ * name => admin page label or heading text
101
+ * type => 'checkbox', 'header', 'radio', 'select', 'text', 'textarea', 'custom', 'hidden'
102
+ * std => default value
103
+ * help => help text
104
+ * size => text size, default 40
105
+ * cols => textbox columns, default 90
106
+ * rows => textbox rows, default 5
107
+ * options => array of radio or select option values
108
+ * texts => array of radio or select option display texts
109
+ * render => rendering function for 'custom' options. Usage:
110
+ * $options_list .= ['render']( 'render', $key, $value );
111
+ * update => update function for 'custom' options; returns nothing. Usage:
112
+ * $message = ['update']( 'update', $key, $value, $_REQUEST );
113
+ * delete => delete function for 'custom' options; returns nothing. Usage:
114
+ * $message = ['delete']( 'delete', $key, $value, $_REQUEST );
115
+ * reset => reset function for 'custom' options; returns nothing. Usage:
116
+ * $message = ['reset']( 'reset', $key, $value, $_REQUEST );
117
+ */
118
+ public static $mla_option_definitions = array (
119
+ /*
120
+ * This option records the highest MLA version so-far installed
121
+ */
122
+ self::MLA_VERSION_OPTION =>
123
+ array('tab' => '',
124
+ 'type' => 'hidden',
125
+ 'std' => '0'),
126
+
127
+ /*
128
+ * These checkboxes are no longer used;
129
+ * they are retained for the database version/update check
130
+ */
131
+ 'attachment_category' =>
132
+ array('tab' => '',
133
+ 'name' => 'Attachment Categories',
134
+ 'type' => 'hidden', // checkbox',
135
+ 'std' => 'checked',
136
+ 'help' => 'Check this option to add support for Attachment Categories.'),
137
+
138
+ 'attachment_tag' =>
139
+ array('tab' => '',
140
+ 'name' => 'Attachment Tags',
141
+ 'type' => 'hidden', // checkbox',
142
+ 'std' => 'checked',
143
+ 'help' => 'Check this option to add support for Attachment Tags.'),
144
+
145
+ 'where_used_heading' =>
146
+ array('tab' => 'general',
147
+ 'name' => 'Where-used Reporting',
148
+ 'type' => 'header'),
149
+
150
+ 'exclude_revisions' =>
151
+ array('tab' => 'general',
152
+ 'name' => 'Exclude Revisions',
153
+ 'type' => 'checkbox',
154
+ 'std' => 'checked',
155
+ 'help' => 'Check this option to exclude revisions from where-used reporting.'),
156
+
157
+ 'where_used_subheading' =>
158
+ array('tab' => 'general',
159
+ 'name' => 'Where-used database access tuning',
160
+ 'type' => 'subheader'),
161
+
162
+ self::MLA_FEATURED_IN_TUNING =>
163
+ array('tab' => 'general',
164
+ 'name' => 'Featured in',
165
+ 'type' => 'select',
166
+ 'std' => 'enabled',
167
+ 'options' => array('enabled', 'disabled'),
168
+ 'texts' => array('Enabled', 'Disabled'),
169
+ 'help' => 'Search database posts and pages for Featured Image attachments.'),
170
+
171
+ self::MLA_INSERTED_IN_TUNING =>
172
+ array('tab' => 'general',
173
+ 'name' => 'Inserted in',
174
+ 'type' => 'select',
175
+ 'std' => 'enabled',
176
+ 'options' => array('enabled', 'disabled'),
177
+ 'texts' => array('Enabled', 'Disabled'),
178
+ 'help' => 'Search database posts and pages for attachments embedded in content.'),
179
+
180
+ self::MLA_GALLERY_IN_TUNING =>
181
+ array('tab' => 'general',
182
+ 'name' => 'Gallery in',
183
+ 'type' => 'select',
184
+ 'std' => 'cached',
185
+ 'options' => array('dynamic', 'refresh', 'cached', 'disabled'),
186
+ 'texts' => array('Dynamic', 'Refresh', 'Cached', 'Disabled'),
187
+ 'help' => 'Search database posts and pages for [gallery] shortcode results.<br>&nbsp;&nbsp;Dynamic = once every page load, Cached = once every login, Disabled = never.<br>&nbsp;&nbsp;Refresh = update references, then set to Cached.'),
188
+
189
+ self::MLA_MLA_GALLERY_IN_TUNING =>
190
+ array('tab' => 'general',
191
+ 'name' => 'MLA Gallery in',
192
+ 'type' => 'select',
193
+ 'std' => 'cached',
194
+ 'options' => array('dynamic', 'refresh', 'cached', 'disabled'),
195
+ 'texts' => array('Dynamic', 'Refresh', 'Cached', 'Disabled'),
196
+ 'help' => 'Search database posts and pages for [mla_gallery] shortcode results.<br>&nbsp;&nbsp;Dynamic = once every page load, Cached = once every login, Disabled = never.<br>&nbsp;&nbsp;Refresh = update references, then set to Cached.'),
197
+
198
+ 'taxonomy_heading' =>
199
+ array('tab' => 'general',
200
+ 'name' => 'Taxonomy Support',
201
+ 'type' => 'header'),
202
+
203
+ 'taxonomy_support' =>
204
+ array('tab' => 'general',
205
+ 'help' => 'Check the "Support" box to add the taxonomy to the Assistant.<br>Check the "Inline Edit" box to display the taxonomy in the Quick Edit and Bulk Edit areas.<br>Use the "List Filter" option to select the taxonomy on which to filter the Assistant table listing.',
206
+ 'std' => array (
207
+ 'tax_support' => array (
208
+ 'attachment_category' => 'checked',
209
+ 'attachment_tag' => 'checked',
210
+ ),
211
+ 'tax_quick_edit' => array (
212
+ 'attachment_category' => 'checked',
213
+ 'attachment_tag' => 'checked',
214
+ ),
215
+ 'tax_filter' => 'attachment_category'
216
+ ),
217
+ 'type' => 'custom',
218
+ 'render' => 'mla_taxonomy_option_handler',
219
+ 'update' => 'mla_taxonomy_option_handler',
220
+ 'delete' => 'mla_taxonomy_option_handler',
221
+ 'reset' => 'mla_taxonomy_option_handler'),
222
+
223
+ 'orderby_heading' =>
224
+ array('tab' => 'general',
225
+ 'name' => 'Default Table Listing Sort Order',
226
+ 'type' => 'header'),
227
+
228
+ 'default_orderby' =>
229
+ array('tab' => 'general',
230
+ 'name' => 'Order By',
231
+ 'type' => 'select',
232
+ 'std' => 'title_name',
233
+ 'options' => array('none', 'title_name'),
234
+ 'texts' => array('None', 'Title/Name'),
235
+ 'help' => 'Select the column for the sort order of the Assistant table listing.'),
236
+
237
+ 'default_order' =>
238
+ array('tab' => 'general',
239
+ 'name' => 'Order',
240
+ 'type' => 'radio',
241
+ 'std' => 'ASC',
242
+ 'options' => array('ASC', 'DESC'),
243
+ 'texts' => array('Ascending', 'Descending'),
244
+ 'help' => 'Choose the sort order.'),
245
+
246
+ 'template_heading' =>
247
+ array('tab' => 'mla-gallery',
248
+ 'name' => 'Default [mla_gallery] Templates',
249
+ 'type' => 'header'),
250
+
251
+ 'default_style' =>
252
+ array('tab' => 'mla-gallery',
253
+ 'name' => 'Style Template',
254
+ 'type' => 'select',
255
+ 'std' => 'default',
256
+ 'options' => array(),
257
+ 'texts' => array(),
258
+ 'help' => 'Select the default style template for your [mla_gallery] shortcodes.'),
259
+
260
+ 'default_markup' =>
261
+ array('tab' => 'mla-gallery',
262
+ 'name' => 'Markup Template',
263
+ 'type' => 'select',
264
+ 'std' => 'default',
265
+ 'options' => array(),
266
+ 'texts' => array(),
267
+ 'help' => 'Select the default markup template for your [mla_gallery] shortcodes.'),
268
+
269
+ /*
270
+ * Managed by mla_get_style_templates and mla_put_style_templates
271
+ */
272
+ 'style_templates' =>
273
+ array('tab' => '',
274
+ 'type' => 'hidden',
275
+ 'std' => array( )),
276
+
277
+ /*
278
+ * Managed by mla_get_markup_templates and mla_put_markup_templates
279
+ */
280
+ 'markup_templates' =>
281
+ array('tab' => '',
282
+ 'type' => 'hidden',
283
+ 'std' => array( )),
284
+
285
+ 'enable_iptc_exif_mapping' =>
286
+ array('tab' => 'iptc-exif',
287
+ 'name' => 'Enable IPTC/EXIF Mapping when adding new media',
288
+ 'type' => 'checkbox',
289
+ 'std' => '',
290
+ 'help' => 'Check this option to enable mapping when uploading new media (attachments).<br>&nbsp;&nbsp;Does NOT affect the operation of the "Map" buttons on the bulk edit, single edit and settings screens.'),
291
+
292
+ 'iptc_exif_standard_mapping' =>
293
+ array('tab' => '',
294
+ 'help' => 'Update the standard field mapping values above, then click Save Changes to make the updates permanent.<br>You can also make temporary updates and click Map All Attachments Now to apply the updates to all attachments without saving the rule changes.',
295
+ 'std' => NULL,
296
+ 'type' => 'custom',
297
+ 'render' => 'mla_iptc_exif_option_handler',
298
+ 'update' => 'mla_iptc_exif_option_handler',
299
+ 'delete' => 'mla_iptc_exif_option_handler',
300
+ 'reset' => 'mla_iptc_exif_option_handler'),
301
+
302
+ 'iptc_exif_taxonomy_mapping' =>
303
+ array('tab' => '',
304
+ 'help' => 'Update the taxonomy term mapping values above, then click Save Changes or Map All Attachments Now.',
305
+ 'std' => NULL,
306
+ 'type' => 'custom',
307
+ 'render' => 'mla_iptc_exif_option_handler',
308
+ 'update' => 'mla_iptc_exif_option_handler',
309
+ 'delete' => 'mla_iptc_exif_option_handler',
310
+ 'reset' => 'mla_iptc_exif_option_handler'),
311
+
312
+ 'iptc_exif_custom_mapping' =>
313
+ array('tab' => '',
314
+ 'help' => 'Update the custom field mapping values above.<br>To define a new custom field, enter a field name in the "Field Title" text box at the end of the list and Save Changes.',
315
+ 'std' => NULL,
316
+ 'type' => 'custom',
317
+ 'render' => 'mla_iptc_exif_option_handler',
318
+ 'update' => 'mla_iptc_exif_option_handler',
319
+ 'delete' => 'mla_iptc_exif_option_handler',
320
+ 'reset' => 'mla_iptc_exif_option_handler'),
321
+
322
+ 'iptc_exif_mapping' =>
323
+ array('tab' => '',
324
+ 'help' => 'IPTC/EXIF Mapping help',
325
+ 'std' => array (
326
+ 'standard' => array (
327
+ 'post_title' => array (
328
+ 'name' => 'Title',
329
+ 'iptc_value' => 'none',
330
+ 'exif_value' => '',
331
+ 'iptc_first' => true,
332
+ 'keep_existing' => true
333
+ ),
334
+ 'post_name' => array (
335
+ 'name' => 'Name/Slug',
336
+ 'iptc_value' => 'none',
337
+ 'exif_value' => '',
338
+ 'iptc_first' => true,
339
+ 'keep_existing' => true
340
+ ),
341
+ 'image_alt' => array (
342
+ 'name' => 'Alternate Text',
343
+ 'iptc_value' => 'none',
344
+ 'exif_value' => '',
345
+ 'iptc_first' => true,
346
+ 'keep_existing' => true
347
+ ),
348
+ 'post_excerpt' => array (
349
+ 'name' => 'Caption',
350
+ 'iptc_value' => 'none',
351
+ 'exif_value' => '',
352
+ 'iptc_first' => true,
353
+ 'keep_existing' => true
354
+ ),
355
+ 'post_content' => array (
356
+ 'name' => 'Description',
357
+ 'iptc_value' => 'none',
358
+ 'exif_value' => '',
359
+ 'iptc_first' => true,
360
+ 'keep_existing' => true
361
+ ),
362
+ ),
363
+ 'taxonomy' => array (
364
+ ),
365
+ 'custom' => array (
366
+ )
367
+ ),
368
+ 'type' => 'custom',
369
+ 'render' => 'mla_iptc_exif_option_handler',
370
+ 'update' => 'mla_iptc_exif_option_handler',
371
+ 'delete' => 'mla_iptc_exif_option_handler',
372
+ 'reset' => 'mla_iptc_exif_option_handler'),
373
+
374
+ /* Here are examples of the other option types
375
+ 'text' =>
376
+ array('name' => 'Text Field',
377
+ 'type' => 'text',
378
+ 'std' => 'default text',
379
+ 'size' => 20,
380
+ 'help' => 'Enter the text...'),
381
+
382
+ 'textarea' =>
383
+ array('name' => 'Text Area',
384
+ 'type' => 'textarea',
385
+ 'std' => 'default text area',
386
+ 'cols' => 60,
387
+ 'rows' => 4,
388
+ 'help' => 'Enter the text area...'),
389
+ */
390
+ );
391
+
392
+ /**
393
+ * Initialization function, similar to __construct()
394
+ *
395
+ * @since 1.00
396
+ *
397
+ * @return void
398
+ */
399
+ public static function initialize( ) {
400
+ self::_load_option_templates();
401
+
402
+ if ( 'disabled' == self::mla_get_option( self::MLA_FEATURED_IN_TUNING ) )
403
+ self::$process_featured_in = false;
404
+ if ( 'disabled' == self::mla_get_option( self::MLA_INSERTED_IN_TUNING ) )
405
+ self::$process_inserted_in = false;
406
+ if ( 'disabled' == self::mla_get_option( self::MLA_GALLERY_IN_TUNING ) )
407
+ self::$process_gallery_in = false;
408
+ if ( 'disabled' == self::mla_get_option( self::MLA_MLA_GALLERY_IN_TUNING ) )
409
+ self::$process_mla_gallery_in = false;
410
+
411
+ if ( 'checked' == MLAOptions::mla_get_option( 'enable_iptc_exif_mapping' ) )
412
+ add_action( 'add_attachment', 'MLAOptions::mla_add_attachment_action' );
413
+ }
414
+
415
+ /**
416
+ * Style and Markup templates
417
+ *
418
+ * @since 0.80
419
+ *
420
+ * @var array
421
+ */
422
+ private static $mla_option_templates = null;
423
+
424
+ /**
425
+ * Load style and markup templates to $mla_templates
426
+ *
427
+ * @since 0.80
428
+ *
429
+ * @return void
430
+ */
431
+ private static function _load_option_templates() {
432
+ self::$mla_option_templates = MLAData::mla_load_template( MLA_PLUGIN_PATH . 'tpls/mla-option-templates.tpl' );
433
+
434
+ /*
435
+ * Load the default templates
436
+ */
437
+ if( is_null( self::$mla_option_templates ) ) {
438
+ MLAShortcodes::$mla_debug_messages .= '<p><strong>_load_option_templates()</strong> error loading tpls/mla-option-templates.tpl';
439
+ return;
440
+ }
441
+ elseif( !self::$mla_option_templates ) {
442
+ MLAShortcodes::$mla_debug_messages .= '<p><strong>_load_option_templates()</strong>tpls/mla-option-templates.tpl not found';
443
+ $mla_option_templates = null;
444
+ return;
445
+ }
446
+
447
+ /*
448
+ * Add user-defined Style and Markup templates
449
+ */
450
+ $templates = self::mla_get_option( 'style_templates' );
451
+ if ( is_array( $templates ) ) {
452
+ foreach ( $templates as $name => $value ) {
453
+ self::$mla_option_templates[ $name . '-style' ] = $value;
454
+ } // foreach $templates
455
+ } // is_array
456
+
457
+ $templates = self::mla_get_option( 'markup_templates' );
458
+ if ( is_array( $templates ) ) {
459
+ foreach ( $templates as $name => $value ) {
460
+ self::$mla_option_templates[ $name . '-open-markup' ] = $value['open'];
461
+ self::$mla_option_templates[ $name . '-row-open-markup' ] = $value['row-open'];
462
+ self::$mla_option_templates[ $name . '-item-markup' ] = $value['item'];
463
+ self::$mla_option_templates[ $name . '-row-close-markup' ] = $value['row-close'];
464
+ self::$mla_option_templates[ $name . '-close-markup' ] = $value['close'];
465
+ } // foreach $templates
466
+ } // is_array
467
+ }
468
+
469
+ /**
470
+ * Fetch style or markup template from $mla_templates
471
+ *
472
+ * @since 0.80
473
+ *
474
+ * @param string Template name
475
+ * @param string Template type; 'style' (default) or 'markup'
476
+ *
477
+ * @return string|boolean|null requested template, false if not found or null if no templates
478
+ */
479
+ public static function mla_fetch_gallery_template( $key, $type = 'style' ) {
480
+ if ( ! is_array( self::$mla_option_templates ) ) {
481
+ MLAShortcodes::$mla_debug_messages .= '<p><strong>_fetch_template()</strong> no templates exist';
482
+ return null;
483
+ }
484
+
485
+ $array_key = $key . '-' . $type;
486
+ if ( array_key_exists( $array_key, self::$mla_option_templates ) )
487
+ return self::$mla_option_templates[ $array_key ];
488
+ else {
489
+ MLAShortcodes::$mla_debug_messages .= "<p><strong>_fetch_template( {$key}, {$type} )</strong> not found";
490
+ return false;
491
+ }
492
+ }
493
+
494
+ /**
495
+ * Get ALL style templates from $mla_templates, including 'default'
496
+ *
497
+ * @since 0.80
498
+ *
499
+ * @return array|null name => value for all style templates or null if no templates
500
+ */
501
+ public static function mla_get_style_templates() {
502
+ if ( ! is_array( self::$mla_option_templates ) ) {
503
+ MLAShortcodes::$mla_debug_messages .= '<p><strong>_fetch_template()</strong> no templates exist';
504
+ return null;
505
+ }
506
+
507
+ $templates = array( );
508
+ foreach ( self::$mla_option_templates as $key => $value ) {
509
+ $tail = strrpos( $key, '-style' );
510
+ if ( ! ( false === $tail ) ) {
511
+ $name = substr( $key, 0, $tail );
512
+ $templates[ $name ] = $value;
513
+ }
514
+ } // foreach
515
+
516
+ return $templates;
517
+ }
518
+
519
+ /**
520
+ * Put user-defined style templates to $mla_templates and database
521
+ *
522
+ * @since 0.80
523
+ *
524
+ * @param array name => value for all user-defined style templates
525
+ * @return boolean true if success, false if failure
526
+ */
527
+ public static function mla_put_style_templates( $templates ) {
528
+ if ( self::mla_update_option( 'style_templates', $templates ) ) {
529
+ self::_load_option_templates();
530
+ return true;
531
+ }
532
+
533
+ return false;
534
+ }
535
+
536
+ /**
537
+ * Get ALL markup templates from $mla_templates, including 'default'
538
+ *
539
+ * @since 0.80
540
+ *
541
+ * @return array|null name => value for all markup templates or null if no templates
542
+ */
543
+ public static function mla_get_markup_templates() {
544
+ if ( ! is_array( self::$mla_option_templates ) ) {
545
+ MLAShortcodes::$mla_debug_messages .= '<p><strong>_fetch_template()</strong> no templates exist';
546
+ return null;
547
+ }
548
+
549
+ $templates = array( );
550
+ foreach ( self::$mla_option_templates as $key => $value ) {
551
+ $tail = strrpos( $key, '-row-open-markup' );
552
+ if ( ! ( false === $tail ) ) {
553
+ $name = substr( $key, 0, $tail );
554
+ $templates[ $name ]['row-open'] = $value;
555
+ continue;
556
+ }
557
+
558
+ $tail = strrpos( $key, '-open-markup' );
559
+ if ( ! ( false === $tail ) ) {
560
+ $name = substr( $key, 0, $tail );
561
+ $templates[ $name ]['open'] = $value;
562
+ continue;
563
+ }
564
+
565
+ $tail = strrpos( $key, '-item-markup' );
566
+ if ( ! ( false === $tail ) ) {
567
+ $name = substr( $key, 0, $tail );
568
+ $templates[ $name ]['item'] = $value;
569
+ continue;
570
+ }
571
+
572
+ $tail = strrpos( $key, '-row-close-markup' );
573
+ if ( ! ( false === $tail ) ) {
574
+ $name = substr( $key, 0, $tail );
575
+ $templates[ $name ]['row-close'] = $value;
576
+ continue;
577
+ }
578
+
579
+ $tail = strrpos( $key, '-close-markup' );
580
+ if ( ! ( false === $tail ) ) {
581
+ $name = substr( $key, 0, $tail );
582
+ $templates[ $name ]['close'] = $value;
583
+ }
584
+ } // foreach
585
+
586
+ return $templates;
587
+ }
588
+
589
+ /**
590
+ * Put user-defined markup templates to $mla_templates and database
591
+ *
592
+ * @since 0.80
593
+ *
594
+ * @param array name => value for all user-defined markup templates
595
+ * @return boolean true if success, false if failure
596
+ */
597
+ public static function mla_put_markup_templates( $templates ) {
598
+ if ( self::mla_update_option( 'markup_templates', $templates ) ) {
599
+ self::_load_option_templates();
600
+ return true;
601
+ }
602
+
603
+ return false;
604
+ }
605
+
606
+ /**
607
+ * Return the stored value or default value of a defined MLA option
608
+ *
609
+ * @since 0.1
610
+ *
611
+ * @param string Name of the desired option
612
+ *
613
+ * @return mixed Value(s) for the option or false if the option is not a defined MLA option
614
+ */
615
+ public static function mla_get_option( $option ) {
616
+ if ( array_key_exists( $option, self::$mla_option_definitions ) ) {
617
+ if ( array_key_exists( 'std', self::$mla_option_definitions[ $option ] ) )
618
+ return get_option( MLA_OPTION_PREFIX . $option, self::$mla_option_definitions[ $option ]['std'] );
619
+ else
620
+ return get_option( MLA_OPTION_PREFIX . $option, false );
621
+ }
622
+
623
+ return false;
624
+ }
625
+
626
+ /**
627
+ * Add or update the stored value of a defined MLA option
628
+ *
629
+ * @since 0.1
630
+ *
631
+ * @param string Name of the desired option
632
+ * @param mixed New value for the desired option
633
+ *
634
+ * @return boolean True if the value was changed or false if the update failed
635
+ */
636
+ public static function mla_update_option( $option, $newvalue ) {
637
+ if ( array_key_exists( $option, self::$mla_option_definitions ) )
638
+ return update_option( MLA_OPTION_PREFIX . $option, $newvalue );
639
+
640
+ return false;
641
+ }
642
+
643
+ /**
644
+ * Delete the stored value of a defined MLA option
645
+ *
646
+ * @since 0.1
647
+ *
648
+ * @param string Name of the desired option
649
+ *
650
+ * @return boolean True if the option was deleted, otherwise false
651
+ */
652
+ public static function mla_delete_option( $option ) {
653
+ if ( array_key_exists( $option, self::$mla_option_definitions ) ) {
654
+ return delete_option( MLA_OPTION_PREFIX . $option );
655
+ }
656
+
657
+ return false;
658
+ }
659
+
660
+ /**
661
+ * Determine MLA support for a taxonomy, handling the special case where the
662
+ * settings are being updated or reset.
663
+ *
664
+ * @since 0.30
665
+ *
666
+ * @param string Taxonomy name, e.g., attachment_category
667
+ * @param string Optional. 'support' (default), 'quick-edit' or 'filter'
668
+ *
669
+ * @return boolean|string
670
+ * true if the taxonomy is supported in this way else false
671
+ * string if $tax_name is '' and $support_type is 'filter', returns the taxonomy to filter by
672
+ */
673
+ public static function mla_taxonomy_support($tax_name, $support_type = 'support') {
674
+ $tax_options = MLAOptions::mla_get_option( 'taxonomy_support' );
675
+
676
+ switch ( $support_type ) {
677
+ case 'support':
678
+ $tax_support = isset( $tax_options['tax_support'] ) ? $tax_options['tax_support'] : array ();
679
+ $is_supported = array_key_exists( $tax_name, $tax_support );
680
+
681
+ if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
682
+ $is_supported = isset( $_REQUEST['tax_support'][ $tax_name ] );
683
+ } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
684
+ switch ( $tax_name ) {
685
+ case 'attachment_category':
686
+ case 'attachment_tag':
687
+ $is_supported = true;
688
+ break;
689
+ default:
690
+ $is_supported = false;
691
+ }
692
+ }
693
+
694
+ return $is_supported;
695
+ case 'quick-edit':
696
+ $tax_quick_edit = isset( $tax_options['tax_quick_edit'] ) ? $tax_options['tax_quick_edit'] : array ();
697
+ $is_supported = array_key_exists( $tax_name, $tax_quick_edit );
698
+
699
+ if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
700
+ $is_supported = isset( $_REQUEST['tax_quick_edit'][ $tax_name ] );
701
+ } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
702
+ switch ( $tax_name ) {
703
+ case 'attachment_category':
704
+ case 'attachment_tag':
705
+ $is_supported = true;
706
+ break;
707
+ default:
708
+ $is_supported = false;
709
+ }
710
+ }
711
+
712
+ return $is_supported;
713
+ case 'filter':
714
+ $tax_filter = isset( $tax_options['tax_filter'] ) ? $tax_options['tax_filter'] : '';
715
+ if ( '' == $tax_name )
716
+ return $tax_filter;
717
+ else
718
+ $is_supported = ( $tax_name == $tax_filter );
719
+
720
+ if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
721
+ $tax_filter = isset( $_REQUEST['tax_filter'] ) ? $_REQUEST['tax_filter'] : '';
722
+ $is_supported = ( $tax_name == $tax_filter );
723
+ } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
724
+ if ( 'attachment_category' == $tax_name )
725
+ $is_supported = true;
726
+ else
727
+ $is_supported = false;
728
+ }
729
+
730
+ return $is_supported;
731
+ default:
732
+ return false;
733
+ } // $support_type
734
+ } // mla_taxonomy_support
735
+
736
+ /**
737
+ * Render and manage taxonomy support options, e.g., Categories and Post Tags
738
+ *
739
+ * @since 0.30
740
+ * @uses $mla_option_templates contains taxonomy-row and taxonomy-table templates
741
+ *
742
+ * @param string 'render', 'update', 'delete', or 'reset'
743
+ * @param string option name, e.g., 'taxonomy_support'
744
+ * @param array option parameters
745
+ * @param array Optional. null (default) for 'render' else option data, e.g., $_REQUEST
746
+ *
747
+ * @return string HTML table row markup for 'render' else message(s) reflecting the results of the operation.
748
+ */
749
+ public static function mla_taxonomy_option_handler( $action, $key, $value, $args = null ) {
750
+ switch ( $action ) {
751
+ case 'render':
752
+ $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'objects' );
753
+ $current_values = self::mla_get_option( $key );
754
+ $tax_support = isset( $current_values['tax_support'] ) ? $current_values['tax_support'] : array ();
755
+ $tax_quick_edit = isset( $current_values['tax_quick_edit'] ) ? $current_values['tax_quick_edit'] : array ();
756
+ $tax_filter = isset( $current_values['tax_filter'] ) ? $current_values['tax_filter'] : '';
757
+
758
+ /*
759
+ * Always display our own taxonomies, even if not registered.
760
+ * Otherwise there's no way to turn them back on.
761
+ */
762
+ if ( ! array_key_exists( 'attachment_category', $taxonomies ) ) {
763
+ $taxonomies['attachment_category'] = (object) array( 'labels' => (object) array( 'name' => 'Attachment Categories' ) );
764
+ if ( isset( $tax_support['attachment_category'] ) )
765
+ unset( $tax_support['attachment_category'] );
766
+
767
+ if ( isset( $tax_quick_edit['attachment_category'] ) )
768
+ unset( $tax_quick_edit['attachment_category'] );
769
+
770
+ if ( $tax_filter == 'attachment_category' )
771
+ $tax_filter = '';
772
+ }
773
+
774
+ if ( ! array_key_exists( 'attachment_tag', $taxonomies ) ) {
775
+ $taxonomies['attachment_tag'] = (object) array( 'labels' => (object) array( 'name' => 'Attachment Tags' ) );
776
+
777
+ if ( isset( $tax_support['attachment_tag'] ) )
778
+ unset( $tax_support['attachment_tag'] );
779
+
780
+ if ( isset( $tax_quick_edit['attachment_tag'] ) )
781
+ unset( $tax_quick_edit['attachment_tag'] );
782
+
783
+ if ( $tax_filter == 'attachment_tag' )
784
+ $tax_filter = '';
785
+ }
786
+
787
+ $taxonomy_row = self::$mla_option_templates['taxonomy-row'];
788
+ $row = '';
789
+
790
+ foreach ( $taxonomies as $tax_name => $tax_object ) {
791
+ $option_values = array (
792
+ 'key' => $tax_name,
793
+ 'name' => $tax_object->labels->name,
794
+ 'support_checked' => array_key_exists( $tax_name, $tax_support ) ? 'checked=checked' : '',
795
+ 'quick_edit_checked' => array_key_exists( $tax_name, $tax_quick_edit ) ? 'checked=checked' : '',
796
+ 'filter_checked' => ( $tax_name == $tax_filter ) ? 'checked=checked' : ''
797
+ );
798
+
799
+ $row .= MLAData::mla_parse_template( $taxonomy_row, $option_values );
800
+ }
801
+
802
+ $option_values = array (
803
+ 'taxonomy_rows' => $row,
804
+ 'help' => $value['help']
805
+ );
806
+
807
+ return MLAData::mla_parse_template( self::$mla_option_templates['taxonomy-table'], $option_values );
808
+ case 'update':
809
+ case 'delete':
810
+ $tax_support = isset( $args['tax_support'] ) ? $args['tax_support'] : array ();
811
+ $tax_quick_edit = isset( $args['tax_quick_edit'] ) ? $args['tax_quick_edit'] : array ();
812
+ $tax_filter = isset( $args['tax_filter'] ) ? $args['tax_filter'] : '';
813
+
814
+ $msg = '';
815
+
816
+ if ( !empty($tax_filter) && !array_key_exists( $tax_filter, $tax_support ) ) {
817
+ $msg .= "<br>List Filter ignored; {$tax_filter} not supported.\r\n";
818
+ $tax_filter = '';
819
+ }
820
+
821
+ foreach ( $tax_quick_edit as $tax_name => $tax_value ) {
822
+ if ( !array_key_exists( $tax_name, $tax_support ) ) {
823
+ $msg .= "<br>Quick Edit ignored; {$tax_name} not supported.\r\n";
824
+ unset( $tax_quick_edit[ $tax_name ] );
825
+ }
826
+ }
827
+
828
+ $value = array (
829
+ 'tax_support' => $tax_support,
830
+ 'tax_quick_edit' => $tax_quick_edit,
831
+ 'tax_filter' => $tax_filter
832
+ );
833
+
834
+ self::mla_update_option( $key, $value );
835
+
836
+ if ( empty( $msg ) )
837
+ $msg = "<br>Update custom {$key}\r\n";
838
+
839
+ return $msg;
840
+ case 'reset':
841
+ self::mla_delete_option( $key );
842
+ return "<br>Reset custom {$key}\r\n";
843
+ default:
844
+ return "<br>ERROR: custom {$key} unknown action: {$action}\r\n";
845
+ }
846
+ } // mla_taxonomy_option_handler
847
+
848
+ /**
849
+ * Perform ITC/EXIF mapping on just-inserted attachment
850
+ *
851
+ * @since 1.00
852
+ *
853
+ * @param integer ID of just-inserted attachment
854
+ *
855
+ * @return void
856
+ */
857
+ public static function mla_add_attachment_action( $post_id ) {
858
+ $item = get_post( $post_id );
859
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $item, 'iptc_exif_mapping' );
860
+ $item_content = MLAData::mla_update_single_item( $post_id, $updates );
861
+ } // mla_taxonomy_option_handler
862
+
863
+ /**
864
+ * Evaluate IPTC/EXIF mapping updates for a post
865
+ *
866
+ * @since 1.00
867
+ *
868
+ * @param object post object with current values
869
+ * @param string category to evaluate against, e.g., iptc_exif_standard_mapping or iptc_exif_mapping
870
+ * @param array (optional) iptc_exif_mapping values, default - current option value
871
+ *
872
+ * @return array Updates suitable for MLAData::mla_update_single_item, if any
873
+ */
874
+ public static function mla_evaluate_iptc_exif_mapping( $post, $category, $settings = NULL ) {
875
+ // error_log( '$post = ' . var_export( $post->post_name, true ) , 0 );
876
+ $metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
877
+ // error_log( '$metadata = ' . var_export( $metadata, true ) , 0 );
878
+ $iptc_metadata = $metadata['mla_iptc_metadata'];
879
+ $exif_metadata = $metadata['mla_exif_metadata'];
880
+ $updates = array( );
881
+ $update_all = ( 'iptc_exif_mapping' == $category );
882
+ if ( NULL == $settings )
883
+ $settings = self::mla_get_option( 'iptc_exif_mapping' );
884
+
885
+ if ( $update_all || ( 'iptc_exif_standard_mapping' == $category ) ) {}{
886
+ foreach( $settings['standard'] as $new_key => $new_value ) {
887
+ $iptc_value = ( isset( $iptc_metadata[ $new_value['iptc_value'] ] ) ) ? $iptc_metadata[ $new_value['iptc_value'] ] : '';
888
+ $exif_value = ( isset( $exif_metadata[ $new_value['exif_value'] ] ) ) ? $exif_metadata[ $new_value['exif_value'] ] : '';
889
+ $keep_existing = (boolean) $new_value['keep_existing'];
890
+
891
+ if ( $new_value['iptc_first'] )
892
+ if ( ! empty( $iptc_value ) )
893
+ $new_text = $iptc_value;
894
+ else
895
+ $new_text = $exif_value;
896
+ else
897
+ if ( ! empty( $exif_value ) )
898
+ $new_text = $exif_value;
899
+ else
900
+ $new_text = $iptc_value;
901
+
902
+ $new_text = trim( convert_chars( $new_text ) );
903
+ if ( !empty( $new_text ) )
904
+ switch ( $new_key ) {
905
+ case 'post_title':
906
+ if ( ( empty( $post->post_title ) || !$keep_existing ) &&
907
+ ( trim( $new_text ) && ! is_numeric( sanitize_title( $new_text ) ) ) )
908
+ $updates[ $new_key ] = $new_text;
909
+ break;
910
+ case 'post_name':
911
+ $updates[ $new_key ] = wp_unique_post_slug( sanitize_title( $new_text ), $post->ID, $post->post_status, $post->post_type, $post->post_parent);
912
+ break;
913
+ case 'image_alt':
914
+ $old_text = get_metadata( 'post', $post->ID, '_wp_attachment_image_alt', true );
915
+ if ( empty( $old_text ) || !$keep_existing ) {
916
+ $updates[ $new_key ] = $new_text; }
917
+ break;
918
+ case 'post_excerpt':
919
+ if ( empty( $post->post_excerpt ) || !$keep_existing )
920
+ $updates[ $new_key ] = $new_text;
921
+ break;
922
+ case 'post_content':
923
+ if ( empty( $post->post_content ) || !$keep_existing )
924
+ $updates[ $new_key ] = $new_text;
925
+ break;
926
+ default:
927
+ // ignore anything else
928
+ } // $new_key
929
+ } // foreach new setting
930
+ } // update standard field mappings
931
+
932
+ if ( $update_all || ( 'iptc_exif_taxonomy_mapping' == $category ) ) {
933
+ $tax_inputs = array();
934
+ $tax_actions = array();
935
+
936
+ foreach( $settings['taxonomy'] as $new_key => $new_value ) {
937
+ $iptc_value = ( isset( $iptc_metadata[ $new_value['iptc_value'] ] ) ) ? $iptc_metadata[ $new_value['iptc_value'] ] : '';
938
+ $exif_value = ( isset( $exif_metadata[ $new_value['exif_value'] ] ) ) ? $exif_metadata[ $new_value['exif_value'] ] : '';
939
+
940
+ $tax_action = ( $new_value['keep_existing'] ) ? 'add' : 'replace';
941
+ $tax_parent = ( isset( $new_value['parent'] ) && (0 != (integer) $new_value['parent'] ) ) ? (integer) $new_value['parent'] : 0;
942
+
943
+ if ( $new_value['iptc_first'] )
944
+ if ( ! empty( $iptc_value ) )
945
+ $new_text = $iptc_value;
946
+ else
947
+ $new_text = $exif_value;
948
+ else
949
+ if ( ! empty( $exif_value ) )
950
+ $new_text = $exif_value;
951
+ else
952
+ $new_text = $iptc_value;
953
+
954
+ if ( !empty( $new_text ) ) {
955
+ if ( $new_value['hierarchical'] ) {
956
+ if ( is_string( $new_text ) )
957
+ $new_text = array( $new_text );
958
+
959
+ $new_terms = array( );
960
+ foreach( $new_text as $new_term ) {
961
+ $term_object = term_exists( $new_term, $new_key );
962
+ if ($term_object !== 0 && $term_object !== null)
963
+ $new_terms[] = $term_object['term_id'];
964
+ else {
965
+ $term_object = wp_insert_term( $new_term, $new_key, array( 'parent' => $tax_parent ) );
966
+ if ( isset( $term_object['term_id'] ) )
967
+ $new_terms[] = $term_object['term_id'];
968
+ }
969
+ } // foreach new_term
970
+
971
+ $tax_inputs[ $new_key ] = $new_terms;
972
+ } // hierarchical
973
+ else {
974
+ $tax_inputs[ $new_key ] = $new_text;
975
+ }
976
+
977
+ $tax_actions[ $new_key ] = $tax_action;
978
+ } // new_text
979
+ } // foreach new setting
980
+
981
+ if ( ! empty( $tax_inputs ) )
982
+ $updates['taxonomy_updates'] = array ( 'inputs' => $tax_inputs, 'actions' => $tax_actions );
983
+ } // update taxonomy term mappings
984
+
985
+ if ( $update_all || ( 'iptc_exif_custom_mapping' == $category ) ) {
986
+ $custom_updates = array();
987
+
988
+ foreach( $settings['custom'] as $new_key => $new_value ) {
989
+ $iptc_value = ( isset( $iptc_metadata[ $new_value['iptc_value'] ] ) ) ? $iptc_metadata[ $new_value['iptc_value'] ] : '';
990
+ $exif_value = ( isset( $exif_metadata[ $new_value['exif_value'] ] ) ) ? $exif_metadata[ $new_value['exif_value'] ] : '';
991
+ $keep_existing = (boolean) $new_value['keep_existing'];
992
+
993
+ if ( $new_value['iptc_first'] )
994
+ if ( ! empty( $iptc_value ) )
995
+ $new_text = $iptc_value;
996
+ else
997
+ $new_text = $exif_value;
998
+ else
999
+ if ( ! empty( $exif_value ) )
1000
+ $new_text = $exif_value;
1001
+ else
1002
+ $new_text = $iptc_value;
1003
+
1004
+ $old_text = get_metadata( 'post', $post->ID, $new_key, true );
1005
+ if ( empty( $old_text ) || !$keep_existing ) {
1006
+ $custom_updates[ $new_key ] = $new_text;
1007
+ }
1008
+ } // foreach new setting
1009
+
1010
+ if ( ! empty( $custom_updates ) )
1011
+ $updates['custom_updates'] = $custom_updates;
1012
+ } // update custom field mappings
1013
+
1014
+ return $updates;
1015
+ } // mla_evaluate_iptc_exif_mapping
1016
+
1017
+ /**
1018
+ * Compose an IPTC Options list with current selection
1019
+ *
1020
+ * @since 1.00
1021
+ * @uses $mla_option_templates contains row and table templates
1022
+ *
1023
+ * @param string current selection or 'none' (default)
1024
+ *
1025
+ * @return string HTML markup with select field options
1026
+ */
1027
+ private static function _compose_iptc_option_list( $selection = 'none' ) {
1028
+ $option_template = self::$mla_option_templates['iptc-exif-select-option'];
1029
+ $option_values = array (
1030
+ 'selected' => ( 'none' == $selection ) ? 'selected="selected"' : '',
1031
+ 'value' => 'none',
1032
+ 'text' => ' -- None (select a value) -- '
1033
+ );
1034
+
1035
+ $iptc_options = MLAData::mla_parse_template( $option_template, $option_values );
1036
+ foreach ( MLAShortcodes::$mla_iptc_keys as $iptc_name => $iptc_code ) {
1037
+ $option_values = array (
1038
+ 'selected' => ( $iptc_code == $selection ) ? 'selected="selected"' : '',
1039
+ 'value' => $iptc_code,
1040
+ 'text' => $iptc_code . ' ' . $iptc_name
1041
+ );
1042
+
1043
+ $iptc_options .= MLAData::mla_parse_template( $option_template, $option_values );
1044
+ } // foreach iptc_key
1045
+
1046
+ return $iptc_options;
1047
+ } // _compose_iptc_option_list
1048
+
1049
+ /**
1050
+ * Compose an hierarchical taxonomy Parent options list with current selection
1051
+ *
1052
+ * @since 1.00
1053
+ * @uses $mla_option_templates contains row and table templates
1054
+ *
1055
+ * @param string taxonomy slug
1056
+ * @param integer current selection or 0 (zero, default)
1057
+ *
1058
+ * @return string HTML markup with select field options
1059
+ */
1060
+ private static function _compose_parent_option_list( $taxonomy, $selection = 0 ) {
1061
+ $option_template = self::$mla_option_templates['iptc-exif-select-option'];
1062
+ $option_values = array (
1063
+ 'selected' => ( 0 == $selection ) ? 'selected="selected"' : '',
1064
+ 'value' => 0,
1065
+ 'text' => ' -- None (select a value) -- '
1066
+ );
1067
+
1068
+ $parent_options = MLAData::mla_parse_template( $option_template, $option_values );
1069
+
1070
+ $terms = get_terms( $taxonomy, array( 'orderby' => 'name', 'get' => 'all' ) );
1071
+ foreach ( $terms as $term ) {
1072
+ $option_values = array (
1073
+ 'selected' => ( $term->term_id == $selection ) ? 'selected="selected"' : '',
1074
+ 'value' => $term->term_id,
1075
+ 'text' => $term->name
1076
+ );
1077
+
1078
+ $parent_options .= MLAData::mla_parse_template( $option_template, $option_values );
1079
+ } // foreach iptc_key
1080
+
1081
+ return $parent_options;
1082
+ } // _compose_parent_option_list
1083
+
1084
+ /**
1085
+ * Update Standard field portion of IPTC/EXIF mappings
1086
+ *
1087
+ * @since 1.00
1088
+ *
1089
+ * @param array current iptc_exif_mapping values
1090
+ * @param array new values
1091
+ *
1092
+ * @return array ( 'message' => HTML message(s) reflecting results, 'values' => updated iptc_exif_mapping values, 'changed' => true if any changes detected else false )
1093
+ */
1094
+ private static function _update_iptc_exif_standard_mapping( $current_values, $new_values ) {
1095
+ $error_list = '';
1096
+ $message_list = '';
1097
+ $settings_changed = false;
1098
+
1099
+ foreach ( $new_values['standard'] as $new_key => $new_value ) {
1100
+ if ( isset( $current_values['standard'][ $new_key ] ) ) {
1101
+ $old_values = $current_values['standard'][ $new_key ];
1102
+ $any_setting_changed = false;
1103
+ }
1104
+ else {
1105
+ $error_list .= "<br>ERROR: No old values for {$new_key}.\r\n";
1106
+ continue;
1107
+ }
1108
+
1109
+ if ( $old_values['iptc_value'] != $new_value['iptc_value'] ) {
1110
+ $any_setting_changed = true;
1111
+ $message_list .= "<br>{$old_values['name']} changing IPTC Value from {$old_values['iptc_value']} to {$new_value['iptc_value']}.\r\n";
1112
+ $old_values['iptc_value'] = $new_value['iptc_value'];
1113
+ }
1114
+
1115
+ if ( $old_values['exif_value'] != $new_value['exif_value'] ) {
1116
+ $any_setting_changed = true;
1117
+ $message_list .= "<br>{$old_values['name']} changing EXIF Value from {$old_values['exif_value']} to {$new_value['exif_value']}.\r\n";
1118
+ $old_values['exif_value'] = $new_value['exif_value'];
1119
+ }
1120
+
1121
+ if ( $new_value['iptc_first'] ) {
1122
+ $boolean_value = true;
1123
+ $boolean_text = 'EXIF to IPTC';
1124
+ }
1125
+ else {
1126
+ $boolean_value = false;
1127
+ $boolean_text = 'IPTC to EXIF';
1128
+ }
1129
+ if ( $old_values['iptc_first'] != $boolean_value ) {
1130
+ $any_setting_changed = true;
1131
+ $message_list .= "<br>{$old_values['name']} changing Priority Value from {$boolean_text}.\r\n";
1132
+ $old_values['iptc_first'] = $boolean_value;
1133
+ }
1134
+
1135
+ if ( $new_value['keep_existing'] ) {
1136
+ $boolean_value = true;
1137
+ $boolean_text = 'Replace to Keep';
1138
+ }
1139
+ else {
1140
+ $boolean_value = false;
1141
+ $boolean_text = 'Keep to Replace';
1142
+ }
1143
+ if ( $old_values['keep_existing'] != $boolean_value ) {
1144
+ $any_setting_changed = true;
1145
+ $message_list .= "<br>{$old_values['name']} changing Existing Text Value from {$boolean_text}.\r\n";
1146
+ $old_values['keep_existing'] = $boolean_value;
1147
+ }
1148
+
1149
+ if ( $any_setting_changed ) {
1150
+ $settings_changed = true;
1151
+ $current_values['standard'][ $new_key ] = $old_values;
1152
+ }
1153
+ } // new standard value
1154
+
1155
+ /*
1156
+ * Uncomment this for debugging.
1157
+ */
1158
+ // $error_list .= $message_list;
1159
+
1160
+ return array( 'message' => $error_list, 'values' => $current_values, 'changed' => $settings_changed );
1161
+ } // _update_iptc_exif_standard_mapping
1162
+
1163
+ /**
1164
+ * Update Taxonomy term portion of IPTC/EXIF mappings
1165
+ *
1166
+ * @since 1.00
1167
+ *
1168
+ * @param array current iptc_exif_mapping values
1169
+ * @param array new values
1170
+ *
1171
+ * @return array ( 'message' => HTML message(s) reflecting results, 'values' => updated iptc_exif_mapping values, 'changed' => true if any changes detected else false )
1172
+ */
1173
+ private static function _update_iptc_exif_taxonomy_mapping( $current_values, $new_values ) {
1174
+ $error_list = '';
1175
+ $message_list = '';
1176
+ $settings_changed = false;
1177
+
1178
+ foreach ( $new_values['taxonomy'] as $new_key => $new_value ) {
1179
+ if ( isset( $current_values['taxonomy'][ $new_key ] ) ) {
1180
+ $old_values = $current_values['taxonomy'][ $new_key ];
1181
+ }
1182
+ else {
1183
+ $old_values = array(
1184
+ 'name' => $new_value['name'],
1185
+ 'hierarchical' => $new_value['hierarchical'],
1186
+ 'iptc_value' => 'none',
1187
+ 'exif_value' => '',
1188
+ 'iptc_first' => true,
1189
+ 'keep_existing' => true,
1190
+ 'parent' => 0
1191
+ );
1192
+ }
1193
+
1194
+ $any_setting_changed = false;
1195
+ if ( $old_values['iptc_value'] != $new_value['iptc_value'] ) {
1196
+ $any_setting_changed = true;
1197
+ $message_list .= "<br>{$old_values['name']} changing IPTC Value from {$old_values['iptc_value']} to {$new_value['iptc_value']}.\r\n";
1198
+ $old_values['iptc_value'] = $new_value['iptc_value'];
1199
+ }
1200
+
1201
+ if ( $old_values['exif_value'] != $new_value['exif_value'] ) {
1202
+ $any_setting_changed = true;
1203
+ $message_list .= "<br>{$old_values['name']} changing EXIF Value from {$old_values['exif_value']} to {$new_value['exif_value']}.\r\n";
1204
+ $old_values['exif_value'] = $new_value['exif_value'];
1205
+ }
1206
+
1207
+ if ( $new_value['iptc_first'] ) {
1208
+ $boolean_value = true;
1209
+ $boolean_text = 'EXIF to IPTC';
1210
+ }
1211
+ else {
1212
+ $boolean_value = false;
1213
+ $boolean_text = 'IPTC to EXIF';
1214
+ }
1215
+ if ( $old_values['iptc_first'] != $boolean_value ) {
1216
+ $any_setting_changed = true;
1217
+ $message_list .= "<br>{$old_values['name']} changing Priority Value from {$boolean_text}.\r\n";
1218
+ $old_values['iptc_first'] = $boolean_value;
1219
+ }
1220
+
1221
+ if ( $new_value['keep_existing'] ) {
1222
+ $boolean_value = true;
1223
+ $boolean_text = 'Replace to Keep';
1224
+ }
1225
+ else {
1226
+ $boolean_value = false;
1227
+ $boolean_text = 'Keep to Replace';
1228
+ }
1229
+ if ( $old_values['keep_existing'] != $boolean_value ) {
1230
+ $any_setting_changed = true;
1231
+ $message_list .= "<br>{$old_values['name']} changing Existing Text Value from {$boolean_text}.\r\n";
1232
+ $old_values['keep_existing'] = $boolean_value;
1233
+ }
1234
+
1235
+ if ( isset( $new_value['parent'] ) && ( $old_values['parent'] != $new_value['parent'] ) ) {
1236
+ $any_setting_changed = true;
1237
+ $message_list .= "<br>{$old_values['name']} changing Parent from {$old_values['parent']} to {$new_value['parent']}.\r\n";
1238
+ $old_values['parent'] = $new_value['parent'];
1239
+ }
1240
+
1241
+ if ( $any_setting_changed ) {
1242
+ $settings_changed = true;
1243
+ $current_values['taxonomy'][ $new_key ] = $old_values;
1244
+ }
1245
+ } // new taxonomy value
1246
+
1247
+ /*
1248
+ * Uncomment this for debugging.
1249
+ */
1250
+ // $error_list .= $message_list;
1251
+
1252
+ return array( 'message' => $error_list, 'values' => $current_values, 'changed' => $settings_changed );
1253
+ } // _update_iptc_exif_taxonomy_mapping
1254
+
1255
+ /**
1256
+ * Update Custom field portion of IPTC/EXIF mappings
1257
+ *
1258
+ * @since 1.00
1259
+ *
1260
+ * @param array current iptc_exif_mapping values
1261
+ * @param array new values
1262
+ *
1263
+ * @return array ( 'message' => HTML message(s) reflecting results, 'values' => updated iptc_exif_mapping values, 'changed' => true if any changes detected else false )
1264
+ */
1265
+ private static function _update_iptc_exif_custom_mapping( $current_values, $new_values ) {
1266
+ $error_list = '';
1267
+ $message_list = '';
1268
+ $settings_changed = false;
1269
+
1270
+ foreach ( $new_values['custom'] as $new_key => $new_value ) {
1271
+ $any_setting_changed = false;
1272
+
1273
+ /*
1274
+ * Check for the addition of a new field
1275
+ */
1276
+ if ( self::MLA_NEW_CUSTOM_FIELD == $new_key ) {
1277
+ $new_key = trim( $new_value['name'] );
1278
+
1279
+ if ( empty( $new_key ) )
1280
+ continue;
1281
+
1282
+ $message_list .= "<br>Adding new field {$new_key}.\r\n";
1283
+ $any_setting_changed = true;
1284
+ }
1285
+
1286
+ if ( isset( $current_values['custom'][ $new_key ] ) ) {
1287
+ $old_values = $current_values['custom'][ $new_key ];
1288
+ $any_setting_changed = false;
1289
+ }
1290
+ else {
1291
+ $old_values = array(
1292
+ 'name' => $new_key,
1293
+ 'iptc_value' => 'none',
1294
+ 'exif_value' => '',
1295
+ 'iptc_first' => true,
1296
+ 'keep_existing' => true
1297
+ );
1298
+ }
1299
+
1300
+ if ( $old_values['iptc_value'] != $new_value['iptc_value'] ) {
1301
+ $any_setting_changed = true;
1302
+ $message_list .= "<br>{$old_values['name']} changing IPTC Value from {$old_values['iptc_value']} to {$new_value['iptc_value']}.\r\n";
1303
+ $old_values['iptc_value'] = $new_value['iptc_value'];
1304
+ }
1305
+
1306
+ if ( $old_values['exif_value'] != $new_value['exif_value'] ) {
1307
+ $any_setting_changed = true;
1308
+ $message_list .= "<br>{$old_values['name']} changing EXIF Value from {$old_values['exif_value']} to {$new_value['exif_value']}.\r\n";
1309
+ $old_values['exif_value'] = $new_value['exif_value'];
1310
+ }
1311
+
1312
+ if ( $new_value['iptc_first'] ) {
1313
+ $boolean_value = true;
1314
+ $boolean_text = 'EXIF to IPTC';
1315
+ }
1316
+ else {
1317
+ $boolean_value = false;
1318
+ $boolean_text = 'IPTC to EXIF';
1319
+ }
1320
+ if ( $old_values['iptc_first'] != $boolean_value ) {
1321
+ $any_setting_changed = true;
1322
+ $message_list .= "<br>{$old_values['name']} changing Priority Value from {$boolean_text}.\r\n";
1323
+ $old_values['iptc_first'] = $boolean_value;
1324
+ }
1325
+
1326
+ if ( $new_value['keep_existing'] ) {
1327
+ $boolean_value = true;
1328
+ $boolean_text = 'Replace to Keep';
1329
+ }
1330
+ else {
1331
+ $boolean_value = false;
1332
+ $boolean_text = 'Keep to Replace';
1333
+ }
1334
+ if ( $old_values['keep_existing'] != $boolean_value ) {
1335
+ $any_setting_changed = true;
1336
+ $message_list .= "<br>{$old_values['name']} changing Existing Text Value from {$boolean_text}.\r\n";
1337
+ $old_values['keep_existing'] = $boolean_value;
1338
+ }
1339
+
1340
+ if ( $any_setting_changed ) {
1341
+ $settings_changed = true;
1342
+ $current_values['custom'][ $new_key ] = $old_values;
1343
+ }
1344
+ } // new standard value
1345
+
1346
+ /*
1347
+ * Uncomment this for debugging.
1348
+ */
1349
+ $error_list .= $message_list;
1350
+
1351
+ return array( 'message' => $error_list, 'values' => $current_values, 'changed' => $settings_changed );
1352
+ } // _update_iptc_exif_custom_mapping
1353
+
1354
+ /**
1355
+ * Generate a list of all (post) Custom Field names
1356
+ *
1357
+ * @since 1.00
1358
+ *
1359
+ * @return array Custom field names from the postmeta table
1360
+ */
1361
+ private static function _get_custom_field_names( ) {
1362
+ global $wpdb;
1363
+ $limit = (int) apply_filters( 'postmeta_form_limit', 30 );
1364
+ $keys = $wpdb->get_col( "
1365
+ SELECT meta_key
1366
+ FROM $wpdb->postmeta
1367
+ GROUP BY meta_key
1368
+ HAVING meta_key NOT LIKE '\_%'
1369
+ ORDER BY meta_key
1370
+ LIMIT $limit" );
1371
+ if ( $keys )
1372
+ natcasesort($keys);
1373
+
1374
+ return $keys;
1375
+ } // _get_custom_field_names
1376
+
1377
+ /**
1378
+ * Render and manage iptc/exif support options
1379
+ *
1380
+ * @since 1.00
1381
+ * @uses $mla_option_templates contains row and table templates
1382
+ *
1383
+ * @param string 'render', 'update', 'delete', or 'reset'
1384
+ * @param string option name, e.g., 'iptc_exif_mapping'
1385
+ * @param array option parameters
1386
+ * @param array Optional. null (default) for 'render' else option data, e.g., $_REQUEST
1387
+ *
1388
+ * @return string HTML table row markup for 'render' else message(s) reflecting the results of the operation.
1389
+ */
1390
+ public static function mla_iptc_exif_option_handler( $action, $key, $value, $args = null ) {
1391
+ $current_values = self::mla_get_option( 'iptc_exif_mapping' );
1392
+
1393
+ switch ( $action ) {
1394
+ case 'render':
1395
+
1396
+ switch ( $key ) {
1397
+ case 'iptc_exif_standard_mapping':
1398
+ $row_template = self::$mla_option_templates['iptc-exif-standard-row'];
1399
+ $table_rows = '';
1400
+
1401
+ foreach ( $current_values['standard'] as $row_name => $row_value ) {
1402
+ $row_values = array (
1403
+ 'key' => $row_name,
1404
+ 'name' => $row_value['name'],
1405
+ 'iptc_field_options' => self::_compose_iptc_option_list( $row_value['iptc_value'] ),
1406
+ 'exif_size' => 20,
1407
+ 'exif_text' => $row_value['exif_value'],
1408
+ 'iptc_selected' => '',
1409
+ 'exif_selected' => '',
1410
+ 'keep_selected' => '',
1411
+ 'replace_selected' => ''
1412
+ );
1413
+
1414
+ if ( $row_value['iptc_first'] )
1415
+ $row_values['iptc_selected'] = 'selected="selected"';
1416
+ else
1417
+ $row_values['exif_selected'] = 'selected="selected"';
1418
+
1419
+ if ( $row_value['keep_existing'] )
1420
+ $row_values['keep_selected'] = 'selected="selected"';
1421
+ else
1422
+ $row_values['replace_selected'] = 'selected="selected"';
1423
+
1424
+ $table_rows .= MLAData::mla_parse_template( $row_template, $row_values );
1425
+ } // foreach row
1426
+
1427
+ $option_values = array (
1428
+ 'table_rows' => $table_rows,
1429
+ 'help' => $value['help']
1430
+ );
1431
+
1432
+ return MLAData::mla_parse_template( self::$mla_option_templates['iptc-exif-standard-table'], $option_values );
1433
+ case 'iptc_exif_taxonomy_mapping':
1434
+ $row_template = self::$mla_option_templates['iptc-exif-taxonomy-row'];
1435
+ $select_template = self::$mla_option_templates['iptc-exif-select'];
1436
+ $table_rows = '';
1437
+ $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'objects' );
1438
+
1439
+ foreach ( $taxonomies as $row_name => $row_value ) {
1440
+ $row_values = array (
1441
+ 'key' => $row_name,
1442
+ 'name' => esc_html( $row_value->labels->name ),
1443
+ 'hierarchical' => (string) $row_value->hierarchical,
1444
+ 'iptc_field_options' => '',
1445
+ 'exif_size' => 20,
1446
+ 'exif_text' => '',
1447
+ 'iptc_selected' => '',
1448
+ 'exif_selected' => '',
1449
+ 'keep_selected' => '',
1450
+ 'replace_selected' => '',
1451
+ 'parent_select' => ''
1452
+ );
1453
+
1454
+ if ( array_key_exists( $row_name, $current_values['taxonomy'] ) ) {
1455
+ $current_value = $current_values['taxonomy'][ $row_name ];
1456
+ $row_values['iptc_field_options'] = self::_compose_iptc_option_list( $current_value['iptc_value'] );
1457
+ $row_values['exif_text'] = $current_value['exif_value'];
1458
+
1459
+ if ( $current_value['iptc_first'] )
1460
+ $row_values['iptc_selected'] = 'selected="selected"';
1461
+ else
1462
+ $row_values['exif_selected'] = 'selected="selected"';
1463
+
1464
+ if ( $current_value['keep_existing'] )
1465
+ $row_values['keep_selected'] = 'selected="selected"';
1466
+ else
1467
+ $row_values['replace_selected'] = 'selected="selected"';
1468
+
1469
+ if ( $row_value->hierarchical ) {
1470
+ $parent = ( isset( $current_value['parent'] ) ) ? (integer) $current_value['parent'] : 0;
1471
+ $select_values = array (
1472
+ 'array' => 'taxonomy',
1473
+ 'key' => $row_name,
1474
+ 'element' => 'parent',
1475
+ 'options' => self::_compose_parent_option_list( $row_name, $parent )
1476
+ );
1477
+ $row_values['parent_select'] = MLAData::mla_parse_template( $select_template, $select_values );
1478
+ }
1479
+ }
1480
+ else {
1481
+ $row_values['iptc_field_options'] = self::_compose_iptc_option_list( 'none' );
1482
+ $row_values['iptc_selected'] = 'selected="selected"';
1483
+ $row_values['keep_selected'] = 'selected="selected"';
1484
+
1485
+ if ( $row_value->hierarchical ) {
1486
+ $select_values = array (
1487
+ 'array' => 'taxonomy',
1488
+ 'key' => $row_name,
1489
+ 'element' => 'parent',
1490
+ 'options' => self::_compose_parent_option_list( $row_name, 0 )
1491
+ );
1492
+ $row_values['parent_select'] = MLAData::mla_parse_template( $select_template, $select_values );
1493
+ }
1494
+ }
1495
+
1496
+ $table_rows .= MLAData::mla_parse_template( $row_template, $row_values );
1497
+ } // foreach row
1498
+
1499
+ $option_values = array (
1500
+ 'table_rows' => $table_rows,
1501
+ 'help' => $value['help']
1502
+ );
1503
+
1504
+ return MLAData::mla_parse_template( self::$mla_option_templates['iptc-exif-taxonomy-table'], $option_values );
1505
+ case 'iptc_exif_custom_mapping':
1506
+ $custom_field_names = MLAOptions::_get_custom_field_names();
1507
+ $row_template = self::$mla_option_templates['iptc-exif-custom-row'];
1508
+ $table_rows = '';
1509
+
1510
+ /*
1511
+ * Add fields defined here but not yet assigned to any attachments
1512
+ */
1513
+ foreach ( $current_values['custom'] as $row_name => $row_values ) {
1514
+ if ( in_array( $row_name, $custom_field_names ) )
1515
+ continue;
1516
+
1517
+ $custom_field_names[] = $row_name;
1518
+ }
1519
+
1520
+ foreach ( $custom_field_names as $row_name ) {
1521
+ $row_values = array (
1522
+ 'key' => $row_name,
1523
+ 'name' => $row_name,
1524
+ 'iptc_field_options' => '',
1525
+ 'exif_size' => 20,
1526
+ 'exif_text' => '',
1527
+ 'iptc_selected' => '',
1528
+ 'exif_selected' => '',
1529
+ 'keep_selected' => '',
1530
+ 'replace_selected' => ''
1531
+ );
1532
+
1533
+ if ( array_key_exists( $row_name, $current_values['custom'] ) ) {
1534
+ $current_value = $current_values['custom'][ $row_name ];
1535
+ $row_values['iptc_field_options'] = self::_compose_iptc_option_list( $current_value['iptc_value'] );
1536
+ $row_values['exif_text'] = $current_value['exif_value'];
1537
+
1538
+ if ( $current_value['iptc_first'] )
1539
+ $row_values['iptc_selected'] = 'selected="selected"';
1540
+ else
1541
+ $row_values['exif_selected'] = 'selected="selected"';
1542
+
1543
+ if ( $current_value['keep_existing'] )
1544
+ $row_values['keep_selected'] = 'selected="selected"';
1545
+ else
1546
+ $row_values['replace_selected'] = 'selected="selected"';
1547
+ }
1548
+ else {
1549
+ $row_values['iptc_field_options'] = self::_compose_iptc_option_list( 'none' );
1550
+ $row_values['iptc_selected'] = 'selected="selected"';
1551
+ $row_values['keep_selected'] = 'selected="selected"';
1552
+
1553
+ }
1554
+
1555
+ $table_rows .= MLAData::mla_parse_template( $row_template, $row_values );
1556
+ } // foreach row
1557
+
1558
+ /*
1559
+ * Add a row for defining a new Custom Field
1560
+ */
1561
+ $row_values = array (
1562
+ 'key' => self::MLA_NEW_CUSTOM_FIELD,
1563
+ 'name' => ' <input name="iptc_exif_mapping[custom][' . self::MLA_NEW_CUSTOM_FIELD . '][name]" id="iptc_exif_standard_exif_field_' . self::MLA_NEW_CUSTOM_FIELD . '" type="text" size="20" value="" />',
1564
+ 'iptc_field_options' => self::_compose_iptc_option_list( 'none' ),
1565
+ 'exif_size' => 20,
1566
+ 'exif_text' => '',
1567
+ 'iptc_selected' => 'selected="selected"',
1568
+ 'exif_selected' => '',
1569
+ 'keep_selected' => 'selected="selected"',
1570
+ 'replace_selected' => ''
1571
+ );
1572
+ $table_rows .= MLAData::mla_parse_template( $row_template, $row_values );
1573
+
1574
+ $option_values = array (
1575
+ 'table_rows' => $table_rows,
1576
+ 'help' => $value['help']
1577
+ );
1578
+
1579
+ return MLAData::mla_parse_template( self::$mla_option_templates['iptc-exif-custom-table'], $option_values );
1580
+ default:
1581
+ return "<br>ERROR: Render unknown custom {$key}\r\n";
1582
+ } // switch $key
1583
+ case 'update':
1584
+ case 'delete':
1585
+ $settings_changed = false;
1586
+ $messages = '';
1587
+
1588
+ switch ( $key ) {
1589
+ case 'iptc_exif_standard_mapping':
1590
+ $results = self::_update_iptc_exif_standard_mapping( $current_values, $args );
1591
+ $messages .= $results['message'];
1592
+ $current_values = $results['values'];
1593
+ $settings_changed = $results['changed'];
1594
+ break;
1595
+ case 'iptc_exif_taxonomy_mapping':
1596
+ $results = self::_update_iptc_exif_taxonomy_mapping( $current_values, $args );
1597
+ $messages .= $results['message'];
1598
+ $current_values = $results['values'];
1599
+ $settings_changed = $results['changed'];
1600
+ break;
1601
+ case 'iptc_exif_custom_mapping':
1602
+ $results = self::_update_iptc_exif_custom_mapping( $current_values, $args );
1603
+ $messages .= $results['message'];
1604
+ $current_values = $results['values'];
1605
+ $settings_changed = $results['changed'];
1606
+ break;
1607
+ case 'iptc_exif_mapping':
1608
+ $results = self::_update_iptc_exif_standard_mapping( $current_values, $args );
1609
+ $messages .= $results['message'];
1610
+ $current_values = $results['values'];
1611
+ $settings_changed = $results['changed'];
1612
+
1613
+ $results = self::_update_iptc_exif_taxonomy_mapping( $current_values, $args );
1614
+ $messages .= $results['message'];
1615
+ $current_values = $results['values'];
1616
+ $settings_changed |= $results['changed'];
1617
+
1618
+ $results = self::_update_iptc_exif_custom_mapping( $current_values, $args );
1619
+ $messages .= $results['message'];
1620
+ $current_values = $results['values'];
1621
+ $settings_changed |= $results['changed'];
1622
+ break;
1623
+ default:
1624
+ return "<br>ERROR: Update/delete unknown custom {$key}\r\n";
1625
+ } // switch $key
1626
+
1627
+ if ( $settings_changed ) {
1628
+ $settings_changed = MLAOptions::mla_update_option( 'iptc_exif_mapping', $current_values );
1629
+ if ( $settings_changed )
1630
+ $results = "IPTC/EXIF mapping settings updated.\r\n";
1631
+ else
1632
+ $results = "ERROR: IPTC/EXIF settings update failed.\r\n";
1633
+ }
1634
+ else
1635
+ $results = "IPTC/EXIF no mapping changes detected.\r\n";
1636
+
1637
+ return $results . $messages;
1638
+ case 'reset':
1639
+ switch ( $key ) {
1640
+ case 'iptc_exif_standard_mapping':
1641
+ $current_values['standard'] = self::$mla_option_definitions['iptc_exif_mapping']['std']['standard'];
1642
+ $settings_changed = MLAOptions::mla_update_option( 'iptc_exif_mapping', $current_values );
1643
+ if ( $settings_changed )
1644
+ return "IPTC/EXIF Standard field settings saved.\r\n";
1645
+ else
1646
+ return "ERROR: IPTC/EXIF Standard field settings update failed.\r\n";
1647
+ case 'iptc_exif_taxonomy_mapping':
1648
+ $current_values['taxonomy'] = self::$mla_option_definitions['iptc_exif_mapping']['std']['taxonomy'];
1649
+ $settings_changed = MLAOptions::mla_update_option( 'iptc_exif_mapping', $current_values );
1650
+ if ( $settings_changed )
1651
+ return "IPTC/EXIF Taxonomy term settings saved.\r\n";
1652
+ else
1653
+ return "ERROR: IPTC/EXIF Taxonomy term settings update failed.\r\n";
1654
+ case 'iptc_exif_custom_mapping':
1655
+ $current_values['custom'] = self::$mla_option_definitions['iptc_exif_mapping']['std']['custom'];
1656
+ $settings_changed = MLAOptions::mla_update_option( 'iptc_exif_mapping', $current_values );
1657
+ if ( $settings_changed )
1658
+ return "IPTC/EXIF Custom field settings saved.\r\n";
1659
+ else
1660
+ return "ERROR: IPTC/EXIF Custom field settings update failed.\r\n";
1661
+ case 'iptc_exif_mapping':
1662
+ self::mla_delete_option( $key );
1663
+ return "<br>Reset custom {$key}\r\n";
1664
+ default:
1665
+ return "<br>ERROR: Reset unknown custom {$key}\r\n";
1666
+ } // switch $key
1667
+ default:
1668
+ return "<br>ERROR: Custom {$key} unknown action: {$action}\r\n";
1669
+ } // switch $action
1670
+ } // mla_taxonomy_option_handler
1671
+ } // class MLAOptions
1672
+ ?>
includes/class-mla-settings.php CHANGED
@@ -1,14 +1,13 @@
1
  <?php
2
  /**
3
- * Manages the plugin option settings and provides the settings page to edit them
4
  *
5
  * @package Media Library Assistant
6
  * @since 0.1
7
  */
8
 
9
  /**
10
- * Class MLA (Media Library Assistant) Settings manages the plugin option settings
11
- * and provides the settings page to edit them.
12
  *
13
  * @package Media Library Assistant
14
  * @since 0.1
@@ -33,161 +32,6 @@ class MLASettings {
33
  */
34
  const MLA_SETTINGS_SLUG = 'mla-settings-menu';
35
 
36
- /**
37
- * Provides a unique name for the current version option
38
- */
39
- const MLA_VERSION_OPTION = 'current_version';
40
-
41
- /**
42
- * $mla_options defines the database options and admin page areas for setting/updating them.
43
- * Each option is defined by an array with the following elements:
44
- *
45
- * array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)
46
- *
47
- * tab => Settings page tab id for the option
48
- * name => admin page label or heading text
49
- * type => 'checkbox', 'header', 'radio', 'select', 'text', 'textarea', 'custom', 'hidden'
50
- * std => default value
51
- * help => help text
52
- * size => text size, default 40
53
- * cols => textbox columns, default 90
54
- * rows => textbox rows, default 5
55
- * options => array of radio or select option values
56
- * texts => array of radio or select option display texts
57
- * render => rendering function for 'custom' options. Usage:
58
- * $options_list .= ['render']( 'render', $key, $value );
59
- * update => update function for 'custom' options; returns nothing. Usage:
60
- * $message = ['update']( 'update', $key, $value, $_REQUEST );
61
- * delete => delete function for 'custom' options; returns nothing. Usage:
62
- * $message = ['delete']( 'delete', $key, $value, $_REQUEST );
63
- * reset => reset function for 'custom' options; returns nothing. Usage:
64
- * $message = ['reset']( 'reset', $key, $value, $_REQUEST );
65
- */
66
- private static $mla_options = array (
67
- /*
68
- * This option records the highest MLA version so-far installed
69
- */
70
- self::MLA_VERSION_OPTION =>
71
- array('tab' => '',
72
- 'type' => 'hidden',
73
- 'std' => '0'),
74
-
75
- /*
76
- * These checkboxes are no longer used;
77
- * they are retained for the database version/update check
78
- */
79
- 'attachment_category' =>
80
- array('tab' => '',
81
- 'name' => 'Attachment Categories',
82
- 'type' => 'hidden', // checkbox',
83
- 'std' => 'checked',
84
- 'help' => 'Check this option to add support for Attachment Categories.'),
85
-
86
- 'attachment_tag' =>
87
- array('tab' => '',
88
- 'name' => 'Attachment Tags',
89
- 'type' => 'hidden', // checkbox',
90
- 'std' => 'checked',
91
- 'help' => 'Check this option to add support for Attachment Tags.'),
92
-
93
- 'where_used_heading' =>
94
- array('tab' => 'general',
95
- 'name' => 'Where-used Reporting',
96
- 'type' => 'header'),
97
-
98
- 'exclude_revisions' =>
99
- array('tab' => 'general',
100
- 'name' => 'Exclude Revisions',
101
- 'type' => 'checkbox',
102
- 'std' => 'checked',
103
- 'help' => 'Check this option to exclude revisions from where-used reporting.'),
104
-
105
- 'taxonomy_heading' =>
106
- array('tab' => 'general',
107
- 'name' => 'Taxonomy Support',
108
- 'type' => 'header'),
109
-
110
- 'taxonomy_support' =>
111
- array('tab' => 'general',
112
- 'help' => 'Check the "Support" box to add the taxonomy to the Assistant.<br>Check the "Inline Edit" box to display the taxonomy in the Quick Edit and Bulk Edit areas.<br>Use the "List Filter" option to select the taxonomy on which to filter the Assistant table listing.',
113
- 'std' => array (
114
- 'tax_support' => array (
115
- 'attachment_category' => 'checked',
116
- 'attachment_tag' => 'checked',
117
- ),
118
- 'tax_quick_edit' => array (
119
- 'attachment_category' => 'checked',
120
- 'attachment_tag' => 'checked',
121
- ),
122
- 'tax_filter' => 'attachment_category'
123
- ),
124
- 'type' => 'custom',
125
- 'render' => '_taxonomy_handler',
126
- 'update' => '_taxonomy_handler',
127
- 'delete' => '_taxonomy_handler',
128
- 'reset' => '_taxonomy_handler'),
129
-
130
- 'orderby_heading' =>
131
- array('tab' => 'general',
132
- 'name' => 'Default Table Listing Sort Order',
133
- 'type' => 'header'),
134
-
135
- 'default_orderby' =>
136
- array('tab' => 'general',
137
- 'name' => 'Order By',
138
- 'type' => 'select',
139
- 'std' => 'title_name',
140
- 'options' => array('title_name'),
141
- 'texts' => array('Title/Name'),
142
- 'help' => 'Select the column for the sort order of the Assistant table listing.'),
143
-
144
- 'default_order' =>
145
- array('tab' => 'general',
146
- 'name' => 'Order',
147
- 'type' => 'radio',
148
- 'std' => 'ASC',
149
- 'options' => array('ASC', 'DESC'),
150
- 'texts' => array('Ascending', 'Descending'),
151
- 'help' => 'Choose the sort order.'),
152
-
153
- /*
154
- * Managed by _get_style_templates and _put_style_templates
155
- */
156
- 'style_templates' =>
157
- array('tab' => '',
158
- 'type' => 'hidden',
159
- 'std' => array( )),
160
-
161
- /*
162
- * Managed by _get_markup_templates and _put_markup_templates
163
- */
164
- 'markup_templates' =>
165
- array('tab' => '',
166
- 'type' => 'hidden',
167
- 'std' => array( )),
168
-
169
- /* Here are examples of the other option types
170
- 'testvalues' =>
171
- array('name' => 'Test Values',
172
- 'type' => 'header'),
173
-
174
- 'text' =>
175
- array('name' => 'Text Field',
176
- 'type' => 'text',
177
- 'std' => 'default text',
178
- 'size' => 20,
179
- 'help' => 'Enter the text...'),
180
-
181
- 'textarea' =>
182
- array('name' => 'Text Area',
183
- 'type' => 'textarea',
184
- 'std' => 'default text area',
185
- 'cols' => 60,
186
- 'rows' => 4,
187
- 'help' => 'Enter the text area...'),
188
- */
189
- );
190
-
191
  /**
192
  * Initialization function, similar to __construct()
193
  *
@@ -202,7 +46,6 @@ class MLASettings {
202
  add_action( 'admin_menu', 'MLASettings::mla_admin_menu_action' );
203
  self::_version_upgrade();
204
  self::_create_alt_text_view();
205
- self::_load_templates();
206
  }
207
 
208
  /**
@@ -213,17 +56,17 @@ class MLASettings {
213
  * @return void
214
  */
215
  private static function _version_upgrade( ) {
216
- $current_version = self::mla_get_option( self::MLA_VERSION_OPTION );
217
 
218
  if ( ((float)'.30') > ((float)$current_version) ) {
219
  /*
220
  * Convert attachment_category and _tag to taxonomy_support;
221
  * change the default if either option is unchecked
222
  */
223
- $category_option = self::mla_get_option( 'attachment_category' );
224
- $tag_option = self::mla_get_option( 'attachment_tag' );
225
  if ( ! ( ( 'checked' == $category_option ) && ( 'checked' == $tag_option ) ) ) {
226
- $tax_option = self::mla_get_option( 'taxonomy_support' );
227
  if ( 'checked' != $category_option ) {
228
  if ( isset( $tax_option['tax_support']['attachment_category'] ) )
229
  unset( $tax_option['tax_support']['attachment_category'] );
@@ -234,14 +77,14 @@ class MLASettings {
234
  unset( $tax_option['tax_support']['attachment_tag'] );
235
  }
236
 
237
- self::_taxonomy_handler( 'update', 'taxonomy_support', self::$mla_options['taxonomy_support'], $tax_option );
238
  } // one or both options unchecked
239
 
240
- self::mla_delete_option( 'attachment_category' );
241
- self::mla_delete_option( 'attachment_tag' );
242
  } // version is less than .30
243
 
244
- self::mla_update_option( self::MLA_VERSION_OPTION, MLA::CURRENT_MLA_VERSION );
245
  }
246
 
247
  /**
@@ -353,251 +196,6 @@ class MLASettings {
353
  return $links;
354
  }
355
 
356
- /**
357
- * Style and Markup templates
358
- *
359
- * @since 0.80
360
- *
361
- * @var array
362
- */
363
- private static $mla_template_array = null;
364
-
365
- /**
366
- * Load style and markup templates to $mla_templates
367
- *
368
- * @since 0.80
369
- *
370
- * @return void
371
- */
372
- private static function _load_templates() {
373
- self::$mla_template_array = MLAData::mla_load_template( MLA_PLUGIN_PATH . 'tpls/mla-gallery-templates.tpl' );
374
-
375
- /*
376
- * Load the default templates
377
- */
378
- if( is_null( self::$mla_template_array ) ) {
379
- self::$mla_debug_messages .= '<p><strong>_load_templates()</strong> error loading tpls/mla-gallery-templates.tpl';
380
- return;
381
- }
382
- elseif( !self::$mla_template_array ) {
383
- self::$mla_debug_messages .= '<p><strong>_load_templates()</strong>tpls/mla-gallery-templates.tpl not found';
384
- $mla_template_array = null;
385
- return;
386
- }
387
-
388
- /*
389
- * Add user-defined Style and Markup templates
390
- */
391
- $templates = self::mla_get_option( 'style_templates' );
392
- if ( is_array( $templates ) ) {
393
- foreach ( $templates as $name => $value ) {
394
- self::$mla_template_array[ $name . '-style' ] = $value;
395
- } // foreach $templates
396
- } // is_array
397
-
398
- $templates = self::mla_get_option( 'markup_templates' );
399
- if ( is_array( $templates ) ) {
400
- foreach ( $templates as $name => $value ) {
401
- self::$mla_template_array[ $name . '-open-markup' ] = $value['open'];
402
- self::$mla_template_array[ $name . '-row-open-markup' ] = $value['row-open'];
403
- self::$mla_template_array[ $name . '-item-markup' ] = $value['item'];
404
- self::$mla_template_array[ $name . '-row-close-markup' ] = $value['row-close'];
405
- self::$mla_template_array[ $name . '-close-markup' ] = $value['close'];
406
- } // foreach $templates
407
- } // is_array
408
- }
409
-
410
- /**
411
- * Fetch style or markup template from $mla_templates
412
- *
413
- * @since 0.80
414
- *
415
- * @param string Template name
416
- * @param string Template type; 'style' (default) or 'markup'
417
- *
418
- * @return string|boolean|null requested template, false if not found or null if no templates
419
- */
420
- public static function mla_fetch_gallery_template( $key, $type = 'style' ) {
421
- if ( ! is_array( self::$mla_template_array ) ) {
422
- self::$mla_debug_messages .= '<p><strong>_fetch_template()</strong> no templates exist';
423
- return null;
424
- }
425
-
426
- $array_key = $key . '-' . $type;
427
- if ( array_key_exists( $array_key, self::$mla_template_array ) )
428
- return self::$mla_template_array[ $array_key ];
429
- else {
430
- self::$mla_debug_messages .= "<p><strong>_fetch_template( {$key}, {$type} )</strong> not found";
431
- return false;
432
- }
433
- }
434
-
435
- /**
436
- * Get ALL style templates from $mla_templates, including 'default'
437
- *
438
- * @since 0.80
439
- *
440
- * @return array|null name => value for all style templates or null if no templates
441
- */
442
- public static function _get_style_templates() {
443
- if ( ! is_array( self::$mla_template_array ) ) {
444
- self::$mla_debug_messages .= '<p><strong>_fetch_template()</strong> no templates exist';
445
- return null;
446
- }
447
-
448
- $templates = array( );
449
- foreach ( self::$mla_template_array as $key => $value ) {
450
- $tail = strrpos( $key, '-style' );
451
- if ( ! ( false === $tail ) ) {
452
- $name = substr( $key, 0, $tail );
453
- $templates[ $name ] = $value;
454
- }
455
- } // foreach
456
-
457
- return $templates;
458
- }
459
-
460
- /**
461
- * Put user-defined style templates to $mla_templates and database
462
- *
463
- * @since 0.80
464
- *
465
- * @param array name => value for all user-defined style templates
466
- * @return boolean true if success, false if failure
467
- */
468
- public static function _put_style_templates( $templates ) {
469
- if ( self::mla_update_option( 'style_templates', $templates ) ) {
470
- self::_load_templates();
471
- return true;
472
- }
473
-
474
- return false;
475
- }
476
-
477
- /**
478
- * Get ALL markup templates from $mla_templates, including 'default'
479
- *
480
- * @since 0.80
481
- *
482
- * @return array|null name => value for all markup templates or null if no templates
483
- */
484
- public static function _get_markup_templates() {
485
- if ( ! is_array( self::$mla_template_array ) ) {
486
- self::$mla_debug_messages .= '<p><strong>_fetch_template()</strong> no templates exist';
487
- return null;
488
- }
489
-
490
- $templates = array( );
491
- foreach ( self::$mla_template_array as $key => $value ) {
492
- $tail = strrpos( $key, '-row-open-markup' );
493
- if ( ! ( false === $tail ) ) {
494
- $name = substr( $key, 0, $tail );
495
- $templates[ $name ]['row-open'] = $value;
496
- continue;
497
- }
498
-
499
- $tail = strrpos( $key, '-open-markup' );
500
- if ( ! ( false === $tail ) ) {
501
- $name = substr( $key, 0, $tail );
502
- $templates[ $name ]['open'] = $value;
503
- continue;
504
- }
505
-
506
- $tail = strrpos( $key, '-item-markup' );
507
- if ( ! ( false === $tail ) ) {
508
- $name = substr( $key, 0, $tail );
509
- $templates[ $name ]['item'] = $value;
510
- continue;
511
- }
512
-
513
- $tail = strrpos( $key, '-row-close-markup' );
514
- if ( ! ( false === $tail ) ) {
515
- $name = substr( $key, 0, $tail );
516
- $templates[ $name ]['row-close'] = $value;
517
- continue;
518
- }
519
-
520
- $tail = strrpos( $key, '-close-markup' );
521
- if ( ! ( false === $tail ) ) {
522
- $name = substr( $key, 0, $tail );
523
- $templates[ $name ]['close'] = $value;
524
- }
525
- } // foreach
526
-
527
- return $templates;
528
- }
529
-
530
- /**
531
- * Put user-defined markup templates to $mla_templates and database
532
- *
533
- * @since 0.80
534
- *
535
- * @param array name => value for all user-defined markup templates
536
- * @return boolean true if success, false if failure
537
- */
538
- public static function _put_markup_templates( $templates ) {
539
- if ( self::mla_update_option( 'markup_templates', $templates ) ) {
540
- self::_load_templates();
541
- return true;
542
- }
543
-
544
- return false;
545
- }
546
-
547
- /**
548
- * Return the stored value or default value of a defined MLA option
549
- *
550
- * @since 0.1
551
- *
552
- * @param string Name of the desired option
553
- *
554
- * @return mixed Value(s) for the option or false if the option is not a defined MLA option
555
- */
556
- public static function mla_get_option( $option ) {
557
- if ( array_key_exists( $option, self::$mla_options ) ) {
558
- if ( array_key_exists( 'std', self::$mla_options[ $option ] ) )
559
- return get_option( MLA_OPTION_PREFIX . $option, self::$mla_options[ $option ]['std'] );
560
- else
561
- return get_option( MLA_OPTION_PREFIX . $option, false );
562
- }
563
-
564
- return false;
565
- }
566
-
567
- /**
568
- * Add or update the stored value of a defined MLA option
569
- *
570
- * @since 0.1
571
- *
572
- * @param string Name of the desired option
573
- * @param mixed New value for the desired option
574
- *
575
- * @return boolean True if the value was changed or false if the update failed
576
- */
577
- public static function mla_update_option( $option, $newvalue ) {
578
- if ( array_key_exists( $option, self::$mla_options ) )
579
- return update_option( MLA_OPTION_PREFIX . $option, $newvalue );
580
-
581
- return false;
582
- }
583
-
584
- /**
585
- * Delete the stored value of a defined MLA option
586
- *
587
- * @since 0.1
588
- *
589
- * @param string Name of the desired option
590
- *
591
- * @return boolean True if the option was deleted, otherwise false
592
- */
593
- public static function mla_delete_option( $option ) {
594
- if ( array_key_exists( $option, self::$mla_options ) ) {
595
- return delete_option( MLA_OPTION_PREFIX . $option );
596
- }
597
-
598
- return false;
599
- }
600
-
601
  /**
602
  * Update or delete a single MLA option value
603
  *
@@ -614,25 +212,26 @@ class MLASettings {
614
  $message = '<br>update_option(' . $key . ")\r\n";
615
  switch ( $value['type'] ) {
616
  case 'checkbox':
617
- self::mla_update_option( $key, 'checked' );
618
  break;
619
  case 'header':
 
620
  $message = '';
621
  break;
622
  case 'radio':
623
- self::mla_update_option( $key, $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
624
  break;
625
  case 'select':
626
- self::mla_update_option( $key, $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
627
  break;
628
  case 'text':
629
- self::mla_update_option( $key, trim( $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) );
630
  break;
631
  case 'textarea':
632
- self::mla_update_option( $key, trim( $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) );
633
  break;
634
  case 'custom':
635
- $message = self::$value['update']( 'update', $key, $value, $_REQUEST );
636
  break;
637
  case 'hidden':
638
  break;
@@ -644,25 +243,26 @@ class MLASettings {
644
  $message = '<br>delete_option(' . $key . ')';
645
  switch ( $value['type'] ) {
646
  case 'checkbox':
647
- self::mla_update_option( $key, 'unchecked' );
648
  break;
649
  case 'header':
 
650
  $message = '';
651
  break;
652
  case 'radio':
653
- self::mla_delete_option( $key );
654
  break;
655
  case 'select':
656
- self::mla_delete_option( $key );
657
  break;
658
  case 'text':
659
- self::mla_delete_option( $key );
660
  break;
661
  case 'textarea':
662
- self::mla_delete_option( $key );
663
  break;
664
  case 'custom':
665
- $message = self::$value['delete']( 'delete', $key, $value, $_REQUEST );
666
  break;
667
  case 'hidden':
668
  break;
@@ -695,17 +295,18 @@ class MLASettings {
695
  'help' => $value['help']
696
  );
697
 
698
- if ( 'checked' == self::mla_get_option( $key ) )
699
  $option_values['checked'] = 'checked="checked"';
700
 
701
  return MLAData::mla_parse_template( self::$page_template_array['checkbox'], $option_values );
702
  case 'header':
 
703
  $option_values = array(
704
  'key' => MLA_OPTION_PREFIX . $key,
705
  'value' => $value['name']
706
  );
707
 
708
- return MLAData::mla_parse_template( self::$page_template_array['header'], $option_values );
709
  case 'radio':
710
  $radio_options = '';
711
  foreach ( $value['options'] as $optid => $option ) {
@@ -716,7 +317,7 @@ class MLASettings {
716
  'value' => $value['texts'][$optid]
717
  );
718
 
719
- if ( $option == self::mla_get_option( $key ) )
720
  $option_values['checked'] = 'checked="checked"';
721
 
722
  $radio_options .= MLAData::mla_parse_template( self::$page_template_array['radio-option'], $option_values );
@@ -738,7 +339,7 @@ class MLASettings {
738
  'text' => $value['texts'][$optid]
739
  );
740
 
741
- if ( $option == self::mla_get_option( $key ) )
742
  $option_values['selected'] = 'selected="selected"';
743
 
744
  $select_options .= MLAData::mla_parse_template( self::$page_template_array['select-option'], $option_values );
@@ -765,7 +366,7 @@ class MLASettings {
765
  if ( !empty( $value['size'] ) )
766
  $option_values['size'] = $value['size'];
767
 
768
- $option_values['text'] = self::mla_get_option( $key );
769
 
770
  return MLAData::mla_parse_template( self::$page_template_array['text'], $option_values );
771
  case 'textarea':
@@ -785,12 +386,12 @@ class MLASettings {
785
  if ( !empty( $value['rows'] ) )
786
  $option_values['rows'] = $value['rows'];
787
 
788
- $option_values['text'] = stripslashes( self::mla_get_option( $key ) );
789
 
790
  return MLAData::mla_parse_template( self::$page_template_array['textarea'], $option_values );
791
  case 'custom':
792
  if ( isset( $value['render'] ) )
793
- return self::$value['render']( 'render', $key, $value );
794
 
795
  break;
796
  case 'hidden':
@@ -831,6 +432,7 @@ class MLASettings {
831
  private static $mla_tablist = array(
832
  'general' => array( 'title' => 'General', 'render' => '_compose_general_tab' ),
833
  'mla-gallery' => array( 'title' => 'MLA Gallery', 'render' => '_compose_mla_gallery_tab' ),
 
834
  'documentation' => array( 'title' => 'Documentation', 'render' => '_compose_documentation_tab' )
835
  );
836
 
@@ -931,12 +533,12 @@ class MLASettings {
931
  */
932
  $default_orderby = MLA_List_Table::mla_get_sortable_columns( );
933
  foreach ($default_orderby as $key => $value ) {
934
- self::$mla_options['default_orderby']['options'][] = $value[0];
935
- self::$mla_options['default_orderby']['texts'][] = $value[1];
936
  }
937
 
938
  $options_list = '';
939
- foreach ( self::$mla_options as $key => $value ) {
940
  if ( 'general' == $value['tab'] )
941
  $options_list .= self::_compose_option_row( $key, $value );
942
  }
@@ -981,11 +583,28 @@ class MLASettings {
981
  '_wp_http_referer' => wp_referer_field( false )
982
  );
983
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
984
  /*
985
  * Start with any page-level options
986
  */
987
  $options_list = '';
988
- foreach ( self::$mla_options as $key => $value ) {
989
  if ( 'mla-gallery' == $value['tab'] )
990
  $options_list .= self::_compose_option_row( $key, $value );
991
  }
@@ -996,7 +615,7 @@ class MLASettings {
996
  * Add style templates; default goes first
997
  */
998
  $style_options_list = '';
999
- $templates = self::_get_style_templates();
1000
 
1001
  $name = 'default';
1002
  $value =$templates['default'];
@@ -1080,7 +699,7 @@ class MLASettings {
1080
  * Add markup templates; default goes first
1081
  */
1082
  $markup_options_list = '';
1083
- $templates = self::_get_markup_templates();
1084
 
1085
  $name = 'default';
1086
  $value =$templates['default'];
@@ -1228,6 +847,79 @@ class MLASettings {
1228
  return $page_content;
1229
  }
1230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1231
  /**
1232
  * Compose the Documentation tab content for the Settings subpage
1233
  *
@@ -1237,13 +929,14 @@ class MLASettings {
1237
  * @return array 'message' => status/error messages, 'body' => tab content
1238
  */
1239
  private static function _compose_documentation_tab( ) {
 
1240
  $page_values = array(
1241
  'phpDocs_url' => MLA_PLUGIN_URL . 'phpDocs/index.html'
1242
  );
1243
 
1244
  return array(
1245
  'message' => '',
1246
- 'body' => MLAData::mla_parse_template( self::$page_template_array['documentation-tab'], $page_values )
1247
  );
1248
  }
1249
 
@@ -1295,82 +988,6 @@ class MLASettings {
1295
  echo MLAData::mla_parse_template( self::$page_template_array['page'], $page_values );
1296
  } // mla_render_settings_page
1297
 
1298
- /**
1299
- * Determine MLA support for a taxonomy, handling the special case where the
1300
- * settings are being updated or reset.
1301
- *
1302
- * @since 0.30
1303
- *
1304
- * @param string Taxonomy name, e.g., attachment_category
1305
- * @param string Optional. 'support' (default), 'quick-edit' or 'filter'
1306
- *
1307
- * @return boolean|string
1308
- * true if the taxonomy is supported in this way else false
1309
- * string if $tax_name is '' and $support_type is 'filter', returns the taxonomy to filter by
1310
- */
1311
- public static function mla_taxonomy_support($tax_name, $support_type = 'support') {
1312
- $tax_options = MLASettings::mla_get_option( 'taxonomy_support' );
1313
-
1314
- switch ( $support_type ) {
1315
- case 'support':
1316
- $tax_support = isset( $tax_options['tax_support'] ) ? $tax_options['tax_support'] : array ();
1317
- $is_supported = array_key_exists( $tax_name, $tax_support );
1318
-
1319
- if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
1320
- $is_supported = isset( $_REQUEST['tax_support'][ $tax_name ] );
1321
- } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
1322
- switch ( $tax_name ) {
1323
- case 'attachment_category':
1324
- case 'attachment_tag':
1325
- $is_supported = true;
1326
- break;
1327
- default:
1328
- $is_supported = false;
1329
- }
1330
- }
1331
-
1332
- return $is_supported;
1333
- case 'quick-edit':
1334
- $tax_quick_edit = isset( $tax_options['tax_quick_edit'] ) ? $tax_options['tax_quick_edit'] : array ();
1335
- $is_supported = array_key_exists( $tax_name, $tax_quick_edit );
1336
-
1337
- if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
1338
- $is_supported = isset( $_REQUEST['tax_quick_edit'][ $tax_name ] );
1339
- } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
1340
- switch ( $tax_name ) {
1341
- case 'attachment_category':
1342
- case 'attachment_tag':
1343
- $is_supported = true;
1344
- break;
1345
- default:
1346
- $is_supported = false;
1347
- }
1348
- }
1349
-
1350
- return $is_supported;
1351
- case 'filter':
1352
- $tax_filter = isset( $tax_options['tax_filter'] ) ? $tax_options['tax_filter'] : '';
1353
- if ( '' == $tax_name )
1354
- return $tax_filter;
1355
- else
1356
- $is_supported = ( $tax_name == $tax_filter );
1357
-
1358
- if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
1359
- $tax_filter = isset( $_REQUEST['tax_filter'] ) ? $_REQUEST['tax_filter'] : '';
1360
- $is_supported = ( $tax_name == $tax_filter );
1361
- } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
1362
- if ( 'attachment_category' == $tax_name )
1363
- $is_supported = true;
1364
- else
1365
- $is_supported = false;
1366
- }
1367
-
1368
- return $is_supported;
1369
- default:
1370
- return false;
1371
- } // $support_type
1372
- } // mla_taxonomy_support
1373
-
1374
  /**
1375
  * Save MLA Gallery settings to the options table
1376
  *
@@ -1388,15 +1005,20 @@ class MLASettings {
1388
  /*
1389
  * Start with any page-level options
1390
  */
1391
- foreach ( self::$mla_options as $key => $value ) {
1392
- if ( 'mla-gallery' == $value['tab'] )
1393
- $message_list .= self::_update_option_row( $key, $value );
 
 
 
 
 
1394
  } // foreach mla_options
1395
 
1396
  /*
1397
  * Get the current style contents for comparison
1398
  */
1399
- $old_templates = self::_get_style_templates();
1400
  $new_templates = array( );
1401
  $new_names = $_REQUEST['mla_style_templates_name'];
1402
  $new_values = stripslashes_deep( $_REQUEST['mla_style_templates_value'] );
@@ -1464,14 +1086,14 @@ class MLASettings {
1464
 
1465
  if ( $templates_changed ) {
1466
  $settings_changed = true;
1467
- if ( false == self::_put_style_templates( $new_templates ) )
1468
  $error_list .= "<br>Error: update of style templates failed.";
1469
  }
1470
 
1471
  /*
1472
  * Get the current markup contents for comparison
1473
  */
1474
- $old_templates = self::_get_markup_templates();
1475
  $new_templates = array( );
1476
  $new_names = $_REQUEST['mla_markup_templates_name'];
1477
  $new_values['open'] = stripslashes_deep( $_REQUEST['mla_markup_templates_open'] );
@@ -1575,7 +1197,7 @@ class MLASettings {
1575
 
1576
  if ( $templates_changed ) {
1577
  $settings_changed = true;
1578
- if ( false == self::_put_markup_templates( $new_templates ) )
1579
  $error_list .= "<br>Error: update of markup templates failed.";
1580
  }
1581
 
@@ -1597,6 +1219,177 @@ class MLASettings {
1597
  return $page_content;
1598
  } // _save_gallery_settings
1599
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1600
  /**
1601
  * Save General settings to the options table
1602
  *
@@ -1609,9 +1402,39 @@ class MLASettings {
1609
  private static function _save_general_settings( ) {
1610
  $message_list = '';
1611
 
1612
- foreach ( self::$mla_options as $key => $value ) {
1613
- if ( 'general' == $value['tab'] )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1614
  $message_list .= self::_update_option_row( $key, $value );
 
1615
  } // foreach mla_options
1616
 
1617
  $page_content = array(
@@ -1637,15 +1460,15 @@ class MLASettings {
1637
  private static function _reset_general_settings( ) {
1638
  $message_list = '';
1639
 
1640
- foreach ( self::$mla_options as $key => $value ) {
1641
  if ( 'custom' == $value['type'] ) {
1642
- $message = self::$value['reset']( 'reset', $key, $value, $_REQUEST );
1643
  }
1644
  elseif ( ('header' == $value['type']) || ('hidden' == $value['type']) ) {
1645
  $message = '';
1646
  }
1647
  else {
1648
- self::mla_delete_option( $key );
1649
  $message = '<br>delete_option(' . $key . ')';
1650
  }
1651
 
@@ -1664,118 +1487,5 @@ class MLASettings {
1664
 
1665
  return $page_content;
1666
  } // _reset_general_settings
1667
-
1668
- /**
1669
- * Render and manage other taxonomy support options, e.g., Categories and Post Tags
1670
- *
1671
- * @since 0.30
1672
- * @uses $page_template_array contains taxonomy-row and taxonomy-table templates
1673
- *
1674
- * @param string 'render', 'update', 'delete', or 'reset'
1675
- * @param string option name, e.g., 'taxonomy_support'
1676
- * @param array option parameters
1677
- * @param array Optional. null (default) for 'render' else $_REQUEST
1678
- *
1679
- * @return string HTML table row markup for 'render' else message(s) reflecting the results of the operation.
1680
- */
1681
- private static function _taxonomy_handler( $action, $key, $value, $args = null ) {
1682
- switch ( $action ) {
1683
- case 'render':
1684
- $taxonomies = get_taxonomies( array ( 'show_ui' => 'true' ), 'objects' );
1685
- $current_values = self::mla_get_option( $key );
1686
- $tax_support = isset( $current_values['tax_support'] ) ? $current_values['tax_support'] : array ();
1687
- $tax_quick_edit = isset( $current_values['tax_quick_edit'] ) ? $current_values['tax_quick_edit'] : array ();
1688
- $tax_filter = isset( $current_values['tax_filter'] ) ? $current_values['tax_filter'] : '';
1689
-
1690
- /*
1691
- * Always display our own taxonomies, even if not registered.
1692
- * Otherwise there's no way to turn them back on.
1693
- */
1694
- if ( ! array_key_exists( 'attachment_category', $taxonomies ) ) {
1695
- $taxonomies['attachment_category'] = (object) array( 'labels' => (object) array( 'name' => 'Attachment Categories' ) );
1696
- if ( isset( $tax_support['attachment_category'] ) )
1697
- unset( $tax_support['attachment_category'] );
1698
-
1699
- if ( isset( $tax_quick_edit['attachment_category'] ) )
1700
- unset( $tax_quick_edit['attachment_category'] );
1701
-
1702
- if ( $tax_filter == 'attachment_category' )
1703
- $tax_filter = '';
1704
- }
1705
-
1706
- if ( ! array_key_exists( 'attachment_tag', $taxonomies ) ) {
1707
- $taxonomies['attachment_tag'] = (object) array( 'labels' => (object) array( 'name' => 'Attachment Tags' ) );
1708
-
1709
- if ( isset( $tax_support['attachment_tag'] ) )
1710
- unset( $tax_support['attachment_tag'] );
1711
-
1712
- if ( isset( $tax_quick_edit['attachment_tag'] ) )
1713
- unset( $tax_quick_edit['attachment_tag'] );
1714
-
1715
- if ( $tax_filter == 'attachment_tag' )
1716
- $tax_filter = '';
1717
- }
1718
-
1719
- $taxonomy_row = self::$page_template_array['taxonomy-row'];
1720
- $row = '';
1721
-
1722
- foreach ($taxonomies as $tax_name => $tax_object) {
1723
- $option_values = array (
1724
- 'key' => $tax_name,
1725
- 'name' => $tax_object->labels->name,
1726
- 'support_checked' => array_key_exists( $tax_name, $tax_support ) ? 'checked=checked' : '',
1727
- 'quick_edit_checked' => array_key_exists( $tax_name, $tax_quick_edit ) ? 'checked=checked' : '',
1728
- 'filter_checked' => ( $tax_name == $tax_filter ) ? 'checked=checked' : ''
1729
- );
1730
-
1731
- $row .= MLAData::mla_parse_template( $taxonomy_row, $option_values );
1732
- }
1733
-
1734
- $option_values = array (
1735
- 'taxonomy_rows' => $row,
1736
- 'help' => $value['help']
1737
- );
1738
-
1739
- return MLAData::mla_parse_template( self::$page_template_array['taxonomy-table'], $option_values );
1740
- case 'update':
1741
- case 'delete':
1742
- $tax_support = isset( $args['tax_support'] ) ? $args['tax_support'] : array ();
1743
- $tax_quick_edit = isset( $args['tax_quick_edit'] ) ? $args['tax_quick_edit'] : array ();
1744
- $tax_filter = isset( $args['tax_filter'] ) ? $args['tax_filter'] : '';
1745
-
1746
- $msg = '';
1747
-
1748
- if ( !empty($tax_filter) && !array_key_exists( $tax_filter, $tax_support ) ) {
1749
- $msg .= "<br>List Filter ignored; {$tax_filter} not supported.\r\n";
1750
- $tax_filter = '';
1751
- }
1752
-
1753
- foreach ($tax_quick_edit as $tax_name => $tax_value) {
1754
- if ( !array_key_exists( $tax_name, $tax_support ) ) {
1755
- $msg .= "<br>Quick Edit ignored; {$tax_name} not supported.\r\n";
1756
- unset( $tax_quick_edit[ $tax_name ] );
1757
- }
1758
- }
1759
-
1760
- $value = array (
1761
- 'tax_support' => $tax_support,
1762
- 'tax_quick_edit' => $tax_quick_edit,
1763
- 'tax_filter' => $tax_filter
1764
- );
1765
-
1766
- self::mla_update_option( $key, $value );
1767
-
1768
- if ( empty( $msg ) )
1769
- $msg = "<br>Update custom {$key}\r\n";
1770
-
1771
- return $msg;
1772
- case 'reset':
1773
- self::mla_delete_option( $key );
1774
- return "<br>Reset custom {$key}\r\n";
1775
- default:
1776
- error_log( 'ERROR: _save_settings unknown type(3): ' . var_export( $value, true ), 0 );
1777
- return '';
1778
- }
1779
- } // _taxonomy_handler
1780
  } // class MLASettings
1781
  ?>
1
  <?php
2
  /**
3
+ * Manages the settings page to edit the plugin option settings
4
  *
5
  * @package Media Library Assistant
6
  * @since 0.1
7
  */
8
 
9
  /**
10
+ * Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings
 
11
  *
12
  * @package Media Library Assistant
13
  * @since 0.1
32
  */
33
  const MLA_SETTINGS_SLUG = 'mla-settings-menu';
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  /**
36
  * Initialization function, similar to __construct()
37
  *
46
  add_action( 'admin_menu', 'MLASettings::mla_admin_menu_action' );
47
  self::_version_upgrade();
48
  self::_create_alt_text_view();
 
49
  }
50
 
51
  /**
56
  * @return void
57
  */
58
  private static function _version_upgrade( ) {
59
+ $current_version = MLAOptions::mla_get_option( MLAOptions::MLA_VERSION_OPTION );
60
 
61
  if ( ((float)'.30') > ((float)$current_version) ) {
62
  /*
63
  * Convert attachment_category and _tag to taxonomy_support;
64
  * change the default if either option is unchecked
65
  */
66
+ $category_option = MLAOptions::mla_get_option( 'attachment_category' );
67
+ $tag_option = MLAOptions::mla_get_option( 'attachment_tag' );
68
  if ( ! ( ( 'checked' == $category_option ) && ( 'checked' == $tag_option ) ) ) {
69
+ $tax_option = MLAOptions::mla_get_option( 'taxonomy_support' );
70
  if ( 'checked' != $category_option ) {
71
  if ( isset( $tax_option['tax_support']['attachment_category'] ) )
72
  unset( $tax_option['tax_support']['attachment_category'] );
77
  unset( $tax_option['tax_support']['attachment_tag'] );
78
  }
79
 
80
+ MLAOptions::mla_taxonomy_option_handler( 'update', 'taxonomy_support', MLAOptions::$mla_option_definitions['taxonomy_support'], $tax_option );
81
  } // one or both options unchecked
82
 
83
+ MLAOptions::mla_delete_option( 'attachment_category' );
84
+ MLAOptions::mla_delete_option( 'attachment_tag' );
85
  } // version is less than .30
86
 
87
+ MLAOptions::mla_update_option( MLAOptions::MLA_VERSION_OPTION, MLA::CURRENT_MLA_VERSION );
88
  }
89
 
90
  /**
196
  return $links;
197
  }
198
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  /**
200
  * Update or delete a single MLA option value
201
  *
212
  $message = '<br>update_option(' . $key . ")\r\n";
213
  switch ( $value['type'] ) {
214
  case 'checkbox':
215
+ MLAOptions::mla_update_option( $key, 'checked' );
216
  break;
217
  case 'header':
218
+ case 'subheader':
219
  $message = '';
220
  break;
221
  case 'radio':
222
+ MLAOptions::mla_update_option( $key, $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
223
  break;
224
  case 'select':
225
+ MLAOptions::mla_update_option( $key, $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
226
  break;
227
  case 'text':
228
+ MLAOptions::mla_update_option( $key, trim( $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) );
229
  break;
230
  case 'textarea':
231
+ MLAOptions::mla_update_option( $key, trim( $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) );
232
  break;
233
  case 'custom':
234
+ $message = MLAOptions::$value['update']( 'update', $key, $value, $_REQUEST );
235
  break;
236
  case 'hidden':
237
  break;
243
  $message = '<br>delete_option(' . $key . ')';
244
  switch ( $value['type'] ) {
245
  case 'checkbox':
246
+ MLAOptions::mla_update_option( $key, 'unchecked' );
247
  break;
248
  case 'header':
249
+ case 'subheader':
250
  $message = '';
251
  break;
252
  case 'radio':
253
+ MLAOptions::mla_delete_option( $key );
254
  break;
255
  case 'select':
256
+ MLAOptions::mla_delete_option( $key );
257
  break;
258
  case 'text':
259
+ MLAOptions::mla_delete_option( $key );
260
  break;
261
  case 'textarea':
262
+ MLAOptions::mla_delete_option( $key );
263
  break;
264
  case 'custom':
265
+ $message = MLAOptions::$value['delete']( 'delete', $key, $value, $_REQUEST );
266
  break;
267
  case 'hidden':
268
  break;
295
  'help' => $value['help']
296
  );
297
 
298
+ if ( 'checked' == MLAOptions::mla_get_option( $key ) )
299
  $option_values['checked'] = 'checked="checked"';
300
 
301
  return MLAData::mla_parse_template( self::$page_template_array['checkbox'], $option_values );
302
  case 'header':
303
+ case 'subheader':
304
  $option_values = array(
305
  'key' => MLA_OPTION_PREFIX . $key,
306
  'value' => $value['name']
307
  );
308
 
309
+ return MLAData::mla_parse_template( self::$page_template_array[ $value['type'] ], $option_values );
310
  case 'radio':
311
  $radio_options = '';
312
  foreach ( $value['options'] as $optid => $option ) {
317
  'value' => $value['texts'][$optid]
318
  );
319
 
320
+ if ( $option == MLAOptions::mla_get_option( $key ) )
321
  $option_values['checked'] = 'checked="checked"';
322
 
323
  $radio_options .= MLAData::mla_parse_template( self::$page_template_array['radio-option'], $option_values );
339
  'text' => $value['texts'][$optid]
340
  );
341
 
342
+ if ( $option == MLAOptions::mla_get_option( $key ) )
343
  $option_values['selected'] = 'selected="selected"';
344
 
345
  $select_options .= MLAData::mla_parse_template( self::$page_template_array['select-option'], $option_values );
366
  if ( !empty( $value['size'] ) )
367
  $option_values['size'] = $value['size'];
368
 
369
+ $option_values['text'] = MLAOptions::mla_get_option( $key );
370
 
371
  return MLAData::mla_parse_template( self::$page_template_array['text'], $option_values );
372
  case 'textarea':
386
  if ( !empty( $value['rows'] ) )
387
  $option_values['rows'] = $value['rows'];
388
 
389
+ $option_values['text'] = stripslashes( MLAOptions::mla_get_option( $key ) );
390
 
391
  return MLAData::mla_parse_template( self::$page_template_array['textarea'], $option_values );
392
  case 'custom':
393
  if ( isset( $value['render'] ) )
394
+ return MLAOptions::$value['render']( 'render', $key, $value );
395
 
396
  break;
397
  case 'hidden':
432
  private static $mla_tablist = array(
433
  'general' => array( 'title' => 'General', 'render' => '_compose_general_tab' ),
434
  'mla-gallery' => array( 'title' => 'MLA Gallery', 'render' => '_compose_mla_gallery_tab' ),
435
+ 'iptc-exif' => array( 'title' => 'IPTC/EXIF', 'render' => '_compose_iptc_exif_tab' ),
436
  'documentation' => array( 'title' => 'Documentation', 'render' => '_compose_documentation_tab' )
437
  );
438
 
533
  */
534
  $default_orderby = MLA_List_Table::mla_get_sortable_columns( );
535
  foreach ($default_orderby as $key => $value ) {
536
+ MLAOptions::$mla_option_definitions['default_orderby']['options'][] = $value[0];
537
+ MLAOptions::$mla_option_definitions['default_orderby']['texts'][] = $value[1];
538
  }
539
 
540
  $options_list = '';
541
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
542
  if ( 'general' == $value['tab'] )
543
  $options_list .= self::_compose_option_row( $key, $value );
544
  }
583
  '_wp_http_referer' => wp_referer_field( false )
584
  );
585
 
586
+ /*
587
+ * Build default template selection lists
588
+ */
589
+ $templates = MLAOptions::mla_get_style_templates();
590
+ ksort($templates);
591
+ foreach ($templates as $key => $value ) {
592
+ MLAOptions::$mla_option_definitions['default_style']['options'][] = $key;
593
+ MLAOptions::$mla_option_definitions['default_style']['texts'][] = $key;
594
+ }
595
+
596
+ $templates = MLAOptions::mla_get_markup_templates();
597
+ ksort($templates);
598
+ foreach ($templates as $key => $value ) {
599
+ MLAOptions::$mla_option_definitions['default_markup']['options'][] = $key;
600
+ MLAOptions::$mla_option_definitions['default_markup']['texts'][] = $key;
601
+ }
602
+
603
  /*
604
  * Start with any page-level options
605
  */
606
  $options_list = '';
607
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
608
  if ( 'mla-gallery' == $value['tab'] )
609
  $options_list .= self::_compose_option_row( $key, $value );
610
  }
615
  * Add style templates; default goes first
616
  */
617
  $style_options_list = '';
618
+ $templates = MLAOptions::mla_get_style_templates();
619
 
620
  $name = 'default';
621
  $value =$templates['default'];
699
  * Add markup templates; default goes first
700
  */
701
  $markup_options_list = '';
702
+ $templates = MLAOptions::mla_get_markup_templates();
703
 
704
  $name = 'default';
705
  $value =$templates['default'];
847
  return $page_content;
848
  }
849
 
850
+ /**
851
+ * Compose the IPTC/EXIF tab content for the Settings subpage
852
+ *
853
+ * @since 1.00
854
+ * @uses $page_template_array contains tab content template(s)
855
+ *
856
+ * @return array 'message' => status/error messages, 'body' => tab content
857
+ */
858
+ private static function _compose_iptc_exif_tab( ) {
859
+ // error_log( '_compose_iptc_exif_tab $_REQUEST = ' . var_export( $_REQUEST, true ), 0 );
860
+ /*
861
+ * Check for submit buttons to change or reset settings.
862
+ * Initialize page messages and content.
863
+ */
864
+ if ( !empty( $_REQUEST['iptc-exif-options-save'] ) ) {
865
+ check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
866
+ $page_content = self::_save_iptc_exif_settings( );
867
+ }
868
+ elseif ( !empty( $_REQUEST['iptc-exif-options-process-standard'] ) ) {
869
+ check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
870
+ $page_content = self::_process_iptc_exif_standard( );
871
+ }
872
+ elseif ( !empty( $_REQUEST['iptc-exif-options-process-taxonomy'] ) ) {
873
+ check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
874
+ $page_content = self::_process_iptc_exif_taxonomy( );
875
+ }
876
+ elseif ( !empty( $_REQUEST['iptc-exif-options-process-custom'] ) ) {
877
+ check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
878
+ $page_content = self::_process_iptc_exif_custom( );
879
+ } else {
880
+ $page_content = array(
881
+ 'message' => '',
882
+ 'body' => ''
883
+ );
884
+ }
885
+
886
+ if ( !empty( $page_content['body'] ) ) {
887
+ return $page_content;
888
+ }
889
+
890
+ $page_values = array(
891
+ 'options_list' => '',
892
+ 'standard_options_list' => '',
893
+ 'taxonomy_options_list' => '',
894
+ 'custom_options_list' => '',
895
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
896
+ '_wp_http_referer' => wp_referer_field( false )
897
+ );
898
+
899
+ /*
900
+ * Start with any page-level options
901
+ */
902
+ $options_list = '';
903
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
904
+ if ( 'iptc-exif' == $value['tab'] )
905
+ $options_list .= self::_compose_option_row( $key, $value );
906
+ }
907
+
908
+ $page_values['options_list'] = $options_list;
909
+
910
+ /*
911
+ * Add mapping options
912
+ */
913
+ $page_values['standard_options_list'] = MLAOptions::mla_iptc_exif_option_handler( 'render', 'iptc_exif_standard_mapping', MLAOptions::$mla_option_definitions['iptc_exif_standard_mapping'] );
914
+
915
+ $page_values['taxonomy_options_list'] = MLAOptions::mla_iptc_exif_option_handler( 'render', 'iptc_exif_taxonomy_mapping', MLAOptions::$mla_option_definitions['iptc_exif_taxonomy_mapping'] );
916
+
917
+ $page_values['custom_options_list'] = MLAOptions::mla_iptc_exif_option_handler( 'render', 'iptc_exif_custom_mapping', MLAOptions::$mla_option_definitions['iptc_exif_custom_mapping'] );
918
+
919
+ $page_content['body'] = MLAData::mla_parse_template( self::$page_template_array['iptc-exif-tab'], $page_values );
920
+ return $page_content;
921
+ }
922
+
923
  /**
924
  * Compose the Documentation tab content for the Settings subpage
925
  *
929
  * @return array 'message' => status/error messages, 'body' => tab content
930
  */
931
  private static function _compose_documentation_tab( ) {
932
+ $page_template = MLAData::mla_load_template( MLA_PLUGIN_PATH . 'tpls/documentation-settings-tab.tpl' );
933
  $page_values = array(
934
  'phpDocs_url' => MLA_PLUGIN_URL . 'phpDocs/index.html'
935
  );
936
 
937
  return array(
938
  'message' => '',
939
+ 'body' => MLAData::mla_parse_template( $page_template['documentation-tab'], $page_values )
940
  );
941
  }
942
 
988
  echo MLAData::mla_parse_template( self::$page_template_array['page'], $page_values );
989
  } // mla_render_settings_page
990
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991
  /**
992
  * Save MLA Gallery settings to the options table
993
  *
1005
  /*
1006
  * Start with any page-level options
1007
  */
1008
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
1009
+ if ( 'mla-gallery' == $value['tab'] && ( 'select' == $value['type'] ) ) {
1010
+ $old_value = MLAOptions::mla_get_option( $key );
1011
+ if ( $old_value != $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) {
1012
+ $settings_changed = true;
1013
+ $message_list .= self::_update_option_row( $key, $value );
1014
+ }
1015
+ }
1016
  } // foreach mla_options
1017
 
1018
  /*
1019
  * Get the current style contents for comparison
1020
  */
1021
+ $old_templates = MLAOptions::mla_get_style_templates();
1022
  $new_templates = array( );
1023
  $new_names = $_REQUEST['mla_style_templates_name'];
1024
  $new_values = stripslashes_deep( $_REQUEST['mla_style_templates_value'] );
1086
 
1087
  if ( $templates_changed ) {
1088
  $settings_changed = true;
1089
+ if ( false == MLAOptions::mla_put_style_templates( $new_templates ) )
1090
  $error_list .= "<br>Error: update of style templates failed.";
1091
  }
1092
 
1093
  /*
1094
  * Get the current markup contents for comparison
1095
  */
1096
+ $old_templates = MLAOptions::mla_get_markup_templates();
1097
  $new_templates = array( );
1098
  $new_names = $_REQUEST['mla_markup_templates_name'];
1099
  $new_values['open'] = stripslashes_deep( $_REQUEST['mla_markup_templates_open'] );
1197
 
1198
  if ( $templates_changed ) {
1199
  $settings_changed = true;
1200
+ if ( false == MLAOptions::mla_put_markup_templates( $new_templates ) )
1201
  $error_list .= "<br>Error: update of markup templates failed.";
1202
  }
1203
 
1219
  return $page_content;
1220
  } // _save_gallery_settings
1221
 
1222
+ /**
1223
+ * Process IPTC/EXIF standard field settings against all image attachments
1224
+ * without saving the settings to the mla_option
1225
+ *
1226
+ * @since 1.00
1227
+ *
1228
+ * @uses $_REQUEST
1229
+ *
1230
+ * @return array Message(s) reflecting the results of the operation
1231
+ */
1232
+ private static function _process_iptc_exif_standard( ) {
1233
+ if ( ! isset( $_REQUEST['iptc_exif_mapping']['standard'] ) )
1234
+ return array(
1235
+ 'message' => 'ERROR: No standard field settings to process.',
1236
+ 'body' => ''
1237
+ );
1238
+
1239
+ $examine_count = 0;
1240
+ $update_count = 0;
1241
+
1242
+ $query = array( 'orderby' => 'none', 'post_parent' => 'all' );
1243
+ $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
1244
+
1245
+ foreach( $posts as $key => $post ) {
1246
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $post, 'iptc_exif_standard_mapping', $_REQUEST['iptc_exif_mapping'] );
1247
+
1248
+ $examine_count += 1;
1249
+ if ( ! empty( $updates ) ) {
1250
+ MLAData::mla_update_single_item( $post->ID, $updates );
1251
+ $update_count += 1;
1252
+ }
1253
+ } // foreach post
1254
+
1255
+ if ( $update_count )
1256
+ $message = "IPTC/EXIF Standard field mapping completed; {$examine_count} attachment(s) examined, {$update_count} updated.\r\n";
1257
+ else
1258
+ $message = "IPTC/EXIF Standard field mapping completed; {$examine_count} attachment(s) examined, no changes detected.\r\n";
1259
+
1260
+ return array(
1261
+ 'message' => $message,
1262
+ 'body' => ''
1263
+ );
1264
+ } // _process_iptc_exif_standard
1265
+
1266
+ /**
1267
+ * Process IPTC/EXIF taxonomy term settings against all image attachments
1268
+ * without saving the settings to the mla_option
1269
+ *
1270
+ * @since 1.00
1271
+ *
1272
+ * @uses $_REQUEST
1273
+ *
1274
+ * @return array Message(s) reflecting the results of the operation
1275
+ */
1276
+ private static function _process_iptc_exif_taxonomy( ) {
1277
+ if ( ! isset( $_REQUEST['iptc_exif_mapping']['taxonomy'] ) )
1278
+ return array(
1279
+ 'message' => 'ERROR: No taxonomy term settings to process.',
1280
+ 'body' => ''
1281
+ );
1282
+
1283
+ $examine_count = 0;
1284
+ $update_count = 0;
1285
+
1286
+ $query = array( 'orderby' => 'none', 'post_parent' => 'all' );
1287
+ $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
1288
+
1289
+ foreach( $posts as $key => $post ) {
1290
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $post, 'iptc_exif_taxonomy_mapping', $_REQUEST['iptc_exif_mapping'] );
1291
+
1292
+ $examine_count += 1;
1293
+ if ( ! empty( $updates ) ) {
1294
+ $results = MLAData::mla_update_single_item( $post->ID, array( ), $updates['taxonomy_updates']['inputs'], $updates['taxonomy_updates']['actions'] );
1295
+ if ( stripos( $results['message'], 'updated.' ) )
1296
+ $update_count += 1;
1297
+ }
1298
+ } // foreach post
1299
+
1300
+ if ( $update_count )
1301
+ $message = "IPTC/EXIF Taxonomy term mapping completed; {$examine_count} attachment(s) examined, {$update_count} updated.\r\n";
1302
+ else
1303
+ $message = "IPTC/EXIF Taxonomy term mapping completed; {$examine_count} attachment(s) examined, no changes detected.\r\n";
1304
+
1305
+ return array(
1306
+ 'message' => $message,
1307
+ 'body' => ''
1308
+ );
1309
+ } // _process_iptc_exif_taxonomy
1310
+
1311
+ /**
1312
+ * Process IPTC/EXIF custom field settings against all image attachments
1313
+ * without saving the settings to the mla_option
1314
+ *
1315
+ * @since 1.00
1316
+ *
1317
+ * @uses $_REQUEST
1318
+ *
1319
+ * @return array Message(s) reflecting the results of the operation
1320
+ */
1321
+ private static function _process_iptc_exif_custom( ) {
1322
+ if ( ! isset( $_REQUEST['iptc_exif_mapping']['custom'] ) )
1323
+ return array(
1324
+ 'message' => 'ERROR: No custom field settings to process.',
1325
+ 'body' => ''
1326
+ );
1327
+
1328
+ $examine_count = 0;
1329
+ $update_count = 0;
1330
+
1331
+ $query = array( 'orderby' => 'none', 'post_parent' => 'all' );
1332
+ $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
1333
+
1334
+ foreach( $posts as $key => $post ) {
1335
+ $updates = MLAOptions::mla_evaluate_iptc_exif_mapping( $post, 'iptc_exif_custom_mapping', $_REQUEST['iptc_exif_mapping'] );
1336
+
1337
+ $examine_count += 1;
1338
+ if ( ! empty( $updates ) ) {
1339
+ $results = MLAData::mla_update_single_item( $post->ID, $updates );
1340
+ if ( stripos( $results['message'], 'updated.' ) )
1341
+ $update_count += 1;
1342
+ }
1343
+ } // foreach post
1344
+
1345
+ if ( $update_count )
1346
+ $message = "IPTC/EXIF custom field mapping completed; {$examine_count} attachment(s) examined, {$update_count} updated.\r\n";
1347
+ else
1348
+ $message = "IPTC/EXIF custom field mapping completed; {$examine_count} attachment(s) examined, no changes detected.\r\n";
1349
+
1350
+ return array(
1351
+ 'message' => $message,
1352
+ 'body' => ''
1353
+ );
1354
+ } // _process_iptc_exif_custom
1355
+
1356
+ /**
1357
+ * Save IPTC/EXIF settings to the options table
1358
+ *
1359
+ * @since 1.00
1360
+ *
1361
+ * @uses $_REQUEST
1362
+ *
1363
+ * @return array Message(s) reflecting the results of the operation
1364
+ */
1365
+ private static function _save_iptc_exif_settings( ) {
1366
+ $message_list = '';
1367
+ $option_messages = '';
1368
+
1369
+ /*
1370
+ * Start with any page-level options
1371
+ */
1372
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
1373
+ if ( 'iptc-exif' == $value['tab'] )
1374
+ $option_messages .= self::_update_option_row( $key, $value );
1375
+ }
1376
+
1377
+ /*
1378
+ * Uncomment this for debugging.
1379
+ */
1380
+ // $message_list = $option_messages . '<br>';
1381
+
1382
+ /*
1383
+ * Add mapping options
1384
+ */
1385
+ $new_values = ( isset( $_REQUEST['iptc_exif_mapping'] ) ) ? $_REQUEST['iptc_exif_mapping'] : array( 'standard' => array(), 'taxonomy' => array(), 'custom' => array() );
1386
+
1387
+ return array(
1388
+ 'message' => $message_list . MLAOptions::mla_iptc_exif_option_handler( 'update', 'iptc_exif_mapping', MLAOptions::$mla_option_definitions['iptc_exif_mapping'], $new_values ),
1389
+ 'body' => ''
1390
+ );
1391
+ } // _save_iptc_exif_settings
1392
+
1393
  /**
1394
  * Save General settings to the options table
1395
  *
1402
  private static function _save_general_settings( ) {
1403
  $message_list = '';
1404
 
1405
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
1406
+ if ( 'general' == $value['tab'] ) {
1407
+ switch ( $key ) {
1408
+ case MLAOptions::MLA_FEATURED_IN_TUNING:
1409
+ MLAOptions::$process_featured_in = ( 'disabled' != $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
1410
+ break;
1411
+ case MLAOptions::MLA_INSERTED_IN_TUNING:
1412
+ MLAOptions::$process_inserted_in = ( 'disabled' != $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
1413
+ break;
1414
+ case MLAOptions::MLA_GALLERY_IN_TUNING:
1415
+ MLAOptions::$process_gallery_in = ( 'disabled' != $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
1416
+
1417
+ if ( 'refresh' == $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) {
1418
+ MLAData::mla_flush_mla_galleries( MLAOptions::MLA_GALLERY_IN_TUNING );
1419
+ $message_list .= "<br>Gallery in - references updated.\r\n";
1420
+ $_REQUEST[ MLA_OPTION_PREFIX . $key ] = 'cached';
1421
+ }
1422
+ break;
1423
+ case MLAOptions::MLA_MLA_GALLERY_IN_TUNING:
1424
+ MLAOptions::$process_mla_gallery_in = ( 'disabled' != $_REQUEST[ MLA_OPTION_PREFIX . $key ] );
1425
+
1426
+ if ( 'refresh' == $_REQUEST[ MLA_OPTION_PREFIX . $key ] ) {
1427
+ MLAData::mla_flush_mla_galleries( MLAOptions::MLA_MLA_GALLERY_IN_TUNING );
1428
+ $message_list .= "<br>MLA Gallery in - references updated.\r\n";
1429
+ $_REQUEST[ MLA_OPTION_PREFIX . $key ] = 'cached';
1430
+ }
1431
+ break;
1432
+ default:
1433
+ // ignore everything else
1434
+ } // switch
1435
+
1436
  $message_list .= self::_update_option_row( $key, $value );
1437
+ } // general option
1438
  } // foreach mla_options
1439
 
1440
  $page_content = array(
1460
  private static function _reset_general_settings( ) {
1461
  $message_list = '';
1462
 
1463
+ foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
1464
  if ( 'custom' == $value['type'] ) {
1465
+ $message = MLAOptions::$value['reset']( 'reset', $key, $value, $_REQUEST );
1466
  }
1467
  elseif ( ('header' == $value['type']) || ('hidden' == $value['type']) ) {
1468
  $message = '';
1469
  }
1470
  else {
1471
+ MLAOptions::mla_delete_option( $key );
1472
  $message = '<br>delete_option(' . $key . ')';
1473
  }
1474
 
1487
 
1488
  return $page_content;
1489
  } // _reset_general_settings
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1490
  } // class MLASettings
1491
  ?>
includes/class-mla-shortcodes.php CHANGED
@@ -43,7 +43,7 @@ class MLAShortcodes {
43
  /*
44
  * Process the where-used settings option
45
  */
46
- if ('checked' == MLASettings::mla_get_option( 'exclude_revisions' ) )
47
  $exclude_revisions = "(post_type <> 'revision') AND ";
48
  else
49
  $exclude_revisions = '';
@@ -131,7 +131,7 @@ class MLAShortcodes {
131
  *
132
  * @var string
133
  */
134
- private static $mla_debug_messages = '';
135
 
136
  /**
137
  * Turn debug collection and display on or off
@@ -169,13 +169,14 @@ class MLAShortcodes {
169
  'columns' => 3,
170
  'link' => 'permalink', // or 'file' or a registered size
171
  // MLA-specific
172
- 'mla_style' => 'default',
173
- 'mla_markup' => 'default',
 
174
  'mla_itemwidth' => NULL,
175
  'mla_margin' => '1.5',
176
- 'mla_link_text' => NULL,
177
- 'mla_rollover_text' => NULL,
178
- 'mla_caption' => NULL,
179
  'mla_debug' => false
180
  );
181
 
@@ -233,6 +234,10 @@ class MLAShortcodes {
233
  $itemwidth = $arguments['columns'] > 0 ? (floor(100/$arguments['columns']) - $margin) : 100 - $margin;
234
  }
235
 
 
 
 
 
236
  $style_values = array(
237
  'mla_style' => $arguments['mla_style'],
238
  'mla_markup' => $arguments['mla_markup'],
@@ -244,17 +249,17 @@ class MLAShortcodes {
244
  'columns' => intval( $arguments['columns']),
245
  'itemwidth' => intval( $itemwidth ),
246
  'margin' => $arguments['mla_margin'],
247
- 'float' => is_rtl() ? 'right' : 'left',
248
  'selector' => "mla_gallery-{$instance}",
249
  'size_class' => sanitize_html_class( $size_class )
250
  );
251
 
252
  $style_template = $gallery_style = '';
253
  if ( apply_filters( 'use_mla_gallery_style', true ) ) {
254
- $style_template = MLASettings::mla_fetch_gallery_template( $style_values['mla_style'], 'style' );
255
  if ( empty( $style_template ) ) {
256
  $style_values['mla_style'] = 'default';
257
- $style_template = MLASettings::mla_fetch_gallery_template( 'default', 'style' );
258
  }
259
 
260
  if ( ! empty ( $style_template ) ) {
@@ -275,28 +280,29 @@ class MLAShortcodes {
275
  $iptc_placeholders = array();
276
  $exif_placeholders = array();
277
 
278
- $markup_template = MLASettings::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-open', 'markup' );
279
  if ( empty( $markup_template ) ) {
280
  $markup_values['mla_markup'] = 'default';
281
- $markup_template = MLASettings::mla_fetch_gallery_template( 'default-open', 'markup' );
282
  }
283
 
284
  if ( ! empty( $markup_template ) ) {
285
  $gallery_div = MLAData::mla_parse_template( $markup_template, $markup_values );
286
 
287
- $row_open_template = MLASettings::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-open', 'markup' );
288
  if ( empty( $row_open_template ) )
289
  $row_open_template = '';
290
 
291
- $item_template = MLASettings::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-item', 'markup' );
292
  if ( empty( $item_template ) )
293
  $item_template = '';
294
  else {
295
  /*
296
  * Look for variable item-level placeholders
297
  */
298
- $placeholders = MLAData::mla_get_template_placeholders( $item_template );
299
-
 
300
  foreach ($placeholders as $key => $value ) {
301
  switch ( $value['prefix'] ) {
302
  case 'terms':
@@ -317,11 +323,11 @@ class MLAShortcodes {
317
  } // $placeholders
318
  } // $item_template
319
 
320
- $row_close_template = MLASettings::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-close', 'markup' );
321
  if ( empty( $row_close_template ) )
322
  $row_close_template = '';
323
 
324
- $close_template = MLASettings::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-close', 'markup' );
325
  if ( empty( $close_template ) )
326
  $close_template = '';
327
  }
@@ -414,6 +420,91 @@ class MLAShortcodes {
414
  if ( isset( $parent_info['parent_type'] ) )
415
  $markup_values['parent_type'] = wptexturize( $parent_info['parent_type'] );
416
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
  unset(
418
  $markup_values['caption'],
419
  $markup_values['pagelink'],
@@ -525,91 +616,6 @@ class MLAShortcodes {
525
  $markup_values['thumbnail_url'] = '';
526
  }
527
 
528
- /*
529
- * Add variable placeholders
530
- */
531
- foreach ( $terms_placeholders as $key => $value ) {
532
- $text = '';
533
- $terms = wp_get_object_terms( $attachment->ID, $value['value'] );
534
-
535
- if ( is_wp_error( $terms ) || empty( $terms ) )
536
- $text = '';
537
- else {
538
- if ( $value['single'] )
539
- $text = sanitize_term_field( 'name', $terms[0]->name, $terms[0]->term_id, $value, 'display' );
540
- else
541
- foreach ( $terms as $term ) {
542
- $term_name = sanitize_term_field( 'name', $term->name, $term->term_id, $value, 'display' );
543
- $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
544
- }
545
- }
546
-
547
- $markup_values[ $key ] = $text;
548
- } // $terms_placeholders
549
-
550
- foreach ( $custom_placeholders as $key => $value ) {
551
- $record = get_metadata( 'post', $attachment->ID, $value['value'], $value['single'] );
552
-
553
- if ( is_wp_error( $record ) || empty( $record ) )
554
- $text = '';
555
- elseif ( is_scalar( $record ) )
556
- $text = (string) $record;
557
- elseif ( is_array( $record ) ) {
558
- $text = '';
559
- foreach ( $record as $term ) {
560
- $term_name = sanitize_text_field( $term );
561
- $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
562
- }
563
- } // is_array
564
- else
565
- $text = '';
566
-
567
- $markup_values[ $key ] = $text;
568
- } // $custom_placeholders
569
-
570
- if ( !empty( $iptc_placeholders ) || !empty( $iptc_placeholders ) ) {
571
- $image_metadata = MLAData::mla_fetch_attachment_image_metadata( $attachment->ID );
572
- }
573
-
574
- foreach ( $iptc_placeholders as $key => $value ) {
575
- // convert friendly name/slug to identifier
576
- if ( array_key_exists( $value['value'], self::$mla_iptc_keys ) ) {
577
- $value['value'] = self::$mla_iptc_keys[ $value['value'] ];
578
- }
579
-
580
- $text = '';
581
- if ( array_key_exists( $value['value'], $image_metadata['mla_iptc_metadata'] ) ) {
582
- $record = $image_metadata['mla_iptc_metadata'][ $value['value'] ];
583
- if ( is_array( $record ) ) {
584
- if ( $value['single'] )
585
- $text = $record[0];
586
- else
587
- foreach ( $record as $term ) {
588
- $term_name = sanitize_text_field( $term );
589
- $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
590
- }
591
- } // is_array
592
- else
593
- $text = $record;
594
- }
595
-
596
- $markup_values[ $key ] = $text;
597
- } // $iptc_placeholders
598
-
599
- foreach ( $exif_placeholders as $key => $value ) {
600
- $text = '';
601
- if ( array_key_exists( $value['value'], $image_metadata['mla_exif_metadata'] ) ) {
602
- $record = $image_metadata['mla_exif_metadata'][ $value['value'] ];
603
- if ( is_array( $record ) ) {
604
- $text = var_export( $record, true);
605
- } // is_array
606
- else
607
- $text = $record;
608
- }
609
-
610
- $markup_values[ $key ] = $text;
611
- } // $exif_placeholders
612
-
613
  /*
614
  * Start of row markup
615
  */
@@ -1096,7 +1102,7 @@ class MLAShortcodes {
1096
  *
1097
  * @var array
1098
  */
1099
- private static $mla_iptc_keys = array(
1100
  // Envelope Record
1101
  'model-version' => '1#000',
1102
  'destination' => '1#005',
43
  /*
44
  * Process the where-used settings option
45
  */
46
+ if ('checked' == MLAOptions::mla_get_option( 'exclude_revisions' ) )
47
  $exclude_revisions = "(post_type <> 'revision') AND ";
48
  else
49
  $exclude_revisions = '';
131
  *
132
  * @var string
133
  */
134
+ public static $mla_debug_messages = '';
135
 
136
  /**
137
  * Turn debug collection and display on or off
169
  'columns' => 3,
170
  'link' => 'permalink', // or 'file' or a registered size
171
  // MLA-specific
172
+ 'mla_style' => MLAOptions::mla_get_option('default_style'),
173
+ 'mla_markup' => MLAOptions::mla_get_option('default_markup'),
174
+ 'mla_float' => is_rtl() ? 'right' : 'left',
175
  'mla_itemwidth' => NULL,
176
  'mla_margin' => '1.5',
177
+ 'mla_link_text' => '',
178
+ 'mla_rollover_text' => '',
179
+ 'mla_caption' => '',
180
  'mla_debug' => false
181
  );
182
 
234
  $itemwidth = $arguments['columns'] > 0 ? (floor(100/$arguments['columns']) - $margin) : 100 - $margin;
235
  }
236
 
237
+ $float = strtolower( $arguments['mla_float'] );
238
+ if ( ! in_array( $float, array( 'left', 'none', 'right' ) ) )
239
+ $float = is_rtl() ? 'right' : 'left';
240
+
241
  $style_values = array(
242
  'mla_style' => $arguments['mla_style'],
243
  'mla_markup' => $arguments['mla_markup'],
249
  'columns' => intval( $arguments['columns']),
250
  'itemwidth' => intval( $itemwidth ),
251
  'margin' => $arguments['mla_margin'],
252
+ 'float' => $float,
253
  'selector' => "mla_gallery-{$instance}",
254
  'size_class' => sanitize_html_class( $size_class )
255
  );
256
 
257
  $style_template = $gallery_style = '';
258
  if ( apply_filters( 'use_mla_gallery_style', true ) ) {
259
+ $style_template = MLAOptions::mla_fetch_gallery_template( $style_values['mla_style'], 'style' );
260
  if ( empty( $style_template ) ) {
261
  $style_values['mla_style'] = 'default';
262
+ $style_template = MLAOptions::mla_fetch_gallery_template( 'default', 'style' );
263
  }
264
 
265
  if ( ! empty ( $style_template ) ) {
280
  $iptc_placeholders = array();
281
  $exif_placeholders = array();
282
 
283
+ $markup_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-open', 'markup' );
284
  if ( empty( $markup_template ) ) {
285
  $markup_values['mla_markup'] = 'default';
286
+ $markup_template = MLAOptions::mla_fetch_gallery_template( 'default-open', 'markup' );
287
  }
288
 
289
  if ( ! empty( $markup_template ) ) {
290
  $gallery_div = MLAData::mla_parse_template( $markup_template, $markup_values );
291
 
292
+ $row_open_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-open', 'markup' );
293
  if ( empty( $row_open_template ) )
294
  $row_open_template = '';
295
 
296
+ $item_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-item', 'markup' );
297
  if ( empty( $item_template ) )
298
  $item_template = '';
299
  else {
300
  /*
301
  * Look for variable item-level placeholders
302
  */
303
+ $new_text = str_replace( '{+', '[+', str_replace( '+}', '+]', $arguments['mla_link_text'] . $arguments['mla_rollover_text'] . $arguments['mla_caption'] ) );
304
+ $placeholders = MLAData::mla_get_template_placeholders( $item_template . $new_text );
305
+ // error_log( '$placeholders = ' . var_export( $placeholders, true ), 0);
306
  foreach ($placeholders as $key => $value ) {
307
  switch ( $value['prefix'] ) {
308
  case 'terms':
323
  } // $placeholders
324
  } // $item_template
325
 
326
+ $row_close_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-close', 'markup' );
327
  if ( empty( $row_close_template ) )
328
  $row_close_template = '';
329
 
330
+ $close_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-close', 'markup' );
331
  if ( empty( $close_template ) )
332
  $close_template = '';
333
  }
420
  if ( isset( $parent_info['parent_type'] ) )
421
  $markup_values['parent_type'] = wptexturize( $parent_info['parent_type'] );
422
 
423
+ /*
424
+ * Add variable placeholders
425
+ */
426
+ foreach ( $terms_placeholders as $key => $value ) {
427
+ $text = '';
428
+ $terms = wp_get_object_terms( $attachment->ID, $value['value'] );
429
+
430
+ if ( is_wp_error( $terms ) || empty( $terms ) )
431
+ $text = '';
432
+ else {
433
+ if ( $value['single'] )
434
+ $text = sanitize_term_field( 'name', $terms[0]->name, $terms[0]->term_id, $value, 'display' );
435
+ else
436
+ foreach ( $terms as $term ) {
437
+ $term_name = sanitize_term_field( 'name', $term->name, $term->term_id, $value, 'display' );
438
+ $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
439
+ }
440
+ }
441
+
442
+ $markup_values[ $key ] = $text;
443
+ } // $terms_placeholders
444
+
445
+ foreach ( $custom_placeholders as $key => $value ) {
446
+ $record = get_metadata( 'post', $attachment->ID, $value['value'], $value['single'] );
447
+
448
+ if ( is_wp_error( $record ) || empty( $record ) )
449
+ $text = '';
450
+ elseif ( is_scalar( $record ) )
451
+ $text = (string) $record;
452
+ elseif ( is_array( $record ) ) {
453
+ $text = '';
454
+ foreach ( $record as $term ) {
455
+ $term_name = sanitize_text_field( $term );
456
+ $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
457
+ }
458
+ } // is_array
459
+ else
460
+ $text = '';
461
+
462
+ $markup_values[ $key ] = $text;
463
+ } // $custom_placeholders
464
+
465
+ if ( !empty( $iptc_placeholders ) || !empty( $iptc_placeholders ) ) {
466
+ $image_metadata = MLAData::mla_fetch_attachment_image_metadata( $attachment->ID );
467
+ }
468
+
469
+ foreach ( $iptc_placeholders as $key => $value ) {
470
+ // convert friendly name/slug to identifier
471
+ if ( array_key_exists( $value['value'], self::$mla_iptc_keys ) ) {
472
+ $value['value'] = self::$mla_iptc_keys[ $value['value'] ];
473
+ }
474
+
475
+ $text = '';
476
+ if ( array_key_exists( $value['value'], $image_metadata['mla_iptc_metadata'] ) ) {
477
+ $record = $image_metadata['mla_iptc_metadata'][ $value['value'] ];
478
+ if ( is_array( $record ) ) {
479
+ if ( $value['single'] )
480
+ $text = $record[0];
481
+ else
482
+ foreach ( $record as $term ) {
483
+ $term_name = sanitize_text_field( $term );
484
+ $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
485
+ }
486
+ } // is_array
487
+ else
488
+ $text = $record;
489
+ }
490
+
491
+ $markup_values[ $key ] = $text;
492
+ } // $iptc_placeholders
493
+
494
+ foreach ( $exif_placeholders as $key => $value ) {
495
+ $text = '';
496
+ if ( array_key_exists( $value['value'], $image_metadata['mla_exif_metadata'] ) ) {
497
+ $record = $image_metadata['mla_exif_metadata'][ $value['value'] ];
498
+ if ( is_array( $record ) ) {
499
+ $text = var_export( $record, true);
500
+ } // is_array
501
+ else
502
+ $text = $record;
503
+ }
504
+
505
+ $markup_values[ $key ] = $text;
506
+ } // $exif_placeholders
507
+
508
  unset(
509
  $markup_values['caption'],
510
  $markup_values['pagelink'],
616
  $markup_values['thumbnail_url'] = '';
617
  }
618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
619
  /*
620
  * Start of row markup
621
  */
1102
  *
1103
  * @var array
1104
  */
1105
+ public static $mla_iptc_keys = array(
1106
  // Envelope Record
1107
  'model-version' => '1#000',
1108
  'destination' => '1#005',
includes/mla-plugin-loader.php CHANGED
@@ -53,7 +53,14 @@ if ( version_compare( get_bloginfo( 'version' ), '3.5', '>=' ) ) {
53
  }
54
 
55
  /*
56
- * Plugin settings and management page
 
 
 
 
 
 
 
57
  */
58
  require_once( MLA_PLUGIN_PATH . 'includes/class-mla-settings.php' );
59
 
53
  }
54
 
55
  /*
56
+ * Plugin settings management
57
+ */
58
+ require_once( MLA_PLUGIN_PATH . 'includes/class-mla-options.php' );
59
+
60
+ add_action( 'init', 'MLAOptions::initialize' );
61
+
62
+ /*
63
+ * Plugin settings management page
64
  */
65
  require_once( MLA_PLUGIN_PATH . 'includes/class-mla-settings.php' );
66
 
index.php CHANGED
@@ -6,7 +6,7 @@
6
  * will the rest of the plugin be loaded and run.
7
  *
8
  * @package Media Library Assistant
9
- * @version 0.90
10
  */
11
 
12
  /*
@@ -14,7 +14,7 @@ Plugin Name: Media Library Assistant
14
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
15
  Description: Provides several enhancements to the handling of images and files held in the WordPress Media Library.
16
  Author: David Lingren
17
- Version: 0.90
18
  Author URI: http://fairtradejudaica.org/our-story/staff/
19
  */
20
 
6
  * will the rest of the plugin be loaded and run.
7
  *
8
  * @package Media Library Assistant
9
+ * @version 1.00
10
  */
11
 
12
  /*
14
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
15
  Description: Provides several enhancements to the handling of images and files held in the WordPress Media Library.
16
  Author: David Lingren
17
+ Version: 1.00
18
  Author URI: http://fairtradejudaica.org/our-story/staff/
19
  */
20
 
phpDocs/classes.svg CHANGED
@@ -4,83 +4,90 @@
4
  <!-- Generated by graphviz version 2.28.0 (20110507.0327)
5
  -->
6
  <!-- Title: G Pages: 1 -->
7
- <svg width="352pt" height="474pt"
8
- viewBox="0.00 0.00 352.00 474.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
- <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 470)">
10
  <title>G</title>
11
- <polygon fill="white" stroke="white" points="-4,5 -4,-470 349,-470 349,5 -4,5"/>
12
  <g id="graph2" class="cluster"><title>cluster_global</title>
13
  <polyline fill="none" stroke="gray" points="220,-8 324,-8 "/>
14
  <path fill="none" stroke="gray" d="M324,-8C330,-8 336,-14 336,-20"/>
15
- <polyline fill="none" stroke="gray" points="336,-20 336,-446 "/>
16
- <path fill="none" stroke="gray" d="M336,-446C336,-452 330,-458 324,-458"/>
17
- <polyline fill="none" stroke="gray" points="324,-458 220,-458 "/>
18
- <path fill="none" stroke="gray" d="M220,-458C214,-458 208,-452 208,-446"/>
19
- <polyline fill="none" stroke="gray" points="208,-446 208,-20 "/>
20
  <path fill="none" stroke="gray" d="M208,-20C208,-14 214,-8 220,-8"/>
21
- <text text-anchor="middle" x="272" y="-445.2" font-family="Times New Roman,serif" font-size="11.00" fill="gray">global</text>
22
  </g>
23
  <!-- \\MLAData -->
24
  <g id="node2" class="node"><title>\\MLAData</title>
25
  <a xlink:href="includes.class-mla-data.html" xlink:title="MLAData" target="_parent">
26
- <polygon fill="none" stroke="black" points="304,-430 240,-430 240,-394 304,-394 304,-430"/>
27
- <text text-anchor="middle" x="272" y="-409.2" font-family="Courier,monospace" font-size="11.00">MLAData</text>
28
  </a>
29
  </g>
30
  <!-- \\MLAEdit -->
31
  <g id="node3" class="node"><title>\\MLAEdit</title>
32
  <a xlink:href="includes.class-mla-edit-media.html" xlink:title="MLAEdit" target="_parent">
33
- <polygon fill="none" stroke="black" points="304,-376 240,-376 240,-340 304,-340 304,-376"/>
34
- <text text-anchor="middle" x="272" y="-355.2" font-family="Courier,monospace" font-size="11.00">MLAEdit</text>
35
  </a>
36
  </g>
37
  <!-- \\MLA_List_Table -->
38
  <g id="node4" class="node"><title>\\MLA_List_Table</title>
39
  <a xlink:href="includes.class-mla-list-table.html" xlink:title="MLA_List_Table" target="_parent">
40
- <polygon fill="none" stroke="black" points="327.5,-322 216.5,-322 216.5,-286 327.5,-286 327.5,-322"/>
41
- <text text-anchor="middle" x="272" y="-301.2" font-family="Courier,monospace" font-size="11.00">MLA_List_Table</text>
42
  </a>
43
  </g>
44
  <!-- \\WP_List_Table -->
45
- <g id="node11" class="node"><title>\\WP_List_Table</title>
46
- <ellipse fill="none" stroke="black" cx="72" cy="-304" rx="71.4873" ry="18"/>
47
- <text text-anchor="middle" x="72" y="-300.3" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\WP_List_Table</text>
48
  </g>
49
  <!-- \\MLA_List_Table&#45;&gt;\\WP_List_Table -->
50
  <g id="edge3" class="edge"><title>\\MLA_List_Table&#45;&gt;\\WP_List_Table</title>
51
- <path fill="none" stroke="black" d="M216.371,-304C197.091,-304 174.98,-304 153.987,-304"/>
52
- <polygon fill="none" stroke="black" points="153.788,-300.5 143.788,-304 153.788,-307.5 153.788,-300.5"/>
53
  </g>
54
  <!-- \\MLA -->
55
  <g id="node5" class="node"><title>\\MLA</title>
56
  <a xlink:href="includes.class-mla-main.html" xlink:title="MLA" target="_parent">
57
- <polygon fill="none" stroke="black" points="299,-268 245,-268 245,-232 299,-232 299,-268"/>
58
- <text text-anchor="middle" x="272" y="-247.2" font-family="Courier,monospace" font-size="11.00">MLA</text>
59
  </a>
60
  </g>
61
  <!-- \\MLAObjects -->
62
  <g id="node6" class="node"><title>\\MLAObjects</title>
63
  <a xlink:href="includes.class-mla-objects.html" xlink:title="MLAObjects" target="_parent">
 
 
 
 
 
 
 
64
  <polygon fill="none" stroke="black" points="314,-214 230,-214 230,-178 314,-178 314,-214"/>
65
- <text text-anchor="middle" x="272" y="-193.2" font-family="Courier,monospace" font-size="11.00">MLAObjects</text>
66
  </a>
67
  </g>
68
  <!-- \\MLASettings -->
69
- <g id="node7" class="node"><title>\\MLASettings</title>
70
  <a xlink:href="includes.class-mla-settings.html" xlink:title="MLASettings" target="_parent">
71
  <polygon fill="none" stroke="black" points="317.5,-160 226.5,-160 226.5,-124 317.5,-124 317.5,-160"/>
72
  <text text-anchor="middle" x="272" y="-139.2" font-family="Courier,monospace" font-size="11.00">MLASettings</text>
73
  </a>
74
  </g>
75
  <!-- \\MLAShortcodes -->
76
- <g id="node8" class="node"><title>\\MLAShortcodes</title>
77
  <a xlink:href="includes.class-mla-shortcodes.html" xlink:title="MLAShortcodes" target="_parent">
78
  <polygon fill="none" stroke="black" points="324,-106 220,-106 220,-70 324,-70 324,-106"/>
79
  <text text-anchor="middle" x="272" y="-85.2" font-family="Courier,monospace" font-size="11.00">MLAShortcodes</text>
80
  </a>
81
  </g>
82
  <!-- \\MLATest -->
83
- <g id="node9" class="node"><title>\\MLATest</title>
84
  <a xlink:href="tests.class-mla-tests.html" xlink:title="MLATest" target="_parent">
85
  <polygon fill="none" stroke="black" points="304,-52 240,-52 240,-16 304,-16 304,-52"/>
86
  <text text-anchor="middle" x="272" y="-31.2" font-family="Courier,monospace" font-size="11.00">MLATest</text>
4
  <!-- Generated by graphviz version 2.28.0 (20110507.0327)
5
  -->
6
  <!-- Title: G Pages: 1 -->
7
+ <svg width="352pt" height="528pt"
8
+ viewBox="0.00 0.00 352.00 528.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 524)">
10
  <title>G</title>
11
+ <polygon fill="white" stroke="white" points="-4,5 -4,-524 349,-524 349,5 -4,5"/>
12
  <g id="graph2" class="cluster"><title>cluster_global</title>
13
  <polyline fill="none" stroke="gray" points="220,-8 324,-8 "/>
14
  <path fill="none" stroke="gray" d="M324,-8C330,-8 336,-14 336,-20"/>
15
+ <polyline fill="none" stroke="gray" points="336,-20 336,-500 "/>
16
+ <path fill="none" stroke="gray" d="M336,-500C336,-506 330,-512 324,-512"/>
17
+ <polyline fill="none" stroke="gray" points="324,-512 220,-512 "/>
18
+ <path fill="none" stroke="gray" d="M220,-512C214,-512 208,-506 208,-500"/>
19
+ <polyline fill="none" stroke="gray" points="208,-500 208,-20 "/>
20
  <path fill="none" stroke="gray" d="M208,-20C208,-14 214,-8 220,-8"/>
21
+ <text text-anchor="middle" x="272" y="-499.2" font-family="Times New Roman,serif" font-size="11.00" fill="gray">global</text>
22
  </g>
23
  <!-- \\MLAData -->
24
  <g id="node2" class="node"><title>\\MLAData</title>
25
  <a xlink:href="includes.class-mla-data.html" xlink:title="MLAData" target="_parent">
26
+ <polygon fill="none" stroke="black" points="304,-484 240,-484 240,-448 304,-448 304,-484"/>
27
+ <text text-anchor="middle" x="272" y="-463.2" font-family="Courier,monospace" font-size="11.00">MLAData</text>
28
  </a>
29
  </g>
30
  <!-- \\MLAEdit -->
31
  <g id="node3" class="node"><title>\\MLAEdit</title>
32
  <a xlink:href="includes.class-mla-edit-media.html" xlink:title="MLAEdit" target="_parent">
33
+ <polygon fill="none" stroke="black" points="304,-430 240,-430 240,-394 304,-394 304,-430"/>
34
+ <text text-anchor="middle" x="272" y="-409.2" font-family="Courier,monospace" font-size="11.00">MLAEdit</text>
35
  </a>
36
  </g>
37
  <!-- \\MLA_List_Table -->
38
  <g id="node4" class="node"><title>\\MLA_List_Table</title>
39
  <a xlink:href="includes.class-mla-list-table.html" xlink:title="MLA_List_Table" target="_parent">
40
+ <polygon fill="none" stroke="black" points="327.5,-376 216.5,-376 216.5,-340 327.5,-340 327.5,-376"/>
41
+ <text text-anchor="middle" x="272" y="-355.2" font-family="Courier,monospace" font-size="11.00">MLA_List_Table</text>
42
  </a>
43
  </g>
44
  <!-- \\WP_List_Table -->
45
+ <g id="node12" class="node"><title>\\WP_List_Table</title>
46
+ <ellipse fill="none" stroke="black" cx="72" cy="-358" rx="71.4873" ry="18"/>
47
+ <text text-anchor="middle" x="72" y="-354.3" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\WP_List_Table</text>
48
  </g>
49
  <!-- \\MLA_List_Table&#45;&gt;\\WP_List_Table -->
50
  <g id="edge3" class="edge"><title>\\MLA_List_Table&#45;&gt;\\WP_List_Table</title>
51
+ <path fill="none" stroke="black" d="M216.371,-358C197.091,-358 174.98,-358 153.987,-358"/>
52
+ <polygon fill="none" stroke="black" points="153.788,-354.5 143.788,-358 153.788,-361.5 153.788,-354.5"/>
53
  </g>
54
  <!-- \\MLA -->
55
  <g id="node5" class="node"><title>\\MLA</title>
56
  <a xlink:href="includes.class-mla-main.html" xlink:title="MLA" target="_parent">
57
+ <polygon fill="none" stroke="black" points="299,-322 245,-322 245,-286 299,-286 299,-322"/>
58
+ <text text-anchor="middle" x="272" y="-301.2" font-family="Courier,monospace" font-size="11.00">MLA</text>
59
  </a>
60
  </g>
61
  <!-- \\MLAObjects -->
62
  <g id="node6" class="node"><title>\\MLAObjects</title>
63
  <a xlink:href="includes.class-mla-objects.html" xlink:title="MLAObjects" target="_parent">
64
+ <polygon fill="none" stroke="black" points="314,-268 230,-268 230,-232 314,-232 314,-268"/>
65
+ <text text-anchor="middle" x="272" y="-247.2" font-family="Courier,monospace" font-size="11.00">MLAObjects</text>
66
+ </a>
67
+ </g>
68
+ <!-- \\MLAOptions -->
69
+ <g id="node7" class="node"><title>\\MLAOptions</title>
70
+ <a xlink:href="includes.class-mla-options.html" xlink:title="MLAOptions" target="_parent">
71
  <polygon fill="none" stroke="black" points="314,-214 230,-214 230,-178 314,-178 314,-214"/>
72
+ <text text-anchor="middle" x="272" y="-193.2" font-family="Courier,monospace" font-size="11.00">MLAOptions</text>
73
  </a>
74
  </g>
75
  <!-- \\MLASettings -->
76
+ <g id="node8" class="node"><title>\\MLASettings</title>
77
  <a xlink:href="includes.class-mla-settings.html" xlink:title="MLASettings" target="_parent">
78
  <polygon fill="none" stroke="black" points="317.5,-160 226.5,-160 226.5,-124 317.5,-124 317.5,-160"/>
79
  <text text-anchor="middle" x="272" y="-139.2" font-family="Courier,monospace" font-size="11.00">MLASettings</text>
80
  </a>
81
  </g>
82
  <!-- \\MLAShortcodes -->
83
+ <g id="node9" class="node"><title>\\MLAShortcodes</title>
84
  <a xlink:href="includes.class-mla-shortcodes.html" xlink:title="MLAShortcodes" target="_parent">
85
  <polygon fill="none" stroke="black" points="324,-106 220,-106 220,-70 324,-70 324,-106"/>
86
  <text text-anchor="middle" x="272" y="-85.2" font-family="Courier,monospace" font-size="11.00">MLAShortcodes</text>
87
  </a>
88
  </g>
89
  <!-- \\MLATest -->
90
+ <g id="node10" class="node"><title>\\MLATest</title>
91
  <a xlink:href="tests.class-mla-tests.html" xlink:title="MLATest" target="_parent">
92
  <polygon fill="none" stroke="black" points="304,-52 240,-52 240,-16 304,-16 304,-52"/>
93
  <text text-anchor="middle" x="272" y="-31.2" font-family="Courier,monospace" font-size="11.00">MLATest</text>
phpDocs/classes/MLA.html CHANGED
@@ -94,6 +94,7 @@ change the meta data for a single attachment.</span><pre>_display_single_item()<
94
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_DELETE" title="MLA_ADMIN_SINGLE_DELETE :: mla_admin_action value for permanently deleting a single item"><span class="description">mla_admin_action value for permanently deleting a single item</span><pre>MLA_ADMIN_SINGLE_DELETE</pre></a></li>
95
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_EDIT_DISPLAY" title="MLA_ADMIN_SINGLE_EDIT_DISPLAY :: mla_admin_action value for displaying a single item"><span class="description">mla_admin_action value for displaying a single item</span><pre>MLA_ADMIN_SINGLE_EDIT_DISPLAY</pre></a></li>
96
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_EDIT_UPDATE" title="MLA_ADMIN_SINGLE_EDIT_UPDATE :: mla_admin_action value for updating a single item"><span class="description">mla_admin_action value for updating a single item</span><pre>MLA_ADMIN_SINGLE_EDIT_UPDATE</pre></a></li>
 
97
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_RESTORE" title="MLA_ADMIN_SINGLE_RESTORE :: mla_admin_action value for restoring a single item from the trash"><span class="description">mla_admin_action value for restoring a single item from the trash</span><pre>MLA_ADMIN_SINGLE_RESTORE</pre></a></li>
98
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_TRASH" title="MLA_ADMIN_SINGLE_TRASH :: mla_admin_action value for moving a single item to the trash"><span class="description">mla_admin_action value for moving a single item to the trash</span><pre>MLA_ADMIN_SINGLE_TRASH</pre></a></li>
99
  <li class="constant "><a href="#PLUGIN_NAME" title="PLUGIN_NAME :: Display name for this plugin"><span class="description">Display name for this plugin</span><pre>PLUGIN_NAME</pre></a></li>
@@ -645,6 +646,18 @@ change the meta data for a single attachment.</h2>
645
  </tr></table>
646
  </div></div>
647
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
648
  <a name="MLA_ADMIN_SINGLE_RESTORE" id="MLA_ADMIN_SINGLE_RESTORE"> </a><div class="element clickable constant MLA_ADMIN_SINGLE_RESTORE" data-toggle="collapse" data-target=".MLA_ADMIN_SINGLE_RESTORE .collapse">
649
  <h2>mla_admin_action value for restoring a single item from the trash</h2>
650
  <pre>MLA_ADMIN_SINGLE_RESTORE : string</pre>
@@ -700,7 +713,7 @@ change the meta data for a single attachment.</h2>
700
  <div class="row"><footer class="span12">
701
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
702
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
703
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
704
  </div>
705
  </body>
706
  </html>
94
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_DELETE" title="MLA_ADMIN_SINGLE_DELETE :: mla_admin_action value for permanently deleting a single item"><span class="description">mla_admin_action value for permanently deleting a single item</span><pre>MLA_ADMIN_SINGLE_DELETE</pre></a></li>
95
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_EDIT_DISPLAY" title="MLA_ADMIN_SINGLE_EDIT_DISPLAY :: mla_admin_action value for displaying a single item"><span class="description">mla_admin_action value for displaying a single item</span><pre>MLA_ADMIN_SINGLE_EDIT_DISPLAY</pre></a></li>
96
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_EDIT_UPDATE" title="MLA_ADMIN_SINGLE_EDIT_UPDATE :: mla_admin_action value for updating a single item"><span class="description">mla_admin_action value for updating a single item</span><pre>MLA_ADMIN_SINGLE_EDIT_UPDATE</pre></a></li>
97
+ <li class="constant "><a href="#MLA_ADMIN_SINGLE_MAP" title="MLA_ADMIN_SINGLE_MAP :: mla_admin_action value for mapping IPTC/EXIF metadata"><span class="description">mla_admin_action value for mapping IPTC/EXIF metadata</span><pre>MLA_ADMIN_SINGLE_MAP</pre></a></li>
98
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_RESTORE" title="MLA_ADMIN_SINGLE_RESTORE :: mla_admin_action value for restoring a single item from the trash"><span class="description">mla_admin_action value for restoring a single item from the trash</span><pre>MLA_ADMIN_SINGLE_RESTORE</pre></a></li>
99
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_TRASH" title="MLA_ADMIN_SINGLE_TRASH :: mla_admin_action value for moving a single item to the trash"><span class="description">mla_admin_action value for moving a single item to the trash</span><pre>MLA_ADMIN_SINGLE_TRASH</pre></a></li>
100
  <li class="constant "><a href="#PLUGIN_NAME" title="PLUGIN_NAME :: Display name for this plugin"><span class="description">Display name for this plugin</span><pre>PLUGIN_NAME</pre></a></li>
646
  </tr></table>
647
  </div></div>
648
  </div>
649
+ <a name="MLA_ADMIN_SINGLE_MAP" id="MLA_ADMIN_SINGLE_MAP"> </a><div class="element clickable constant MLA_ADMIN_SINGLE_MAP" data-toggle="collapse" data-target=".MLA_ADMIN_SINGLE_MAP .collapse">
650
+ <h2>mla_admin_action value for mapping IPTC/EXIF metadata</h2>
651
+ <pre>MLA_ADMIN_SINGLE_MAP : string</pre>
652
+ <div class="labels"></div>
653
+ <div class="row collapse"><div class="detail-description">
654
+ <p class="long_description"></p>
655
+ <table class="table table-bordered"><tr>
656
+ <th>since</th>
657
+ <td>1.00</td>
658
+ </tr></table>
659
+ </div></div>
660
+ </div>
661
  <a name="MLA_ADMIN_SINGLE_RESTORE" id="MLA_ADMIN_SINGLE_RESTORE"> </a><div class="element clickable constant MLA_ADMIN_SINGLE_RESTORE" data-toggle="collapse" data-target=".MLA_ADMIN_SINGLE_RESTORE .collapse">
662
  <h2>mla_admin_action value for restoring a single item from the trash</h2>
663
  <pre>MLA_ADMIN_SINGLE_RESTORE : string</pre>
713
  <div class="row"><footer class="span12">
714
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
715
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
716
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
717
  </div>
718
  </body>
719
  </html>
phpDocs/classes/MLAData.html CHANGED
@@ -58,6 +58,7 @@
58
  <li class="method public "><a href="#mla_fetch_attachment_metadata" title="mla_fetch_attachment_metadata :: Fetch and filter meta data for an attachment"><span class="description">Fetch and filter meta data for an attachment</span><pre>mla_fetch_attachment_metadata()</pre></a></li>
59
  <li class="method public "><a href="#mla_fetch_attachment_parent_data" title="mla_fetch_attachment_parent_data :: Returns information about an attachment's parent, if found"><span class="description">Returns information about an attachment's parent, if found</span><pre>mla_fetch_attachment_parent_data()</pre></a></li>
60
  <li class="method public "><a href="#mla_fetch_attachment_references" title="mla_fetch_attachment_references :: Find Featured Image and inserted image/link references to an attachment"><span class="description">Find Featured Image and inserted image/link references to an attachment</span><pre>mla_fetch_attachment_references()</pre></a></li>
 
61
  <li class="method public "><a href="#mla_get_attachment_by_id" title="mla_get_attachment_by_id :: Retrieve an Attachment array given a $post_id"><span class="description">Retrieve an Attachment array given a $post_id</span><pre>mla_get_attachment_by_id()</pre></a></li>
62
  <li class="method public "><a href="#mla_get_template_placeholders" title="mla_get_template_placeholders :: Analyze a template, returning an array of the place holders it contains"><span class="description">Analyze a template, returning an array of the place holders it contains</span><pre>mla_get_template_placeholders()</pre></a></li>
63
  <li class="method public "><a href="#mla_load_template" title="mla_load_template :: Load an HTML template from a file"><span class="description">Load an HTML template from a file</span><pre>mla_load_template()</pre></a></li>
@@ -67,6 +68,7 @@
67
  <li class="method public "><a href="#mla_query_posts_orderby_filter" title="mla_query_posts_orderby_filter :: Adds a ORDERBY clause, if required"><span class="description">Adds a ORDERBY clause, if required</span><pre>mla_query_posts_orderby_filter()</pre></a></li>
68
  <li class="method public "><a href="#mla_query_posts_search_filter" title="mla_query_posts_search_filter :: Adds a keyword search to the WHERE clause, if required"><span class="description">Adds a keyword search to the WHERE clause, if required</span><pre>mla_query_posts_search_filter()</pre></a></li>
69
  <li class="method public "><a href="#mla_query_posts_where_filter" title="mla_query_posts_where_filter :: Adds a WHERE clause for detached items"><span class="description">Adds a WHERE clause for detached items</span><pre>mla_query_posts_where_filter()</pre></a></li>
 
70
  <li class="method public "><a href="#mla_update_single_item" title="mla_update_single_item :: Update a single item; change the meta data
71
  for a single attachment."><span class="description">Update a single item; change the meta data
72
  for a single attachment.</span><pre>mla_update_single_item()</pre></a></li>
@@ -146,7 +148,7 @@ Templates separate HTML markup from PHP code for easier maintenance and localiza
146
  </div>
147
  <a name="mla_fetch_attachment_image_metadata" id="mla_fetch_attachment_image_metadata"></a><div class="element clickable method public mla_fetch_attachment_image_metadata" data-toggle="collapse" data-target=".mla_fetch_attachment_image_metadata .collapse">
148
  <h2>Fetch and filter IPTC and EXIF meta data for an image attachment</h2>
149
- <pre>mla_fetch_attachment_image_metadata(int $post_id) : array</pre>
150
  <div class="labels"></div>
151
  <div class="row collapse"><div class="detail-description">
152
  <p class="long_description"><p>Returns</p></p>
@@ -158,6 +160,10 @@ Templates separate HTML markup from PHP code for easier maintenance and localiza
158
  <div class="subelement argument">
159
  <h4>$post_id</h4>
160
  <code>int</code><p>post ID of attachment</p></div>
 
 
 
 
161
  <h3>Returns</h3>
162
  <div class="subelement response">
163
  <code>array</code>Meta data variables</div>
@@ -228,6 +234,23 @@ as a Featured Image or inserted in the post as an image or link.</p></p>
228
  <code>array</code>Reference information; see $references array comments</div>
229
  </div></div>
230
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  <a name="mla_get_attachment_by_id" id="mla_get_attachment_by_id"></a><div class="element clickable method public mla_get_attachment_by_id" data-toggle="collapse" data-target=".mla_get_attachment_by_id .collapse">
232
  <h2>Retrieve an Attachment array given a $post_id</h2>
233
  <pre>mla_get_attachment_by_id(int $post_id) : NULL | array</pre>
@@ -425,6 +448,23 @@ Defined as public because it's a filter.</p></p>
425
  <code>string</code>query clause after "detached" item modification</div>
426
  </div></div>
427
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  <a name="mla_update_single_item" id="mla_update_single_item"></a><div class="element clickable method public mla_update_single_item" data-toggle="collapse" data-target=".mla_update_single_item .collapse">
429
  <h2>Update a single item; change the meta data
430
  for a single attachment.</h2>
@@ -458,7 +498,7 @@ for a single attachment.</h2>
458
  </div>
459
  <a name="_build_mla_galleries" id="_build_mla_galleries"></a><div class="element clickable method private _build_mla_galleries" data-toggle="collapse" data-target="._build_mla_galleries .collapse">
460
  <h2>Builds the $mla_galleries or $galleries array</h2>
461
- <pre>_build_mla_galleries(array $galleries_array, string $shortcode, boolean $exclude_revisions) : boolean</pre>
462
  <div class="labels"></div>
463
  <div class="row collapse"><div class="detail-description">
464
  <p class="long_description"></p>
@@ -468,6 +508,10 @@ for a single attachment.</h2>
468
  </tr></table>
469
  <h3>Parameters</h3>
470
  <div class="subelement argument">
 
 
 
 
471
  <h4>$galleries_array</h4>
472
  <code>array</code><p>by reference to the private static galleries array variable</p></div>
473
  <div class="subelement argument">
@@ -662,7 +706,7 @@ any further logic required to translate those values is contained in the filters
662
  <div class="row"><footer class="span12">
663
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
664
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
665
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
666
  </div>
667
  </body>
668
  </html>
58
  <li class="method public "><a href="#mla_fetch_attachment_metadata" title="mla_fetch_attachment_metadata :: Fetch and filter meta data for an attachment"><span class="description">Fetch and filter meta data for an attachment</span><pre>mla_fetch_attachment_metadata()</pre></a></li>
59
  <li class="method public "><a href="#mla_fetch_attachment_parent_data" title="mla_fetch_attachment_parent_data :: Returns information about an attachment's parent, if found"><span class="description">Returns information about an attachment's parent, if found</span><pre>mla_fetch_attachment_parent_data()</pre></a></li>
60
  <li class="method public "><a href="#mla_fetch_attachment_references" title="mla_fetch_attachment_references :: Find Featured Image and inserted image/link references to an attachment"><span class="description">Find Featured Image and inserted image/link references to an attachment</span><pre>mla_fetch_attachment_references()</pre></a></li>
61
+ <li class="method public "><a href="#mla_flush_mla_galleries" title="mla_flush_mla_galleries :: Invalidates the $mla_galleries or $galleries array and cached values"><span class="description">Invalidates the $mla_galleries or $galleries array and cached values</span><pre>mla_flush_mla_galleries()</pre></a></li>
62
  <li class="method public "><a href="#mla_get_attachment_by_id" title="mla_get_attachment_by_id :: Retrieve an Attachment array given a $post_id"><span class="description">Retrieve an Attachment array given a $post_id</span><pre>mla_get_attachment_by_id()</pre></a></li>
63
  <li class="method public "><a href="#mla_get_template_placeholders" title="mla_get_template_placeholders :: Analyze a template, returning an array of the place holders it contains"><span class="description">Analyze a template, returning an array of the place holders it contains</span><pre>mla_get_template_placeholders()</pre></a></li>
64
  <li class="method public "><a href="#mla_load_template" title="mla_load_template :: Load an HTML template from a file"><span class="description">Load an HTML template from a file</span><pre>mla_load_template()</pre></a></li>
68
  <li class="method public "><a href="#mla_query_posts_orderby_filter" title="mla_query_posts_orderby_filter :: Adds a ORDERBY clause, if required"><span class="description">Adds a ORDERBY clause, if required</span><pre>mla_query_posts_orderby_filter()</pre></a></li>
69
  <li class="method public "><a href="#mla_query_posts_search_filter" title="mla_query_posts_search_filter :: Adds a keyword search to the WHERE clause, if required"><span class="description">Adds a keyword search to the WHERE clause, if required</span><pre>mla_query_posts_search_filter()</pre></a></li>
70
  <li class="method public "><a href="#mla_query_posts_where_filter" title="mla_query_posts_where_filter :: Adds a WHERE clause for detached items"><span class="description">Adds a WHERE clause for detached items</span><pre>mla_query_posts_where_filter()</pre></a></li>
71
+ <li class="method public "><a href="#mla_save_post_action" title="mla_save_post_action :: Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates"><span class="description">Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates</span><pre>mla_save_post_action()</pre></a></li>
72
  <li class="method public "><a href="#mla_update_single_item" title="mla_update_single_item :: Update a single item; change the meta data
73
  for a single attachment."><span class="description">Update a single item; change the meta data
74
  for a single attachment.</span><pre>mla_update_single_item()</pre></a></li>
148
  </div>
149
  <a name="mla_fetch_attachment_image_metadata" id="mla_fetch_attachment_image_metadata"></a><div class="element clickable method public mla_fetch_attachment_image_metadata" data-toggle="collapse" data-target=".mla_fetch_attachment_image_metadata .collapse">
150
  <h2>Fetch and filter IPTC and EXIF meta data for an image attachment</h2>
151
+ <pre>mla_fetch_attachment_image_metadata(int $post_id, string $path) : array</pre>
152
  <div class="labels"></div>
153
  <div class="row collapse"><div class="detail-description">
154
  <p class="long_description"><p>Returns</p></p>
160
  <div class="subelement argument">
161
  <h4>$post_id</h4>
162
  <code>int</code><p>post ID of attachment</p></div>
163
+ <div class="subelement argument">
164
+ <h4>$path</h4>
165
+ <code>string</code><p>optional; if $post_id is zero, path to the image file.</p>
166
+ </div>
167
  <h3>Returns</h3>
168
  <div class="subelement response">
169
  <code>array</code>Meta data variables</div>
234
  <code>array</code>Reference information; see $references array comments</div>
235
  </div></div>
236
  </div>
237
+ <a name="mla_flush_mla_galleries" id="mla_flush_mla_galleries"></a><div class="element clickable method public mla_flush_mla_galleries" data-toggle="collapse" data-target=".mla_flush_mla_galleries .collapse">
238
+ <h2>Invalidates the $mla_galleries or $galleries array and cached values</h2>
239
+ <pre>mla_flush_mla_galleries(string $option_name) : void</pre>
240
+ <div class="labels"></div>
241
+ <div class="row collapse"><div class="detail-description">
242
+ <p class="long_description"></p>
243
+ <table class="table table-bordered"><tr>
244
+ <th>since</th>
245
+ <td>1.00</td>
246
+ </tr></table>
247
+ <h3>Parameters</h3>
248
+ <div class="subelement argument">
249
+ <h4>$option_name</h4>
250
+ <code>string</code><p>name of the gallery's cache/option variable</p>
251
+ </div>
252
+ </div></div>
253
+ </div>
254
  <a name="mla_get_attachment_by_id" id="mla_get_attachment_by_id"></a><div class="element clickable method public mla_get_attachment_by_id" data-toggle="collapse" data-target=".mla_get_attachment_by_id .collapse">
255
  <h2>Retrieve an Attachment array given a $post_id</h2>
256
  <pre>mla_get_attachment_by_id(int $post_id) : NULL | array</pre>
448
  <code>string</code>query clause after "detached" item modification</div>
449
  </div></div>
450
  </div>
451
+ <a name="mla_save_post_action" id="mla_save_post_action"></a><div class="element clickable method public mla_save_post_action" data-toggle="collapse" data-target=".mla_save_post_action .collapse">
452
+ <h2>Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates</h2>
453
+ <pre>mla_save_post_action(integer $post_id) : void</pre>
454
+ <div class="labels"></div>
455
+ <div class="row collapse"><div class="detail-description">
456
+ <p class="long_description"></p>
457
+ <table class="table table-bordered"><tr>
458
+ <th>since</th>
459
+ <td>1.00</td>
460
+ </tr></table>
461
+ <h3>Parameters</h3>
462
+ <div class="subelement argument">
463
+ <h4>$post_id</h4>
464
+ <code>integer</code><p>ID of post/page/attachment; not used at this time</p>
465
+ </div>
466
+ </div></div>
467
+ </div>
468
  <a name="mla_update_single_item" id="mla_update_single_item"></a><div class="element clickable method public mla_update_single_item" data-toggle="collapse" data-target=".mla_update_single_item .collapse">
469
  <h2>Update a single item; change the meta data
470
  for a single attachment.</h2>
498
  </div>
499
  <a name="_build_mla_galleries" id="_build_mla_galleries"></a><div class="element clickable method private _build_mla_galleries" data-toggle="collapse" data-target="._build_mla_galleries .collapse">
500
  <h2>Builds the $mla_galleries or $galleries array</h2>
501
+ <pre>_build_mla_galleries(string $option_name, array $galleries_array, string $shortcode, boolean $exclude_revisions) : boolean</pre>
502
  <div class="labels"></div>
503
  <div class="row collapse"><div class="detail-description">
504
  <p class="long_description"></p>
508
  </tr></table>
509
  <h3>Parameters</h3>
510
  <div class="subelement argument">
511
+ <h4>$option_name</h4>
512
+ <code>string</code><p>name of the gallery's cache/option variable</p>
513
+ </div>
514
+ <div class="subelement argument">
515
  <h4>$galleries_array</h4>
516
  <code>array</code><p>by reference to the private static galleries array variable</p></div>
517
  <div class="subelement argument">
706
  <div class="row"><footer class="span12">
707
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
708
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
709
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
710
  </div>
711
  </body>
712
  </html>
phpDocs/classes/MLAEdit.html CHANGED
@@ -54,6 +54,7 @@
54
  <i class="icon-custom icon-method"></i> Methods</li>
55
  <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
56
  <li class="method public "><a href="#mla_add_meta_boxes_action" title="mla_add_meta_boxes_action :: Registers meta boxes for the Edit Media screen."><span class="description">Registers meta boxes for the Edit Media screen.</span><pre>mla_add_meta_boxes_action()</pre></a></li>
 
57
  <li class="method public "><a href="#mla_edit_add_help_tab" title="mla_edit_add_help_tab :: Add contextual help tabs to the WordPress Edit Media page"><span class="description">Add contextual help tabs to the WordPress Edit Media page</span><pre>mla_edit_add_help_tab()</pre></a></li>
58
  <li class="method public "><a href="#mla_edit_attachment_action" title="mla_edit_attachment_action :: Saves updates from the Edit Media screen."><span class="description">Saves updates from the Edit Media screen.</span><pre>mla_edit_attachment_action()</pre></a></li>
59
  <li class="method public "><a href="#mla_featured_in_handler" title="mla_featured_in_handler :: Renders the Featured in meta box on the Edit Media page."><span class="description">Renders the Featured in meta box on the Edit Media page.</span><pre>mla_featured_in_handler()</pre></a></li>
@@ -128,6 +129,18 @@
128
  <code>object</code><p>current post</p></div>
129
  </div></div>
130
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
131
  <a name="mla_edit_add_help_tab" id="mla_edit_add_help_tab"></a><div class="element clickable method public mla_edit_add_help_tab" data-toggle="collapse" data-target=".mla_edit_add_help_tab .collapse">
132
  <h2>Add contextual help tabs to the WordPress Edit Media page</h2>
133
  <pre>mla_edit_add_help_tab(string $admin_title, string $title) : void</pre>
@@ -309,7 +322,7 @@ The array is built once each page load and cached for subsequent calls.</p></p>
309
  <div class="row"><footer class="span12">
310
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
311
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
312
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
313
  </div>
314
  </body>
315
  </html>
54
  <i class="icon-custom icon-method"></i> Methods</li>
55
  <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
56
  <li class="method public "><a href="#mla_add_meta_boxes_action" title="mla_add_meta_boxes_action :: Registers meta boxes for the Edit Media screen."><span class="description">Registers meta boxes for the Edit Media screen.</span><pre>mla_add_meta_boxes_action()</pre></a></li>
57
+ <li class="method public "><a href="#mla_custom_field_support_action" title="mla_custom_field_support_action :: Adds Custom Field support to the Edit Media screen."><span class="description">Adds Custom Field support to the Edit Media screen.</span><pre>mla_custom_field_support_action()</pre></a></li>
58
  <li class="method public "><a href="#mla_edit_add_help_tab" title="mla_edit_add_help_tab :: Add contextual help tabs to the WordPress Edit Media page"><span class="description">Add contextual help tabs to the WordPress Edit Media page</span><pre>mla_edit_add_help_tab()</pre></a></li>
59
  <li class="method public "><a href="#mla_edit_attachment_action" title="mla_edit_attachment_action :: Saves updates from the Edit Media screen."><span class="description">Saves updates from the Edit Media screen.</span><pre>mla_edit_attachment_action()</pre></a></li>
60
  <li class="method public "><a href="#mla_featured_in_handler" title="mla_featured_in_handler :: Renders the Featured in meta box on the Edit Media page."><span class="description">Renders the Featured in meta box on the Edit Media page.</span><pre>mla_featured_in_handler()</pre></a></li>
129
  <code>object</code><p>current post</p></div>
130
  </div></div>
131
  </div>
132
+ <a name="mla_custom_field_support_action" id="mla_custom_field_support_action"></a><div class="element clickable method public mla_custom_field_support_action" data-toggle="collapse" data-target=".mla_custom_field_support_action .collapse">
133
+ <h2>Adds Custom Field support to the Edit Media screen.</h2>
134
+ <pre>mla_custom_field_support_action() : void</pre>
135
+ <div class="labels"></div>
136
+ <div class="row collapse"><div class="detail-description">
137
+ <p class="long_description"><p>Declared public because it is an action.</p></p>
138
+ <table class="table table-bordered"><tr>
139
+ <th>since</th>
140
+ <td>0.80</td>
141
+ </tr></table>
142
+ </div></div>
143
+ </div>
144
  <a name="mla_edit_add_help_tab" id="mla_edit_add_help_tab"></a><div class="element clickable method public mla_edit_add_help_tab" data-toggle="collapse" data-target=".mla_edit_add_help_tab .collapse">
145
  <h2>Add contextual help tabs to the WordPress Edit Media page</h2>
146
  <pre>mla_edit_add_help_tab(string $admin_title, string $title) : void</pre>
322
  <div class="row"><footer class="span12">
323
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
324
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
325
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
326
  </div>
327
  </body>
328
  </html>
phpDocs/classes/MLAObjects.html CHANGED
@@ -167,7 +167,7 @@ which replaces the "Posts" column with an equivalent "Attachments" column.</h2>
167
  <div class="row"><footer class="span12">
168
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
169
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
170
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
171
  </div>
172
  </body>
173
  </html>
167
  <div class="row"><footer class="span12">
168
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
169
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
170
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
171
  </div>
172
  </body>
173
  </html>
phpDocs/classes/MLAOptions.html ADDED
@@ -0,0 +1,716 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html><html xmlns:date="http://exslt.org/dates-and-times" lang="en">
2
+ <head>
3
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
+ <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
5
+ <meta charset="utf-8">
6
+ <title>Media Library Assistant » \MLAOptions</title>
7
+ <meta name="author" content="Mike van Riel">
8
+ <meta name="description" content="">
9
+ <link href="../css/template.css" rel="stylesheet" media="all">
10
+ <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script><script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script><script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script><script src="../js/bootstrap.js" type="text/javascript"></script><script src="../js/template.js" type="text/javascript"></script><script src="../js/prettify/prettify.min.js" type="text/javascript"></script><link rel="shortcut icon" href="../img/favicon.ico">
11
+ <link rel="apple-touch-icon" href="../img/apple-touch-icon.png">
12
+ <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png">
13
+ <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png">
14
+ </head>
15
+ <body>
16
+ <div class="navbar navbar-fixed-top">
17
+ <div class="navbar-inner"><div class="container">
18
+ <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="../index.html">Media Library Assistant</a><div class="nav-collapse"><ul class="nav">
19
+ <li class="dropdown">
20
+ <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
21
+ API Documentation <b class="caret"></b></a><ul class="dropdown-menu"></ul>
22
+ </li>
23
+ <li class="dropdown" id="charts-menu">
24
+ <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
25
+ Charts <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="../graph_class.html"><i class="icon-list-alt"></i> Class hierarchy diagram</a></li></ul>
26
+ </li>
27
+ <li class="dropdown" id="reports-menu">
28
+ <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
29
+ Reports <b class="caret"></b></a><ul class="dropdown-menu">
30
+ <li><a href="../errors.html"><i class="icon-remove-sign"></i> Errors 
31
+ <span class="label label-info">0</span></a></li>
32
+ <li><a href="../markers.html"><i class="icon-map-marker"></i> Markers 
33
+ <ul></ul></a></li>
34
+ <li><a href="../deprecated.html"><i class="icon-stop"></i> Deprecated elements 
35
+ <span class="label label-info">0</span></a></li>
36
+ </ul>
37
+ </li>
38
+ </ul></div>
39
+ </div></div>
40
+ <div class="go_to_top"><a href="#___" style="color: inherit">Back to top  <i class="icon-upload icon-white"></i></a></div>
41
+ </div>
42
+ <div id="___" class="container">
43
+ <noscript><div class="alert alert-warning">
44
+ Javascript is disabled; several features are only available
45
+ if Javascript is enabled.
46
+ </div></noscript>
47
+ <div class="row">
48
+ <div class="span4">
49
+ <span class="btn-group visibility" data-toggle="buttons-checkbox"><button class="btn public active" title="Show public elements">Public</button><button class="btn protected" title="Show protected elements">Protected</button><button class="btn private" title="Show private elements">Private</button><button class="btn inherited active" title="Show inherited elements">Inherited</button></span><div class="btn-group view pull-right" data-toggle="buttons-radio">
50
+ <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button><button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
51
+ </div>
52
+ <ul class="side-nav nav nav-list">
53
+ <li class="nav-header">
54
+ <i class="icon-custom icon-method"></i> Methods</li>
55
+ <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
56
+ <li class="method public "><a href="#mla_add_attachment_action" title="mla_add_attachment_action :: Perform ITC/EXIF mapping on just-inserted attachment"><span class="description">Perform ITC/EXIF mapping on just-inserted attachment</span><pre>mla_add_attachment_action()</pre></a></li>
57
+ <li class="method public "><a href="#mla_delete_option" title="mla_delete_option :: Delete the stored value of a defined MLA option"><span class="description">Delete the stored value of a defined MLA option</span><pre>mla_delete_option()</pre></a></li>
58
+ <li class="method public "><a href="#mla_evaluate_iptc_exif_mapping" title="mla_evaluate_iptc_exif_mapping :: Evaluate IPTC/EXIF mapping updates for a post"><span class="description">Evaluate IPTC/EXIF mapping updates for a post</span><pre>mla_evaluate_iptc_exif_mapping()</pre></a></li>
59
+ <li class="method public "><a href="#mla_fetch_gallery_template" title="mla_fetch_gallery_template :: Fetch style or markup template from $mla_templates"><span class="description">Fetch style or markup template from $mla_templates</span><pre>mla_fetch_gallery_template()</pre></a></li>
60
+ <li class="method public "><a href="#mla_get_markup_templates" title="mla_get_markup_templates :: Get ALL markup templates from $mla_templates, including 'default'"><span class="description">Get ALL markup templates from $mla_templates, including 'default'</span><pre>mla_get_markup_templates()</pre></a></li>
61
+ <li class="method public "><a href="#mla_get_option" title="mla_get_option :: Return the stored value or default value of a defined MLA option"><span class="description">Return the stored value or default value of a defined MLA option</span><pre>mla_get_option()</pre></a></li>
62
+ <li class="method public "><a href="#mla_get_style_templates" title="mla_get_style_templates :: Get ALL style templates from $mla_templates, including 'default'"><span class="description">Get ALL style templates from $mla_templates, including 'default'</span><pre>mla_get_style_templates()</pre></a></li>
63
+ <li class="method public "><a href="#mla_iptc_exif_option_handler" title="mla_iptc_exif_option_handler :: Render and manage iptc/exif support options"><span class="description">Render and manage iptc/exif support options</span><pre>mla_iptc_exif_option_handler()</pre></a></li>
64
+ <li class="method public "><a href="#mla_put_markup_templates" title="mla_put_markup_templates :: Put user-defined markup templates to $mla_templates and database"><span class="description">Put user-defined markup templates to $mla_templates and database</span><pre>mla_put_markup_templates()</pre></a></li>
65
+ <li class="method public "><a href="#mla_put_style_templates" title="mla_put_style_templates :: Put user-defined style templates to $mla_templates and database"><span class="description">Put user-defined style templates to $mla_templates and database</span><pre>mla_put_style_templates()</pre></a></li>
66
+ <li class="method public "><a href="#mla_taxonomy_option_handler" title="mla_taxonomy_option_handler :: Render and manage taxonomy support options, e.g., Categories and Post Tags"><span class="description">Render and manage taxonomy support options, e.g., Categories and Post Tags</span><pre>mla_taxonomy_option_handler()</pre></a></li>
67
+ <li class="method public "><a href="#mla_taxonomy_support" title="mla_taxonomy_support :: Determine MLA support for a taxonomy, handling the special case where the
68
+ settings are being updated or reset."><span class="description">Determine MLA support for a taxonomy, handling the special case where the
69
+ settings are being updated or reset.</span><pre>mla_taxonomy_support()</pre></a></li>
70
+ <li class="method public "><a href="#mla_update_option" title="mla_update_option :: Add or update the stored value of a defined MLA option"><span class="description">Add or update the stored value of a defined MLA option</span><pre>mla_update_option()</pre></a></li>
71
+ <li class="nav-header private">» Private</li>
72
+ <li class="method private "><a href="#_compose_iptc_option_list" title="_compose_iptc_option_list :: Compose an IPTC Options list with current selection"><span class="description">Compose an IPTC Options list with current selection</span><pre>_compose_iptc_option_list()</pre></a></li>
73
+ <li class="method private "><a href="#_compose_parent_option_list" title="_compose_parent_option_list :: Compose an hierarchical taxonomy Parent options list with current selection"><span class="description">Compose an hierarchical taxonomy Parent options list with current selection</span><pre>_compose_parent_option_list()</pre></a></li>
74
+ <li class="method private "><a href="#_get_custom_field_names" title="_get_custom_field_names :: Generate a list of all (post) Custom Field names"><span class="description">Generate a list of all (post) Custom Field names</span><pre>_get_custom_field_names()</pre></a></li>
75
+ <li class="method private "><a href="#_load_option_templates" title="_load_option_templates :: Load style and markup templates to $mla_templates"><span class="description">Load style and markup templates to $mla_templates</span><pre>_load_option_templates()</pre></a></li>
76
+ <li class="method private "><a href="#_update_iptc_exif_custom_mapping" title="_update_iptc_exif_custom_mapping :: Update Custom field portion of IPTC/EXIF mappings"><span class="description">Update Custom field portion of IPTC/EXIF mappings</span><pre>_update_iptc_exif_custom_mapping()</pre></a></li>
77
+ <li class="method private "><a href="#_update_iptc_exif_standard_mapping" title="_update_iptc_exif_standard_mapping :: Update Standard field portion of IPTC/EXIF mappings"><span class="description">Update Standard field portion of IPTC/EXIF mappings</span><pre>_update_iptc_exif_standard_mapping()</pre></a></li>
78
+ <li class="method private "><a href="#_update_iptc_exif_taxonomy_mapping" title="_update_iptc_exif_taxonomy_mapping :: Update Taxonomy term portion of IPTC/EXIF mappings"><span class="description">Update Taxonomy term portion of IPTC/EXIF mappings</span><pre>_update_iptc_exif_taxonomy_mapping()</pre></a></li>
79
+ <li class="nav-header">
80
+ <i class="icon-custom icon-property"></i> Properties</li>
81
+ <li class="property public "><a href="#%24mla_option_definitions" title="$mla_option_definitions :: $mla_option_definitions defines the database options and admin page areas for setting/updating them."><span class="description">$mla_option_definitions defines the database options and admin page areas for setting/updating them.</span><pre>$mla_option_definitions</pre></a></li>
82
+ <li class="property public "><a href="#%24process_featured_in" title='$process_featured_in :: Option setting for "Featured in" reporting'><span class="description">Option setting for "Featured in" reporting</span><pre>$process_featured_in</pre></a></li>
83
+ <li class="property public "><a href="#%24process_gallery_in" title='$process_gallery_in :: Option setting for "Gallery in" reporting'><span class="description">Option setting for "Gallery in" reporting</span><pre>$process_gallery_in</pre></a></li>
84
+ <li class="property public "><a href="#%24process_inserted_in" title='$process_inserted_in :: Option setting for "Inserted in" reporting'><span class="description">Option setting for "Inserted in" reporting</span><pre>$process_inserted_in</pre></a></li>
85
+ <li class="property public "><a href="#%24process_mla_gallery_in" title='$process_mla_gallery_in :: Option setting for "MLA Gallery in" reporting'><span class="description">Option setting for "MLA Gallery in" reporting</span><pre>$process_mla_gallery_in</pre></a></li>
86
+ <li class="nav-header private">» Private</li>
87
+ <li class="property private "><a href="#%24mla_option_templates" title="$mla_option_templates :: Style and Markup templates"><span class="description">Style and Markup templates</span><pre>$mla_option_templates</pre></a></li>
88
+ <li class="nav-header">
89
+ <i class="icon-custom icon-constant"></i> Constants</li>
90
+ <li class="constant "><a href="#MLA_FEATURED_IN_TUNING" title="MLA_FEATURED_IN_TUNING :: Provides a unique name for a database tuning option"><span class="description">Provides a unique name for a database tuning option</span><pre>MLA_FEATURED_IN_TUNING</pre></a></li>
91
+ <li class="constant "><a href="#MLA_GALLERY_IN_TUNING" title="MLA_GALLERY_IN_TUNING :: Provides a unique name for a database tuning option"><span class="description">Provides a unique name for a database tuning option</span><pre>MLA_GALLERY_IN_TUNING</pre></a></li>
92
+ <li class="constant "><a href="#MLA_INSERTED_IN_TUNING" title="MLA_INSERTED_IN_TUNING :: Provides a unique name for a database tuning option"><span class="description">Provides a unique name for a database tuning option</span><pre>MLA_INSERTED_IN_TUNING</pre></a></li>
93
+ <li class="constant "><a href="#MLA_MLA_GALLERY_IN_TUNING" title="MLA_MLA_GALLERY_IN_TUNING :: Provides a unique name for a database tuning option"><span class="description">Provides a unique name for a database tuning option</span><pre>MLA_MLA_GALLERY_IN_TUNING</pre></a></li>
94
+ <li class="constant "><a href="#MLA_NEW_CUSTOM_FIELD" title='MLA_NEW_CUSTOM_FIELD :: Provides a unique name for the Custom Field "new field" key'><span class="description">Provides a unique name for the Custom Field "new field" key</span><pre>MLA_NEW_CUSTOM_FIELD</pre></a></li>
95
+ <li class="constant "><a href="#MLA_VERSION_OPTION" title="MLA_VERSION_OPTION :: Provides a unique name for the current version option"><span class="description">Provides a unique name for the current version option</span><pre>MLA_VERSION_OPTION</pre></a></li>
96
+ </ul>
97
+ </div>
98
+ <div class="span8">
99
+ <a name="%5CMLAOptions" id="\MLAOptions"></a><ul class="breadcrumb">
100
+ <li>
101
+ <a href="../index.html"><i class="icon-custom icon-class"></i></a><span class="divider">\</span>
102
+ </li>
103
+ <li><a href="../namespaces/global.html">global</a></li>
104
+ <li class="active">
105
+ <span class="divider">\</span><a href="../classes/MLAOptions.html">MLAOptions</a>
106
+ </li>
107
+ </ul>
108
+ <div href="../classes/MLAOptions.html" class="element class">
109
+ <p class="short_description">Class MLA (Media Library Assistant) Options manages the plugin option settings
110
+ and provides functions to get and put them from/to WordPress option variables</p>
111
+ <div class="details">
112
+ <p class="long_description"><p>Separated from class MLASettings in version 1.00</p></p>
113
+ <table class="table table-bordered">
114
+ <tr>
115
+ <th>package</th>
116
+ <td><a href="../packages/Media%20Library%20Assistant.html">Media Library Assistant</a></td>
117
+ </tr>
118
+ <tr>
119
+ <th>since</th>
120
+ <td>1.00</td>
121
+ </tr>
122
+ </table>
123
+ <h3>
124
+ <i class="icon-custom icon-method"></i> Methods</h3>
125
+ <a name="initialize" id="initialize"></a><div class="element clickable method public initialize" data-toggle="collapse" data-target=".initialize .collapse">
126
+ <h2>Initialization function, similar to __construct()</h2>
127
+ <pre>initialize() : void</pre>
128
+ <div class="labels"></div>
129
+ <div class="row collapse"><div class="detail-description">
130
+ <p class="long_description"></p>
131
+ <table class="table table-bordered"><tr>
132
+ <th>since</th>
133
+ <td>1.00</td>
134
+ </tr></table>
135
+ </div></div>
136
+ </div>
137
+ <a name="mla_add_attachment_action" id="mla_add_attachment_action"></a><div class="element clickable method public mla_add_attachment_action" data-toggle="collapse" data-target=".mla_add_attachment_action .collapse">
138
+ <h2>Perform ITC/EXIF mapping on just-inserted attachment</h2>
139
+ <pre>mla_add_attachment_action(integer $post_id) : void</pre>
140
+ <div class="labels"></div>
141
+ <div class="row collapse"><div class="detail-description">
142
+ <p class="long_description"></p>
143
+ <table class="table table-bordered"><tr>
144
+ <th>since</th>
145
+ <td>1.00</td>
146
+ </tr></table>
147
+ <h3>Parameters</h3>
148
+ <div class="subelement argument">
149
+ <h4>$post_id</h4>
150
+ <code>integer</code><p>ID of just-inserted attachment</p>
151
+ </div>
152
+ </div></div>
153
+ </div>
154
+ <a name="mla_delete_option" id="mla_delete_option"></a><div class="element clickable method public mla_delete_option" data-toggle="collapse" data-target=".mla_delete_option .collapse">
155
+ <h2>Delete the stored value of a defined MLA option</h2>
156
+ <pre>mla_delete_option(string $option) : boolean</pre>
157
+ <div class="labels"></div>
158
+ <div class="row collapse"><div class="detail-description">
159
+ <p class="long_description"></p>
160
+ <table class="table table-bordered"><tr>
161
+ <th>since</th>
162
+ <td>0.1</td>
163
+ </tr></table>
164
+ <h3>Parameters</h3>
165
+ <div class="subelement argument">
166
+ <h4>$option</h4>
167
+ <code>string</code><p>Name of the desired option</p></div>
168
+ <h3>Returns</h3>
169
+ <div class="subelement response">
170
+ <code>boolean</code>True if the option was deleted, otherwise false</div>
171
+ </div></div>
172
+ </div>
173
+ <a name="mla_evaluate_iptc_exif_mapping" id="mla_evaluate_iptc_exif_mapping"></a><div class="element clickable method public mla_evaluate_iptc_exif_mapping" data-toggle="collapse" data-target=".mla_evaluate_iptc_exif_mapping .collapse">
174
+ <h2>Evaluate IPTC/EXIF mapping updates for a post</h2>
175
+ <pre>mla_evaluate_iptc_exif_mapping(object $post, string $category, array $settings) : array</pre>
176
+ <div class="labels"></div>
177
+ <div class="row collapse"><div class="detail-description">
178
+ <p class="long_description"></p>
179
+ <table class="table table-bordered"><tr>
180
+ <th>since</th>
181
+ <td>1.00</td>
182
+ </tr></table>
183
+ <h3>Parameters</h3>
184
+ <div class="subelement argument">
185
+ <h4>$post</h4>
186
+ <code>object</code><p>post object with current values</p></div>
187
+ <div class="subelement argument">
188
+ <h4>$category</h4>
189
+ <code>string</code><p>category to evaluate against, e.g., iptc_exif_standard_mapping or iptc_exif_mapping</p></div>
190
+ <div class="subelement argument">
191
+ <h4>$settings</h4>
192
+ <code>array</code><p>(optional) iptc_exif_mapping values, default - current option value</p>
193
+ </div>
194
+ <h3>Returns</h3>
195
+ <div class="subelement response">
196
+ <code>array</code>Updates suitable for MLAData::mla_update_single_item, if any</div>
197
+ </div></div>
198
+ </div>
199
+ <a name="mla_fetch_gallery_template" id="mla_fetch_gallery_template"></a><div class="element clickable method public mla_fetch_gallery_template" data-toggle="collapse" data-target=".mla_fetch_gallery_template .collapse">
200
+ <h2>Fetch style or markup template from $mla_templates</h2>
201
+ <pre>mla_fetch_gallery_template(string $key, string $type) : string | boolean | null</pre>
202
+ <div class="labels"></div>
203
+ <div class="row collapse"><div class="detail-description">
204
+ <p class="long_description"></p>
205
+ <table class="table table-bordered"><tr>
206
+ <th>since</th>
207
+ <td>0.80</td>
208
+ </tr></table>
209
+ <h3>Parameters</h3>
210
+ <div class="subelement argument">
211
+ <h4>$key</h4>
212
+ <code>string</code><p>Template name</p></div>
213
+ <div class="subelement argument">
214
+ <h4>$type</h4>
215
+ <code>string</code><p>Template type; 'style' (default) or 'markup'</p>
216
+ </div>
217
+ <h3>Returns</h3>
218
+ <div class="subelement response">
219
+ <code>string</code><code>boolean</code><code>null</code>requested template, false if not found or null if no templates</div>
220
+ </div></div>
221
+ </div>
222
+ <a name="mla_get_markup_templates" id="mla_get_markup_templates"></a><div class="element clickable method public mla_get_markup_templates" data-toggle="collapse" data-target=".mla_get_markup_templates .collapse">
223
+ <h2>Get ALL markup templates from $mla_templates, including 'default'</h2>
224
+ <pre>mla_get_markup_templates() : array | null</pre>
225
+ <div class="labels"></div>
226
+ <div class="row collapse"><div class="detail-description">
227
+ <p class="long_description"></p>
228
+ <table class="table table-bordered"><tr>
229
+ <th>since</th>
230
+ <td>0.80</td>
231
+ </tr></table>
232
+ <h3>Returns</h3>
233
+ <div class="subelement response">
234
+ <code>array</code><code>null</code>name => value for all markup templates or null if no templates</div>
235
+ </div></div>
236
+ </div>
237
+ <a name="mla_get_option" id="mla_get_option"></a><div class="element clickable method public mla_get_option" data-toggle="collapse" data-target=".mla_get_option .collapse">
238
+ <h2>Return the stored value or default value of a defined MLA option</h2>
239
+ <pre>mla_get_option(string $option) : mixed</pre>
240
+ <div class="labels"></div>
241
+ <div class="row collapse"><div class="detail-description">
242
+ <p class="long_description"></p>
243
+ <table class="table table-bordered"><tr>
244
+ <th>since</th>
245
+ <td>0.1</td>
246
+ </tr></table>
247
+ <h3>Parameters</h3>
248
+ <div class="subelement argument">
249
+ <h4>$option</h4>
250
+ <code>string</code><p>Name of the desired option</p></div>
251
+ <h3>Returns</h3>
252
+ <div class="subelement response">
253
+ <code>mixed</code>Value(s) for the option or false if the option is not a defined MLA option</div>
254
+ </div></div>
255
+ </div>
256
+ <a name="mla_get_style_templates" id="mla_get_style_templates"></a><div class="element clickable method public mla_get_style_templates" data-toggle="collapse" data-target=".mla_get_style_templates .collapse">
257
+ <h2>Get ALL style templates from $mla_templates, including 'default'</h2>
258
+ <pre>mla_get_style_templates() : array | null</pre>
259
+ <div class="labels"></div>
260
+ <div class="row collapse"><div class="detail-description">
261
+ <p class="long_description"></p>
262
+ <table class="table table-bordered"><tr>
263
+ <th>since</th>
264
+ <td>0.80</td>
265
+ </tr></table>
266
+ <h3>Returns</h3>
267
+ <div class="subelement response">
268
+ <code>array</code><code>null</code>name => value for all style templates or null if no templates</div>
269
+ </div></div>
270
+ </div>
271
+ <a name="mla_iptc_exif_option_handler" id="mla_iptc_exif_option_handler"></a><div class="element clickable method public mla_iptc_exif_option_handler" data-toggle="collapse" data-target=".mla_iptc_exif_option_handler .collapse">
272
+ <h2>Render and manage iptc/exif support options</h2>
273
+ <pre>mla_iptc_exif_option_handler(string $action, string $key, array $value, array $args) : string</pre>
274
+ <div class="labels"></div>
275
+ <div class="row collapse"><div class="detail-description">
276
+ <p class="long_description"></p>
277
+ <table class="table table-bordered">
278
+ <tr>
279
+ <th>since</th>
280
+ <td>1.00</td>
281
+ </tr>
282
+ <tr>
283
+ <th>uses</th>
284
+ <td>\global\$mla_option_templates</td>
285
+ </tr>
286
+ </table>
287
+ <h3>Parameters</h3>
288
+ <div class="subelement argument">
289
+ <h4>$action</h4>
290
+ <code>string</code><p>'render', 'update', 'delete', or 'reset'</p>
291
+ </div>
292
+ <div class="subelement argument">
293
+ <h4>$key</h4>
294
+ <code>string</code><p>option name, e.g., 'iptc_exif_mapping'</p>
295
+ </div>
296
+ <div class="subelement argument">
297
+ <h4>$value</h4>
298
+ <code>array</code><p>option parameters</p></div>
299
+ <div class="subelement argument">
300
+ <h4>$args</h4>
301
+ <code>array</code><p>Optional. null (default) for 'render' else option data, e.g., $_REQUEST</p>
302
+ </div>
303
+ <h3>Returns</h3>
304
+ <div class="subelement response">
305
+ <code>string</code>HTML table row markup for 'render' else message(s) reflecting the results of the operation.</div>
306
+ </div></div>
307
+ </div>
308
+ <a name="mla_put_markup_templates" id="mla_put_markup_templates"></a><div class="element clickable method public mla_put_markup_templates" data-toggle="collapse" data-target=".mla_put_markup_templates .collapse">
309
+ <h2>Put user-defined markup templates to $mla_templates and database</h2>
310
+ <pre>mla_put_markup_templates(array $templates) : boolean</pre>
311
+ <div class="labels"></div>
312
+ <div class="row collapse"><div class="detail-description">
313
+ <p class="long_description"></p>
314
+ <table class="table table-bordered"><tr>
315
+ <th>since</th>
316
+ <td>0.80</td>
317
+ </tr></table>
318
+ <h3>Parameters</h3>
319
+ <div class="subelement argument">
320
+ <h4>$templates</h4>
321
+ <code>array</code><p>name => value for all user-defined markup templates</p>
322
+ </div>
323
+ <h3>Returns</h3>
324
+ <div class="subelement response">
325
+ <code>boolean</code>true if success, false if failure</div>
326
+ </div></div>
327
+ </div>
328
+ <a name="mla_put_style_templates" id="mla_put_style_templates"></a><div class="element clickable method public mla_put_style_templates" data-toggle="collapse" data-target=".mla_put_style_templates .collapse">
329
+ <h2>Put user-defined style templates to $mla_templates and database</h2>
330
+ <pre>mla_put_style_templates(array $templates) : boolean</pre>
331
+ <div class="labels"></div>
332
+ <div class="row collapse"><div class="detail-description">
333
+ <p class="long_description"></p>
334
+ <table class="table table-bordered"><tr>
335
+ <th>since</th>
336
+ <td>0.80</td>
337
+ </tr></table>
338
+ <h3>Parameters</h3>
339
+ <div class="subelement argument">
340
+ <h4>$templates</h4>
341
+ <code>array</code><p>name => value for all user-defined style templates</p>
342
+ </div>
343
+ <h3>Returns</h3>
344
+ <div class="subelement response">
345
+ <code>boolean</code>true if success, false if failure</div>
346
+ </div></div>
347
+ </div>
348
+ <a name="mla_taxonomy_option_handler" id="mla_taxonomy_option_handler"></a><div class="element clickable method public mla_taxonomy_option_handler" data-toggle="collapse" data-target=".mla_taxonomy_option_handler .collapse">
349
+ <h2>Render and manage taxonomy support options, e.g., Categories and Post Tags</h2>
350
+ <pre>mla_taxonomy_option_handler(string $action, string $key, array $value, array $args) : string</pre>
351
+ <div class="labels"></div>
352
+ <div class="row collapse"><div class="detail-description">
353
+ <p class="long_description"></p>
354
+ <table class="table table-bordered">
355
+ <tr>
356
+ <th>since</th>
357
+ <td>0.30</td>
358
+ </tr>
359
+ <tr>
360
+ <th>uses</th>
361
+ <td>\global\$mla_option_templates</td>
362
+ </tr>
363
+ </table>
364
+ <h3>Parameters</h3>
365
+ <div class="subelement argument">
366
+ <h4>$action</h4>
367
+ <code>string</code><p>'render', 'update', 'delete', or 'reset'</p>
368
+ </div>
369
+ <div class="subelement argument">
370
+ <h4>$key</h4>
371
+ <code>string</code><p>option name, e.g., 'taxonomy_support'</p>
372
+ </div>
373
+ <div class="subelement argument">
374
+ <h4>$value</h4>
375
+ <code>array</code><p>option parameters</p></div>
376
+ <div class="subelement argument">
377
+ <h4>$args</h4>
378
+ <code>array</code><p>Optional. null (default) for 'render' else option data, e.g., $_REQUEST</p>
379
+ </div>
380
+ <h3>Returns</h3>
381
+ <div class="subelement response">
382
+ <code>string</code>HTML table row markup for 'render' else message(s) reflecting the results of the operation.</div>
383
+ </div></div>
384
+ </div>
385
+ <a name="mla_taxonomy_support" id="mla_taxonomy_support"></a><div class="element clickable method public mla_taxonomy_support" data-toggle="collapse" data-target=".mla_taxonomy_support .collapse">
386
+ <h2>Determine MLA support for a taxonomy, handling the special case where the
387
+ settings are being updated or reset.</h2>
388
+ <pre>mla_taxonomy_support(string $tax_name, string $support_type) : boolean | string</pre>
389
+ <div class="labels"></div>
390
+ <div class="row collapse"><div class="detail-description">
391
+ <p class="long_description"></p>
392
+ <table class="table table-bordered"><tr>
393
+ <th>since</th>
394
+ <td>0.30</td>
395
+ </tr></table>
396
+ <h3>Parameters</h3>
397
+ <div class="subelement argument">
398
+ <h4>$tax_name</h4>
399
+ <code>string</code><p>Taxonomy name, e.g., attachment_category</p></div>
400
+ <div class="subelement argument">
401
+ <h4>$support_type</h4>
402
+ <code>string</code><p>Optional. 'support' (default), 'quick-edit' or 'filter'</p>
403
+ </div>
404
+ <h3>Returns</h3>
405
+ <div class="subelement response">
406
+ <code>boolean</code><code>string</code>true if the taxonomy is supported in this way else false string if $tax_name is '' and $support_type is 'filter', returns the taxonomy to filter by</div>
407
+ </div></div>
408
+ </div>
409
+ <a name="mla_update_option" id="mla_update_option"></a><div class="element clickable method public mla_update_option" data-toggle="collapse" data-target=".mla_update_option .collapse">
410
+ <h2>Add or update the stored value of a defined MLA option</h2>
411
+ <pre>mla_update_option(string $option, mixed $newvalue) : boolean</pre>
412
+ <div class="labels"></div>
413
+ <div class="row collapse"><div class="detail-description">
414
+ <p class="long_description"></p>
415
+ <table class="table table-bordered"><tr>
416
+ <th>since</th>
417
+ <td>0.1</td>
418
+ </tr></table>
419
+ <h3>Parameters</h3>
420
+ <div class="subelement argument">
421
+ <h4>$option</h4>
422
+ <code>string</code><p>Name of the desired option</p></div>
423
+ <div class="subelement argument">
424
+ <h4>$newvalue</h4>
425
+ <code>mixed</code><p>New value for the desired option</p></div>
426
+ <h3>Returns</h3>
427
+ <div class="subelement response">
428
+ <code>boolean</code>True if the value was changed or false if the update failed</div>
429
+ </div></div>
430
+ </div>
431
+ <a name="_compose_iptc_option_list" id="_compose_iptc_option_list"></a><div class="element clickable method private _compose_iptc_option_list" data-toggle="collapse" data-target="._compose_iptc_option_list .collapse">
432
+ <h2>Compose an IPTC Options list with current selection</h2>
433
+ <pre>_compose_iptc_option_list(string $selection) : string</pre>
434
+ <div class="labels"></div>
435
+ <div class="row collapse"><div class="detail-description">
436
+ <p class="long_description"></p>
437
+ <table class="table table-bordered">
438
+ <tr>
439
+ <th>since</th>
440
+ <td>1.00</td>
441
+ </tr>
442
+ <tr>
443
+ <th>uses</th>
444
+ <td>\global\$mla_option_templates</td>
445
+ </tr>
446
+ </table>
447
+ <h3>Parameters</h3>
448
+ <div class="subelement argument">
449
+ <h4>$selection</h4>
450
+ <code>string</code><p>current selection or 'none' (default)</p>
451
+ </div>
452
+ <h3>Returns</h3>
453
+ <div class="subelement response">
454
+ <code>string</code>HTML markup with select field options</div>
455
+ </div></div>
456
+ </div>
457
+ <a name="_compose_parent_option_list" id="_compose_parent_option_list"></a><div class="element clickable method private _compose_parent_option_list" data-toggle="collapse" data-target="._compose_parent_option_list .collapse">
458
+ <h2>Compose an hierarchical taxonomy Parent options list with current selection</h2>
459
+ <pre>_compose_parent_option_list(string $taxonomy, integer $selection) : string</pre>
460
+ <div class="labels"></div>
461
+ <div class="row collapse"><div class="detail-description">
462
+ <p class="long_description"></p>
463
+ <table class="table table-bordered">
464
+ <tr>
465
+ <th>since</th>
466
+ <td>1.00</td>
467
+ </tr>
468
+ <tr>
469
+ <th>uses</th>
470
+ <td>\global\$mla_option_templates</td>
471
+ </tr>
472
+ </table>
473
+ <h3>Parameters</h3>
474
+ <div class="subelement argument">
475
+ <h4>$taxonomy</h4>
476
+ <code>string</code><p>taxonomy slug</p></div>
477
+ <div class="subelement argument">
478
+ <h4>$selection</h4>
479
+ <code>integer</code><p>current selection or 0 (zero, default)</p>
480
+ </div>
481
+ <h3>Returns</h3>
482
+ <div class="subelement response">
483
+ <code>string</code>HTML markup with select field options</div>
484
+ </div></div>
485
+ </div>
486
+ <a name="_get_custom_field_names" id="_get_custom_field_names"></a><div class="element clickable method private _get_custom_field_names" data-toggle="collapse" data-target="._get_custom_field_names .collapse">
487
+ <h2>Generate a list of all (post) Custom Field names</h2>
488
+ <pre>_get_custom_field_names() : array</pre>
489
+ <div class="labels"></div>
490
+ <div class="row collapse"><div class="detail-description">
491
+ <p class="long_description"></p>
492
+ <table class="table table-bordered"><tr>
493
+ <th>since</th>
494
+ <td>1.00</td>
495
+ </tr></table>
496
+ <h3>Returns</h3>
497
+ <div class="subelement response">
498
+ <code>array</code>Custom field names from the postmeta table</div>
499
+ </div></div>
500
+ </div>
501
+ <a name="_load_option_templates" id="_load_option_templates"></a><div class="element clickable method private _load_option_templates" data-toggle="collapse" data-target="._load_option_templates .collapse">
502
+ <h2>Load style and markup templates to $mla_templates</h2>
503
+ <pre>_load_option_templates() : void</pre>
504
+ <div class="labels"></div>
505
+ <div class="row collapse"><div class="detail-description">
506
+ <p class="long_description"></p>
507
+ <table class="table table-bordered"><tr>
508
+ <th>since</th>
509
+ <td>0.80</td>
510
+ </tr></table>
511
+ </div></div>
512
+ </div>
513
+ <a name="_update_iptc_exif_custom_mapping" id="_update_iptc_exif_custom_mapping"></a><div class="element clickable method private _update_iptc_exif_custom_mapping" data-toggle="collapse" data-target="._update_iptc_exif_custom_mapping .collapse">
514
+ <h2>Update Custom field portion of IPTC/EXIF mappings</h2>
515
+ <pre>_update_iptc_exif_custom_mapping(array $current_values, array $new_values) : array</pre>
516
+ <div class="labels"></div>
517
+ <div class="row collapse"><div class="detail-description">
518
+ <p class="long_description"></p>
519
+ <table class="table table-bordered"><tr>
520
+ <th>since</th>
521
+ <td>1.00</td>
522
+ </tr></table>
523
+ <h3>Parameters</h3>
524
+ <div class="subelement argument">
525
+ <h4>$current_values</h4>
526
+ <code>array</code><p>current iptc_exif_mapping values</p></div>
527
+ <div class="subelement argument">
528
+ <h4>$new_values</h4>
529
+ <code>array</code><p>new values</p></div>
530
+ <h3>Returns</h3>
531
+ <div class="subelement response">
532
+ <code>array</code>( 'message' => HTML message(s) reflecting results, 'values' => updated iptc_exif_mapping values, 'changed' => true if any changes detected else false )</div>
533
+ </div></div>
534
+ </div>
535
+ <a name="_update_iptc_exif_standard_mapping" id="_update_iptc_exif_standard_mapping"></a><div class="element clickable method private _update_iptc_exif_standard_mapping" data-toggle="collapse" data-target="._update_iptc_exif_standard_mapping .collapse">
536
+ <h2>Update Standard field portion of IPTC/EXIF mappings</h2>
537
+ <pre>_update_iptc_exif_standard_mapping(array $current_values, array $new_values) : array</pre>
538
+ <div class="labels"></div>
539
+ <div class="row collapse"><div class="detail-description">
540
+ <p class="long_description"></p>
541
+ <table class="table table-bordered"><tr>
542
+ <th>since</th>
543
+ <td>1.00</td>
544
+ </tr></table>
545
+ <h3>Parameters</h3>
546
+ <div class="subelement argument">
547
+ <h4>$current_values</h4>
548
+ <code>array</code><p>current iptc_exif_mapping values</p></div>
549
+ <div class="subelement argument">
550
+ <h4>$new_values</h4>
551
+ <code>array</code><p>new values</p></div>
552
+ <h3>Returns</h3>
553
+ <div class="subelement response">
554
+ <code>array</code>( 'message' => HTML message(s) reflecting results, 'values' => updated iptc_exif_mapping values, 'changed' => true if any changes detected else false )</div>
555
+ </div></div>
556
+ </div>
557
+ <a name="_update_iptc_exif_taxonomy_mapping" id="_update_iptc_exif_taxonomy_mapping"></a><div class="element clickable method private _update_iptc_exif_taxonomy_mapping" data-toggle="collapse" data-target="._update_iptc_exif_taxonomy_mapping .collapse">
558
+ <h2>Update Taxonomy term portion of IPTC/EXIF mappings</h2>
559
+ <pre>_update_iptc_exif_taxonomy_mapping(array $current_values, array $new_values) : array</pre>
560
+ <div class="labels"></div>
561
+ <div class="row collapse"><div class="detail-description">
562
+ <p class="long_description"></p>
563
+ <table class="table table-bordered"><tr>
564
+ <th>since</th>
565
+ <td>1.00</td>
566
+ </tr></table>
567
+ <h3>Parameters</h3>
568
+ <div class="subelement argument">
569
+ <h4>$current_values</h4>
570
+ <code>array</code><p>current iptc_exif_mapping values</p></div>
571
+ <div class="subelement argument">
572
+ <h4>$new_values</h4>
573
+ <code>array</code><p>new values</p></div>
574
+ <h3>Returns</h3>
575
+ <div class="subelement response">
576
+ <code>array</code>( 'message' => HTML message(s) reflecting results, 'values' => updated iptc_exif_mapping values, 'changed' => true if any changes detected else false )</div>
577
+ </div></div>
578
+ </div>
579
+ <h3>
580
+ <i class="icon-custom icon-property"></i> Properties</h3>
581
+ <a name="%24mla_option_definitions" id="$mla_option_definitions"> </a><div class="element clickable property public $mla_option_definitions" data-toggle="collapse" data-target=".$mla_option_definitions .collapse">
582
+ <h2>$mla_option_definitions defines the database options and admin page areas for setting/updating them.</h2>
583
+ <pre>$mla_option_definitions </pre>
584
+ <div class="labels"></div>
585
+ <div class="row collapse"><div class="detail-description"><p class="long_description"><p>Each option is defined by an array with the following elements:</p>
586
+
587
+ <p>array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)</p>
588
+
589
+ <p>tab => Settings page tab id for the option
590
+ name => admin page label or heading text
591
+ type => 'checkbox', 'header', 'radio', 'select', 'text', 'textarea', 'custom', 'hidden'
592
+ std => default value
593
+ help => help text
594
+ size => text size, default 40
595
+ cols => textbox columns, default 90
596
+ rows => textbox rows, default 5
597
+ options => array of radio or select option values
598
+ texts => array of radio or select option display texts
599
+ render => rendering function for 'custom' options. Usage:
600
+ $options_list .= ['render']( 'render', $key, $value );
601
+ update => update function for 'custom' options; returns nothing. Usage:
602
+ $message = ['update']( 'update', $key, $value, $_REQUEST );
603
+ delete => delete function for 'custom' options; returns nothing. Usage:
604
+ $message = ['delete']( 'delete', $key, $value, $_REQUEST );
605
+ reset => reset function for 'custom' options; returns nothing. Usage:
606
+ $message = ['reset']( 'reset', $key, $value, $_REQUEST );</p></p></div></div>
607
+ </div>
608
+ <a name="%24process_featured_in" id="$process_featured_in"> </a><div class="element clickable property public $process_featured_in" data-toggle="collapse" data-target=".$process_featured_in .collapse">
609
+ <h2>Option setting for "Featured in" reporting</h2>
610
+ <pre>$process_featured_in : boolean</pre>
611
+ <div class="labels"></div>
612
+ <div class="row collapse"><div class="detail-description">
613
+ <p class="long_description"><p>This setting is false if the "Featured in" database access setting is "disabled", else true.</p></p>
614
+ <table class="table table-bordered"><tr>
615
+ <th>since</th>
616
+ <td>1.00</td>
617
+ </tr></table>
618
+ </div></div>
619
+ </div>
620
+ <a name="%24process_gallery_in" id="$process_gallery_in"> </a><div class="element clickable property public $process_gallery_in" data-toggle="collapse" data-target=".$process_gallery_in .collapse">
621
+ <h2>Option setting for "Gallery in" reporting</h2>
622
+ <pre>$process_gallery_in : boolean</pre>
623
+ <div class="labels"></div>
624
+ <div class="row collapse"><div class="detail-description">
625
+ <p class="long_description"><p>This setting is false if the "Gallery in" database access setting is "disabled", else true.</p></p>
626
+ <table class="table table-bordered"><tr>
627
+ <th>since</th>
628
+ <td>1.00</td>
629
+ </tr></table>
630
+ </div></div>
631
+ </div>
632
+ <a name="%24process_inserted_in" id="$process_inserted_in"> </a><div class="element clickable property public $process_inserted_in" data-toggle="collapse" data-target=".$process_inserted_in .collapse">
633
+ <h2>Option setting for "Inserted in" reporting</h2>
634
+ <pre>$process_inserted_in : boolean</pre>
635
+ <div class="labels"></div>
636
+ <div class="row collapse"><div class="detail-description">
637
+ <p class="long_description"><p>This setting is false if the "Inserted in" database access setting is "disabled", else true.</p></p>
638
+ <table class="table table-bordered"><tr>
639
+ <th>since</th>
640
+ <td>1.00</td>
641
+ </tr></table>
642
+ </div></div>
643
+ </div>
644
+ <a name="%24process_mla_gallery_in" id="$process_mla_gallery_in"> </a><div class="element clickable property public $process_mla_gallery_in" data-toggle="collapse" data-target=".$process_mla_gallery_in .collapse">
645
+ <h2>Option setting for "MLA Gallery in" reporting</h2>
646
+ <pre>$process_mla_gallery_in : boolean</pre>
647
+ <div class="labels"></div>
648
+ <div class="row collapse"><div class="detail-description">
649
+ <p class="long_description"><p>This setting is false if the "MLA Gallery in" database access setting is "disabled", else true.</p></p>
650
+ <table class="table table-bordered"><tr>
651
+ <th>since</th>
652
+ <td>1.00</td>
653
+ </tr></table>
654
+ </div></div>
655
+ </div>
656
+ <a name="%24mla_option_templates" id="$mla_option_templates"> </a><div class="element clickable property private $mla_option_templates" data-toggle="collapse" data-target=".$mla_option_templates .collapse">
657
+ <h2>Style and Markup templates</h2>
658
+ <pre>$mla_option_templates : array</pre>
659
+ <div class="labels"></div>
660
+ <div class="row collapse"><div class="detail-description">
661
+ <p class="long_description"></p>
662
+ <table class="table table-bordered"><tr>
663
+ <th>since</th>
664
+ <td>0.80</td>
665
+ </tr></table>
666
+ </div></div>
667
+ </div>
668
+ <h3>
669
+ <i class="icon-custom icon-constant"></i> Constants</h3>
670
+ <a name="MLA_FEATURED_IN_TUNING" id="MLA_FEATURED_IN_TUNING"> </a><div class="element clickable constant MLA_FEATURED_IN_TUNING" data-toggle="collapse" data-target=".MLA_FEATURED_IN_TUNING .collapse">
671
+ <h2>Provides a unique name for a database tuning option</h2>
672
+ <pre>MLA_FEATURED_IN_TUNING </pre>
673
+ <div class="labels"></div>
674
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
675
+ </div>
676
+ <a name="MLA_GALLERY_IN_TUNING" id="MLA_GALLERY_IN_TUNING"> </a><div class="element clickable constant MLA_GALLERY_IN_TUNING" data-toggle="collapse" data-target=".MLA_GALLERY_IN_TUNING .collapse">
677
+ <h2>Provides a unique name for a database tuning option</h2>
678
+ <pre>MLA_GALLERY_IN_TUNING </pre>
679
+ <div class="labels"></div>
680
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
681
+ </div>
682
+ <a name="MLA_INSERTED_IN_TUNING" id="MLA_INSERTED_IN_TUNING"> </a><div class="element clickable constant MLA_INSERTED_IN_TUNING" data-toggle="collapse" data-target=".MLA_INSERTED_IN_TUNING .collapse">
683
+ <h2>Provides a unique name for a database tuning option</h2>
684
+ <pre>MLA_INSERTED_IN_TUNING </pre>
685
+ <div class="labels"></div>
686
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
687
+ </div>
688
+ <a name="MLA_MLA_GALLERY_IN_TUNING" id="MLA_MLA_GALLERY_IN_TUNING"> </a><div class="element clickable constant MLA_MLA_GALLERY_IN_TUNING" data-toggle="collapse" data-target=".MLA_MLA_GALLERY_IN_TUNING .collapse">
689
+ <h2>Provides a unique name for a database tuning option</h2>
690
+ <pre>MLA_MLA_GALLERY_IN_TUNING </pre>
691
+ <div class="labels"></div>
692
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
693
+ </div>
694
+ <a name="MLA_NEW_CUSTOM_FIELD" id="MLA_NEW_CUSTOM_FIELD"> </a><div class="element clickable constant MLA_NEW_CUSTOM_FIELD" data-toggle="collapse" data-target=".MLA_NEW_CUSTOM_FIELD .collapse">
695
+ <h2>Provides a unique name for the Custom Field "new field" key</h2>
696
+ <pre>MLA_NEW_CUSTOM_FIELD </pre>
697
+ <div class="labels"></div>
698
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
699
+ </div>
700
+ <a name="MLA_VERSION_OPTION" id="MLA_VERSION_OPTION"> </a><div class="element clickable constant MLA_VERSION_OPTION" data-toggle="collapse" data-target=".MLA_VERSION_OPTION .collapse">
701
+ <h2>Provides a unique name for the current version option</h2>
702
+ <pre>MLA_VERSION_OPTION </pre>
703
+ <div class="labels"></div>
704
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
705
+ </div>
706
+ </div>
707
+ </div>
708
+ </div>
709
+ </div>
710
+ <div class="row"><footer class="span12">
711
+ Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
712
+ Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
713
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
714
+ </div>
715
+ </body>
716
+ </html>
phpDocs/classes/MLASettings.html CHANGED
@@ -52,10 +52,6 @@
52
  <ul class="side-nav nav nav-list">
53
  <li class="nav-header">
54
  <i class="icon-custom icon-method"></i> Methods</li>
55
- <li class="method public "><a href="#_get_markup_templates" title="_get_markup_templates :: Get ALL markup templates from $mla_templates, including 'default'"><span class="description">Get ALL markup templates from $mla_templates, including 'default'</span><pre>_get_markup_templates()</pre></a></li>
56
- <li class="method public "><a href="#_get_style_templates" title="_get_style_templates :: Get ALL style templates from $mla_templates, including 'default'"><span class="description">Get ALL style templates from $mla_templates, including 'default'</span><pre>_get_style_templates()</pre></a></li>
57
- <li class="method public "><a href="#_put_markup_templates" title="_put_markup_templates :: Put user-defined markup templates to $mla_templates and database"><span class="description">Put user-defined markup templates to $mla_templates and database</span><pre>_put_markup_templates()</pre></a></li>
58
- <li class="method public "><a href="#_put_style_templates" title="_put_style_templates :: Put user-defined style templates to $mla_templates and database"><span class="description">Put user-defined style templates to $mla_templates and database</span><pre>_put_style_templates()</pre></a></li>
59
  <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
60
  <li class="method public "><a href="#mla_activation_hook" title="mla_activation_hook :: Perform one-time actions on plugin activation"><span class="description">Perform one-time actions on plugin activation</span><pre>mla_activation_hook()</pre></a></li>
61
  <li class="method public "><a href="#mla_add_plugin_settings_link" title='mla_add_plugin_settings_link :: Add the "Settings" link to the MLA entry in the Plugins section'><span class="description">Add the "Settings" link to the MLA entry in the Plugins section</span><pre>mla_add_plugin_settings_link()</pre></a></li>
@@ -63,43 +59,42 @@
63
  add settings link in the Plugins section entry for MLA.'><span class="description">Add settings page in the "Settings" section,
64
  add settings link in the Plugins section entry for MLA.</span><pre>mla_admin_menu_action()</pre></a></li>
65
  <li class="method public "><a href="#mla_deactivation_hook" title="mla_deactivation_hook :: Perform one-time actions on plugin deactivation"><span class="description">Perform one-time actions on plugin deactivation</span><pre>mla_deactivation_hook()</pre></a></li>
66
- <li class="method public "><a href="#mla_delete_option" title="mla_delete_option :: Delete the stored value of a defined MLA option"><span class="description">Delete the stored value of a defined MLA option</span><pre>mla_delete_option()</pre></a></li>
67
- <li class="method public "><a href="#mla_fetch_gallery_template" title="mla_fetch_gallery_template :: Fetch style or markup template from $mla_templates"><span class="description">Fetch style or markup template from $mla_templates</span><pre>mla_fetch_gallery_template()</pre></a></li>
68
- <li class="method public "><a href="#mla_get_option" title="mla_get_option :: Return the stored value or default value of a defined MLA option"><span class="description">Return the stored value or default value of a defined MLA option</span><pre>mla_get_option()</pre></a></li>
69
  <li class="method public "><a href="#mla_render_settings_page" title='mla_render_settings_page :: Render (echo) the "Media Library Assistant" subpage in the Settings section'><span class="description">Render (echo) the "Media Library Assistant" subpage in the Settings section</span><pre>mla_render_settings_page()</pre></a></li>
70
- <li class="method public "><a href="#mla_taxonomy_support" title="mla_taxonomy_support :: Determine MLA support for a taxonomy, handling the special case where the
71
- settings are being updated or reset."><span class="description">Determine MLA support for a taxonomy, handling the special case where the
72
- settings are being updated or reset.</span><pre>mla_taxonomy_support()</pre></a></li>
73
- <li class="method public "><a href="#mla_update_option" title="mla_update_option :: Add or update the stored value of a defined MLA option"><span class="description">Add or update the stored value of a defined MLA option</span><pre>mla_update_option()</pre></a></li>
74
  <li class="nav-header private">» Private</li>
75
  <li class="method private "><a href="#_compose_documentation_tab" title="_compose_documentation_tab :: Compose the Documentation tab content for the Settings subpage"><span class="description">Compose the Documentation tab content for the Settings subpage</span><pre>_compose_documentation_tab()</pre></a></li>
76
  <li class="method private "><a href="#_compose_general_tab" title="_compose_general_tab :: Compose the General tab content for the Settings subpage"><span class="description">Compose the General tab content for the Settings subpage</span><pre>_compose_general_tab()</pre></a></li>
 
77
  <li class="method private "><a href="#_compose_mla_gallery_tab" title="_compose_mla_gallery_tab :: Compose the MLA Gallery tab content for the Settings subpage"><span class="description">Compose the MLA Gallery tab content for the Settings subpage</span><pre>_compose_mla_gallery_tab()</pre></a></li>
78
  <li class="method private "><a href="#_compose_option_row" title="_compose_option_row :: Compose the table row for a single MLA option"><span class="description">Compose the table row for a single MLA option</span><pre>_compose_option_row()</pre></a></li>
79
  <li class="method private "><a href="#_compose_settings_tabs" title="_compose_settings_tabs :: Compose the navigation tabs for the Settings subpage"><span class="description">Compose the navigation tabs for the Settings subpage</span><pre>_compose_settings_tabs()</pre></a></li>
80
  <li class="method private "><a href="#_create_alt_text_view" title="_create_alt_text_view :: Add a view to the database to support sorting the listing on 'ALT Text'"><span class="description">Add a view to the database to support sorting the listing on 'ALT Text'</span><pre>_create_alt_text_view()</pre></a></li>
81
- <li class="method private "><a href="#_load_templates" title="_load_templates :: Load style and markup templates to $mla_templates"><span class="description">Load style and markup templates to $mla_templates</span><pre>_load_templates()</pre></a></li>
 
 
 
 
 
 
 
 
82
  <li class="method private "><a href="#_reset_general_settings" title="_reset_general_settings :: Delete saved settings, restoring default values"><span class="description">Delete saved settings, restoring default values</span><pre>_reset_general_settings()</pre></a></li>
83
  <li class="method private "><a href="#_save_gallery_settings" title="_save_gallery_settings :: Save MLA Gallery settings to the options table"><span class="description">Save MLA Gallery settings to the options table</span><pre>_save_gallery_settings()</pre></a></li>
84
  <li class="method private "><a href="#_save_general_settings" title="_save_general_settings :: Save General settings to the options table"><span class="description">Save General settings to the options table</span><pre>_save_general_settings()</pre></a></li>
85
- <li class="method private "><a href="#_taxonomy_handler" title="_taxonomy_handler :: Render and manage other taxonomy support options, e.g., Categories and Post Tags"><span class="description">Render and manage other taxonomy support options, e.g., Categories and Post Tags</span><pre>_taxonomy_handler()</pre></a></li>
86
  <li class="method private "><a href="#_update_option_row" title="_update_option_row :: Update or delete a single MLA option value"><span class="description">Update or delete a single MLA option value</span><pre>_update_option_row()</pre></a></li>
87
  <li class="method private "><a href="#_version_upgrade" title="_version_upgrade :: Database and option update check, for installing new versions"><span class="description">Database and option update check, for installing new versions</span><pre>_version_upgrade()</pre></a></li>
88
  <li class="nav-header">
89
  <i class="icon-custom icon-property"></i> Properties</li>
90
  <li class="property public "><a href="#%24mla_alt_text_view" title="$mla_alt_text_view :: Provides a unique name for the ALT Text SQL VIEW"><span class="description">Provides a unique name for the ALT Text SQL VIEW</span><pre>$mla_alt_text_view</pre></a></li>
91
  <li class="nav-header private">» Private</li>
92
- <li class="property private "><a href="#%24mla_options" title="$mla_options :: $mla_options defines the database options and admin page areas for setting/updating them."><span class="description">$mla_options defines the database options and admin page areas for setting/updating them.</span><pre>$mla_options</pre></a></li>
93
  <li class="property private "><a href="#%24mla_tablist" title="$mla_tablist :: Definitions for Settings page tab ids, titles and handlers
94
  Each tab is defined by an array with the following elements:"><span class="description">Definitions for Settings page tab ids, titles and handlers
95
  Each tab is defined by an array with the following elements:</span><pre>$mla_tablist</pre></a></li>
96
- <li class="property private "><a href="#%24mla_template_array" title="$mla_template_array :: Style and Markup templates"><span class="description">Style and Markup templates</span><pre>$mla_template_array</pre></a></li>
97
  <li class="property private "><a href="#%24page_template_array" title="$page_template_array :: Template file for the Settings page(s) and parts"><span class="description">Template file for the Settings page(s) and parts</span><pre>$page_template_array</pre></a></li>
98
  <li class="nav-header">
99
  <i class="icon-custom icon-constant"></i> Constants</li>
100
  <li class="constant "><a href="#MLA_ALT_TEXT_VIEW_SUFFIX" title="MLA_ALT_TEXT_VIEW_SUFFIX :: Provides a unique suffix for the ALT Text SQL VIEW"><span class="description">Provides a unique suffix for the ALT Text SQL VIEW</span><pre>MLA_ALT_TEXT_VIEW_SUFFIX</pre></a></li>
101
  <li class="constant "><a href="#MLA_SETTINGS_SLUG" title="MLA_SETTINGS_SLUG :: Provides a unique name for the settings page"><span class="description">Provides a unique name for the settings page</span><pre>MLA_SETTINGS_SLUG</pre></a></li>
102
- <li class="constant "><a href="#MLA_VERSION_OPTION" title="MLA_VERSION_OPTION :: Provides a unique name for the current version option"><span class="description">Provides a unique name for the current version option</span><pre>MLA_VERSION_OPTION</pre></a></li>
103
  </ul>
104
  </div>
105
  <div class="span8">
@@ -113,8 +108,7 @@ Each tab is defined by an array with the following elements:</span><pre>$mla_tab
113
  </li>
114
  </ul>
115
  <div href="../classes/MLASettings.html" class="element class">
116
- <p class="short_description">Class MLA (Media Library Assistant) Settings manages the plugin option settings
117
- and provides the settings page to edit them.</p>
118
  <div class="details">
119
  <p class="long_description"></p>
120
  <table class="table table-bordered">
@@ -129,76 +123,6 @@ and provides the settings page to edit them.</p>
129
  </table>
130
  <h3>
131
  <i class="icon-custom icon-method"></i> Methods</h3>
132
- <a name="_get_markup_templates" id="_get_markup_templates"></a><div class="element clickable method public _get_markup_templates" data-toggle="collapse" data-target="._get_markup_templates .collapse">
133
- <h2>Get ALL markup templates from $mla_templates, including 'default'</h2>
134
- <pre>_get_markup_templates() : array | null</pre>
135
- <div class="labels"></div>
136
- <div class="row collapse"><div class="detail-description">
137
- <p class="long_description"></p>
138
- <table class="table table-bordered"><tr>
139
- <th>since</th>
140
- <td>0.80</td>
141
- </tr></table>
142
- <h3>Returns</h3>
143
- <div class="subelement response">
144
- <code>array</code><code>null</code>name => value for all markup templates or null if no templates</div>
145
- </div></div>
146
- </div>
147
- <a name="_get_style_templates" id="_get_style_templates"></a><div class="element clickable method public _get_style_templates" data-toggle="collapse" data-target="._get_style_templates .collapse">
148
- <h2>Get ALL style templates from $mla_templates, including 'default'</h2>
149
- <pre>_get_style_templates() : array | null</pre>
150
- <div class="labels"></div>
151
- <div class="row collapse"><div class="detail-description">
152
- <p class="long_description"></p>
153
- <table class="table table-bordered"><tr>
154
- <th>since</th>
155
- <td>0.80</td>
156
- </tr></table>
157
- <h3>Returns</h3>
158
- <div class="subelement response">
159
- <code>array</code><code>null</code>name => value for all style templates or null if no templates</div>
160
- </div></div>
161
- </div>
162
- <a name="_put_markup_templates" id="_put_markup_templates"></a><div class="element clickable method public _put_markup_templates" data-toggle="collapse" data-target="._put_markup_templates .collapse">
163
- <h2>Put user-defined markup templates to $mla_templates and database</h2>
164
- <pre>_put_markup_templates(array $templates) : boolean</pre>
165
- <div class="labels"></div>
166
- <div class="row collapse"><div class="detail-description">
167
- <p class="long_description"></p>
168
- <table class="table table-bordered"><tr>
169
- <th>since</th>
170
- <td>0.80</td>
171
- </tr></table>
172
- <h3>Parameters</h3>
173
- <div class="subelement argument">
174
- <h4>$templates</h4>
175
- <code>array</code><p>name => value for all user-defined markup templates</p>
176
- </div>
177
- <h3>Returns</h3>
178
- <div class="subelement response">
179
- <code>boolean</code>true if success, false if failure</div>
180
- </div></div>
181
- </div>
182
- <a name="_put_style_templates" id="_put_style_templates"></a><div class="element clickable method public _put_style_templates" data-toggle="collapse" data-target="._put_style_templates .collapse">
183
- <h2>Put user-defined style templates to $mla_templates and database</h2>
184
- <pre>_put_style_templates(array $templates) : boolean</pre>
185
- <div class="labels"></div>
186
- <div class="row collapse"><div class="detail-description">
187
- <p class="long_description"></p>
188
- <table class="table table-bordered"><tr>
189
- <th>since</th>
190
- <td>0.80</td>
191
- </tr></table>
192
- <h3>Parameters</h3>
193
- <div class="subelement argument">
194
- <h4>$templates</h4>
195
- <code>array</code><p>name => value for all user-defined style templates</p>
196
- </div>
197
- <h3>Returns</h3>
198
- <div class="subelement response">
199
- <code>boolean</code>true if success, false if failure</div>
200
- </div></div>
201
- </div>
202
  <a name="initialize" id="initialize"></a><div class="element clickable method public initialize" data-toggle="collapse" data-target=".initialize .collapse">
203
  <h2>Initialization function, similar to __construct()</h2>
204
  <pre>initialize() : void</pre>
@@ -271,67 +195,6 @@ add settings link in the Plugins section entry for MLA.</h2>
271
  </tr></table>
272
  </div></div>
273
  </div>
274
- <a name="mla_delete_option" id="mla_delete_option"></a><div class="element clickable method public mla_delete_option" data-toggle="collapse" data-target=".mla_delete_option .collapse">
275
- <h2>Delete the stored value of a defined MLA option</h2>
276
- <pre>mla_delete_option(string $option) : boolean</pre>
277
- <div class="labels"></div>
278
- <div class="row collapse"><div class="detail-description">
279
- <p class="long_description"></p>
280
- <table class="table table-bordered"><tr>
281
- <th>since</th>
282
- <td>0.1</td>
283
- </tr></table>
284
- <h3>Parameters</h3>
285
- <div class="subelement argument">
286
- <h4>$option</h4>
287
- <code>string</code><p>Name of the desired option</p></div>
288
- <h3>Returns</h3>
289
- <div class="subelement response">
290
- <code>boolean</code>True if the option was deleted, otherwise false</div>
291
- </div></div>
292
- </div>
293
- <a name="mla_fetch_gallery_template" id="mla_fetch_gallery_template"></a><div class="element clickable method public mla_fetch_gallery_template" data-toggle="collapse" data-target=".mla_fetch_gallery_template .collapse">
294
- <h2>Fetch style or markup template from $mla_templates</h2>
295
- <pre>mla_fetch_gallery_template(string $key, string $type) : string | boolean | null</pre>
296
- <div class="labels"></div>
297
- <div class="row collapse"><div class="detail-description">
298
- <p class="long_description"></p>
299
- <table class="table table-bordered"><tr>
300
- <th>since</th>
301
- <td>0.80</td>
302
- </tr></table>
303
- <h3>Parameters</h3>
304
- <div class="subelement argument">
305
- <h4>$key</h4>
306
- <code>string</code><p>Template name</p></div>
307
- <div class="subelement argument">
308
- <h4>$type</h4>
309
- <code>string</code><p>Template type; 'style' (default) or 'markup'</p>
310
- </div>
311
- <h3>Returns</h3>
312
- <div class="subelement response">
313
- <code>string</code><code>boolean</code><code>null</code>requested template, false if not found or null if no templates</div>
314
- </div></div>
315
- </div>
316
- <a name="mla_get_option" id="mla_get_option"></a><div class="element clickable method public mla_get_option" data-toggle="collapse" data-target=".mla_get_option .collapse">
317
- <h2>Return the stored value or default value of a defined MLA option</h2>
318
- <pre>mla_get_option(string $option) : mixed</pre>
319
- <div class="labels"></div>
320
- <div class="row collapse"><div class="detail-description">
321
- <p class="long_description"></p>
322
- <table class="table table-bordered"><tr>
323
- <th>since</th>
324
- <td>0.1</td>
325
- </tr></table>
326
- <h3>Parameters</h3>
327
- <div class="subelement argument">
328
- <h4>$option</h4>
329
- <code>string</code><p>Name of the desired option</p></div>
330
- <h3>Returns</h3>
331
- <div class="subelement response">
332
- <code>mixed</code>Value(s) for the option or false if the option is not a defined MLA option</div>
333
- </div></div>
334
- </div>
335
  <a name="mla_render_settings_page" id="mla_render_settings_page"></a><div class="element clickable method public mla_render_settings_page" data-toggle="collapse" data-target=".mla_render_settings_page .collapse">
336
  <h2>Render (echo) the "Media Library Assistant" subpage in the Settings section</h2>
337
  <pre>mla_render_settings_page() : void</pre>
@@ -344,55 +207,30 @@ add settings link in the Plugins section entry for MLA.</h2>
344
  </tr></table>
345
  </div></div>
346
  </div>
347
- <a name="mla_taxonomy_support" id="mla_taxonomy_support"></a><div class="element clickable method public mla_taxonomy_support" data-toggle="collapse" data-target=".mla_taxonomy_support .collapse">
348
- <h2>Determine MLA support for a taxonomy, handling the special case where the
349
- settings are being updated or reset.</h2>
350
- <pre>mla_taxonomy_support(string $tax_name, string $support_type) : boolean | string</pre>
351
- <div class="labels"></div>
352
- <div class="row collapse"><div class="detail-description">
353
- <p class="long_description"></p>
354
- <table class="table table-bordered"><tr>
355
- <th>since</th>
356
- <td>0.30</td>
357
- </tr></table>
358
- <h3>Parameters</h3>
359
- <div class="subelement argument">
360
- <h4>$tax_name</h4>
361
- <code>string</code><p>Taxonomy name, e.g., attachment_category</p></div>
362
- <div class="subelement argument">
363
- <h4>$support_type</h4>
364
- <code>string</code><p>Optional. 'support' (default), 'quick-edit' or 'filter'</p>
365
- </div>
366
- <h3>Returns</h3>
367
- <div class="subelement response">
368
- <code>boolean</code><code>string</code>true if the taxonomy is supported in this way else false string if $tax_name is '' and $support_type is 'filter', returns the taxonomy to filter by</div>
369
- </div></div>
370
- </div>
371
- <a name="mla_update_option" id="mla_update_option"></a><div class="element clickable method public mla_update_option" data-toggle="collapse" data-target=".mla_update_option .collapse">
372
- <h2>Add or update the stored value of a defined MLA option</h2>
373
- <pre>mla_update_option(string $option, mixed $newvalue) : boolean</pre>
374
  <div class="labels"></div>
375
  <div class="row collapse"><div class="detail-description">
376
  <p class="long_description"></p>
377
- <table class="table table-bordered"><tr>
 
378
  <th>since</th>
379
- <td>0.1</td>
380
- </tr></table>
381
- <h3>Parameters</h3>
382
- <div class="subelement argument">
383
- <h4>$option</h4>
384
- <code>string</code><p>Name of the desired option</p></div>
385
- <div class="subelement argument">
386
- <h4>$newvalue</h4>
387
- <code>mixed</code><p>New value for the desired option</p></div>
388
  <h3>Returns</h3>
389
  <div class="subelement response">
390
- <code>boolean</code>True if the value was changed or false if the update failed</div>
391
  </div></div>
392
  </div>
393
- <a name="_compose_documentation_tab" id="_compose_documentation_tab"></a><div class="element clickable method private _compose_documentation_tab" data-toggle="collapse" data-target="._compose_documentation_tab .collapse">
394
- <h2>Compose the Documentation tab content for the Settings subpage</h2>
395
- <pre>_compose_documentation_tab() : array</pre>
396
  <div class="labels"></div>
397
  <div class="row collapse"><div class="detail-description">
398
  <p class="long_description"></p>
@@ -411,16 +249,16 @@ settings are being updated or reset.</h2>
411
  <code>array</code>'message' => status/error messages, 'body' => tab content</div>
412
  </div></div>
413
  </div>
414
- <a name="_compose_general_tab" id="_compose_general_tab"></a><div class="element clickable method private _compose_general_tab" data-toggle="collapse" data-target="._compose_general_tab .collapse">
415
- <h2>Compose the General tab content for the Settings subpage</h2>
416
- <pre>_compose_general_tab() : array</pre>
417
  <div class="labels"></div>
418
  <div class="row collapse"><div class="detail-description">
419
  <p class="long_description"></p>
420
  <table class="table table-bordered">
421
  <tr>
422
  <th>since</th>
423
- <td>0.80</td>
424
  </tr>
425
  <tr>
426
  <th>uses</th>
@@ -522,16 +360,70 @@ does not call the activation hook.</p></p>
522
  </tr></table>
523
  </div></div>
524
  </div>
525
- <a name="_load_templates" id="_load_templates"></a><div class="element clickable method private _load_templates" data-toggle="collapse" data-target="._load_templates .collapse">
526
- <h2>Load style and markup templates to $mla_templates</h2>
527
- <pre>_load_templates() : void</pre>
 
528
  <div class="labels"></div>
529
  <div class="row collapse"><div class="detail-description">
530
  <p class="long_description"></p>
531
- <table class="table table-bordered"><tr>
 
532
  <th>since</th>
533
- <td>0.80</td>
534
- </tr></table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
  </div></div>
536
  </div>
537
  <a name="_reset_general_settings" id="_reset_general_settings"></a><div class="element clickable method private _reset_general_settings" data-toggle="collapse" data-target="._reset_general_settings .collapse">
@@ -591,41 +483,25 @@ does not call the activation hook.</p></p>
591
  <code>array</code>Message(s) reflecting the results of the operation</div>
592
  </div></div>
593
  </div>
594
- <a name="_taxonomy_handler" id="_taxonomy_handler"></a><div class="element clickable method private _taxonomy_handler" data-toggle="collapse" data-target="._taxonomy_handler .collapse">
595
- <h2>Render and manage other taxonomy support options, e.g., Categories and Post Tags</h2>
596
- <pre>_taxonomy_handler(string $action, string $key, array $value, array $args) : string</pre>
597
  <div class="labels"></div>
598
  <div class="row collapse"><div class="detail-description">
599
  <p class="long_description"></p>
600
  <table class="table table-bordered">
601
  <tr>
602
  <th>since</th>
603
- <td>0.30</td>
604
  </tr>
605
  <tr>
606
  <th>uses</th>
607
- <td>\global\$page_template_array</td>
608
  </tr>
609
  </table>
610
- <h3>Parameters</h3>
611
- <div class="subelement argument">
612
- <h4>$action</h4>
613
- <code>string</code><p>'render', 'update', 'delete', or 'reset'</p>
614
- </div>
615
- <div class="subelement argument">
616
- <h4>$key</h4>
617
- <code>string</code><p>option name, e.g., 'taxonomy_support'</p>
618
- </div>
619
- <div class="subelement argument">
620
- <h4>$value</h4>
621
- <code>array</code><p>option parameters</p></div>
622
- <div class="subelement argument">
623
- <h4>$args</h4>
624
- <code>array</code><p>Optional. null (default) for 'render' else $_REQUEST</p>
625
- </div>
626
  <h3>Returns</h3>
627
  <div class="subelement response">
628
- <code>string</code>HTML table row markup for 'render' else message(s) reflecting the results of the operation.</div>
629
  </div></div>
630
  </div>
631
  <a name="_update_option_row" id="_update_option_row"></a><div class="element clickable method private _update_option_row" data-toggle="collapse" data-target="._update_option_row .collapse">
@@ -684,33 +560,6 @@ does not call the activation hook.</p></p>
684
  </tr></table>
685
  </div></div>
686
  </div>
687
- <a name="%24mla_options" id="$mla_options"> </a><div class="element clickable property private $mla_options" data-toggle="collapse" data-target=".$mla_options .collapse">
688
- <h2>$mla_options defines the database options and admin page areas for setting/updating them.</h2>
689
- <pre>$mla_options </pre>
690
- <div class="labels"></div>
691
- <div class="row collapse"><div class="detail-description"><p class="long_description"><p>Each option is defined by an array with the following elements:</p>
692
-
693
- <p>array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)</p>
694
-
695
- <p>tab => Settings page tab id for the option
696
- name => admin page label or heading text
697
- type => 'checkbox', 'header', 'radio', 'select', 'text', 'textarea', 'custom', 'hidden'
698
- std => default value
699
- help => help text
700
- size => text size, default 40
701
- cols => textbox columns, default 90
702
- rows => textbox rows, default 5
703
- options => array of radio or select option values
704
- texts => array of radio or select option display texts
705
- render => rendering function for 'custom' options. Usage:
706
- $options_list .= ['render']( 'render', $key, $value );
707
- update => update function for 'custom' options; returns nothing. Usage:
708
- $message = ['update']( 'update', $key, $value, $_REQUEST );
709
- delete => delete function for 'custom' options; returns nothing. Usage:
710
- $message = ['delete']( 'delete', $key, $value, $_REQUEST );
711
- reset => reset function for 'custom' options; returns nothing. Usage:
712
- $message = ['reset']( 'reset', $key, $value, $_REQUEST );</p></p></div></div>
713
- </div>
714
  <a name="%24mla_tablist" id="$mla_tablist"> </a><div class="element clickable property private $mla_tablist" data-toggle="collapse" data-target=".$mla_tablist .collapse">
715
  <h2>Definitions for Settings page tab ids, titles and handlers
716
  Each tab is defined by an array with the following elements:</h2>
@@ -728,18 +577,6 @@ render => rendering function for tab messages and content. Usage:
728
  </tr></table>
729
  </div></div>
730
  </div>
731
- <a name="%24mla_template_array" id="$mla_template_array"> </a><div class="element clickable property private $mla_template_array" data-toggle="collapse" data-target=".$mla_template_array .collapse">
732
- <h2>Style and Markup templates</h2>
733
- <pre>$mla_template_array : array</pre>
734
- <div class="labels"></div>
735
- <div class="row collapse"><div class="detail-description">
736
- <p class="long_description"></p>
737
- <table class="table table-bordered"><tr>
738
- <th>since</th>
739
- <td>0.80</td>
740
- </tr></table>
741
- </div></div>
742
- </div>
743
  <a name="%24page_template_array" id="$page_template_array"> </a><div class="element clickable property private $page_template_array" data-toggle="collapse" data-target=".$page_template_array .collapse">
744
  <h2>Template file for the Settings page(s) and parts</h2>
745
  <pre>$page_template_array : array</pre>
@@ -767,12 +604,6 @@ each page load and cached for subsequent use.</p></p>
767
  <div class="labels"></div>
768
  <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
769
  </div>
770
- <a name="MLA_VERSION_OPTION" id="MLA_VERSION_OPTION"> </a><div class="element clickable constant MLA_VERSION_OPTION" data-toggle="collapse" data-target=".MLA_VERSION_OPTION .collapse">
771
- <h2>Provides a unique name for the current version option</h2>
772
- <pre>MLA_VERSION_OPTION </pre>
773
- <div class="labels"></div>
774
- <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
775
- </div>
776
  </div>
777
  </div>
778
  </div>
@@ -780,7 +611,7 @@ each page load and cached for subsequent use.</p></p>
780
  <div class="row"><footer class="span12">
781
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
782
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
783
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
784
  </div>
785
  </body>
786
  </html>
52
  <ul class="side-nav nav nav-list">
53
  <li class="nav-header">
54
  <i class="icon-custom icon-method"></i> Methods</li>
 
 
 
 
55
  <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
56
  <li class="method public "><a href="#mla_activation_hook" title="mla_activation_hook :: Perform one-time actions on plugin activation"><span class="description">Perform one-time actions on plugin activation</span><pre>mla_activation_hook()</pre></a></li>
57
  <li class="method public "><a href="#mla_add_plugin_settings_link" title='mla_add_plugin_settings_link :: Add the "Settings" link to the MLA entry in the Plugins section'><span class="description">Add the "Settings" link to the MLA entry in the Plugins section</span><pre>mla_add_plugin_settings_link()</pre></a></li>
59
  add settings link in the Plugins section entry for MLA.'><span class="description">Add settings page in the "Settings" section,
60
  add settings link in the Plugins section entry for MLA.</span><pre>mla_admin_menu_action()</pre></a></li>
61
  <li class="method public "><a href="#mla_deactivation_hook" title="mla_deactivation_hook :: Perform one-time actions on plugin deactivation"><span class="description">Perform one-time actions on plugin deactivation</span><pre>mla_deactivation_hook()</pre></a></li>
 
 
 
62
  <li class="method public "><a href="#mla_render_settings_page" title='mla_render_settings_page :: Render (echo) the "Media Library Assistant" subpage in the Settings section'><span class="description">Render (echo) the "Media Library Assistant" subpage in the Settings section</span><pre>mla_render_settings_page()</pre></a></li>
 
 
 
 
63
  <li class="nav-header private">» Private</li>
64
  <li class="method private "><a href="#_compose_documentation_tab" title="_compose_documentation_tab :: Compose the Documentation tab content for the Settings subpage"><span class="description">Compose the Documentation tab content for the Settings subpage</span><pre>_compose_documentation_tab()</pre></a></li>
65
  <li class="method private "><a href="#_compose_general_tab" title="_compose_general_tab :: Compose the General tab content for the Settings subpage"><span class="description">Compose the General tab content for the Settings subpage</span><pre>_compose_general_tab()</pre></a></li>
66
+ <li class="method private "><a href="#_compose_iptc_exif_tab" title="_compose_iptc_exif_tab :: Compose the IPTC/EXIF tab content for the Settings subpage"><span class="description">Compose the IPTC/EXIF tab content for the Settings subpage</span><pre>_compose_iptc_exif_tab()</pre></a></li>
67
  <li class="method private "><a href="#_compose_mla_gallery_tab" title="_compose_mla_gallery_tab :: Compose the MLA Gallery tab content for the Settings subpage"><span class="description">Compose the MLA Gallery tab content for the Settings subpage</span><pre>_compose_mla_gallery_tab()</pre></a></li>
68
  <li class="method private "><a href="#_compose_option_row" title="_compose_option_row :: Compose the table row for a single MLA option"><span class="description">Compose the table row for a single MLA option</span><pre>_compose_option_row()</pre></a></li>
69
  <li class="method private "><a href="#_compose_settings_tabs" title="_compose_settings_tabs :: Compose the navigation tabs for the Settings subpage"><span class="description">Compose the navigation tabs for the Settings subpage</span><pre>_compose_settings_tabs()</pre></a></li>
70
  <li class="method private "><a href="#_create_alt_text_view" title="_create_alt_text_view :: Add a view to the database to support sorting the listing on 'ALT Text'"><span class="description">Add a view to the database to support sorting the listing on 'ALT Text'</span><pre>_create_alt_text_view()</pre></a></li>
71
+ <li class="method private "><a href="#_process_iptc_exif_custom" title="_process_iptc_exif_custom :: Process IPTC/EXIF custom field settings against all image attachments
72
+ without saving the settings to the mla_option"><span class="description">Process IPTC/EXIF custom field settings against all image attachments
73
+ without saving the settings to the mla_option</span><pre>_process_iptc_exif_custom()</pre></a></li>
74
+ <li class="method private "><a href="#_process_iptc_exif_standard" title="_process_iptc_exif_standard :: Process IPTC/EXIF standard field settings against all image attachments
75
+ without saving the settings to the mla_option"><span class="description">Process IPTC/EXIF standard field settings against all image attachments
76
+ without saving the settings to the mla_option</span><pre>_process_iptc_exif_standard()</pre></a></li>
77
+ <li class="method private "><a href="#_process_iptc_exif_taxonomy" title="_process_iptc_exif_taxonomy :: Process IPTC/EXIF taxonomy term settings against all image attachments
78
+ without saving the settings to the mla_option"><span class="description">Process IPTC/EXIF taxonomy term settings against all image attachments
79
+ without saving the settings to the mla_option</span><pre>_process_iptc_exif_taxonomy()</pre></a></li>
80
  <li class="method private "><a href="#_reset_general_settings" title="_reset_general_settings :: Delete saved settings, restoring default values"><span class="description">Delete saved settings, restoring default values</span><pre>_reset_general_settings()</pre></a></li>
81
  <li class="method private "><a href="#_save_gallery_settings" title="_save_gallery_settings :: Save MLA Gallery settings to the options table"><span class="description">Save MLA Gallery settings to the options table</span><pre>_save_gallery_settings()</pre></a></li>
82
  <li class="method private "><a href="#_save_general_settings" title="_save_general_settings :: Save General settings to the options table"><span class="description">Save General settings to the options table</span><pre>_save_general_settings()</pre></a></li>
83
+ <li class="method private "><a href="#_save_iptc_exif_settings" title="_save_iptc_exif_settings :: Save IPTC/EXIF settings to the options table"><span class="description">Save IPTC/EXIF settings to the options table</span><pre>_save_iptc_exif_settings()</pre></a></li>
84
  <li class="method private "><a href="#_update_option_row" title="_update_option_row :: Update or delete a single MLA option value"><span class="description">Update or delete a single MLA option value</span><pre>_update_option_row()</pre></a></li>
85
  <li class="method private "><a href="#_version_upgrade" title="_version_upgrade :: Database and option update check, for installing new versions"><span class="description">Database and option update check, for installing new versions</span><pre>_version_upgrade()</pre></a></li>
86
  <li class="nav-header">
87
  <i class="icon-custom icon-property"></i> Properties</li>
88
  <li class="property public "><a href="#%24mla_alt_text_view" title="$mla_alt_text_view :: Provides a unique name for the ALT Text SQL VIEW"><span class="description">Provides a unique name for the ALT Text SQL VIEW</span><pre>$mla_alt_text_view</pre></a></li>
89
  <li class="nav-header private">» Private</li>
 
90
  <li class="property private "><a href="#%24mla_tablist" title="$mla_tablist :: Definitions for Settings page tab ids, titles and handlers
91
  Each tab is defined by an array with the following elements:"><span class="description">Definitions for Settings page tab ids, titles and handlers
92
  Each tab is defined by an array with the following elements:</span><pre>$mla_tablist</pre></a></li>
 
93
  <li class="property private "><a href="#%24page_template_array" title="$page_template_array :: Template file for the Settings page(s) and parts"><span class="description">Template file for the Settings page(s) and parts</span><pre>$page_template_array</pre></a></li>
94
  <li class="nav-header">
95
  <i class="icon-custom icon-constant"></i> Constants</li>
96
  <li class="constant "><a href="#MLA_ALT_TEXT_VIEW_SUFFIX" title="MLA_ALT_TEXT_VIEW_SUFFIX :: Provides a unique suffix for the ALT Text SQL VIEW"><span class="description">Provides a unique suffix for the ALT Text SQL VIEW</span><pre>MLA_ALT_TEXT_VIEW_SUFFIX</pre></a></li>
97
  <li class="constant "><a href="#MLA_SETTINGS_SLUG" title="MLA_SETTINGS_SLUG :: Provides a unique name for the settings page"><span class="description">Provides a unique name for the settings page</span><pre>MLA_SETTINGS_SLUG</pre></a></li>
 
98
  </ul>
99
  </div>
100
  <div class="span8">
108
  </li>
109
  </ul>
110
  <div href="../classes/MLASettings.html" class="element class">
111
+ <p class="short_description">Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings</p>
 
112
  <div class="details">
113
  <p class="long_description"></p>
114
  <table class="table table-bordered">
123
  </table>
124
  <h3>
125
  <i class="icon-custom icon-method"></i> Methods</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  <a name="initialize" id="initialize"></a><div class="element clickable method public initialize" data-toggle="collapse" data-target=".initialize .collapse">
127
  <h2>Initialization function, similar to __construct()</h2>
128
  <pre>initialize() : void</pre>
195
  </tr></table>
196
  </div></div>
197
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  <a name="mla_render_settings_page" id="mla_render_settings_page"></a><div class="element clickable method public mla_render_settings_page" data-toggle="collapse" data-target=".mla_render_settings_page .collapse">
199
  <h2>Render (echo) the "Media Library Assistant" subpage in the Settings section</h2>
200
  <pre>mla_render_settings_page() : void</pre>
207
  </tr></table>
208
  </div></div>
209
  </div>
210
+ <a name="_compose_documentation_tab" id="_compose_documentation_tab"></a><div class="element clickable method private _compose_documentation_tab" data-toggle="collapse" data-target="._compose_documentation_tab .collapse">
211
+ <h2>Compose the Documentation tab content for the Settings subpage</h2>
212
+ <pre>_compose_documentation_tab() : array</pre>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  <div class="labels"></div>
214
  <div class="row collapse"><div class="detail-description">
215
  <p class="long_description"></p>
216
+ <table class="table table-bordered">
217
+ <tr>
218
  <th>since</th>
219
+ <td>0.80</td>
220
+ </tr>
221
+ <tr>
222
+ <th>uses</th>
223
+ <td>\global\$page_template_array</td>
224
+ </tr>
225
+ </table>
 
 
226
  <h3>Returns</h3>
227
  <div class="subelement response">
228
+ <code>array</code>'message' => status/error messages, 'body' => tab content</div>
229
  </div></div>
230
  </div>
231
+ <a name="_compose_general_tab" id="_compose_general_tab"></a><div class="element clickable method private _compose_general_tab" data-toggle="collapse" data-target="._compose_general_tab .collapse">
232
+ <h2>Compose the General tab content for the Settings subpage</h2>
233
+ <pre>_compose_general_tab() : array</pre>
234
  <div class="labels"></div>
235
  <div class="row collapse"><div class="detail-description">
236
  <p class="long_description"></p>
249
  <code>array</code>'message' => status/error messages, 'body' => tab content</div>
250
  </div></div>
251
  </div>
252
+ <a name="_compose_iptc_exif_tab" id="_compose_iptc_exif_tab"></a><div class="element clickable method private _compose_iptc_exif_tab" data-toggle="collapse" data-target="._compose_iptc_exif_tab .collapse">
253
+ <h2>Compose the IPTC/EXIF tab content for the Settings subpage</h2>
254
+ <pre>_compose_iptc_exif_tab() : array</pre>
255
  <div class="labels"></div>
256
  <div class="row collapse"><div class="detail-description">
257
  <p class="long_description"></p>
258
  <table class="table table-bordered">
259
  <tr>
260
  <th>since</th>
261
+ <td>1.00</td>
262
  </tr>
263
  <tr>
264
  <th>uses</th>
360
  </tr></table>
361
  </div></div>
362
  </div>
363
+ <a name="_process_iptc_exif_custom" id="_process_iptc_exif_custom"></a><div class="element clickable method private _process_iptc_exif_custom" data-toggle="collapse" data-target="._process_iptc_exif_custom .collapse">
364
+ <h2>Process IPTC/EXIF custom field settings against all image attachments
365
+ without saving the settings to the mla_option</h2>
366
+ <pre>_process_iptc_exif_custom() : array</pre>
367
  <div class="labels"></div>
368
  <div class="row collapse"><div class="detail-description">
369
  <p class="long_description"></p>
370
+ <table class="table table-bordered">
371
+ <tr>
372
  <th>since</th>
373
+ <td>1.00</td>
374
+ </tr>
375
+ <tr>
376
+ <th>uses</th>
377
+ <td>\global\$_REQUEST</td>
378
+ </tr>
379
+ </table>
380
+ <h3>Returns</h3>
381
+ <div class="subelement response">
382
+ <code>array</code>Message(s) reflecting the results of the operation</div>
383
+ </div></div>
384
+ </div>
385
+ <a name="_process_iptc_exif_standard" id="_process_iptc_exif_standard"></a><div class="element clickable method private _process_iptc_exif_standard" data-toggle="collapse" data-target="._process_iptc_exif_standard .collapse">
386
+ <h2>Process IPTC/EXIF standard field settings against all image attachments
387
+ without saving the settings to the mla_option</h2>
388
+ <pre>_process_iptc_exif_standard() : array</pre>
389
+ <div class="labels"></div>
390
+ <div class="row collapse"><div class="detail-description">
391
+ <p class="long_description"></p>
392
+ <table class="table table-bordered">
393
+ <tr>
394
+ <th>since</th>
395
+ <td>1.00</td>
396
+ </tr>
397
+ <tr>
398
+ <th>uses</th>
399
+ <td>\global\$_REQUEST</td>
400
+ </tr>
401
+ </table>
402
+ <h3>Returns</h3>
403
+ <div class="subelement response">
404
+ <code>array</code>Message(s) reflecting the results of the operation</div>
405
+ </div></div>
406
+ </div>
407
+ <a name="_process_iptc_exif_taxonomy" id="_process_iptc_exif_taxonomy"></a><div class="element clickable method private _process_iptc_exif_taxonomy" data-toggle="collapse" data-target="._process_iptc_exif_taxonomy .collapse">
408
+ <h2>Process IPTC/EXIF taxonomy term settings against all image attachments
409
+ without saving the settings to the mla_option</h2>
410
+ <pre>_process_iptc_exif_taxonomy() : array</pre>
411
+ <div class="labels"></div>
412
+ <div class="row collapse"><div class="detail-description">
413
+ <p class="long_description"></p>
414
+ <table class="table table-bordered">
415
+ <tr>
416
+ <th>since</th>
417
+ <td>1.00</td>
418
+ </tr>
419
+ <tr>
420
+ <th>uses</th>
421
+ <td>\global\$_REQUEST</td>
422
+ </tr>
423
+ </table>
424
+ <h3>Returns</h3>
425
+ <div class="subelement response">
426
+ <code>array</code>Message(s) reflecting the results of the operation</div>
427
  </div></div>
428
  </div>
429
  <a name="_reset_general_settings" id="_reset_general_settings"></a><div class="element clickable method private _reset_general_settings" data-toggle="collapse" data-target="._reset_general_settings .collapse">
483
  <code>array</code>Message(s) reflecting the results of the operation</div>
484
  </div></div>
485
  </div>
486
+ <a name="_save_iptc_exif_settings" id="_save_iptc_exif_settings"></a><div class="element clickable method private _save_iptc_exif_settings" data-toggle="collapse" data-target="._save_iptc_exif_settings .collapse">
487
+ <h2>Save IPTC/EXIF settings to the options table</h2>
488
+ <pre>_save_iptc_exif_settings() : array</pre>
489
  <div class="labels"></div>
490
  <div class="row collapse"><div class="detail-description">
491
  <p class="long_description"></p>
492
  <table class="table table-bordered">
493
  <tr>
494
  <th>since</th>
495
+ <td>1.00</td>
496
  </tr>
497
  <tr>
498
  <th>uses</th>
499
+ <td>\global\$_REQUEST</td>
500
  </tr>
501
  </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
502
  <h3>Returns</h3>
503
  <div class="subelement response">
504
+ <code>array</code>Message(s) reflecting the results of the operation</div>
505
  </div></div>
506
  </div>
507
  <a name="_update_option_row" id="_update_option_row"></a><div class="element clickable method private _update_option_row" data-toggle="collapse" data-target="._update_option_row .collapse">
560
  </tr></table>
561
  </div></div>
562
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  <a name="%24mla_tablist" id="$mla_tablist"> </a><div class="element clickable property private $mla_tablist" data-toggle="collapse" data-target=".$mla_tablist .collapse">
564
  <h2>Definitions for Settings page tab ids, titles and handlers
565
  Each tab is defined by an array with the following elements:</h2>
577
  </tr></table>
578
  </div></div>
579
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
580
  <a name="%24page_template_array" id="$page_template_array"> </a><div class="element clickable property private $page_template_array" data-toggle="collapse" data-target=".$page_template_array .collapse">
581
  <h2>Template file for the Settings page(s) and parts</h2>
582
  <pre>$page_template_array : array</pre>
604
  <div class="labels"></div>
605
  <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
606
  </div>
 
 
 
 
 
 
607
  </div>
608
  </div>
609
  </div>
611
  <div class="row"><footer class="span12">
612
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
613
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
614
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
615
  </div>
616
  </body>
617
  </html>
phpDocs/classes/MLAShortcodes.html CHANGED
@@ -59,13 +59,13 @@
59
  <li class="method public "><a href="#mla_shortcode_query_posts_where_filter" title="mla_shortcode_query_posts_where_filter :: Filters the WHERE clause for shortcode queries"><span class="description">Filters the WHERE clause for shortcode queries</span><pre>mla_shortcode_query_posts_where_filter()</pre></a></li>
60
  <li class="nav-header">
61
  <i class="icon-custom icon-property"></i> Properties</li>
 
 
62
  <li class="nav-header private">» Private</li>
63
  <li class="property private "><a href="#%24mla_debug" title="$mla_debug :: Turn debug collection and display on or off"><span class="description">Turn debug collection and display on or off</span><pre>$mla_debug</pre></a></li>
64
- <li class="property private "><a href="#%24mla_debug_messages" title="$mla_debug_messages :: Accumulates debug messages"><span class="description">Accumulates debug messages</span><pre>$mla_debug_messages</pre></a></li>
65
  <li class="property private "><a href="#%24mla_iptc_descriptions" title="$mla_iptc_descriptions :: IPTC Dataset descriptions"><span class="description">IPTC Dataset descriptions</span><pre>$mla_iptc_descriptions</pre></a></li>
66
  <li class="property private "><a href="#%24mla_iptc_formats" title="$mla_iptc_formats :: IPTC file format identifiers and descriptions"><span class="description">IPTC file format identifiers and descriptions</span><pre>$mla_iptc_formats</pre></a></li>
67
  <li class="property private "><a href="#%24mla_iptc_image_types" title="$mla_iptc_image_types :: IPTC image type identifiers and descriptions"><span class="description">IPTC image type identifiers and descriptions</span><pre>$mla_iptc_image_types</pre></a></li>
68
- <li class="property private "><a href="#%24mla_iptc_keys" title="$mla_iptc_keys :: IPTC Dataset friendly name/slug and identifiers"><span class="description">IPTC Dataset friendly name/slug and identifiers</span><pre>$mla_iptc_keys</pre></a></li>
69
  <li class="property private "><a href="#%24mla_iptc_records" title="$mla_iptc_records :: IPTC Dataset identifiers and names"><span class="description">IPTC Dataset identifiers and names</span><pre>$mla_iptc_records</pre></a></li>
70
  </ul>
71
  </div>
@@ -185,27 +185,40 @@ Defined as public because it's a filter.</p></p>
185
  </div>
186
  <h3>
187
  <i class="icon-custom icon-property"></i> Properties</h3>
188
- <a name="%24mla_debug" id="$mla_debug"> </a><div class="element clickable property private $mla_debug" data-toggle="collapse" data-target=".$mla_debug .collapse">
189
- <h2>Turn debug collection and display on or off</h2>
190
- <pre>$mla_debug : boolean</pre>
191
  <div class="labels"></div>
192
  <div class="row collapse"><div class="detail-description">
193
  <p class="long_description"></p>
194
  <table class="table table-bordered"><tr>
195
  <th>since</th>
196
- <td>0.70</td>
197
  </tr></table>
198
  </div></div>
199
  </div>
200
- <a name="%24mla_debug_messages" id="$mla_debug_messages"> </a><div class="element clickable property private $mla_debug_messages" data-toggle="collapse" data-target=".$mla_debug_messages .collapse">
201
- <h2>Accumulates debug messages</h2>
202
- <pre>$mla_debug_messages : string</pre>
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  <div class="labels"></div>
204
  <div class="row collapse"><div class="detail-description">
205
  <p class="long_description"></p>
206
  <table class="table table-bordered"><tr>
207
  <th>since</th>
208
- <td>0.60</td>
209
  </tr></table>
210
  </div></div>
211
  </div>
@@ -248,19 +261,6 @@ the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130,
248
  </tr></table>
249
  </div></div>
250
  </div>
251
- <a name="%24mla_iptc_keys" id="$mla_iptc_keys"> </a><div class="element clickable property private $mla_iptc_keys" data-toggle="collapse" data-target=".$mla_iptc_keys .collapse">
252
- <h2>IPTC Dataset friendly name/slug and identifiers</h2>
253
- <pre>$mla_iptc_keys : array</pre>
254
- <div class="labels"></div>
255
- <div class="row collapse"><div class="detail-description">
256
- <p class="long_description"><p>This array contains the sanitized names and identifiers of Datasets defined in
257
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
258
- <table class="table table-bordered"><tr>
259
- <th>since</th>
260
- <td>0.90</td>
261
- </tr></table>
262
- </div></div>
263
- </div>
264
  <a name="%24mla_iptc_records" id="$mla_iptc_records"> </a><div class="element clickable property private $mla_iptc_records" data-toggle="collapse" data-target=".$mla_iptc_records .collapse">
265
  <h2>IPTC Dataset identifiers and names</h2>
266
  <pre>$mla_iptc_records : array</pre>
@@ -281,7 +281,7 @@ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
281
  <div class="row"><footer class="span12">
282
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
283
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
284
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
285
  </div>
286
  </body>
287
  </html>
59
  <li class="method public "><a href="#mla_shortcode_query_posts_where_filter" title="mla_shortcode_query_posts_where_filter :: Filters the WHERE clause for shortcode queries"><span class="description">Filters the WHERE clause for shortcode queries</span><pre>mla_shortcode_query_posts_where_filter()</pre></a></li>
60
  <li class="nav-header">
61
  <i class="icon-custom icon-property"></i> Properties</li>
62
+ <li class="property public "><a href="#%24mla_debug_messages" title="$mla_debug_messages :: Accumulates debug messages"><span class="description">Accumulates debug messages</span><pre>$mla_debug_messages</pre></a></li>
63
+ <li class="property public "><a href="#%24mla_iptc_keys" title="$mla_iptc_keys :: IPTC Dataset friendly name/slug and identifiers"><span class="description">IPTC Dataset friendly name/slug and identifiers</span><pre>$mla_iptc_keys</pre></a></li>
64
  <li class="nav-header private">» Private</li>
65
  <li class="property private "><a href="#%24mla_debug" title="$mla_debug :: Turn debug collection and display on or off"><span class="description">Turn debug collection and display on or off</span><pre>$mla_debug</pre></a></li>
 
66
  <li class="property private "><a href="#%24mla_iptc_descriptions" title="$mla_iptc_descriptions :: IPTC Dataset descriptions"><span class="description">IPTC Dataset descriptions</span><pre>$mla_iptc_descriptions</pre></a></li>
67
  <li class="property private "><a href="#%24mla_iptc_formats" title="$mla_iptc_formats :: IPTC file format identifiers and descriptions"><span class="description">IPTC file format identifiers and descriptions</span><pre>$mla_iptc_formats</pre></a></li>
68
  <li class="property private "><a href="#%24mla_iptc_image_types" title="$mla_iptc_image_types :: IPTC image type identifiers and descriptions"><span class="description">IPTC image type identifiers and descriptions</span><pre>$mla_iptc_image_types</pre></a></li>
 
69
  <li class="property private "><a href="#%24mla_iptc_records" title="$mla_iptc_records :: IPTC Dataset identifiers and names"><span class="description">IPTC Dataset identifiers and names</span><pre>$mla_iptc_records</pre></a></li>
70
  </ul>
71
  </div>
185
  </div>
186
  <h3>
187
  <i class="icon-custom icon-property"></i> Properties</h3>
188
+ <a name="%24mla_debug_messages" id="$mla_debug_messages"> </a><div class="element clickable property public $mla_debug_messages" data-toggle="collapse" data-target=".$mla_debug_messages .collapse">
189
+ <h2>Accumulates debug messages</h2>
190
+ <pre>$mla_debug_messages : string</pre>
191
  <div class="labels"></div>
192
  <div class="row collapse"><div class="detail-description">
193
  <p class="long_description"></p>
194
  <table class="table table-bordered"><tr>
195
  <th>since</th>
196
+ <td>0.60</td>
197
  </tr></table>
198
  </div></div>
199
  </div>
200
+ <a name="%24mla_iptc_keys" id="$mla_iptc_keys"> </a><div class="element clickable property public $mla_iptc_keys" data-toggle="collapse" data-target=".$mla_iptc_keys .collapse">
201
+ <h2>IPTC Dataset friendly name/slug and identifiers</h2>
202
+ <pre>$mla_iptc_keys : array</pre>
203
+ <div class="labels"></div>
204
+ <div class="row collapse"><div class="detail-description">
205
+ <p class="long_description"><p>This array contains the sanitized names and identifiers of Datasets defined in
206
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
207
+ <table class="table table-bordered"><tr>
208
+ <th>since</th>
209
+ <td>0.90</td>
210
+ </tr></table>
211
+ </div></div>
212
+ </div>
213
+ <a name="%24mla_debug" id="$mla_debug"> </a><div class="element clickable property private $mla_debug" data-toggle="collapse" data-target=".$mla_debug .collapse">
214
+ <h2>Turn debug collection and display on or off</h2>
215
+ <pre>$mla_debug : boolean</pre>
216
  <div class="labels"></div>
217
  <div class="row collapse"><div class="detail-description">
218
  <p class="long_description"></p>
219
  <table class="table table-bordered"><tr>
220
  <th>since</th>
221
+ <td>0.70</td>
222
  </tr></table>
223
  </div></div>
224
  </div>
261
  </tr></table>
262
  </div></div>
263
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  <a name="%24mla_iptc_records" id="$mla_iptc_records"> </a><div class="element clickable property private $mla_iptc_records" data-toggle="collapse" data-target=".$mla_iptc_records .collapse">
265
  <h2>IPTC Dataset identifiers and names</h2>
266
  <pre>$mla_iptc_records : array</pre>
281
  <div class="row"><footer class="span12">
282
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
283
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
284
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
285
  </div>
286
  </body>
287
  </html>
phpDocs/classes/MLATest.html CHANGED
@@ -160,7 +160,7 @@ to ensure the plugin can run in the current WordPress envrionment.</p>
160
  <div class="row"><footer class="span12">
161
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
162
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
163
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
164
  </div>
165
  </body>
166
  </html>
160
  <div class="row"><footer class="span12">
161
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
162
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
163
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
164
  </div>
165
  </body>
166
  </html>
phpDocs/classes/MLA_List_Table.html CHANGED
@@ -986,7 +986,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
986
  <div class="row"><footer class="span12">
987
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
988
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
989
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
990
  </div>
991
  </body>
992
  </html>
986
  <div class="row"><footer class="span12">
987
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
988
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
989
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
990
  </div>
991
  </body>
992
  </html>
phpDocs/deprecated.html CHANGED
@@ -62,7 +62,7 @@
62
  <div class="row"><footer class="span12">
63
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
64
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
65
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
66
  </div>
67
  </body>
68
  </html>
62
  <div class="row"><footer class="span12">
63
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
64
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
65
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
66
  </div>
67
  </body>
68
  </html>
phpDocs/errors.html CHANGED
@@ -70,12 +70,13 @@
70
  <div class="package-contents"></div>
71
  <div class="package-contents"></div>
72
  <div class="package-contents"></div>
 
73
  </div>
74
  </div>
75
  <div class="row"><footer class="span12">
76
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
77
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
78
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
79
  </div>
80
  </body>
81
  </html>
70
  <div class="package-contents"></div>
71
  <div class="package-contents"></div>
72
  <div class="package-contents"></div>
73
+ <div class="package-contents"></div>
74
  </div>
75
  </div>
76
  <div class="row"><footer class="span12">
77
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
78
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
79
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
80
  </div>
81
  </body>
82
  </html>
phpDocs/graph_class.html CHANGED
@@ -59,7 +59,7 @@
59
  </script><div class="row"><footer class="span12">
60
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
61
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
62
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
63
  </div>
64
  </body>
65
  </html>
59
  </script><div class="row"><footer class="span12">
60
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
61
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
62
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
63
  </div>
64
  </body>
65
  </html>
phpDocs/index.html CHANGED
@@ -79,7 +79,7 @@
79
  <div class="row"><footer class="span12">
80
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
81
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
82
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
83
  </div>
84
  </body>
85
  </html>
79
  <div class="row"><footer class="span12">
80
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
81
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
82
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
83
  </div>
84
  </body>
85
  </html>
phpDocs/markers.html CHANGED
@@ -64,7 +64,7 @@
64
  <div class="row"><footer class="span12">
65
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
66
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
67
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
68
  </div>
69
  </body>
70
  </html>
64
  <div class="row"><footer class="span12">
65
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
66
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
67
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
68
  </div>
69
  </body>
70
  </html>
phpDocs/namespaces/global.html CHANGED
@@ -110,11 +110,18 @@ of images and files held in the WordPress Media Library.</p>
110
  <div class="details collapse"></div>
111
  <a href="../classes/MLAObjects.html" class="more">« More »</a>
112
  </div>
 
 
 
 
 
 
 
 
113
  <a name="MLASettings" id="MLASettings"></a><div class="element ajax clickable class" href="../classes/MLASettings.html">
114
  <h1>MLASettings<a href="../classes/MLASettings.html">¶</a>
115
  </h1>
116
- <p class="short_description">Class MLA (Media Library Assistant) Settings manages the plugin option settings
117
- and provides the settings page to edit them.</p>
118
  <div class="details collapse"></div>
119
  <a href="../classes/MLASettings.html" class="more">« More »</a>
120
  </div>
@@ -166,7 +173,7 @@ to ensure the plugin can run in the current WordPress envrionment.</p>
166
  <div class="row"><footer class="span12">
167
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
168
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
169
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
170
  </div>
171
  </body>
172
  </html>
110
  <div class="details collapse"></div>
111
  <a href="../classes/MLAObjects.html" class="more">« More »</a>
112
  </div>
113
+ <a name="MLAOptions" id="MLAOptions"></a><div class="element ajax clickable class" href="../classes/MLAOptions.html">
114
+ <h1>MLAOptions<a href="../classes/MLAOptions.html">¶</a>
115
+ </h1>
116
+ <p class="short_description">Class MLA (Media Library Assistant) Options manages the plugin option settings
117
+ and provides functions to get and put them from/to WordPress option variables</p>
118
+ <div class="details collapse"></div>
119
+ <a href="../classes/MLAOptions.html" class="more">« More »</a>
120
+ </div>
121
  <a name="MLASettings" id="MLASettings"></a><div class="element ajax clickable class" href="../classes/MLASettings.html">
122
  <h1>MLASettings<a href="../classes/MLASettings.html">¶</a>
123
  </h1>
124
+ <p class="short_description">Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings</p>
 
125
  <div class="details collapse"></div>
126
  <a href="../classes/MLASettings.html" class="more">« More »</a>
127
  </div>
173
  <div class="row"><footer class="span12">
174
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
175
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
176
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
177
  </div>
178
  </body>
179
  </html>
phpDocs/packages/Media Library Assistant.html CHANGED
@@ -66,8 +66,9 @@
66
  <li><a href="#MLA" title="Class MLA (Media Library Assistant) provides several enhancements to the handling
67
  of images and files held in the WordPress Media Library.">MLA</a></li>
68
  <li><a href="#MLAObjects" title="Class MLA (Media Library Assistant) Objects defines and manages custom taxonomies for Attachment Categories and Tags">MLAObjects</a></li>
69
- <li><a href="#MLASettings" title="Class MLA (Media Library Assistant) Settings manages the plugin option settings
70
- and provides the settings page to edit them.">MLASettings</a></li>
 
71
  <li><a href="#MLAShortcodes" title="Class MLA (Media Library Assistant) Shortcodes defines the shortcodes available to MLA users">MLAShortcodes</a></li>
72
  <li><a href="#MLATest" title="Class MLA (Media Library Assistant) Test provides basic run-time tests
73
  to ensure the plugin can run in the current WordPress envrionment.">MLATest</a></li>
@@ -131,11 +132,18 @@ of images and files held in the WordPress Media Library.</p>
131
  <div class="details collapse"></div>
132
  <a href="../classes/MLAObjects.html" class="more">« More »</a>
133
  </div>
 
 
 
 
 
 
 
 
134
  <a name="MLASettings" id="MLASettings"></a><div class="element ajax clickable class" href="../classes/MLASettings.html">
135
  <h1>MLASettings<a href="../classes/MLASettings.html">¶</a>
136
  </h1>
137
- <p class="short_description">Class MLA (Media Library Assistant) Settings manages the plugin option settings
138
- and provides the settings page to edit them.</p>
139
  <div class="details collapse"></div>
140
  <a href="../classes/MLASettings.html" class="more">« More »</a>
141
  </div>
@@ -187,7 +195,7 @@ to ensure the plugin can run in the current WordPress envrionment.</p>
187
  <div class="row"><footer class="span12">
188
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
189
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
190
- generated on 2012-12-07T13:43:49-08:00.<br></footer></div>
191
  </div>
192
  </body>
193
  </html>
66
  <li><a href="#MLA" title="Class MLA (Media Library Assistant) provides several enhancements to the handling
67
  of images and files held in the WordPress Media Library.">MLA</a></li>
68
  <li><a href="#MLAObjects" title="Class MLA (Media Library Assistant) Objects defines and manages custom taxonomies for Attachment Categories and Tags">MLAObjects</a></li>
69
+ <li><a href="#MLAOptions" title="Class MLA (Media Library Assistant) Options manages the plugin option settings
70
+ and provides functions to get and put them from/to WordPress option variables">MLAOptions</a></li>
71
+ <li><a href="#MLASettings" title="Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings">MLASettings</a></li>
72
  <li><a href="#MLAShortcodes" title="Class MLA (Media Library Assistant) Shortcodes defines the shortcodes available to MLA users">MLAShortcodes</a></li>
73
  <li><a href="#MLATest" title="Class MLA (Media Library Assistant) Test provides basic run-time tests
74
  to ensure the plugin can run in the current WordPress envrionment.">MLATest</a></li>
132
  <div class="details collapse"></div>
133
  <a href="../classes/MLAObjects.html" class="more">« More »</a>
134
  </div>
135
+ <a name="MLAOptions" id="MLAOptions"></a><div class="element ajax clickable class" href="../classes/MLAOptions.html">
136
+ <h1>MLAOptions<a href="../classes/MLAOptions.html">¶</a>
137
+ </h1>
138
+ <p class="short_description">Class MLA (Media Library Assistant) Options manages the plugin option settings
139
+ and provides functions to get and put them from/to WordPress option variables</p>
140
+ <div class="details collapse"></div>
141
+ <a href="../classes/MLAOptions.html" class="more">« More »</a>
142
+ </div>
143
  <a name="MLASettings" id="MLASettings"></a><div class="element ajax clickable class" href="../classes/MLASettings.html">
144
  <h1>MLASettings<a href="../classes/MLASettings.html">¶</a>
145
  </h1>
146
+ <p class="short_description">Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings</p>
 
147
  <div class="details collapse"></div>
148
  <a href="../classes/MLASettings.html" class="more">« More »</a>
149
  </div>
195
  <div class="row"><footer class="span12">
196
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
197
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
198
+ generated on 2012-12-29T12:42:47-08:00.<br></footer></div>
199
  </div>
200
  </body>
201
  </html>
phpDocs/structure.xml CHANGED
@@ -1,6 +1,6 @@
1
  <?xml version="1.0" encoding="utf-8"?>
2
  <project version="2.0.0a8" title="Media Library Assistant">
3
- <file path="includes\class-mla-data.php" hash="12ba1e89efa410587b2809a559342485" package="Media Library Assistant">
4
  <docblock line="2">
5
  <description><![CDATA[Database and template file access for MLA needs]]></description>
6
  <long-description><![CDATA[]]></long-description>
@@ -18,24 +18,24 @@ Templates separate HTML markup from PHP code for easier maintenance and localiza
18
  <tag line="9" name="package" description="Media Library Assistant"/>
19
  <tag line="9" name="since" description="0.1"/>
20
  </docblock>
21
- <property final="false" static="true" visibility="private" line="265" namespace="global" package="Media Library Assistant">
22
  <name>$query_parameters</name>
23
  <default><![CDATA[array()]]></default>
24
- <docblock line="254">
25
  <description><![CDATA[WP_Query filter "parameters"]]></description>
26
  <long-description><![CDATA[<p>This array defines parameters for the query's join, where and orderby filters.
27
  The parameters are set up in the _prepare_list_table_query function, and
28
  any further logic required to translate those values is contained in the filters.</p>]]></long-description>
29
- <tag line="254" name="since" description="0.30"/>
30
- <tag line="254" name="var" description="" type="array">
31
  <type by_reference="false">array</type>
32
  </tag>
33
  </docblock>
34
  </property>
35
- <property final="false" static="true" visibility="private" line="947" namespace="global" package="Media Library Assistant">
36
  <name>$galleries</name>
37
  <default><![CDATA[null]]></default>
38
- <docblock line="929">
39
  <description><![CDATA[Objects containing [gallery] shortcodes]]></description>
40
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [gallery] shortcodes
41
  and array(s) of which attachments each [gallery] contains. The arrays are built once
@@ -47,22 +47,22 @@ Each inner array has these elements:
47
  ['parent_type'] 'post' or 'page' or the custom post_type of the gallery parent,
48
  ['query'] contains a string with the arguments of the [gallery],
49
  ['results'] contains an array of post_ids for the objects in the gallery.</p>]]></long-description>
50
- <tag line="929" name="since" description="0.70"/>
51
- <tag line="929" name="var" description="" type="array">
52
  <type by_reference="false">array</type>
53
  </tag>
54
  </docblock>
55
  </property>
56
- <property final="false" static="true" visibility="private" line="960" namespace="global" package="Media Library Assistant">
57
  <name>$mla_galleries</name>
58
  <default><![CDATA[null]]></default>
59
- <docblock line="949">
60
  <description><![CDATA[Objects containing [mla_gallery] shortcodes]]></description>
61
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [mla_gallery] shortcodes
62
  and array(s) of which attachments each [mla_gallery] contains. The arrays are built once
63
  each page load and cached for subsequent calls.</p>]]></long-description>
64
- <tag line="949" name="since" description="0.70"/>
65
- <tag line="949" name="var" description="" type="array">
66
  <type by_reference="false">array</type>
67
  </tag>
68
  </docblock>
@@ -76,580 +76,636 @@ each page load and cached for subsequent calls.</p>]]></long-description>
76
  <tag line="19" name="since" description="0.1"/>
77
  </docblock>
78
  </method>
79
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="46" package="Media Library Assistant">
80
  <name>mla_load_template</name>
81
  <full_name>mla_load_template</full_name>
82
- <docblock line="28">
83
  <description><![CDATA[Load an HTML template from a file]]></description>
84
  <long-description><![CDATA[<p>Loads a template to a string or a multi-part template to an array.
85
  Multi-part templates are divided by comments of the form <!-- template="key" -->,
86
  where "key" becomes the key part of the array.</p>]]></long-description>
87
- <tag line="28" name="since" description="0.1"/>
88
- <tag line="28" name="param" description="Complete path and name of the template file, option name or the raw template" type="string" variable="$source">
89
  <type by_reference="false">string</type>
90
  </tag>
91
- <tag line="28" name="param" description="Optional type of template source; 'file' (default), 'option', 'string'" type="string" variable="$type">
92
  <type by_reference="false">string</type>
93
  </tag>
94
- <tag line="28" name="return" description="string for files that do not contain template divider comments, array for files containing template divider comments, false if file or option does not exist, NULL if file could not be loaded." type="string|array|false|NULL">
95
  <type by_reference="false">string</type>
96
  <type by_reference="false">array</type>
97
  <type by_reference="false">false</type>
98
  <type by_reference="false">NULL</type>
99
  </tag>
100
  </docblock>
101
- <argument line="46">
102
  <name>$source</name>
103
  <default><![CDATA[]]></default>
104
  <type/>
105
  </argument>
106
- <argument line="46">
107
  <name>$type</name>
108
  <default><![CDATA['file']]></default>
109
  <type/>
110
  </argument>
111
  </method>
112
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="141" package="Media Library Assistant">
113
  <name>mla_parse_template</name>
114
  <full_name>mla_parse_template</full_name>
115
- <docblock line="129">
116
  <description><![CDATA[Expand a template, replacing place holders with their values]]></description>
117
  <long-description><![CDATA[<p>A simple parsing function for basic templating.</p>]]></long-description>
118
- <tag line="129" name="since" description="0.1"/>
119
- <tag line="129" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
120
  <type by_reference="false">string</type>
121
  </tag>
122
- <tag line="129" name="param" description="An associative array containing keys and values e.g. array('key' =&gt; 'value')" type="array" variable="$hash">
123
  <type by_reference="false">array</type>
124
  </tag>
125
- <tag line="129" name="return" description="Placeholders corresponding to the keys of the hash will be replaced with their values" type="string">
126
  <type by_reference="false">string</type>
127
  </tag>
128
  </docblock>
129
- <argument line="141">
130
  <name>$tpl</name>
131
  <default><![CDATA[]]></default>
132
  <type/>
133
  </argument>
134
- <argument line="141">
135
  <name>$hash</name>
136
  <default><![CDATA[]]></default>
137
  <type/>
138
  </argument>
139
  </method>
140
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="160" package="Media Library Assistant">
141
  <name>mla_get_template_placeholders</name>
142
  <full_name>mla_get_template_placeholders</full_name>
143
- <docblock line="150">
144
  <description><![CDATA[Analyze a template, returning an array of the place holders it contains]]></description>
145
  <long-description><![CDATA[]]></long-description>
146
- <tag line="150" name="since" description="0.90"/>
147
- <tag line="150" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
148
  <type by_reference="false">string</type>
149
  </tag>
150
- <tag line="150" name="return" description="Placeholder information: each entry is an array with ['prefix'] =&gt; string, ['value'] =&gt; string, ['single'] =&gt; boolean" type="array">
151
  <type by_reference="false">array</type>
152
  </tag>
153
  </docblock>
154
- <argument line="160">
155
  <name>$tpl</name>
156
  <default><![CDATA[]]></default>
157
  <type/>
158
  </argument>
159
  </method>
160
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="202" package="Media Library Assistant">
161
  <name>mla_count_list_table_items</name>
162
  <full_name>mla_count_list_table_items</full_name>
163
- <docblock line="193">
164
  <description><![CDATA[Get the total number of attachment posts]]></description>
165
  <long-description><![CDATA[]]></long-description>
166
- <tag line="193" name="since" description="0.30"/>
167
- <tag line="193" name="param" description="Query variables, e.g., from $_REQUEST" type="array" variable="$request">
168
  <type by_reference="false">array</type>
169
  </tag>
170
- <tag line="193" name="return" description="Number of attachment posts" type="integer">
171
  <type by_reference="false">integer</type>
172
  </tag>
173
  </docblock>
174
- <argument line="202">
175
  <name>$request</name>
176
  <default><![CDATA[]]></default>
177
  <type/>
178
  </argument>
179
  </method>
180
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="223" package="Media Library Assistant">
181
  <name>mla_query_list_table_items</name>
182
  <full_name>mla_query_list_table_items</full_name>
183
- <docblock line="209">
184
  <description><![CDATA[Retrieve attachment objects for list table display]]></description>
185
  <long-description><![CDATA[<p>Supports prepare_items in class-mla-list-table.php.
186
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
187
- <tag line="209" name="since" description="0.1"/>
188
- <tag line="209" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
189
  <type by_reference="false">array</type>
190
  </tag>
191
- <tag line="209" name="param" description="number of rows to skip over to reach desired page" type="int" variable="$offset">
192
  <type by_reference="false">int</type>
193
  </tag>
194
- <tag line="209" name="param" description="number of rows on each page" type="int" variable="$count">
195
  <type by_reference="false">int</type>
196
  </tag>
197
- <tag line="209" name="return" description="attachment objects (posts) including parent data, meta data and references" type="array">
198
  <type by_reference="false">array</type>
199
  </tag>
200
  </docblock>
201
- <argument line="223">
202
  <name>$request</name>
203
  <default><![CDATA[]]></default>
204
  <type/>
205
  </argument>
206
- <argument line="223">
207
  <name>$offset</name>
208
  <default><![CDATA[]]></default>
209
  <type/>
210
  </argument>
211
- <argument line="223">
212
  <name>$count</name>
213
  <default><![CDATA[]]></default>
214
  <type/>
215
  </argument>
216
  </method>
217
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="281" package="Media Library Assistant">
218
  <name>_prepare_list_table_query</name>
219
  <full_name>_prepare_list_table_query</full_name>
220
- <docblock line="267">
221
  <description><![CDATA[Sanitize and expand query arguments from request variables]]></description>
222
  <long-description><![CDATA[<p>Prepare the arguments for WP_Query.
223
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
224
- <tag line="267" name="since" description="0.1"/>
225
- <tag line="267" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$raw_request">
226
  <type by_reference="false">array</type>
227
  </tag>
228
- <tag line="267" name="param" description="Optional number of rows (default 0) to skip over to reach desired page" type="int" variable="$offset">
229
  <type by_reference="false">int</type>
230
  </tag>
231
- <tag line="267" name="param" description="Optional number of rows on each page (0 = all rows, default)" type="int" variable="$count">
232
  <type by_reference="false">int</type>
233
  </tag>
234
- <tag line="267" name="return" description="revised arguments suitable for WP_Query" type="array">
235
  <type by_reference="false">array</type>
236
  </tag>
237
  </docblock>
238
- <argument line="281">
239
  <name>$raw_request</name>
240
  <default><![CDATA[]]></default>
241
  <type/>
242
  </argument>
243
- <argument line="281">
244
  <name>$offset</name>
245
  <default><![CDATA[0]]></default>
246
  <type/>
247
  </argument>
248
- <argument line="281">
249
  <name>$count</name>
250
  <default><![CDATA[0]]></default>
251
  <type/>
252
  </argument>
253
  </method>
254
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="498" package="Media Library Assistant">
255
  <name>_execute_list_table_query</name>
256
  <full_name>_execute_list_table_query</full_name>
257
- <docblock line="489">
258
  <description><![CDATA[Add filters, run query, remove filters]]></description>
259
  <long-description><![CDATA[]]></long-description>
260
- <tag line="489" name="since" description="0.30"/>
261
- <tag line="489" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
262
  <type by_reference="false">array</type>
263
  </tag>
264
- <tag line="489" name="return" description="WP_Query object with query results" type="object">
265
  <type by_reference="false">object</type>
266
  </tag>
267
  </docblock>
268
- <argument line="498">
269
  <name>$request</name>
270
  <default><![CDATA[]]></default>
271
  <type/>
272
  </argument>
273
  </method>
274
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="526" package="Media Library Assistant">
275
  <name>mla_query_posts_search_filter</name>
276
  <full_name>mla_query_posts_search_filter</full_name>
277
- <docblock line="514">
278
  <description><![CDATA[Adds a keyword search to the WHERE clause, if required]]></description>
279
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
280
- <tag line="514" name="since" description="0.60"/>
281
- <tag line="514" name="param" description="query clause before modification" type="string" variable="$search_string">
282
  <type by_reference="false">string</type>
283
  </tag>
284
- <tag line="514" name="param" description="WP_Query object" type="object" variable="$query_object">
285
  <type by_reference="false">object</type>
286
  </tag>
287
- <tag line="514" name="return" description="query clause after keyword search addition" type="string">
288
  <type by_reference="false">string</type>
289
  </tag>
290
  </docblock>
291
- <argument line="526">
292
  <name>$search_string</name>
293
  <default><![CDATA[]]></default>
294
  <type/>
295
  </argument>
296
- <argument line="526">
297
  <name>$query_object</name>
298
  <default><![CDATA[]]></default>
299
  <type/>
300
  </argument>
301
  </method>
302
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="599" package="Media Library Assistant">
303
  <name>mla_query_posts_join_filter</name>
304
  <full_name>mla_query_posts_join_filter</full_name>
305
- <docblock line="588">
306
  <description><![CDATA[Adds a JOIN clause, if required]]></description>
307
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
308
- <tag line="588" name="since" description="0.30"/>
309
- <tag line="588" name="param" description="query clause before modification" type="string" variable="$join_clause">
310
  <type by_reference="false">string</type>
311
  </tag>
312
- <tag line="588" name="return" description="query clause after &quot;detached&quot; item modification" type="string">
313
  <type by_reference="false">string</type>
314
  </tag>
315
  </docblock>
316
- <argument line="599">
317
  <name>$join_clause</name>
318
  <default><![CDATA[]]></default>
319
  <type/>
320
  </argument>
321
  </method>
322
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="628" package="Media Library Assistant">
323
  <name>mla_query_posts_where_filter</name>
324
  <full_name>mla_query_posts_where_filter</full_name>
325
- <docblock line="616">
326
  <description><![CDATA[Adds a WHERE clause for detached items]]></description>
327
  <long-description><![CDATA[<p>Modeled after _edit_attachments_query_helper in wp-admin/post.php.
328
  Defined as public because it's a filter.</p>]]></long-description>
329
- <tag line="616" name="since" description="0.1"/>
330
- <tag line="616" name="param" description="query clause before modification" type="string" variable="$where_clause">
331
  <type by_reference="false">string</type>
332
  </tag>
333
- <tag line="616" name="return" description="query clause after &quot;detached&quot; item modification" type="string">
334
  <type by_reference="false">string</type>
335
  </tag>
336
  </docblock>
337
- <argument line="628">
338
  <name>$where_clause</name>
339
  <default><![CDATA[]]></default>
340
  <type/>
341
  </argument>
342
  </method>
343
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="649" package="Media Library Assistant">
344
  <name>mla_query_posts_orderby_filter</name>
345
  <full_name>mla_query_posts_orderby_filter</full_name>
346
- <docblock line="637">
347
  <description><![CDATA[Adds a ORDERBY clause, if required]]></description>
348
  <long-description><![CDATA[<p>Expands the range of sort options because the logic in WP_Query is limited.
349
  Defined as public because it's a filter.</p>]]></long-description>
350
- <tag line="637" name="since" description="0.30"/>
351
- <tag line="637" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
352
  <type by_reference="false">string</type>
353
  </tag>
354
- <tag line="637" name="return" description="updated query clause" type="string">
355
  <type by_reference="false">string</type>
356
  </tag>
357
  </docblock>
358
- <argument line="649">
359
  <name>$orderby_clause</name>
360
  <default><![CDATA[]]></default>
361
  <type/>
362
  </argument>
363
  </method>
364
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="698" package="Media Library Assistant">
365
  <name>mla_get_attachment_by_id</name>
366
  <full_name>mla_get_attachment_by_id</full_name>
367
- <docblock line="687">
368
  <description><![CDATA[Retrieve an Attachment array given a $post_id]]></description>
369
  <long-description><![CDATA[<p>The (associative) array will contain every field that can be found in
370
  the posts and postmeta tables, and all references to the attachment.</p>]]></long-description>
371
- <tag line="687" name="since" description="0.1"/>
372
- <tag line="687" name="param" description="The ID of the attachment post" type="int" variable="$post_id">
373
  <type by_reference="false">int</type>
374
  </tag>
375
- <tag line="687" name="return" description="NULL on failure else associative array" type="NULL|array">
376
  <type by_reference="false">NULL</type>
377
  <type by_reference="false">array</type>
378
  </tag>
379
  </docblock>
380
- <argument line="698">
381
  <name>$post_id</name>
382
  <default><![CDATA[]]></default>
383
  <type/>
384
  </argument>
385
  </method>
386
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="747" package="Media Library Assistant">
387
  <name>mla_fetch_attachment_references</name>
388
  <full_name>mla_fetch_attachment_references</full_name>
389
- <docblock line="734">
390
  <description><![CDATA[Find Featured Image and inserted image/link references to an attachment]]></description>
391
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachment is used
392
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
393
- <tag line="734" name="since" description="0.1"/>
394
- <tag line="734" name="param" description="post ID of attachment" type="int" variable="$ID">
395
  <type by_reference="false">int</type>
396
  </tag>
397
- <tag line="734" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent">
398
  <type by_reference="false">int</type>
399
  </tag>
400
- <tag line="734" name="return" description="Reference information; see $references array comments" type="array">
401
  <type by_reference="false">array</type>
402
  </tag>
403
  </docblock>
404
- <argument line="747">
405
  <name>$ID</name>
406
  <default><![CDATA[]]></default>
407
  <type/>
408
  </argument>
409
- <argument line="747">
410
  <name>$parent</name>
411
  <default><![CDATA[]]></default>
412
  <type/>
413
  </argument>
414
  </method>
415
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="973" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416
  <name>_build_mla_galleries</name>
417
  <full_name>_build_mla_galleries</full_name>
418
- <docblock line="962">
419
  <description><![CDATA[Builds the $mla_galleries or $galleries array]]></description>
420
  <long-description><![CDATA[]]></long-description>
421
- <tag line="962" name="since" description="0.70"/>
422
- <tag line="962" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
 
 
 
423
  <type by_reference="false">array</type>
424
  </tag>
425
- <tag line="962" name="param" description="the shortcode to be searched for and processed" type="string" variable="$shortcode">
426
  <type by_reference="false">string</type>
427
  </tag>
428
- <tag line="962" name="param" description="true to exclude revisions from the search" type="boolean" variable="$exclude_revisions">
429
  <type by_reference="false">boolean</type>
430
  </tag>
431
- <tag line="962" name="return" description="true if the galleries array is not empty" type="boolean">
432
  <type by_reference="false">boolean</type>
433
  </tag>
434
  </docblock>
435
- <argument line="973">
 
 
 
 
 
436
  <name>$galleries_array</name>
437
  <default><![CDATA[]]></default>
438
  <type/>
439
  </argument>
440
- <argument line="973">
441
  <name>$shortcode</name>
442
  <default><![CDATA[]]></default>
443
  <type/>
444
  </argument>
445
- <argument line="973">
446
  <name>$exclude_revisions</name>
447
  <default><![CDATA[]]></default>
448
  <type/>
449
  </argument>
450
  </method>
451
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1055" package="Media Library Assistant">
452
  <name>_search_mla_galleries</name>
453
  <full_name>_search_mla_galleries</full_name>
454
- <docblock line="1044">
455
  <description><![CDATA[Search the $mla_galleries or $galleries array]]></description>
456
  <long-description><![CDATA[]]></long-description>
457
- <tag line="1044" name="since" description="0.70"/>
458
- <tag line="1044" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
459
  <type by_reference="false">array</type>
460
  </tag>
461
- <tag line="1044" name="param" description="the attachment ID to be searched for and processed" type="int" variable="$attachment_id">
462
  <type by_reference="false">int</type>
463
  </tag>
464
- <tag line="1044" name="return" description="All posts/pages with one or more galleries that include the attachment. The array key is the parent_post ID; each entry contains post_title and post_type." type="array">
465
  <type by_reference="false">array</type>
466
  </tag>
467
  </docblock>
468
- <argument line="1055">
469
  <name>$galleries_array</name>
470
  <default><![CDATA[]]></default>
471
  <type/>
472
  </argument>
473
- <argument line="1055">
474
  <name>$attachment_id</name>
475
  <default><![CDATA[]]></default>
476
  <type/>
477
  </argument>
478
  </method>
479
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1077" package="Media Library Assistant">
480
  <name>mla_fetch_attachment_parent_data</name>
481
  <full_name>mla_fetch_attachment_parent_data</full_name>
482
- <docblock line="1068">
483
  <description><![CDATA[Returns information about an attachment's parent, if found]]></description>
484
  <long-description><![CDATA[]]></long-description>
485
- <tag line="1068" name="since" description="0.1"/>
486
- <tag line="1068" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent_id">
487
  <type by_reference="false">int</type>
488
  </tag>
489
- <tag line="1068" name="return" description="Parent information; post_date, post_title and post_type" type="array">
490
  <type by_reference="false">array</type>
491
  </tag>
492
  </docblock>
493
- <argument line="1077">
494
  <name>$parent_id</name>
495
  <default><![CDATA[]]></default>
496
  <type/>
497
  </argument>
498
  </method>
499
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1103" package="Media Library Assistant">
500
  <name>mla_fetch_attachment_image_metadata</name>
501
  <full_name>mla_fetch_attachment_image_metadata</full_name>
502
- <docblock line="1092">
503
  <description><![CDATA[Fetch and filter IPTC and EXIF meta data for an image attachment]]></description>
504
  <long-description><![CDATA[<p>Returns</p>]]></long-description>
505
- <tag line="1092" name="since" description="0.90"/>
506
- <tag line="1092" name="param" description="post ID of attachment" type="int" variable="$post_id">
507
  <type by_reference="false">int</type>
508
  </tag>
509
- <tag line="1092" name="return" description="Meta data variables" type="array">
 
 
 
510
  <type by_reference="false">array</type>
511
  </tag>
512
  </docblock>
513
- <argument line="1103">
514
  <name>$post_id</name>
515
  <default><![CDATA[]]></default>
516
  <type/>
517
  </argument>
 
 
 
 
 
518
  </method>
519
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1157" package="Media Library Assistant">
520
  <name>mla_fetch_attachment_metadata</name>
521
  <full_name>mla_fetch_attachment_metadata</full_name>
522
- <docblock line="1144">
523
  <description><![CDATA[Fetch and filter meta data for an attachment]]></description>
524
  <long-description><![CDATA[<p>Returns a filtered array of a post's meta data. Internal values beginning with '<em>'
525
  are stripped out or converted to an 'mla</em>' equivalent. Array data is replaced with
526
  a string containing the first array element.</p>]]></long-description>
527
- <tag line="1144" name="since" description="0.1"/>
528
- <tag line="1144" name="param" description="post ID of attachment" type="int" variable="$post_id">
529
  <type by_reference="false">int</type>
530
  </tag>
531
- <tag line="1144" name="return" description="Meta data variables" type="array">
532
  <type by_reference="false">array</type>
533
  </tag>
534
  </docblock>
535
- <argument line="1157">
536
  <name>$post_id</name>
537
  <default><![CDATA[]]></default>
538
  <type/>
539
  </argument>
540
  </method>
541
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1208" package="Media Library Assistant">
542
  <name>mla_update_single_item</name>
543
  <full_name>mla_update_single_item</full_name>
544
- <docblock line="1195">
545
  <description><![CDATA[Update a single item; change the meta data
546
  for a single attachment.]]></description>
547
  <long-description><![CDATA[]]></long-description>
548
- <tag line="1195" name="since" description="0.1"/>
549
- <tag line="1195" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
550
  <type by_reference="false">int</type>
551
  </tag>
552
- <tag line="1195" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
553
  <type by_reference="false">array</type>
554
  </tag>
555
- <tag line="1195" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
556
  <type by_reference="false">array</type>
557
  </tag>
558
- <tag line="1195" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
559
  <type by_reference="false">array</type>
560
  </tag>
561
- <tag line="1195" name="return" description="success/failure message and NULL content" type="array">
562
  <type by_reference="false">array</type>
563
  </tag>
564
  </docblock>
565
- <argument line="1208">
566
  <name>$post_id</name>
567
  <default><![CDATA[]]></default>
568
  <type/>
569
  </argument>
570
- <argument line="1208">
571
  <name>$new_data</name>
572
  <default><![CDATA[]]></default>
573
  <type/>
574
  </argument>
575
- <argument line="1208">
576
  <name>$tax_input</name>
577
  <default><![CDATA[NULL]]></default>
578
  <type/>
579
  </argument>
580
- <argument line="1208">
581
  <name>$tax_actions</name>
582
  <default><![CDATA[NULL]]></default>
583
  <type/>
584
  </argument>
585
  </method>
586
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1400" package="Media Library Assistant">
587
  <name>_remove_tags</name>
588
  <full_name>_remove_tags</full_name>
589
- <docblock line="1389">
590
  <description><![CDATA[Remove tags from a term ids list]]></description>
591
  <long-description><![CDATA[]]></long-description>
592
- <tag line="1389" name="since" description="0.40"/>
593
- <tag line="1389" name="param" description="The term ids currently assigned" type="array" variable="$terms_before">
594
  <type by_reference="false">array</type>
595
  </tag>
596
- <tag line="1389" name="param" description="| string The term ids (array) or names (string) to remove" type="array" variable="$tags">
597
  <type by_reference="false">array</type>
598
  </tag>
599
- <tag line="1389" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
600
  <type by_reference="false">object</type>
601
  </tag>
602
- <tag line="1389" name="return" description="Term ids of the surviving tags" type="array">
603
  <type by_reference="false">array</type>
604
  </tag>
605
  </docblock>
606
- <argument line="1400">
607
  <name>$terms_before</name>
608
  <default><![CDATA[]]></default>
609
  <type/>
610
  </argument>
611
- <argument line="1400">
612
  <name>$tags</name>
613
  <default><![CDATA[]]></default>
614
  <type/>
615
  </argument>
616
- <argument line="1400">
617
  <name>$taxonomy_obj</name>
618
  <default><![CDATA[]]></default>
619
  <type/>
620
  </argument>
621
  </method>
622
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1444" package="Media Library Assistant">
623
  <name>_hex_dump</name>
624
  <full_name>_hex_dump</full_name>
625
- <docblock line="1433">
626
  <description><![CDATA[Format printable version of binary data]]></description>
627
  <long-description><![CDATA[]]></long-description>
628
- <tag line="1433" name="since" description="0.90"/>
629
- <tag line="1433" name="param" description="Binary data" type="string" variable="$data">
630
  <type by_reference="false">string</type>
631
  </tag>
632
- <tag line="1433" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
633
  <type by_reference="false">integer</type>
634
  </tag>
635
- <tag line="1433" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
636
  <type by_reference="false">\intger</type>
637
  </tag>
638
- <tag line="1433" name="return" description="Printable representation of $data" type="string">
639
  <type by_reference="false">string</type>
640
  </tag>
641
  </docblock>
642
- <argument line="1444">
643
  <name>$data</name>
644
  <default><![CDATA[]]></default>
645
  <type/>
646
  </argument>
647
- <argument line="1444">
648
  <name>$limit</name>
649
  <default><![CDATA[0]]></default>
650
  <type/>
651
  </argument>
652
- <argument line="1444">
653
  <name>$bytes_per_row</name>
654
  <default><![CDATA[16]]></default>
655
  <type/>
@@ -657,7 +713,7 @@ for a single attachment.]]></description>
657
  </method>
658
  </class>
659
  </file>
660
- <file path="includes\class-mla-edit-media.php" hash="6bc2af3fa956827d4e2193926c99cd7e" package="Media Library Assistant">
661
  <docblock line="2">
662
  <description><![CDATA[Media Library Assistant Edit Media screen enhancements]]></description>
663
  <long-description><![CDATA[]]></long-description>
@@ -674,15 +730,15 @@ for a single attachment.]]></description>
674
  <tag line="9" name="package" description="Media Library Assistant"/>
675
  <tag line="9" name="since" description="0.80"/>
676
  </docblock>
677
- <property final="false" static="true" visibility="private" line="147" namespace="global" package="Media Library Assistant">
678
  <name>$mla_references</name>
679
  <default><![CDATA[null]]></default>
680
- <docblock line="137">
681
  <description><![CDATA[Where-used values for the current item]]></description>
682
  <long-description><![CDATA[<p>This array contains the Featured/Inserted/Gallery/MLA Gallery references for the item.
683
  The array is built once each page load and cached for subsequent calls.</p>]]></long-description>
684
- <tag line="137" name="since" description="0.80"/>
685
- <tag line="137" name="var" description="" type="array">
686
  <type by_reference="false">array</type>
687
  </tag>
688
  </docblock>
@@ -699,229 +755,241 @@ The array is built once each page load and cached for subsequent calls.</p>]]></
699
  </tag>
700
  </docblock>
701
  </method>
702
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="51" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
703
  <name>mla_last_modified_action</name>
704
  <full_name>mla_last_modified_action</full_name>
705
- <docblock line="43">
706
  <description><![CDATA[Adds Last Modified date to the Submit box on the Edit Media screen.]]></description>
707
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
708
- <tag line="43" name="since" description="0.80"/>
709
- <tag line="43" name="return" description="echoes the HTML markup for the label and value" type="void">
710
  <type by_reference="false">void</type>
711
  </tag>
712
  </docblock>
713
  </method>
714
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="73" package="Media Library Assistant">
715
  <name>mla_add_meta_boxes_action</name>
716
  <full_name>mla_add_meta_boxes_action</full_name>
717
- <docblock line="62">
718
  <description><![CDATA[Registers meta boxes for the Edit Media screen.]]></description>
719
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
720
- <tag line="62" name="since" description="0.80"/>
721
- <tag line="62" name="param" description="type of the current post, e.g., 'attachment'" type="string" variable="$post_type">
722
  <type by_reference="false">string</type>
723
  </tag>
724
- <tag line="62" name="param" description="current post" type="object" variable="$post">
725
  <type by_reference="false">object</type>
726
  </tag>
727
- <tag line="62" name="return" description="" type="void">
728
  <type by_reference="false">void</type>
729
  </tag>
730
  </docblock>
731
- <argument line="73">
732
  <name>$post_type</name>
733
  <default><![CDATA[]]></default>
734
  <type/>
735
  </argument>
736
- <argument line="73">
737
  <name>$post</name>
738
  <default><![CDATA[]]></default>
739
  <type/>
740
  </argument>
741
  </method>
742
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="99" package="Media Library Assistant">
743
  <name>mla_edit_add_help_tab</name>
744
  <full_name>mla_edit_add_help_tab</full_name>
745
- <docblock line="89">
746
  <description><![CDATA[Add contextual help tabs to the WordPress Edit Media page]]></description>
747
  <long-description><![CDATA[]]></long-description>
748
- <tag line="89" name="since" description="0.90"/>
749
- <tag line="89" name="param" description="title as shown on the screen" type="string" variable="$admin_title">
750
  <type by_reference="false">string</type>
751
  </tag>
752
- <tag line="89" name="param" description="title as shown in the HTML header" type="string" variable="$title">
753
  <type by_reference="false">string</type>
754
  </tag>
755
- <tag line="89" name="return" description="" type="void">
756
  <type by_reference="false">void</type>
757
  </tag>
758
  </docblock>
759
- <argument line="99">
760
  <name>$admin_title</name>
761
  <default><![CDATA[]]></default>
762
  <type/>
763
  </argument>
764
- <argument line="99">
765
  <name>$title</name>
766
  <default><![CDATA[]]></default>
767
  <type/>
768
  </argument>
769
  </method>
770
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="159" package="Media Library Assistant">
771
  <name>mla_parent_info_handler</name>
772
  <full_name>mla_parent_info_handler</full_name>
773
- <docblock line="149">
774
  <description><![CDATA[Renders the Parent Info meta box on the Edit Media page.]]></description>
775
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
776
- <tag line="149" name="since" description="0.80"/>
777
- <tag line="149" name="param" description="current post" type="object" variable="$post">
778
  <type by_reference="false">object</type>
779
  </tag>
780
- <tag line="149" name="return" description="echoes the HTML markup for the meta box content" type="void">
781
  <type by_reference="false">void</type>
782
  </tag>
783
  </docblock>
784
- <argument line="159">
785
  <name>$post</name>
786
  <default><![CDATA[]]></default>
787
  <type/>
788
  </argument>
789
  </method>
790
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="198" package="Media Library Assistant">
791
  <name>mla_menu_order_handler</name>
792
  <full_name>mla_menu_order_handler</full_name>
793
- <docblock line="188">
794
  <description><![CDATA[Renders the Menu Order meta box on the Edit Media page.]]></description>
795
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
796
- <tag line="188" name="since" description="0.80"/>
797
- <tag line="188" name="param" description="current post" type="object" variable="$post">
798
  <type by_reference="false">object</type>
799
  </tag>
800
- <tag line="188" name="return" description="echoes the HTML markup for the meta box content" type="void">
801
  <type by_reference="false">void</type>
802
  </tag>
803
  </docblock>
804
- <argument line="198">
805
  <name>$post</name>
806
  <default><![CDATA[]]></default>
807
  <type/>
808
  </argument>
809
  </method>
810
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="213" package="Media Library Assistant">
811
  <name>mla_image_metadata_handler</name>
812
  <full_name>mla_image_metadata_handler</full_name>
813
- <docblock line="203">
814
  <description><![CDATA[Renders the Image Metadata meta box on the Edit Media page.]]></description>
815
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
816
- <tag line="203" name="since" description="0.80"/>
817
- <tag line="203" name="param" description="current post" type="object" variable="$post">
818
  <type by_reference="false">object</type>
819
  </tag>
820
- <tag line="203" name="return" description="echoes the HTML markup for the meta box content" type="void">
821
  <type by_reference="false">void</type>
822
  </tag>
823
  </docblock>
824
- <argument line="213">
825
  <name>$post</name>
826
  <default><![CDATA[]]></default>
827
  <type/>
828
  </argument>
829
  </method>
830
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="234" package="Media Library Assistant">
831
  <name>mla_featured_in_handler</name>
832
  <full_name>mla_featured_in_handler</full_name>
833
- <docblock line="224">
834
  <description><![CDATA[Renders the Featured in meta box on the Edit Media page.]]></description>
835
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
836
- <tag line="224" name="since" description="0.80"/>
837
- <tag line="224" name="param" description="current post" type="object" variable="$post">
838
  <type by_reference="false">object</type>
839
  </tag>
840
- <tag line="224" name="return" description="echoes the HTML markup for the meta box content" type="void">
841
  <type by_reference="false">void</type>
842
  </tag>
843
  </docblock>
844
- <argument line="234">
845
  <name>$post</name>
846
  <default><![CDATA[]]></default>
847
  <type/>
848
  </argument>
849
  </method>
850
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="264" package="Media Library Assistant">
851
  <name>mla_inserted_in_handler</name>
852
  <full_name>mla_inserted_in_handler</full_name>
853
- <docblock line="254">
854
  <description><![CDATA[Renders the Inserted in meta box on the Edit Media page.]]></description>
855
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
856
- <tag line="254" name="since" description="0.80"/>
857
- <tag line="254" name="param" description="current post" type="object" variable="$post">
858
  <type by_reference="false">object</type>
859
  </tag>
860
- <tag line="254" name="return" description="echoes the HTML markup for the meta box content" type="void">
861
  <type by_reference="false">void</type>
862
  </tag>
863
  </docblock>
864
- <argument line="264">
865
  <name>$post</name>
866
  <default><![CDATA[]]></default>
867
  <type/>
868
  </argument>
869
  </method>
870
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="298" package="Media Library Assistant">
871
  <name>mla_gallery_in_handler</name>
872
  <full_name>mla_gallery_in_handler</full_name>
873
- <docblock line="288">
874
  <description><![CDATA[Renders the Gallery in meta box on the Edit Media page.]]></description>
875
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
876
- <tag line="288" name="since" description="0.80"/>
877
- <tag line="288" name="param" description="current post" type="object" variable="$post">
878
  <type by_reference="false">object</type>
879
  </tag>
880
- <tag line="288" name="return" description="echoes the HTML markup for the meta box content" type="void">
881
  <type by_reference="false">void</type>
882
  </tag>
883
  </docblock>
884
- <argument line="298">
885
  <name>$post</name>
886
  <default><![CDATA[]]></default>
887
  <type/>
888
  </argument>
889
  </method>
890
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="328" package="Media Library Assistant">
891
  <name>mla_mla_gallery_in_handler</name>
892
  <full_name>mla_mla_gallery_in_handler</full_name>
893
- <docblock line="318">
894
  <description><![CDATA[Renders the Gallery in meta box on the Edit Media page.]]></description>
895
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
896
- <tag line="318" name="since" description="0.80"/>
897
- <tag line="318" name="param" description="current post" type="object" variable="$post">
898
  <type by_reference="false">object</type>
899
  </tag>
900
- <tag line="318" name="return" description="echoes the HTML markup for the meta box content" type="void">
901
  <type by_reference="false">void</type>
902
  </tag>
903
  </docblock>
904
- <argument line="328">
905
  <name>$post</name>
906
  <default><![CDATA[]]></default>
907
  <type/>
908
  </argument>
909
  </method>
910
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="358" package="Media Library Assistant">
911
  <name>mla_edit_attachment_action</name>
912
  <full_name>mla_edit_attachment_action</full_name>
913
- <docblock line="348">
914
  <description><![CDATA[Saves updates from the Edit Media screen.]]></description>
915
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
916
- <tag line="348" name="since" description="0.80"/>
917
- <tag line="348" name="param" description="ID of the current post" type="integer" variable="$post_ID">
918
  <type by_reference="false">integer</type>
919
  </tag>
920
- <tag line="348" name="return" description="" type="void">
921
  <type by_reference="false">void</type>
922
  </tag>
923
  </docblock>
924
- <argument line="358">
925
  <name>$post_ID</name>
926
  <default><![CDATA[]]></default>
927
  <type/>
@@ -929,7 +997,7 @@ The array is built once each page load and cached for subsequent calls.</p>]]></
929
  </method>
930
  </class>
931
  </file>
932
- <file path="includes\class-mla-list-table.php" hash="56c374cfa428af7c5e8cf054e9c4ed43" package="Media Library Assistant">
933
  <docblock line="2">
934
  <description><![CDATA[Media Library Assistant extended List Table class]]></description>
935
  <long-description><![CDATA[]]></long-description>
@@ -1325,161 +1393,161 @@ is given special treatment when columns are processed.</p>]]></long-description>
1325
  <type/>
1326
  </argument>
1327
  </method>
1328
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="666" package="Media Library Assistant">
1329
  <name>column_post_title</name>
1330
  <full_name>column_post_title</full_name>
1331
- <docblock line="658">
1332
  <description><![CDATA[Supply the content for a custom column]]></description>
1333
  <long-description><![CDATA[]]></long-description>
1334
- <tag line="658" name="since" description="0.1"/>
1335
- <tag line="658" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1336
  <type by_reference="false">array</type>
1337
  </tag>
1338
- <tag line="658" name="return" description="HTML markup to be placed inside the column" type="string">
1339
  <type by_reference="false">string</type>
1340
  </tag>
1341
  </docblock>
1342
- <argument line="666">
1343
  <name>$item</name>
1344
  <default><![CDATA[]]></default>
1345
  <type/>
1346
  </argument>
1347
  </method>
1348
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="684" package="Media Library Assistant">
1349
  <name>column_post_name</name>
1350
  <full_name>column_post_name</full_name>
1351
- <docblock line="676">
1352
  <description><![CDATA[Supply the content for a custom column]]></description>
1353
  <long-description><![CDATA[]]></long-description>
1354
- <tag line="676" name="since" description="0.1"/>
1355
- <tag line="676" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1356
  <type by_reference="false">array</type>
1357
  </tag>
1358
- <tag line="676" name="return" description="HTML markup to be placed inside the column" type="string">
1359
  <type by_reference="false">string</type>
1360
  </tag>
1361
  </docblock>
1362
- <argument line="684">
1363
  <name>$item</name>
1364
  <default><![CDATA[]]></default>
1365
  <type/>
1366
  </argument>
1367
  </method>
1368
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="702" package="Media Library Assistant">
1369
  <name>column_parent</name>
1370
  <full_name>column_parent</full_name>
1371
- <docblock line="694">
1372
  <description><![CDATA[Supply the content for a custom column]]></description>
1373
  <long-description><![CDATA[]]></long-description>
1374
- <tag line="694" name="since" description="0.1"/>
1375
- <tag line="694" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1376
  <type by_reference="false">array</type>
1377
  </tag>
1378
- <tag line="694" name="return" description="HTML markup to be placed inside the column" type="string">
1379
  <type by_reference="false">string</type>
1380
  </tag>
1381
  </docblock>
1382
- <argument line="702">
1383
  <name>$item</name>
1384
  <default><![CDATA[]]></default>
1385
  <type/>
1386
  </argument>
1387
  </method>
1388
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="727" package="Media Library Assistant">
1389
  <name>column_menu_order</name>
1390
  <full_name>column_menu_order</full_name>
1391
- <docblock line="719">
1392
  <description><![CDATA[Supply the content for a custom column]]></description>
1393
  <long-description><![CDATA[]]></long-description>
1394
- <tag line="719" name="since" description="0.60"/>
1395
- <tag line="719" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1396
  <type by_reference="false">array</type>
1397
  </tag>
1398
- <tag line="719" name="return" description="HTML markup to be placed inside the column" type="string">
1399
  <type by_reference="false">string</type>
1400
  </tag>
1401
  </docblock>
1402
- <argument line="727">
1403
  <name>$item</name>
1404
  <default><![CDATA[]]></default>
1405
  <type/>
1406
  </argument>
1407
  </method>
1408
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="739" package="Media Library Assistant">
1409
  <name>column_featured</name>
1410
  <full_name>column_featured</full_name>
1411
- <docblock line="731">
1412
  <description><![CDATA[Supply the content for a custom column]]></description>
1413
  <long-description><![CDATA[]]></long-description>
1414
- <tag line="731" name="since" description="0.1"/>
1415
- <tag line="731" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1416
  <type by_reference="false">array</type>
1417
  </tag>
1418
- <tag line="731" name="return" description="HTML markup to be placed inside the column" type="string">
1419
  <type by_reference="false">string</type>
1420
  </tag>
1421
  </docblock>
1422
- <argument line="739">
1423
  <name>$item</name>
1424
  <default><![CDATA[]]></default>
1425
  <type/>
1426
  </argument>
1427
  </method>
1428
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="767" package="Media Library Assistant">
1429
  <name>column_inserted</name>
1430
  <full_name>column_inserted</full_name>
1431
- <docblock line="759">
1432
  <description><![CDATA[Supply the content for a custom column]]></description>
1433
  <long-description><![CDATA[]]></long-description>
1434
- <tag line="759" name="since" description="0.1"/>
1435
- <tag line="759" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1436
  <type by_reference="false">array</type>
1437
  </tag>
1438
- <tag line="759" name="return" description="HTML markup to be placed inside the column" type="string">
1439
  <type by_reference="false">string</type>
1440
  </tag>
1441
  </docblock>
1442
- <argument line="767">
1443
  <name>$item</name>
1444
  <default><![CDATA[]]></default>
1445
  <type/>
1446
  </argument>
1447
  </method>
1448
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="799" package="Media Library Assistant">
1449
  <name>column_galleries</name>
1450
  <full_name>column_galleries</full_name>
1451
- <docblock line="791">
1452
  <description><![CDATA[Supply the content for a custom column]]></description>
1453
  <long-description><![CDATA[]]></long-description>
1454
- <tag line="791" name="since" description="0.70"/>
1455
- <tag line="791" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1456
  <type by_reference="false">array</type>
1457
  </tag>
1458
- <tag line="791" name="return" description="HTML markup to be placed inside the column" type="string">
1459
  <type by_reference="false">string</type>
1460
  </tag>
1461
  </docblock>
1462
- <argument line="799">
1463
  <name>$item</name>
1464
  <default><![CDATA[]]></default>
1465
  <type/>
1466
  </argument>
1467
  </method>
1468
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="827" package="Media Library Assistant">
1469
  <name>column_mla_galleries</name>
1470
  <full_name>column_mla_galleries</full_name>
1471
- <docblock line="819">
1472
  <description><![CDATA[Supply the content for a custom column]]></description>
1473
  <long-description><![CDATA[]]></long-description>
1474
- <tag line="819" name="since" description="0.70"/>
1475
- <tag line="819" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1476
  <type by_reference="false">array</type>
1477
  </tag>
1478
- <tag line="819" name="return" description="HTML markup to be placed inside the column" type="string">
1479
  <type by_reference="false">string</type>
1480
  </tag>
1481
  </docblock>
1482
- <argument line="827">
1483
  <name>$item</name>
1484
  <default><![CDATA[]]></default>
1485
  <type/>
@@ -1786,7 +1854,7 @@ $this->set_pagination_args().</p>]]></long-description>
1786
  </method>
1787
  </class>
1788
  </file>
1789
- <file path="includes\class-mla-main.php" hash="e0b79876a9176958821f15b90537916c" package="Media Library Assistant">
1790
  <docblock line="2">
1791
  <description><![CDATA[Top-level functions for the Media Library Assistant]]></description>
1792
  <long-description><![CDATA[]]></long-description>
@@ -1823,7 +1891,7 @@ of images and files held in the WordPress Media Library.]]></description>
1823
  <constant namespace="global" line="41" package="Media Library Assistant">
1824
  <name>CURRENT_MLA_VERSION</name>
1825
  <full_name>CURRENT_MLA_VERSION</full_name>
1826
- <value><![CDATA['0.90']]></value>
1827
  <docblock line="34">
1828
  <description><![CDATA[Current version number]]></description>
1829
  <long-description><![CDATA[]]></long-description>
@@ -2015,68 +2083,81 @@ of images and files held in the WordPress Media Library.]]></description>
2015
  </tag>
2016
  </docblock>
2017
  </constant>
2018
- <property final="false" static="true" visibility="private" line="176" namespace="global" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
2019
  <name>$page_hooks</name>
2020
  <default><![CDATA[array()]]></default>
2021
- <docblock line="169">
2022
  <description><![CDATA[Holds screen ids to match help text to corresponding screen]]></description>
2023
  <long-description><![CDATA[]]></long-description>
2024
- <tag line="169" name="since" description="0.1"/>
2025
- <tag line="169" name="var" description="" type="array">
2026
  <type by_reference="false">array</type>
2027
  </tag>
2028
  </docblock>
2029
  </property>
2030
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="189" package="Media Library Assistant">
2031
  <name>initialize</name>
2032
  <full_name>initialize</full_name>
2033
- <docblock line="178">
2034
  <description><![CDATA[Initialization function, similar to __construct()]]></description>
2035
  <long-description><![CDATA[<p>This function contains add_action and add_filter calls
2036
  to set up the Ajax handlers, enqueue JavaScript and CSS files, and
2037
  set up the Assistant submenu.</p>]]></long-description>
2038
- <tag line="178" name="since" description="0.1"/>
2039
- <tag line="178" name="return" description="" type="void">
2040
  <type by_reference="false">void</type>
2041
  </tag>
2042
  </docblock>
2043
  </method>
2044
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="208" package="Media Library Assistant">
2045
  <name>mla_admin_init_action</name>
2046
  <full_name>mla_admin_init_action</full_name>
2047
- <docblock line="201">
2048
  <description><![CDATA[Load the plugin's Ajax handler]]></description>
2049
  <long-description><![CDATA[]]></long-description>
2050
- <tag line="201" name="since" description="0.20"/>
2051
- <tag line="201" name="return" description="" type="void">
2052
  <type by_reference="false">void</type>
2053
  </tag>
2054
  </docblock>
2055
  </method>
2056
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="221" package="Media Library Assistant">
2057
  <name>mla_admin_enqueue_scripts_action</name>
2058
  <full_name>mla_admin_enqueue_scripts_action</full_name>
2059
- <docblock line="212">
2060
  <description><![CDATA[Load the plugin's Style Sheet and Javascript files]]></description>
2061
  <long-description><![CDATA[]]></long-description>
2062
- <tag line="212" name="since" description="0.1"/>
2063
- <tag line="212" name="param" description="Name of the page being loaded" type="string" variable="$page_hook">
2064
  <type by_reference="false">string</type>
2065
  </tag>
2066
- <tag line="212" name="return" description="" type="void">
2067
  <type by_reference="false">void</type>
2068
  </tag>
2069
  </docblock>
2070
- <argument line="221">
2071
  <name>$page_hook</name>
2072
  <default><![CDATA[]]></default>
2073
  <type/>
2074
  </argument>
2075
  </method>
2076
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="269" package="Media Library Assistant">
2077
  <name>mla_admin_menu_action</name>
2078
  <full_name>mla_admin_menu_action</full_name>
2079
- <docblock line="254">
2080
  <description><![CDATA[Add the submenu pages]]></description>
2081
  <long-description><![CDATA[<p>Add a submenu page in the "Media" section,
2082
  add settings page in the "Settings" section.
@@ -2085,143 +2166,143 @@ add settings link in the Plugins section entry for MLA.</p>
2085
  <p>For WordPress versions before 3.5,
2086
  add submenu page(s) for attachment taxonomies,
2087
  add filter to clean up taxonomy submenu labels.</p>]]></long-description>
2088
- <tag line="254" name="since" description="0.1"/>
2089
- <tag line="254" name="return" description="" type="void">
2090
  <type by_reference="false">void</type>
2091
  </tag>
2092
  </docblock>
2093
  </method>
2094
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="315" package="Media Library Assistant">
2095
  <name>mla_load_upload_php_action</name>
2096
  <full_name>mla_load_upload_php_action</full_name>
2097
- <docblock line="308">
2098
  <description><![CDATA[Intercept return from Edit Media screen]]></description>
2099
  <long-description><![CDATA[]]></long-description>
2100
- <tag line="308" name="since" description="0.60"/>
2101
- <tag line="308" name="return" description="" type="void">
2102
  <type by_reference="false">void</type>
2103
  </tag>
2104
  </docblock>
2105
  </method>
2106
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="328" package="Media Library Assistant">
2107
  <name>mla_load_post_php_action</name>
2108
  <full_name>mla_load_post_php_action</full_name>
2109
- <docblock line="321">
2110
  <description><![CDATA[Intercept call to Edit Media screen]]></description>
2111
  <long-description><![CDATA[]]></long-description>
2112
- <tag line="321" name="since" description="0.60"/>
2113
- <tag line="321" name="return" description="" type="void">
2114
  <type by_reference="false">void</type>
2115
  </tag>
2116
  </docblock>
2117
  </method>
2118
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="341" package="Media Library Assistant">
2119
  <name>mla_add_menu_options</name>
2120
  <full_name>mla_add_menu_options</full_name>
2121
- <docblock line="334">
2122
  <description><![CDATA[Add the "XX Entries per page" filter to the Screen Options tab]]></description>
2123
  <long-description><![CDATA[]]></long-description>
2124
- <tag line="334" name="since" description="0.1"/>
2125
- <tag line="334" name="return" description="" type="void">
2126
  <type by_reference="false">void</type>
2127
  </tag>
2128
  </docblock>
2129
  </method>
2130
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="360" package="Media Library Assistant">
2131
  <name>mla_add_help_tab</name>
2132
  <full_name>mla_add_help_tab</full_name>
2133
- <docblock line="353">
2134
  <description><![CDATA[Add contextual help tabs to all the MLA pages]]></description>
2135
  <long-description><![CDATA[]]></long-description>
2136
- <tag line="353" name="since" description="0.1"/>
2137
- <tag line="353" name="return" description="" type="void">
2138
  <type by_reference="false">void</type>
2139
  </tag>
2140
  </docblock>
2141
  </method>
2142
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="449" package="Media Library Assistant">
2143
  <name>mla_screen_options_show_screen_filter</name>
2144
  <full_name>mla_screen_options_show_screen_filter</full_name>
2145
- <docblock line="439">
2146
  <description><![CDATA[Only show screen options on the table-list screen]]></description>
2147
  <long-description><![CDATA[]]></long-description>
2148
- <tag line="439" name="since" description="0.1"/>
2149
- <tag line="439" name="param" description="True to display &quot;Screen Options&quot;, false to suppress them" type="boolean" variable="$show_screen">
2150
  <type by_reference="false">boolean</type>
2151
  </tag>
2152
- <tag line="439" name="param" description="Name of the page being loaded" type="string" variable="$this_screen">
2153
  <type by_reference="false">string</type>
2154
  </tag>
2155
- <tag line="439" name="return" description="True to display &quot;Screen Options&quot;, false to suppress them" type="boolean">
2156
  <type by_reference="false">boolean</type>
2157
  </tag>
2158
  </docblock>
2159
- <argument line="449">
2160
  <name>$show_screen</name>
2161
  <default><![CDATA[]]></default>
2162
  <type/>
2163
  </argument>
2164
- <argument line="449">
2165
  <name>$this_screen</name>
2166
  <default><![CDATA[]]></default>
2167
  <type/>
2168
  </argument>
2169
  </method>
2170
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="467" package="Media Library Assistant">
2171
  <name>mla_set_screen_option_filter</name>
2172
  <full_name>mla_set_screen_option_filter</full_name>
2173
- <docblock line="456">
2174
  <description><![CDATA[Save the "Entries per page" option set by this user]]></description>
2175
  <long-description><![CDATA[]]></long-description>
2176
- <tag line="456" name="since" description="0.1"/>
2177
- <tag line="456" name="param" description="Unknown - always false?" type="boolean" variable="$status">
2178
  <type by_reference="false">boolean</type>
2179
  </tag>
2180
- <tag line="456" name="param" description="Name of the option being changed" type="string" variable="$option">
2181
  <type by_reference="false">string</type>
2182
  </tag>
2183
- <tag line="456" name="param" description="New value of the option" type="string" variable="$value">
2184
  <type by_reference="false">string</type>
2185
  </tag>
2186
- <tag line="456" name="return" description="New value if this is our option, otherwise nothing" type="string|void">
2187
  <type by_reference="false">string</type>
2188
  <type by_reference="false">void</type>
2189
  </tag>
2190
  </docblock>
2191
- <argument line="467">
2192
  <name>$status</name>
2193
  <default><![CDATA[]]></default>
2194
  <type/>
2195
  </argument>
2196
- <argument line="467">
2197
  <name>$option</name>
2198
  <default><![CDATA[]]></default>
2199
  <type/>
2200
  </argument>
2201
- <argument line="467">
2202
  <name>$value</name>
2203
  <default><![CDATA[]]></default>
2204
  <type/>
2205
  </argument>
2206
  </method>
2207
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="484" package="Media Library Assistant">
2208
  <name>mla_edit_tax_redirect</name>
2209
  <full_name>mla_edit_tax_redirect</full_name>
2210
- <docblock line="473">
2211
  <description><![CDATA[Redirect to the Edit Tags/Categories page]]></description>
2212
  <long-description><![CDATA[<p>The custom taxonomy add/edit submenu entries go to "upload.php" by default.
2213
  This filter is the only way to redirect them to the correct WordPress page.
2214
  The filter is not required for WordPress 3.5 and later.</p>]]></long-description>
2215
- <tag line="473" name="since" description="0.1"/>
2216
- <tag line="473" name="return" description="" type="void">
2217
  <type by_reference="false">void</type>
2218
  </tag>
2219
  </docblock>
2220
  </method>
2221
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="517" package="Media Library Assistant">
2222
  <name>mla_parent_file_filter</name>
2223
  <full_name>mla_parent_file_filter</full_name>
2224
- <docblock line="501">
2225
  <description><![CDATA[Cleanup menus for Edit Tags/Categories page]]></description>
2226
  <long-description><![CDATA[<p>For WordPress before 3.5, the submenu entries for custom taxonomies
2227
  under the "Media" menu are not set up correctly by WordPress, so this
@@ -2229,190 +2310,190 @@ function cleans them up, redirecting the request to the right WordPress
2229
  page for editing/adding taxonomy terms.
2230
  For WordPress 3.5 and later, the function fixes the submenu bolding when
2231
  going to the Edit Media screen.</p>]]></long-description>
2232
- <tag line="501" name="since" description="0.1"/>
2233
- <tag line="501" name="param" description="The top-level menu page" type="array" variable="$parent_file">
2234
  <type by_reference="false">array</type>
2235
  </tag>
2236
- <tag line="501" name="return" description="The updated top-level menu page" type="string">
2237
  <type by_reference="false">string</type>
2238
  </tag>
2239
  </docblock>
2240
- <argument line="517">
2241
  <name>$parent_file</name>
2242
  <default><![CDATA[]]></default>
2243
  <type/>
2244
  </argument>
2245
  </method>
2246
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="560" package="Media Library Assistant">
2247
  <name>mla_render_admin_page</name>
2248
  <full_name>mla_render_admin_page</full_name>
2249
- <docblock line="553">
2250
  <description><![CDATA[Render the "Assistant" subpage in the Media section, using the list_table package]]></description>
2251
  <long-description><![CDATA[]]></long-description>
2252
- <tag line="553" name="since" description="0.1"/>
2253
- <tag line="553" name="return" description="" type="void">
2254
  <type by_reference="false">void</type>
2255
  </tag>
2256
  </docblock>
2257
  </method>
2258
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="811" package="Media Library Assistant">
2259
  <name>mla_inline_edit_action</name>
2260
  <full_name>mla_inline_edit_action</full_name>
2261
- <docblock line="802">
2262
  <description><![CDATA[Ajax handler for inline editing (quick and bulk edit)]]></description>
2263
  <long-description><![CDATA[<p>Adapted from wp_ajax_inline_save in /wp-admin/includes/ajax-actions.php</p>]]></long-description>
2264
- <tag line="802" name="since" description="0.20"/>
2265
- <tag line="802" name="return" description="echo HTML &lt;tr&gt; markup for updated row or error message, then die()" type="void">
2266
  <type by_reference="false">void</type>
2267
  </tag>
2268
  </docblock>
2269
  </method>
2270
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="891" package="Media Library Assistant">
2271
  <name>_build_inline_edit_form</name>
2272
  <full_name>_build_inline_edit_form</full_name>
2273
- <docblock line="880">
2274
  <description><![CDATA[Build the hidden row templates for inline editing (quick and bulk edit)]]></description>
2275
  <long-description><![CDATA[<p>inspired by inline_edit() in wp-admin\includes\class-wp-posts-list-table.php.</p>]]></long-description>
2276
- <tag line="880" name="since" description="0.20"/>
2277
- <tag line="880" name="param" description="MLA List Table object" type="object" variable="$MLAListTable">
2278
  <type by_reference="false">object</type>
2279
  </tag>
2280
- <tag line="880" name="return" description="HTML &lt;form&gt; markup for hidden rows" type="string">
2281
  <type by_reference="false">string</type>
2282
  </tag>
2283
  </docblock>
2284
- <argument line="891">
2285
  <name>$MLAListTable</name>
2286
  <default><![CDATA[]]></default>
2287
  <type/>
2288
  </argument>
2289
  </method>
2290
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1028" package="Media Library Assistant">
2291
  <name>_authors_dropdown</name>
2292
  <full_name>_authors_dropdown</full_name>
2293
- <docblock line="1017">
2294
  <description><![CDATA[Get the edit Authors dropdown box, if user has suitable permissions]]></description>
2295
  <long-description><![CDATA[]]></long-description>
2296
- <tag line="1017" name="since" description="0.20"/>
2297
- <tag line="1017" name="param" description="Optional User ID of the current author, default 0" type="integer" variable="$author">
2298
  <type by_reference="false">integer</type>
2299
  </tag>
2300
- <tag line="1017" name="param" description="Optional HTML name attribute, default 'post_author'" type="string" variable="$name">
2301
  <type by_reference="false">string</type>
2302
  </tag>
2303
- <tag line="1017" name="param" description="Optional HTML class attribute, default 'authors'" type="string" variable="$class">
2304
  <type by_reference="false">string</type>
2305
  </tag>
2306
- <tag line="1017" name="return" description="HTML markup for the dropdown field or False" type="string|false">
2307
  <type by_reference="false">string</type>
2308
  <type by_reference="false">false</type>
2309
  </tag>
2310
  </docblock>
2311
- <argument line="1028">
2312
  <name>$author</name>
2313
  <default><![CDATA[0]]></default>
2314
  <type/>
2315
  </argument>
2316
- <argument line="1028">
2317
  <name>$name</name>
2318
  <default><![CDATA['post_author']]></default>
2319
  <type/>
2320
  </argument>
2321
- <argument line="1028">
2322
  <name>$class</name>
2323
  <default><![CDATA['authors']]></default>
2324
  <type/>
2325
  </argument>
2326
  </method>
2327
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1062" package="Media Library Assistant">
2328
  <name>_current_bulk_action</name>
2329
  <full_name>_current_bulk_action</full_name>
2330
- <docblock line="1055">
2331
  <description><![CDATA[Get the current action selected from the bulk actions dropdown]]></description>
2332
  <long-description><![CDATA[]]></long-description>
2333
- <tag line="1055" name="since" description="0.1"/>
2334
- <tag line="1055" name="return" description="The action name or False if no action was selected" type="string|false">
2335
  <type by_reference="false">string</type>
2336
  <type by_reference="false">false</type>
2337
  </tag>
2338
  </docblock>
2339
  </method>
2340
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1092" package="Media Library Assistant">
2341
  <name>_delete_single_item</name>
2342
  <full_name>_delete_single_item</full_name>
2343
- <docblock line="1083">
2344
  <description><![CDATA[Delete a single item permanently]]></description>
2345
  <long-description><![CDATA[]]></long-description>
2346
- <tag line="1083" name="since" description="0.1"/>
2347
- <tag line="1083" name="param" description="The form POST data" type="array" variable="$post_id">
2348
  <type by_reference="false">array</type>
2349
  </tag>
2350
- <tag line="1083" name="return" description="success/failure message and NULL content" type="array">
2351
  <type by_reference="false">array</type>
2352
  </tag>
2353
  </docblock>
2354
- <argument line="1092">
2355
  <name>$post_id</name>
2356
  <default><![CDATA[]]></default>
2357
  <type/>
2358
  </argument>
2359
  </method>
2360
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1121" package="Media Library Assistant">
2361
  <name>_display_single_item</name>
2362
  <full_name>_display_single_item</full_name>
2363
- <docblock line="1111">
2364
  <description><![CDATA[Display a single item sub page; prepare the form to
2365
  change the meta data for a single attachment.]]></description>
2366
  <long-description><![CDATA[]]></long-description>
2367
- <tag line="1111" name="since" description="0.1"/>
2368
- <tag line="1111" name="param" description="The WordPress Post ID of the attachment item" type="int" variable="$post_id">
2369
  <type by_reference="false">int</type>
2370
  </tag>
2371
- <tag line="1111" name="return" description="message and/or HTML content" type="array">
2372
  <type by_reference="false">array</type>
2373
  </tag>
2374
  </docblock>
2375
- <argument line="1121">
2376
  <name>$post_id</name>
2377
  <default><![CDATA[]]></default>
2378
  <type/>
2379
  </argument>
2380
  </method>
2381
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1360" package="Media Library Assistant">
2382
  <name>_restore_single_item</name>
2383
  <full_name>_restore_single_item</full_name>
2384
- <docblock line="1351">
2385
  <description><![CDATA[Restore a single item from the Trash]]></description>
2386
  <long-description><![CDATA[]]></long-description>
2387
- <tag line="1351" name="since" description="0.1"/>
2388
- <tag line="1351" name="param" description="The form POST data" type="array" variable="$post_id">
2389
  <type by_reference="false">array</type>
2390
  </tag>
2391
- <tag line="1351" name="return" description="success/failure message and NULL content" type="array">
2392
  <type by_reference="false">array</type>
2393
  </tag>
2394
  </docblock>
2395
- <argument line="1360">
2396
  <name>$post_id</name>
2397
  <default><![CDATA[]]></default>
2398
  <type/>
2399
  </argument>
2400
  </method>
2401
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1396" package="Media Library Assistant">
2402
  <name>_trash_single_item</name>
2403
  <full_name>_trash_single_item</full_name>
2404
- <docblock line="1387">
2405
  <description><![CDATA[Move a single item to Trash]]></description>
2406
  <long-description><![CDATA[]]></long-description>
2407
- <tag line="1387" name="since" description="0.1"/>
2408
- <tag line="1387" name="param" description="The form POST data" type="array" variable="$post_id">
2409
  <type by_reference="false">array</type>
2410
  </tag>
2411
- <tag line="1387" name="return" description="success/failure message and NULL content" type="array">
2412
  <type by_reference="false">array</type>
2413
  </tag>
2414
  </docblock>
2415
- <argument line="1396">
2416
  <name>$post_id</name>
2417
  <default><![CDATA[]]></default>
2418
  <type/>
@@ -2420,7 +2501,7 @@ change the meta data for a single attachment.]]></description>
2420
  </method>
2421
  </class>
2422
  </file>
2423
- <file path="includes\class-mla-objects.php" hash="c571d4b2d34bcbb60ee67b25ab36534d" package="Media Library Assistant">
2424
  <docblock line="2">
2425
  <description><![CDATA[Media Library Assistant Custom Taxonomy and Post Type objects]]></description>
2426
  <long-description><![CDATA[]]></long-description>
@@ -2521,68 +2602,131 @@ which returns a count of the attachments assigned a given term]]></description>
2521
  </method>
2522
  </class>
2523
  </file>
2524
- <file path="includes\class-mla-settings.php" hash="dcd9151801ffc1eddd01219ad6fb8c97" package="Media Library Assistant">
2525
  <docblock line="2">
2526
- <description><![CDATA[Manages the plugin option settings and provides the settings page to edit them]]></description>
2527
  <long-description><![CDATA[]]></long-description>
2528
  <tag line="2" name="package" description="Media Library Assistant"/>
2529
- <tag line="2" name="since" description="0.1"/>
2530
  </docblock>
2531
- <class final="false" abstract="false" namespace="global" line="16" package="Media Library Assistant">
2532
  <extends/>
2533
- <name>MLASettings</name>
2534
- <full_name>\MLASettings</full_name>
2535
  <docblock line="9">
2536
- <description><![CDATA[Class MLA (Media Library Assistant) Settings manages the plugin option settings
2537
- and provides the settings page to edit them.]]></description>
2538
- <long-description><![CDATA[]]></long-description>
2539
  <tag line="9" name="package" description="Media Library Assistant"/>
2540
- <tag line="9" name="since" description="0.1"/>
2541
  </docblock>
2542
- <constant namespace="global" line="29" package="Media Library Assistant">
2543
- <name>MLA_ALT_TEXT_VIEW_SUFFIX</name>
2544
- <full_name>MLA_ALT_TEXT_VIEW_SUFFIX</full_name>
2545
- <value><![CDATA['alt_text_view']]></value>
2546
- <docblock line="26">
2547
- <description><![CDATA[Provides a unique suffix for the ALT Text SQL VIEW]]></description>
2548
  <long-description><![CDATA[]]></long-description>
2549
  </docblock>
2550
  </constant>
2551
- <constant namespace="global" line="34" package="Media Library Assistant">
2552
- <name>MLA_SETTINGS_SLUG</name>
2553
- <full_name>MLA_SETTINGS_SLUG</full_name>
2554
- <value><![CDATA['mla-settings-menu']]></value>
2555
- <docblock line="31">
2556
- <description><![CDATA[Provides a unique name for the settings page]]></description>
2557
  <long-description><![CDATA[]]></long-description>
2558
  </docblock>
2559
  </constant>
2560
- <constant namespace="global" line="39" package="Media Library Assistant">
2561
- <name>MLA_VERSION_OPTION</name>
2562
- <full_name>MLA_VERSION_OPTION</full_name>
2563
- <value><![CDATA['current_version']]></value>
2564
- <docblock line="36">
2565
- <description><![CDATA[Provides a unique name for the current version option]]></description>
2566
  <long-description><![CDATA[]]></long-description>
2567
  </docblock>
2568
  </constant>
2569
- <property final="false" static="true" visibility="public" line="24" namespace="global" package="Media Library Assistant">
2570
- <name>$mla_alt_text_view</name>
2571
- <default><![CDATA[null]]></default>
2572
- <docblock line="17">
2573
- <description><![CDATA[Provides a unique name for the ALT Text SQL VIEW]]></description>
 
2574
  <long-description><![CDATA[]]></long-description>
2575
- <tag line="17" name="since" description="0.40"/>
2576
- <tag line="17" name="var" description="" type="array">
2577
- <type by_reference="false">array</type>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2578
  </tag>
2579
  </docblock>
2580
  </property>
2581
- <property final="false" static="true" visibility="private" line="66" namespace="global" package="Media Library Assistant">
2582
- <name>$mla_options</name>
2583
- <default><![CDATA[array(self::MLA_VERSION_OPTION => array('tab' => '', 'type' => 'hidden', 'std' => '0'), 'attachment_category' => array('tab' => '', 'name' => 'Attachment Categories', 'type' => 'hidden', 'std' => 'checked', 'help' => 'Check this option to add support for Attachment Categories.'), 'attachment_tag' => array('tab' => '', 'name' => 'Attachment Tags', 'type' => 'hidden', 'std' => 'checked', 'help' => 'Check this option to add support for Attachment Tags.'), 'where_used_heading' => array('tab' => 'general', 'name' => 'Where-used Reporting', 'type' => 'header'), 'exclude_revisions' => array('tab' => 'general', 'name' => 'Exclude Revisions', 'type' => 'checkbox', 'std' => 'checked', 'help' => 'Check this option to exclude revisions from where-used reporting.'), 'taxonomy_heading' => array('tab' => 'general', 'name' => 'Taxonomy Support', 'type' => 'header'), 'taxonomy_support' => array('tab' => 'general', 'help' => 'Check the "Support" box to add the taxonomy to the Assistant.<br>Check the "Inline Edit" box to display the taxonomy in the Quick Edit and Bulk Edit areas.<br>Use the "List Filter" option to select the taxonomy on which to filter the Assistant table listing.', 'std' => array('tax_support' => array('attachment_category' => 'checked', 'attachment_tag' => 'checked'), 'tax_quick_edit' => array('attachment_category' => 'checked', 'attachment_tag' => 'checked'), 'tax_filter' => 'attachment_category'), 'type' => 'custom', 'render' => '_taxonomy_handler', 'update' => '_taxonomy_handler', 'delete' => '_taxonomy_handler', 'reset' => '_taxonomy_handler'), 'orderby_heading' => array('tab' => 'general', 'name' => 'Default Table Listing Sort Order', 'type' => 'header'), 'default_orderby' => array('tab' => 'general', 'name' => 'Order By', 'type' => 'select', 'std' => 'title_name', 'options' => array('title_name'), 'texts' => array('Title/Name'), 'help' => 'Select the column for the sort order of the Assistant table listing.'), 'default_order' => array('tab' => 'general', 'name' => 'Order', 'type' => 'radio', 'std' => 'ASC', 'options' => array('ASC', 'DESC'), 'texts' => array('Ascending', 'Descending'), 'help' => 'Choose the sort order.'), 'style_templates' => array('tab' => '', 'type' => 'hidden', 'std' => array()), 'markup_templates' => array('tab' => '', 'type' => 'hidden', 'std' => array()))]]></default>
2584
- <docblock line="41">
2585
- <description><![CDATA[$mla_options defines the database options and admin page areas for setting/updating them.]]></description>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2586
  <long-description><![CDATA[<p>Each option is defined by an array with the following elements:</p>
2587
 
2588
  <p>array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)</p>
@@ -2607,572 +2751,948 @@ reset => reset function for 'custom' options; returns nothing. Usage:
2607
  $message = ['reset']( 'reset', $key, $value, $_REQUEST );</p>]]></long-description>
2608
  </docblock>
2609
  </property>
2610
- <property final="false" static="true" visibility="private" line="363" namespace="global" package="Media Library Assistant">
2611
- <name>$mla_template_array</name>
2612
  <default><![CDATA[null]]></default>
2613
- <docblock line="356">
2614
  <description><![CDATA[Style and Markup templates]]></description>
2615
  <long-description><![CDATA[]]></long-description>
2616
- <tag line="356" name="since" description="0.80"/>
2617
- <tag line="356" name="var" description="" type="array">
2618
- <type by_reference="false">array</type>
2619
- </tag>
2620
- </docblock>
2621
- </property>
2622
- <property final="false" static="true" visibility="private" line="815" namespace="global" package="Media Library Assistant">
2623
- <name>$page_template_array</name>
2624
- <default><![CDATA[null]]></default>
2625
- <docblock line="805">
2626
- <description><![CDATA[Template file for the Settings page(s) and parts]]></description>
2627
- <long-description><![CDATA[<p>This array contains all of the template parts for the Settings page(s). The array is built once
2628
- each page load and cached for subsequent use.</p>]]></long-description>
2629
- <tag line="805" name="since" description="0.80"/>
2630
- <tag line="805" name="var" description="" type="array">
2631
- <type by_reference="false">array</type>
2632
- </tag>
2633
- </docblock>
2634
- </property>
2635
- <property final="false" static="true" visibility="private" line="831" namespace="global" package="Media Library Assistant">
2636
- <name>$mla_tablist</name>
2637
- <default><![CDATA[array('general' => array('title' => 'General', 'render' => '_compose_general_tab'), 'mla-gallery' => array('title' => 'MLA Gallery', 'render' => '_compose_mla_gallery_tab'), 'documentation' => array('title' => 'Documentation', 'render' => '_compose_documentation_tab'))]]></default>
2638
- <docblock line="817">
2639
- <description><![CDATA[Definitions for Settings page tab ids, titles and handlers
2640
- Each tab is defined by an array with the following elements:]]></description>
2641
- <long-description><![CDATA[<p>array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)</p>
2642
-
2643
- <p>title => tab label / heading text
2644
- render => rendering function for tab messages and content. Usage:
2645
- $tab_content = <a href="">'render'</a>;</p>]]></long-description>
2646
- <tag line="817" name="since" description="0.80"/>
2647
- <tag line="817" name="var" description="" type="array">
2648
  <type by_reference="false">array</type>
2649
  </tag>
2650
  </docblock>
2651
  </property>
2652
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="198" package="Media Library Assistant">
2653
  <name>initialize</name>
2654
  <full_name>initialize</full_name>
2655
- <docblock line="191">
2656
  <description><![CDATA[Initialization function, similar to __construct()]]></description>
2657
  <long-description><![CDATA[]]></long-description>
2658
- <tag line="191" name="since" description="0.1"/>
2659
- <tag line="191" name="return" description="" type="void">
2660
- <type by_reference="false">void</type>
2661
- </tag>
2662
- </docblock>
2663
- </method>
2664
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="215" package="Media Library Assistant">
2665
- <name>_version_upgrade</name>
2666
- <full_name>_version_upgrade</full_name>
2667
- <docblock line="208">
2668
- <description><![CDATA[Database and option update check, for installing new versions]]></description>
2669
- <long-description><![CDATA[]]></long-description>
2670
- <tag line="208" name="since" description="0.30"/>
2671
- <tag line="208" name="return" description="" type="void">
2672
- <type by_reference="false">void</type>
2673
- </tag>
2674
- </docblock>
2675
- </method>
2676
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="257" package="Media Library Assistant">
2677
- <name>_create_alt_text_view</name>
2678
- <full_name>_create_alt_text_view</full_name>
2679
- <docblock line="247">
2680
- <description><![CDATA[Add a view to the database to support sorting the listing on 'ALT Text']]></description>
2681
- <long-description><![CDATA[<p>This function is called on each plugin invocation because the plugin upgrade process
2682
- does not call the activation hook.</p>]]></long-description>
2683
- <tag line="247" name="since" description="0.50"/>
2684
- <tag line="247" name="return" description="" type="void">
2685
- <type by_reference="false">void</type>
2686
- </tag>
2687
- </docblock>
2688
- </method>
2689
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="289" package="Media Library Assistant">
2690
- <name>mla_activation_hook</name>
2691
- <full_name>mla_activation_hook</full_name>
2692
- <docblock line="280">
2693
- <description><![CDATA[Perform one-time actions on plugin activation]]></description>
2694
- <long-description><![CDATA[<p>Adds a view to the database to support sorting the listing on 'ALT Text'.</p>]]></long-description>
2695
- <tag line="280" name="since" description="0.40"/>
2696
- <tag line="280" name="return" description="" type="void">
2697
- <type by_reference="false">void</type>
2698
- </tag>
2699
- </docblock>
2700
- </method>
2701
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="302" package="Media Library Assistant">
2702
- <name>mla_deactivation_hook</name>
2703
- <full_name>mla_deactivation_hook</full_name>
2704
- <docblock line="293">
2705
- <description><![CDATA[Perform one-time actions on plugin deactivation]]></description>
2706
- <long-description><![CDATA[<p>Removes a view from the database that supports sorting the listing on 'ALT Text'.</p>]]></long-description>
2707
- <tag line="293" name="since" description="0.40"/>
2708
- <tag line="293" name="return" description="" type="void">
2709
- <type by_reference="false">void</type>
2710
- </tag>
2711
- </docblock>
2712
- </method>
2713
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="329" package="Media Library Assistant">
2714
- <name>mla_admin_menu_action</name>
2715
- <full_name>mla_admin_menu_action</full_name>
2716
- <docblock line="321">
2717
- <description><![CDATA[Add settings page in the "Settings" section,
2718
- add settings link in the Plugins section entry for MLA.]]></description>
2719
- <long-description><![CDATA[]]></long-description>
2720
- <tag line="321" name="since" description="0.1"/>
2721
- <tag line="321" name="return" description="" type="void">
2722
  <type by_reference="false">void</type>
2723
  </tag>
2724
  </docblock>
2725
  </method>
2726
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="347" package="Media Library Assistant">
2727
- <name>mla_add_plugin_settings_link</name>
2728
- <full_name>mla_add_plugin_settings_link</full_name>
2729
- <docblock line="337">
2730
- <description><![CDATA[Add the "Settings" link to the MLA entry in the Plugins section]]></description>
2731
- <long-description><![CDATA[]]></long-description>
2732
- <tag line="337" name="since" description="0.1"/>
2733
- <tag line="337" name="param" description="array of links for the Plugin, e.g., &quot;Activate&quot;" type="array" variable="$links">
2734
- <type by_reference="false">array</type>
2735
- </tag>
2736
- <tag line="337" name="param" description="Directory and name of the plugin Index file" type="string" variable="$file">
2737
- <type by_reference="false">string</type>
2738
- </tag>
2739
- <tag line="337" name="return" description="Updated array of links for the Plugin" type="array">
2740
- <type by_reference="false">array</type>
2741
- </tag>
2742
- </docblock>
2743
- <argument line="347">
2744
- <name>$links</name>
2745
- <default><![CDATA[]]></default>
2746
- <type/>
2747
- </argument>
2748
- <argument line="347">
2749
- <name>$file</name>
2750
- <default><![CDATA[]]></default>
2751
- <type/>
2752
- </argument>
2753
- </method>
2754
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="372" package="Media Library Assistant">
2755
- <name>_load_templates</name>
2756
- <full_name>_load_templates</full_name>
2757
- <docblock line="365">
2758
  <description><![CDATA[Load style and markup templates to $mla_templates]]></description>
2759
  <long-description><![CDATA[]]></long-description>
2760
- <tag line="365" name="since" description="0.80"/>
2761
- <tag line="365" name="return" description="" type="void">
2762
  <type by_reference="false">void</type>
2763
  </tag>
2764
  </docblock>
2765
  </method>
2766
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="420" package="Media Library Assistant">
2767
  <name>mla_fetch_gallery_template</name>
2768
  <full_name>mla_fetch_gallery_template</full_name>
2769
- <docblock line="410">
2770
  <description><![CDATA[Fetch style or markup template from $mla_templates]]></description>
2771
  <long-description><![CDATA[]]></long-description>
2772
- <tag line="410" name="since" description="0.80"/>
2773
- <tag line="410" name="param" description="Template name" type="string" variable="$key">
2774
  <type by_reference="false">string</type>
2775
  </tag>
2776
- <tag line="410" name="param" description="Template type; 'style' (default) or 'markup'" type="string" variable="$type">
2777
  <type by_reference="false">string</type>
2778
  </tag>
2779
- <tag line="410" name="return" description="requested template, false if not found or null if no templates" type="string|boolean|null">
2780
  <type by_reference="false">string</type>
2781
  <type by_reference="false">boolean</type>
2782
  <type by_reference="false">null</type>
2783
  </tag>
2784
  </docblock>
2785
- <argument line="420">
2786
  <name>$key</name>
2787
  <default><![CDATA[]]></default>
2788
  <type/>
2789
  </argument>
2790
- <argument line="420">
2791
  <name>$type</name>
2792
  <default><![CDATA['style']]></default>
2793
  <type/>
2794
  </argument>
2795
  </method>
2796
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="442" package="Media Library Assistant">
2797
- <name>_get_style_templates</name>
2798
- <full_name>_get_style_templates</full_name>
2799
- <docblock line="435">
2800
  <description><![CDATA[Get ALL style templates from $mla_templates, including 'default']]></description>
2801
  <long-description><![CDATA[]]></long-description>
2802
- <tag line="435" name="since" description="0.80"/>
2803
- <tag line="435" name="return" description="name =&gt; value for all style templates or null if no templates" type="array|null">
2804
  <type by_reference="false">array</type>
2805
  <type by_reference="false">null</type>
2806
  </tag>
2807
  </docblock>
2808
  </method>
2809
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="468" package="Media Library Assistant">
2810
- <name>_put_style_templates</name>
2811
- <full_name>_put_style_templates</full_name>
2812
- <docblock line="460">
2813
  <description><![CDATA[Put user-defined style templates to $mla_templates and database]]></description>
2814
  <long-description><![CDATA[]]></long-description>
2815
- <tag line="460" name="since" description="0.80"/>
2816
- <tag line="460" name="param" description="name =&gt; value for all user-defined style templates" type="array" variable="$templates">
2817
  <type by_reference="false">array</type>
2818
  </tag>
2819
- <tag line="460" name="return" description="true if success, false if failure" type="boolean">
2820
  <type by_reference="false">boolean</type>
2821
  </tag>
2822
  </docblock>
2823
- <argument line="468">
2824
  <name>$templates</name>
2825
  <default><![CDATA[]]></default>
2826
  <type/>
2827
  </argument>
2828
  </method>
2829
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="484" package="Media Library Assistant">
2830
- <name>_get_markup_templates</name>
2831
- <full_name>_get_markup_templates</full_name>
2832
- <docblock line="477">
2833
  <description><![CDATA[Get ALL markup templates from $mla_templates, including 'default']]></description>
2834
  <long-description><![CDATA[]]></long-description>
2835
- <tag line="477" name="since" description="0.80"/>
2836
- <tag line="477" name="return" description="name =&gt; value for all markup templates or null if no templates" type="array|null">
2837
  <type by_reference="false">array</type>
2838
  <type by_reference="false">null</type>
2839
  </tag>
2840
  </docblock>
2841
  </method>
2842
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="538" package="Media Library Assistant">
2843
- <name>_put_markup_templates</name>
2844
- <full_name>_put_markup_templates</full_name>
2845
- <docblock line="530">
2846
  <description><![CDATA[Put user-defined markup templates to $mla_templates and database]]></description>
2847
  <long-description><![CDATA[]]></long-description>
2848
- <tag line="530" name="since" description="0.80"/>
2849
- <tag line="530" name="param" description="name =&gt; value for all user-defined markup templates" type="array" variable="$templates">
2850
  <type by_reference="false">array</type>
2851
  </tag>
2852
- <tag line="530" name="return" description="true if success, false if failure" type="boolean">
2853
  <type by_reference="false">boolean</type>
2854
  </tag>
2855
  </docblock>
2856
- <argument line="538">
2857
  <name>$templates</name>
2858
  <default><![CDATA[]]></default>
2859
  <type/>
2860
  </argument>
2861
  </method>
2862
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="556" package="Media Library Assistant">
2863
  <name>mla_get_option</name>
2864
  <full_name>mla_get_option</full_name>
2865
- <docblock line="547">
2866
  <description><![CDATA[Return the stored value or default value of a defined MLA option]]></description>
2867
  <long-description><![CDATA[]]></long-description>
2868
- <tag line="547" name="since" description="0.1"/>
2869
- <tag line="547" name="param" description="Name of the desired option" type="string" variable="$option">
2870
  <type by_reference="false">string</type>
2871
  </tag>
2872
- <tag line="547" name="return" description="Value(s) for the option or false if the option is not a defined MLA option" type="mixed">
2873
  <type by_reference="false">mixed</type>
2874
  </tag>
2875
  </docblock>
2876
- <argument line="556">
2877
  <name>$option</name>
2878
  <default><![CDATA[]]></default>
2879
  <type/>
2880
  </argument>
2881
  </method>
2882
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="577" package="Media Library Assistant">
2883
  <name>mla_update_option</name>
2884
  <full_name>mla_update_option</full_name>
2885
- <docblock line="567">
2886
  <description><![CDATA[Add or update the stored value of a defined MLA option]]></description>
2887
  <long-description><![CDATA[]]></long-description>
2888
- <tag line="567" name="since" description="0.1"/>
2889
- <tag line="567" name="param" description="Name of the desired option" type="string" variable="$option">
2890
  <type by_reference="false">string</type>
2891
  </tag>
2892
- <tag line="567" name="param" description="New value for the desired option" type="mixed" variable="$newvalue">
2893
  <type by_reference="false">mixed</type>
2894
  </tag>
2895
- <tag line="567" name="return" description="True if the value was changed or false if the update failed" type="boolean">
2896
  <type by_reference="false">boolean</type>
2897
  </tag>
2898
  </docblock>
2899
- <argument line="577">
2900
  <name>$option</name>
2901
  <default><![CDATA[]]></default>
2902
  <type/>
2903
  </argument>
2904
- <argument line="577">
2905
  <name>$newvalue</name>
2906
  <default><![CDATA[]]></default>
2907
  <type/>
2908
  </argument>
2909
  </method>
2910
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="593" package="Media Library Assistant">
2911
  <name>mla_delete_option</name>
2912
  <full_name>mla_delete_option</full_name>
2913
- <docblock line="584">
2914
  <description><![CDATA[Delete the stored value of a defined MLA option]]></description>
2915
  <long-description><![CDATA[]]></long-description>
2916
- <tag line="584" name="since" description="0.1"/>
2917
- <tag line="584" name="param" description="Name of the desired option" type="string" variable="$option">
2918
  <type by_reference="false">string</type>
2919
  </tag>
2920
- <tag line="584" name="return" description="True if the option was deleted, otherwise false" type="boolean">
2921
  <type by_reference="false">boolean</type>
2922
  </tag>
2923
  </docblock>
2924
- <argument line="593">
2925
  <name>$option</name>
2926
  <default><![CDATA[]]></default>
2927
  <type/>
2928
  </argument>
2929
  </method>
2930
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="612" package="Media Library Assistant">
2931
- <name>_update_option_row</name>
2932
- <full_name>_update_option_row</full_name>
2933
- <docblock line="601">
2934
- <description><![CDATA[Update or delete a single MLA option value]]></description>
 
2935
  <long-description><![CDATA[]]></long-description>
2936
- <tag line="601" name="since" description="0.80"/>
2937
- <tag line="601" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
2938
- <tag line="601" name="param" description="HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)" type="string" variable="$key">
2939
  <type by_reference="false">string</type>
2940
  </tag>
2941
- <tag line="601" name="param" description="Option parameters, e.g., 'type', 'std'" type="array" variable="$value">
2942
- <type by_reference="false">array</type>
2943
  </tag>
2944
- <tag line="601" name="return" description="HTML markup for the option's table row" type="string">
 
2945
  <type by_reference="false">string</type>
2946
  </tag>
2947
  </docblock>
2948
- <argument line="612">
2949
- <name>$key</name>
2950
  <default><![CDATA[]]></default>
2951
  <type/>
2952
  </argument>
2953
- <argument line="612">
2954
- <name>$value</name>
2955
- <default><![CDATA[]]></default>
2956
  <type/>
2957
  </argument>
2958
  </method>
2959
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="688" package="Media Library Assistant">
2960
- <name>_compose_option_row</name>
2961
- <full_name>_compose_option_row</full_name>
2962
- <docblock line="677">
2963
- <description><![CDATA[Compose the table row for a single MLA option]]></description>
2964
  <long-description><![CDATA[]]></long-description>
2965
- <tag line="677" name="since" description="0.80"/>
2966
- <tag line="677" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
2967
- <tag line="677" name="param" description="HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)" type="string" variable="$key">
 
 
 
2968
  <type by_reference="false">string</type>
2969
  </tag>
2970
- <tag line="677" name="param" description="Option parameters, e.g., 'type', 'std'" type="array" variable="$value">
 
 
 
2971
  <type by_reference="false">array</type>
2972
  </tag>
2973
- <tag line="677" name="return" description="HTML markup for the option's table row" type="string">
2974
  <type by_reference="false">string</type>
2975
  </tag>
2976
  </docblock>
2977
- <argument line="688">
 
 
 
 
 
2978
  <name>$key</name>
2979
  <default><![CDATA[]]></default>
2980
  <type/>
2981
  </argument>
2982
- <argument line="688">
2983
  <name>$value</name>
2984
  <default><![CDATA[]]></default>
2985
  <type/>
2986
  </argument>
2987
- </method>
2988
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="847" package="Media Library Assistant">
2989
- <name>_compose_settings_tabs</name>
2990
- <full_name>_compose_settings_tabs</full_name>
2991
- <docblock line="837">
2992
- <description><![CDATA[Compose the navigation tabs for the Settings subpage]]></description>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2993
  <long-description><![CDATA[]]></long-description>
2994
- <tag line="837" name="since" description="0.80"/>
2995
- <tag line="837" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
2996
- <tag line="837" name="param" description="Optional data-tab-id value for the active tab, default 'general'" type="string" variable="$active_tab">
 
 
2997
  <type by_reference="false">string</type>
2998
  </tag>
2999
- <tag line="837" name="return" description="HTML markup for the Settings subpage navigation tabs" type="string">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3000
  <type by_reference="false">string</type>
3001
  </tag>
3002
  </docblock>
3003
- <argument line="847">
3004
- <name>$active_tab</name>
3005
- <default><![CDATA['general']]></default>
3006
  <type/>
3007
  </argument>
3008
  </method>
3009
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="873" package="Media Library Assistant">
3010
- <name>_compose_general_tab</name>
3011
- <full_name>_compose_general_tab</full_name>
3012
- <docblock line="865">
3013
- <description><![CDATA[Compose the General tab content for the Settings subpage]]></description>
3014
  <long-description><![CDATA[]]></long-description>
3015
- <tag line="865" name="since" description="0.80"/>
3016
- <tag line="865" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3017
- <tag line="865" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3018
  <type by_reference="false">array</type>
3019
  </tag>
3020
  </docblock>
 
 
 
 
 
 
 
 
 
 
3021
  </method>
3022
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="957" package="Media Library Assistant">
3023
- <name>_compose_mla_gallery_tab</name>
3024
- <full_name>_compose_mla_gallery_tab</full_name>
3025
- <docblock line="949">
3026
- <description><![CDATA[Compose the MLA Gallery tab content for the Settings subpage]]></description>
3027
  <long-description><![CDATA[]]></long-description>
3028
- <tag line="949" name="since" description="0.80"/>
3029
- <tag line="949" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3030
- <tag line="949" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
 
 
 
 
 
3031
  <type by_reference="false">array</type>
3032
  </tag>
3033
  </docblock>
 
 
 
 
 
 
 
 
 
 
3034
  </method>
3035
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1239" package="Media Library Assistant">
3036
- <name>_compose_documentation_tab</name>
3037
- <full_name>_compose_documentation_tab</full_name>
3038
- <docblock line="1231">
3039
- <description><![CDATA[Compose the Documentation tab content for the Settings subpage]]></description>
3040
  <long-description><![CDATA[]]></long-description>
3041
- <tag line="1231" name="since" description="0.80"/>
3042
- <tag line="1231" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3043
- <tag line="1231" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
 
 
 
 
 
3044
  <type by_reference="false">array</type>
3045
  </tag>
3046
  </docblock>
 
 
 
 
 
 
 
 
 
 
3047
  </method>
3048
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1257" package="Media Library Assistant">
3049
- <name>mla_render_settings_page</name>
3050
- <full_name>mla_render_settings_page</full_name>
3051
- <docblock line="1250">
3052
- <description><![CDATA[Render (echo) the "Media Library Assistant" subpage in the Settings section]]></description>
3053
  <long-description><![CDATA[]]></long-description>
3054
- <tag line="1250" name="since" description="0.1"/>
3055
- <tag line="1250" name="return" description="Echoes HTML markup for the Settings subpage" type="void">
3056
- <type by_reference="false">void</type>
3057
  </tag>
3058
  </docblock>
3059
  </method>
3060
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1311" package="Media Library Assistant">
3061
- <name>mla_taxonomy_support</name>
3062
- <full_name>mla_taxonomy_support</full_name>
3063
- <docblock line="1298">
3064
- <description><![CDATA[Determine MLA support for a taxonomy, handling the special case where the
3065
- settings are being updated or reset.]]></description>
3066
  <long-description><![CDATA[]]></long-description>
3067
- <tag line="1298" name="since" description="0.30"/>
3068
- <tag line="1298" name="param" description="Taxonomy name, e.g., attachment_category" type="string" variable="$tax_name">
 
3069
  <type by_reference="false">string</type>
3070
  </tag>
3071
- <tag line="1298" name="param" description="Optional. 'support' (default), 'quick-edit' or 'filter'" type="string" variable="$support_type">
3072
  <type by_reference="false">string</type>
3073
  </tag>
3074
- <tag line="1298" name="return" description="true if the taxonomy is supported in this way else false string if $tax_name is '' and $support_type is 'filter', returns the taxonomy to filter by" type="boolean|string">
3075
- <type by_reference="false">boolean</type>
 
 
 
 
 
3076
  <type by_reference="false">string</type>
3077
  </tag>
3078
  </docblock>
3079
- <argument line="1311">
3080
- <name>$tax_name</name>
3081
  <default><![CDATA[]]></default>
3082
  <type/>
3083
  </argument>
3084
- <argument line="1311">
3085
- <name>$support_type</name>
3086
- <default><![CDATA['support']]></default>
 
 
 
 
 
 
 
 
 
 
3087
  <type/>
3088
  </argument>
3089
  </method>
3090
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1383" package="Media Library Assistant">
3091
- <name>_save_gallery_settings</name>
3092
- <full_name>_save_gallery_settings</full_name>
3093
- <docblock line="1374">
3094
- <description><![CDATA[Save MLA Gallery settings to the options table]]></description>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3095
  <long-description><![CDATA[]]></long-description>
3096
- <tag line="1374" name="since" description="0.80"/>
3097
- <tag line="1374" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3098
- <tag line="1374" name="return" description="Message(s) reflecting the results of the operation" type="array">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3099
  <type by_reference="false">array</type>
3100
  </tag>
3101
  </docblock>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3102
  </method>
3103
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1609" package="Media Library Assistant">
3104
- <name>_save_general_settings</name>
3105
- <full_name>_save_general_settings</full_name>
3106
- <docblock line="1600">
3107
- <description><![CDATA[Save General settings to the options table]]></description>
3108
  <long-description><![CDATA[]]></long-description>
3109
- <tag line="1600" name="since" description="0.1"/>
3110
- <tag line="1600" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3111
- <tag line="1600" name="return" description="Message(s) reflecting the results of the operation" type="array">
3112
- <type by_reference="false">array</type>
3113
  </tag>
3114
  </docblock>
3115
  </method>
3116
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1637" package="Media Library Assistant">
3117
- <name>_reset_general_settings</name>
3118
- <full_name>_reset_general_settings</full_name>
3119
- <docblock line="1630">
3120
- <description><![CDATA[Delete saved settings, restoring default values]]></description>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3121
  <long-description><![CDATA[]]></long-description>
3122
- <tag line="1630" name="since" description="0.1"/>
3123
- <tag line="1630" name="return" description="Message(s) reflecting the results of the operation" type="array">
3124
- <type by_reference="false">array</type>
3125
  </tag>
3126
  </docblock>
3127
  </method>
3128
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1681" package="Media Library Assistant">
3129
- <name>_taxonomy_handler</name>
3130
- <full_name>_taxonomy_handler</full_name>
3131
- <docblock line="1668">
3132
- <description><![CDATA[Render and manage other taxonomy support options, e.g., Categories and Post Tags]]></description>
3133
  <long-description><![CDATA[]]></long-description>
3134
- <tag line="1668" name="since" description="0.30"/>
3135
- <tag line="1668" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3136
- <tag line="1668" name="param" description="'render', 'update', 'delete', or 'reset'" type="string" variable="$action">
3137
- <type by_reference="false">string</type>
3138
  </tag>
3139
- <tag line="1668" name="param" description="option name, e.g., 'taxonomy_support'" type="string" variable="$key">
3140
  <type by_reference="false">string</type>
3141
  </tag>
3142
- <tag line="1668" name="param" description="option parameters" type="array" variable="$value">
3143
  <type by_reference="false">array</type>
3144
  </tag>
3145
- <tag line="1668" name="param" description="Optional. null (default) for 'render' else $_REQUEST" type="array" variable="$args">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3146
  <type by_reference="false">array</type>
3147
  </tag>
3148
- <tag line="1668" name="return" description="HTML table row markup for 'render' else message(s) reflecting the results of the operation." type="string">
3149
  <type by_reference="false">string</type>
3150
  </tag>
3151
  </docblock>
3152
- <argument line="1681">
3153
- <name>$action</name>
3154
  <default><![CDATA[]]></default>
3155
  <type/>
3156
  </argument>
3157
- <argument line="1681">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3158
  <name>$key</name>
3159
  <default><![CDATA[]]></default>
3160
  <type/>
3161
  </argument>
3162
- <argument line="1681">
3163
  <name>$value</name>
3164
  <default><![CDATA[]]></default>
3165
  <type/>
3166
  </argument>
3167
- <argument line="1681">
3168
- <name>$args</name>
3169
- <default><![CDATA[null]]></default>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3170
  <type/>
3171
  </argument>
3172
  </method>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3173
  </class>
3174
  </file>
3175
- <file path="includes\class-mla-shortcodes.php" hash="8196ffec14a3e816b5db561984873795" package="Media Library Assistant">
3176
  <docblock line="2">
3177
  <description><![CDATA[Media Library Assistant Shortcode handler(s)]]></description>
3178
  <long-description><![CDATA[]]></long-description>
@@ -3189,7 +3709,7 @@ settings are being updated or reset.]]></description>
3189
  <tag line="9" name="package" description="Media Library Assistant"/>
3190
  <tag line="9" name="since" description="0.20"/>
3191
  </docblock>
3192
- <property final="false" static="true" visibility="private" line="134" namespace="global" package="Media Library Assistant">
3193
  <name>$mla_debug_messages</name>
3194
  <default><![CDATA['']]></default>
3195
  <docblock line="127">
@@ -3213,67 +3733,67 @@ settings are being updated or reset.]]></description>
3213
  </tag>
3214
  </docblock>
3215
  </property>
3216
- <property final="false" static="true" visibility="private" line="1000" namespace="global" package="Media Library Assistant">
3217
  <name>$mla_iptc_records</name>
3218
  <default><![CDATA[array("1#000" => "Model Version", "1#005" => "Destination", "1#020" => "File Format", "1#022" => "File Format Version", "1#030" => "Service Identifier", "1#040" => "Envelope Number", "1#050" => "Product ID", "1#060" => "Envelope Priority", "1#070" => "Date Sent", "1#080" => "Time Sent", "1#090" => "Coded Character Set", "1#100" => "UNO", "1#120" => "ARM Identifier", "1#122" => "ARM Version", "2#000" => "Record Version", "2#003" => "Object Type Reference", "2#004" => "Object Attribute Reference", "2#005" => "Object Name", "2#007" => "Edit Status", "2#008" => "Editorial Update", "2#010" => "Urgency", "2#012" => "Subject Reference", "2#015" => "Category", "2#020" => "Supplemental Category", "2#022" => "Fixture Identifier", "2#025" => "Keywords", "2#026" => "Content Location Code", "2#027" => "Content Location Name", "2#030" => "Release Date", "2#035" => "Release Time", "2#037" => "Expiration Date", "2#038" => "Expiration Time", "2#040" => "Special Instructions", "2#042" => "Action Advised", "2#045" => "Reference Service", "2#047" => "Reference Date", "2#050" => "Reference Number", "2#055" => "Date Created", "2#060" => "Time Created", "2#062" => "Digital Creation Date", "2#063" => "Digital Creation Time", "2#065" => "Originating Program", "2#070" => "Program Version", "2#075" => "Object Cycle", "2#080" => "By-line", "2#085" => "By-line Title", "2#090" => "City", "2#092" => "Sub-location", "2#095" => "Province or State", "2#100" => "Country or Primary Location Code", "2#101" => "Country or Primary Location Name", "2#103" => "Original Transmission Reference", "2#105" => "Headline", "2#110" => "Credit", "2#115" => "Source", "2#116" => "Copyright Notice", "2#118" => "Contact", "2#120" => "Caption or Abstract", "2#122" => "Caption Writer or Editor", "2#125" => "Rasterized Caption", "2#130" => "Image Type", "2#131" => "Image Orientation", "2#135" => "Language Identifier", "2#150" => "Audio Type", "2#151" => "Audio Sampling Rate", "2#152" => "Audio Sampling Resolution", "2#153" => "Audio Duration", "2#154" => "Audio Outcue", "2#200" => "ObjectData Preview File Format", "2#201" => "ObjectData Preview File Format Version", "2#202" => "ObjectData Preview Data", "7#010" => "Size Mode", "7#020" => "Max Subfile Size", "7#090" => "ObjectData Size Announced", "7#095" => "Maximum ObjectData Size", "8#010" => "Subfile", "9#010" => "Confirmed ObjectData Size")]]></default>
3219
- <docblock line="990">
3220
  <description><![CDATA[IPTC Dataset identifiers and names]]></description>
3221
  <long-description><![CDATA[<p>This array contains the identifiers and names of Datasets defined in
3222
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
3223
- <tag line="990" name="since" description="0.90"/>
3224
- <tag line="990" name="var" description="" type="array">
3225
  <type by_reference="false">array</type>
3226
  </tag>
3227
  </docblock>
3228
  </property>
3229
- <property final="false" static="true" visibility="private" line="1099" namespace="global" package="Media Library Assistant">
3230
  <name>$mla_iptc_keys</name>
3231
  <default><![CDATA[array('model-version' => '1#000', 'destination' => '1#005', 'file-format' => '1#020', 'file-format-version' => '1#022', 'service-identifier' => '1#030', 'envelope-number' => '1#040', 'product-id' => '1#050', 'envelope-priority' => '1#060', 'date-sent' => '1#070', 'time-sent' => '1#080', 'coded-character-set' => '1#090', 'uno' => '1#100', 'arm-identifier' => '1#120', 'arm-version' => '1#122', 'record-version' => '2#000', 'object-type-reference' => '2#003', 'object-attribute-reference' => '2#004', 'object-name' => '2#005', 'edit-status' => '2#007', 'editorial-update' => '2#008', 'urgency' => '2#010', 'subject-reference' => '2#012', 'category' => '2#015', 'supplemental-category' => '2#020', 'fixture-identifier' => '2#022', 'keywords' => '2#025', 'content-location-code' => '2#026', 'content-location-name' => '2#027', 'release-date' => '2#030', 'release-time' => '2#035', 'expiration-date' => '2#037', 'expiration-time' => '2#038', 'special-instructions' => '2#040', 'action-advised' => '2#042', 'reference-service' => '2#045', 'reference-date' => '2#047', 'reference-number' => '2#050', 'date-created' => '2#055', 'time-created' => '2#060', 'digital-creation-date' => '2#062', 'digital-creation-time' => '2#063', 'originating-program' => '2#065', 'program-version' => '2#070', 'object-cycle' => '2#075', 'by-line' => '2#080', 'by-line-title' => '2#085', 'city' => '2#090', 'sub-location' => '2#092', 'province-or-state' => '2#095', 'country-or-primary-location-code' => '2#100', 'country-or-primary-location-name' => '2#101', 'original-transmission-reference' => '2#103', 'headline' => '2#105', 'credit' => '2#110', 'source' => '2#115', 'copyright-notice' => '2#116', 'contact' => '2#118', 'caption-or-abstract' => '2#120', 'caption-writer-or-editor' => '2#122', 'rasterized-caption' => '2#125', 'image-type' => '2#130', 'image-orientation' => '2#131', 'language-identifier' => '2#135', 'audio-type' => '2#150', 'audio-sampling-rate' => '2#151', 'audio-sampling-resolution' => '2#152', 'audio-duration' => '2#153', 'audio-outcue' => '2#154', 'objectdata-preview-file-format' => '2#200', 'objectdata-preview-file-format-version' => '2#201', 'objectdata-preview-data' => '2#202', 'size-mode' => '7#010', 'max-subfile-size' => '7#020', 'objectdata-size-announced' => '7#090', 'maximum-objectdata-size' => '7#095', 'subfile' => '8#010', 'confirmed-objectdata-size' => '9#010')]]></default>
3232
- <docblock line="1089">
3233
  <description><![CDATA[IPTC Dataset friendly name/slug and identifiers]]></description>
3234
  <long-description><![CDATA[<p>This array contains the sanitized names and identifiers of Datasets defined in
3235
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
3236
- <tag line="1089" name="since" description="0.90"/>
3237
- <tag line="1089" name="var" description="" type="array">
3238
  <type by_reference="false">array</type>
3239
  </tag>
3240
  </docblock>
3241
  </property>
3242
- <property final="false" static="true" visibility="private" line="1198" namespace="global" package="Media Library Assistant">
3243
  <name>$mla_iptc_descriptions</name>
3244
  <default><![CDATA[array("1#000" => "2 octet binary IIM version number", "1#005" => "Max 1024 characters of Destination (ISO routing information); repeatable", "1#020" => "2 octet binary file format number, see IPTC-NAA V4 Appendix A", "1#022" => "2 octet binary file format version number", "1#030" => "Max 10 characters of Service Identifier and product", "1#040" => "8 Character Envelope Number", "1#050" => "Max 32 characters subset of provider's overall service; repeatable", "1#060" => "1 numeric character of envelope handling priority (not urgency)", "1#070" => "8 numeric characters of Date Sent by service - CCYYMMDD", "1#080" => "11 characters of Time Sent by service - HHMMSS±HHMM", "1#090" => "Max 32 characters of control functions, etc.", "1#100" => "14 to 80 characters of eternal, globally unique identification for objects", "1#120" => "2 octet binary Abstract Relationship Model Identifier", "1#122" => "2 octet binary Abstract Relationship Model Version", "2#000" => "2 octet binary Information Interchange Model, Part II version number", "2#003" => "3 to 67 Characters of Object Type Reference number and optional text", "2#004" => "3 to 67 Characters of Object Attribute Reference number and optional text; repeatable", "2#005" => "Max 64 characters of the object name or shorthand reference", "2#007" => "Max 64 characters of the status of the objectdata", "2#008" => "2 numeric characters of the type of update this object provides", "2#010" => "1 numeric character of the editorial urgency of content", "2#012" => "13 to 236 characters of a structured definition of the subject matter; repeatable", "2#015" => "Max 3 characters of the subject of the objectdata, DEPRECATED", "2#020" => "Max 32 characters (each) of further refinement of subject, DEPRECATED; repeatable", "2#022" => "Max 32 characters identifying recurring, predictable content", "2#025" => "Max 64 characters (each) of tags; repeatable", "2#026" => "3 characters of ISO3166 country code or IPTC-assigned code; repeatable", "2#027" => "Max 64 characters of publishable country/geographical location name; repeatable", "2#030" => "8 numeric characters of Release Date - CCYYMMDD", "2#035" => "11 characters of Release Time (earliest use) - HHMMSS±HHMM", "2#037" => "8 numeric characters of Expiration Date (latest use) - CCYYMDD", "2#038" => "11 characters of Expiration Time (latest use) - HHMMSS±HHMM", "2#040" => "Max 256 Characters of editorial instructions, e.g., embargoes and warnings", "2#042" => "2 numeric characters of type of action this object provides to a previous object", "2#045" => "Max 10 characters of the Service ID (1#030) of a prior envelope; repeatable", "2#047" => "8 numeric characters of prior envelope Reference Date (1#070) - CCYYMMDD; repeatable", "2#050" => "8 characters of prior envelope Reference Number (1#040); repeatable", "2#055" => "8 numeric characters of intellectual content Date Created - CCYYMMDD", "2#060" => "11 characters of intellectual content Time Created - HHMMSS±HHMM", "2#062" => "8 numeric characters of digital representation creation date - CCYYMMDD", "2#063" => "11 characters of digital representation creation time - HHMMSS±HHMM", "2#065" => "Max 32 characters of the program used to create the objectdata", "2#070" => "Program Version - Max 10 characters of the version of the program used to create the objectdata", "2#075" => "1 character where a=morning, p=evening, b=both", "2#080" => "Max 32 Characters of the name of the objectdata creator, e.g., the writer, photographer; repeatable", "2#085" => "Max 32 characters of the title of the objectdata creator; repeatable", "2#090" => "Max 32 Characters of the city of objectdata origin", "2#092" => "Max 32 Characters of the location within the city of objectdata origin", "2#095" => "Max 32 Characters of the objectdata origin Province or State", "2#100" => "3 characters of ISO3166 or IPTC-assigned code for Country of objectdata origin", "2#101" => "Max 64 characters of publishable country/geographical location name of objectdata origin", "2#103" => "Max 32 characters of a code representing the location of original transmission", "2#105" => "Max 256 Characters of a publishable entry providing a synopsis of the contents of the objectdata", "2#110" => "Max 32 Characters that identifies the provider of the objectdata (Vs the owner/creator)", "2#115" => "Max 32 Characters that identifies the original owner of the intellectual content", "2#116" => "Max 128 Characters that contains any necessary copyright notice", "2#118" => "Max 128 characters that identifies the person or organisation which can provide further background information; repeatable", "2#120" => "Max 2000 Characters of a textual description of the objectdata", "2#122" => "Max 32 Characters that the identifies the person involved in the writing, editing or correcting the objectdata or caption/abstract; repeatable", "2#125" => "7360 binary octets of the rasterized caption - 1 bit per pixel, 460x128-pixel image", "2#130" => "2 characters of color composition type and information", "2#131" => "1 alphabetic character indicating the image area layout - P=portrait, L=landscape, S=square", "2#135" => "2 or 3 aphabetic characters containing the major national language of the object, according to the ISO 639:1988 codes", "2#150" => "2 characters identifying monaural/stereo and exact type of audio content", "2#151" => "6 numeric characters representing the audio sampling rate in hertz (Hz)", "2#152" => "2 numeric characters representing the number of bits in each audio sample", "2#153" => "6 numeric characters of the Audio Duration - HHMMSS", "2#154" => "Max 64 characters of the content of the end of an audio objectdata", "2#200" => "2 octet binary file format of the ObjectData Preview", "2#201" => "2 octet binary particular version of the ObjectData Preview File Format", "2#202" => "Max 256000 binary octets containing the ObjectData Preview data", "7#010" => "1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer", "7#020" => "4 octet binary maximum subfile dataset(s) size", "7#090" => "4 octet binary objectdata size if known at beginning of transfer", "7#095" => "4 octet binary largest possible objectdata size", "8#010" => "Subfile DataSet containing the objectdata itself; repeatable", "9#010" => "4 octet binary total objectdata size")]]></default>
3245
- <docblock line="1188">
3246
  <description><![CDATA[IPTC Dataset descriptions]]></description>
3247
  <long-description><![CDATA[<p>This array contains the descriptions of Datasets defined in
3248
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
3249
- <tag line="1188" name="since" description="0.90"/>
3250
- <tag line="1188" name="var" description="" type="array">
3251
  <type by_reference="false">array</type>
3252
  </tag>
3253
  </docblock>
3254
  </property>
3255
- <property final="false" static="true" visibility="private" line="1297" namespace="global" package="Media Library Assistant">
3256
  <name>$mla_iptc_formats</name>
3257
  <default><![CDATA[array(0 => "No ObjectData", 1 => "IPTC-NAA Digital Newsphoto Parameter Record", 2 => "IPTC7901 Recommended Message Format", 3 => "Tagged Image File Format (Adobe/Aldus Image data)", 4 => "Illustrator (Adobe Graphics data)", 5 => "AppleSingle (Apple Computer Inc)", 6 => "NAA 89-3 (ANPA 1312)", 7 => "MacBinary II", 0 => "IPTC Unstructured Character Oriented File Format (UCOFF)", 0 => "United Press International ANPA 1312 variant", 10 => "United Press International Down-Load Message", 11 => "JPEG File Interchange (JFIF)", 12 => "Photo-CD Image-Pac (Eastman Kodak)", 13 => "Microsoft Bit Mapped Graphics File [*.BMP]", 14 => "Digital Audio File [*.WAV] (Microsoft & Creative Labs)", 15 => "Audio plus Moving Video [*.AVI] (Microsoft)", 16 => "PC DOS/Windows Executable Files [*.COM][*.EXE]", 17 => "Compressed Binary File [*.ZIP] (PKWare Inc)", 18 => "Audio Interchange File Format AIFF (Apple Computer Inc)", 19 => "RIFF Wave (Microsoft Corporation)", 20 => "Freehand (Macromedia/Aldus)", 21 => "Hypertext Markup Language - HTML (The Internet Society)", 22 => "MPEG 2 Audio Layer 2 (Musicom), ISO/IEC", 23 => "MPEG 2 Audio Layer 3, ISO/IEC", 24 => "Portable Document File (*.PDF) Adobe", 25 => "News Industry Text Format (NITF)", 26 => "Tape Archive (*.TAR)", 27 => "Tidningarnas Telegrambyrå NITF version (TTNITF DTD)", 28 => "Ritzaus Bureau NITF version (RBNITF DTD)", 29 => "Corel Draw [*.CDR]")]]></default>
3258
- <docblock line="1287">
3259
  <description><![CDATA[IPTC file format identifiers and descriptions]]></description>
3260
  <long-description><![CDATA[<p>This array contains the file format identifiers and descriptions defined in
3261
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p>]]></long-description>
3262
- <tag line="1287" name="since" description="0.90"/>
3263
- <tag line="1287" name="var" description="" type="array">
3264
  <type by_reference="false">array</type>
3265
  </tag>
3266
  </docblock>
3267
  </property>
3268
- <property final="false" static="true" visibility="private" line="1340" namespace="global" package="Media Library Assistant">
3269
  <name>$mla_iptc_image_types</name>
3270
  <default><![CDATA[array("M" => "Monochrome", "Y" => "Yellow Component", "M" => "Magenta Component", "C" => "Cyan Component", "K" => "Black Component", "R" => "Red Component", "G" => "Green Component", "B" => "Blue Component", "T" => "Text Only", "F" => "Full colour composite, frame sequential", "L" => "Full colour composite, line sequential", "P" => "Full colour composite, pixel sequential", "S" => "Full colour composite, special interleaving")]]></default>
3271
- <docblock line="1330">
3272
  <description><![CDATA[IPTC image type identifiers and descriptions]]></description>
3273
  <long-description><![CDATA[<p>This array contains the image type identifiers and descriptions defined in
3274
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p>]]></long-description>
3275
- <tag line="1330" name="since" description="0.90"/>
3276
- <tag line="1330" name="var" description="" type="array">
3277
  <type by_reference="false">array</type>
3278
  </tag>
3279
  </docblock>
@@ -3324,51 +3844,51 @@ Enhancements include many additional selection parameters and full taxonomy supp
3324
  <type/>
3325
  </argument>
3326
  </method>
3327
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="653" package="Media Library Assistant">
3328
  <name>mla_get_shortcode_attachments</name>
3329
  <full_name>mla_get_shortcode_attachments</full_name>
3330
- <docblock line="643">
3331
  <description><![CDATA[Parses shortcode parameters and returns the gallery objects]]></description>
3332
  <long-description><![CDATA[]]></long-description>
3333
- <tag line="643" name="since" description=".50"/>
3334
- <tag line="643" name="param" description="Post ID of the parent" type="int" variable="$post_parent">
3335
  <type by_reference="false">int</type>
3336
  </tag>
3337
- <tag line="643" name="param" description="Attributes of the shortcode" type="array" variable="$attr">
3338
  <type by_reference="false">array</type>
3339
  </tag>
3340
- <tag line="643" name="return" description="List of attachments returned from WP_Query" type="array">
3341
  <type by_reference="false">array</type>
3342
  </tag>
3343
  </docblock>
3344
- <argument line="653">
3345
  <name>$post_parent</name>
3346
  <default><![CDATA[]]></default>
3347
  <type/>
3348
  </argument>
3349
- <argument line="653">
3350
  <name>$attr</name>
3351
  <default><![CDATA[]]></default>
3352
  <type/>
3353
  </argument>
3354
  </method>
3355
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="973" package="Media Library Assistant">
3356
  <name>mla_shortcode_query_posts_where_filter</name>
3357
  <full_name>mla_shortcode_query_posts_where_filter</full_name>
3358
- <docblock line="960">
3359
  <description><![CDATA[Filters the WHERE clause for shortcode queries]]></description>
3360
  <long-description><![CDATA[<p>Captures debug information. Adds whitespace to the post_type = 'attachment'
3361
  phrase to circumvent subsequent Role Scoper modification of the clause.
3362
  Defined as public because it's a filter.</p>]]></long-description>
3363
- <tag line="960" name="since" description="0.70"/>
3364
- <tag line="960" name="param" description="query clause before modification" type="string" variable="$where_clause">
3365
  <type by_reference="false">string</type>
3366
  </tag>
3367
- <tag line="960" name="return" description="query clause after modification" type="string">
3368
  <type by_reference="false">string</type>
3369
  </tag>
3370
  </docblock>
3371
- <argument line="973">
3372
  <name>$where_clause</name>
3373
  <default><![CDATA[]]></default>
3374
  <type/>
@@ -3376,7 +3896,7 @@ Defined as public because it's a filter.</p>]]></long-description>
3376
  </method>
3377
  </class>
3378
  </file>
3379
- <file path="includes\mla-plugin-loader.php" hash="f4bad52265d28d345e66c72c1aecce07" package="Media Library Assistant">
3380
  <docblock line="2">
3381
  <description><![CDATA[Media Library Assistant Plugin Loader]]></description>
3382
  <long-description><![CDATA[<p>Defines constants and loads all of the classes and functions required to run the plugin.
@@ -3405,7 +3925,10 @@ This file is only loaded if the naming conflict tests in index.php are passed.</
3405
  <include line="65" type="Require Once" package="Media Library Assistant">
3406
  <name/>
3407
  </include>
3408
- <include line="70" type="Require Once" package="Media Library Assistant">
 
 
 
3409
  <name/>
3410
  </include>
3411
  <constant namespace="global" line="16" package="Media Library Assistant">
@@ -3418,13 +3941,13 @@ This file is only loaded if the naming conflict tests in index.php are passed.</
3418
  </docblock>
3419
  </constant>
3420
  </file>
3421
- <file path="index.php" hash="5457f60930c542ea4dfb3e1a86885d05" package="Media Library Assistant">
3422
  <docblock line="2">
3423
  <description><![CDATA[Provides several enhancements to the handling of images and files held in the WordPress Media Library]]></description>
3424
  <long-description><![CDATA[<p>This file contains several tests for name conflicts with other plugins. Only if the tests are passed
3425
  will the rest of the plugin be loaded and run.</p>]]></long-description>
3426
  <tag line="2" name="package" description="Media Library Assistant"/>
3427
- <tag line="2" name="version" description="0.90"/>
3428
  </docblock>
3429
  <include line="103" type="Require Once" package="Media Library Assistant">
3430
  <name>includes/mla-plugin-loader.php</name>
1
  <?xml version="1.0" encoding="utf-8"?>
2
  <project version="2.0.0a8" title="Media Library Assistant">
3
+ <file path="includes\class-mla-data.php" hash="2f1b4ec9475e8fa42ec89bc39e7458f1" package="Media Library Assistant">
4
  <docblock line="2">
5
  <description><![CDATA[Database and template file access for MLA needs]]></description>
6
  <long-description><![CDATA[]]></long-description>
18
  <tag line="9" name="package" description="Media Library Assistant"/>
19
  <tag line="9" name="since" description="0.1"/>
20
  </docblock>
21
+ <property final="false" static="true" visibility="private" line="267" namespace="global" package="Media Library Assistant">
22
  <name>$query_parameters</name>
23
  <default><![CDATA[array()]]></default>
24
+ <docblock line="256">
25
  <description><![CDATA[WP_Query filter "parameters"]]></description>
26
  <long-description><![CDATA[<p>This array defines parameters for the query's join, where and orderby filters.
27
  The parameters are set up in the _prepare_list_table_query function, and
28
  any further logic required to translate those values is contained in the filters.</p>]]></long-description>
29
+ <tag line="256" name="since" description="0.30"/>
30
+ <tag line="256" name="var" description="" type="array">
31
  <type by_reference="false">array</type>
32
  </tag>
33
  </docblock>
34
  </property>
35
+ <property final="false" static="true" visibility="private" line="1007" namespace="global" package="Media Library Assistant">
36
  <name>$galleries</name>
37
  <default><![CDATA[null]]></default>
38
+ <docblock line="989">
39
  <description><![CDATA[Objects containing [gallery] shortcodes]]></description>
40
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [gallery] shortcodes
41
  and array(s) of which attachments each [gallery] contains. The arrays are built once
47
  ['parent_type'] 'post' or 'page' or the custom post_type of the gallery parent,
48
  ['query'] contains a string with the arguments of the [gallery],
49
  ['results'] contains an array of post_ids for the objects in the gallery.</p>]]></long-description>
50
+ <tag line="989" name="since" description="0.70"/>
51
+ <tag line="989" name="var" description="" type="array">
52
  <type by_reference="false">array</type>
53
  </tag>
54
  </docblock>
55
  </property>
56
+ <property final="false" static="true" visibility="private" line="1020" namespace="global" package="Media Library Assistant">
57
  <name>$mla_galleries</name>
58
  <default><![CDATA[null]]></default>
59
+ <docblock line="1009">
60
  <description><![CDATA[Objects containing [mla_gallery] shortcodes]]></description>
61
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [mla_gallery] shortcodes
62
  and array(s) of which attachments each [mla_gallery] contains. The arrays are built once
63
  each page load and cached for subsequent calls.</p>]]></long-description>
64
+ <tag line="1009" name="since" description="0.70"/>
65
+ <tag line="1009" name="var" description="" type="array">
66
  <type by_reference="false">array</type>
67
  </tag>
68
  </docblock>
76
  <tag line="19" name="since" description="0.1"/>
77
  </docblock>
78
  </method>
79
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="48" package="Media Library Assistant">
80
  <name>mla_load_template</name>
81
  <full_name>mla_load_template</full_name>
82
+ <docblock line="30">
83
  <description><![CDATA[Load an HTML template from a file]]></description>
84
  <long-description><![CDATA[<p>Loads a template to a string or a multi-part template to an array.
85
  Multi-part templates are divided by comments of the form <!-- template="key" -->,
86
  where "key" becomes the key part of the array.</p>]]></long-description>
87
+ <tag line="30" name="since" description="0.1"/>
88
+ <tag line="30" name="param" description="Complete path and name of the template file, option name or the raw template" type="string" variable="$source">
89
  <type by_reference="false">string</type>
90
  </tag>
91
+ <tag line="30" name="param" description="Optional type of template source; 'file' (default), 'option', 'string'" type="string" variable="$type">
92
  <type by_reference="false">string</type>
93
  </tag>
94
+ <tag line="30" name="return" description="string for files that do not contain template divider comments, array for files containing template divider comments, false if file or option does not exist, NULL if file could not be loaded." type="string|array|false|NULL">
95
  <type by_reference="false">string</type>
96
  <type by_reference="false">array</type>
97
  <type by_reference="false">false</type>
98
  <type by_reference="false">NULL</type>
99
  </tag>
100
  </docblock>
101
+ <argument line="48">
102
  <name>$source</name>
103
  <default><![CDATA[]]></default>
104
  <type/>
105
  </argument>
106
+ <argument line="48">
107
  <name>$type</name>
108
  <default><![CDATA['file']]></default>
109
  <type/>
110
  </argument>
111
  </method>
112
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="143" package="Media Library Assistant">
113
  <name>mla_parse_template</name>
114
  <full_name>mla_parse_template</full_name>
115
+ <docblock line="131">
116
  <description><![CDATA[Expand a template, replacing place holders with their values]]></description>
117
  <long-description><![CDATA[<p>A simple parsing function for basic templating.</p>]]></long-description>
118
+ <tag line="131" name="since" description="0.1"/>
119
+ <tag line="131" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
120
  <type by_reference="false">string</type>
121
  </tag>
122
+ <tag line="131" name="param" description="An associative array containing keys and values e.g. array('key' =&gt; 'value')" type="array" variable="$hash">
123
  <type by_reference="false">array</type>
124
  </tag>
125
+ <tag line="131" name="return" description="Placeholders corresponding to the keys of the hash will be replaced with their values" type="string">
126
  <type by_reference="false">string</type>
127
  </tag>
128
  </docblock>
129
+ <argument line="143">
130
  <name>$tpl</name>
131
  <default><![CDATA[]]></default>
132
  <type/>
133
  </argument>
134
+ <argument line="143">
135
  <name>$hash</name>
136
  <default><![CDATA[]]></default>
137
  <type/>
138
  </argument>
139
  </method>
140
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="162" package="Media Library Assistant">
141
  <name>mla_get_template_placeholders</name>
142
  <full_name>mla_get_template_placeholders</full_name>
143
+ <docblock line="152">
144
  <description><![CDATA[Analyze a template, returning an array of the place holders it contains]]></description>
145
  <long-description><![CDATA[]]></long-description>
146
+ <tag line="152" name="since" description="0.90"/>
147
+ <tag line="152" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
148
  <type by_reference="false">string</type>
149
  </tag>
150
+ <tag line="152" name="return" description="Placeholder information: each entry is an array with ['prefix'] =&gt; string, ['value'] =&gt; string, ['single'] =&gt; boolean" type="array">
151
  <type by_reference="false">array</type>
152
  </tag>
153
  </docblock>
154
+ <argument line="162">
155
  <name>$tpl</name>
156
  <default><![CDATA[]]></default>
157
  <type/>
158
  </argument>
159
  </method>
160
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="204" package="Media Library Assistant">
161
  <name>mla_count_list_table_items</name>
162
  <full_name>mla_count_list_table_items</full_name>
163
+ <docblock line="195">
164
  <description><![CDATA[Get the total number of attachment posts]]></description>
165
  <long-description><![CDATA[]]></long-description>
166
+ <tag line="195" name="since" description="0.30"/>
167
+ <tag line="195" name="param" description="Query variables, e.g., from $_REQUEST" type="array" variable="$request">
168
  <type by_reference="false">array</type>
169
  </tag>
170
+ <tag line="195" name="return" description="Number of attachment posts" type="integer">
171
  <type by_reference="false">integer</type>
172
  </tag>
173
  </docblock>
174
+ <argument line="204">
175
  <name>$request</name>
176
  <default><![CDATA[]]></default>
177
  <type/>
178
  </argument>
179
  </method>
180
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="225" package="Media Library Assistant">
181
  <name>mla_query_list_table_items</name>
182
  <full_name>mla_query_list_table_items</full_name>
183
+ <docblock line="211">
184
  <description><![CDATA[Retrieve attachment objects for list table display]]></description>
185
  <long-description><![CDATA[<p>Supports prepare_items in class-mla-list-table.php.
186
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
187
+ <tag line="211" name="since" description="0.1"/>
188
+ <tag line="211" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
189
  <type by_reference="false">array</type>
190
  </tag>
191
+ <tag line="211" name="param" description="number of rows to skip over to reach desired page" type="int" variable="$offset">
192
  <type by_reference="false">int</type>
193
  </tag>
194
+ <tag line="211" name="param" description="number of rows on each page" type="int" variable="$count">
195
  <type by_reference="false">int</type>
196
  </tag>
197
+ <tag line="211" name="return" description="attachment objects (posts) including parent data, meta data and references" type="array">
198
  <type by_reference="false">array</type>
199
  </tag>
200
  </docblock>
201
+ <argument line="225">
202
  <name>$request</name>
203
  <default><![CDATA[]]></default>
204
  <type/>
205
  </argument>
206
+ <argument line="225">
207
  <name>$offset</name>
208
  <default><![CDATA[]]></default>
209
  <type/>
210
  </argument>
211
+ <argument line="225">
212
  <name>$count</name>
213
  <default><![CDATA[]]></default>
214
  <type/>
215
  </argument>
216
  </method>
217
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="283" package="Media Library Assistant">
218
  <name>_prepare_list_table_query</name>
219
  <full_name>_prepare_list_table_query</full_name>
220
+ <docblock line="269">
221
  <description><![CDATA[Sanitize and expand query arguments from request variables]]></description>
222
  <long-description><![CDATA[<p>Prepare the arguments for WP_Query.
223
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
224
+ <tag line="269" name="since" description="0.1"/>
225
+ <tag line="269" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$raw_request">
226
  <type by_reference="false">array</type>
227
  </tag>
228
+ <tag line="269" name="param" description="Optional number of rows (default 0) to skip over to reach desired page" type="int" variable="$offset">
229
  <type by_reference="false">int</type>
230
  </tag>
231
+ <tag line="269" name="param" description="Optional number of rows on each page (0 = all rows, default)" type="int" variable="$count">
232
  <type by_reference="false">int</type>
233
  </tag>
234
+ <tag line="269" name="return" description="revised arguments suitable for WP_Query" type="array">
235
  <type by_reference="false">array</type>
236
  </tag>
237
  </docblock>
238
+ <argument line="283">
239
  <name>$raw_request</name>
240
  <default><![CDATA[]]></default>
241
  <type/>
242
  </argument>
243
+ <argument line="283">
244
  <name>$offset</name>
245
  <default><![CDATA[0]]></default>
246
  <type/>
247
  </argument>
248
+ <argument line="283">
249
  <name>$count</name>
250
  <default><![CDATA[0]]></default>
251
  <type/>
252
  </argument>
253
  </method>
254
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="504" package="Media Library Assistant">
255
  <name>_execute_list_table_query</name>
256
  <full_name>_execute_list_table_query</full_name>
257
+ <docblock line="495">
258
  <description><![CDATA[Add filters, run query, remove filters]]></description>
259
  <long-description><![CDATA[]]></long-description>
260
+ <tag line="495" name="since" description="0.30"/>
261
+ <tag line="495" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
262
  <type by_reference="false">array</type>
263
  </tag>
264
+ <tag line="495" name="return" description="WP_Query object with query results" type="object">
265
  <type by_reference="false">object</type>
266
  </tag>
267
  </docblock>
268
+ <argument line="504">
269
  <name>$request</name>
270
  <default><![CDATA[]]></default>
271
  <type/>
272
  </argument>
273
  </method>
274
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="532" package="Media Library Assistant">
275
  <name>mla_query_posts_search_filter</name>
276
  <full_name>mla_query_posts_search_filter</full_name>
277
+ <docblock line="520">
278
  <description><![CDATA[Adds a keyword search to the WHERE clause, if required]]></description>
279
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
280
+ <tag line="520" name="since" description="0.60"/>
281
+ <tag line="520" name="param" description="query clause before modification" type="string" variable="$search_string">
282
  <type by_reference="false">string</type>
283
  </tag>
284
+ <tag line="520" name="param" description="WP_Query object" type="object" variable="$query_object">
285
  <type by_reference="false">object</type>
286
  </tag>
287
+ <tag line="520" name="return" description="query clause after keyword search addition" type="string">
288
  <type by_reference="false">string</type>
289
  </tag>
290
  </docblock>
291
+ <argument line="532">
292
  <name>$search_string</name>
293
  <default><![CDATA[]]></default>
294
  <type/>
295
  </argument>
296
+ <argument line="532">
297
  <name>$query_object</name>
298
  <default><![CDATA[]]></default>
299
  <type/>
300
  </argument>
301
  </method>
302
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="605" package="Media Library Assistant">
303
  <name>mla_query_posts_join_filter</name>
304
  <full_name>mla_query_posts_join_filter</full_name>
305
+ <docblock line="594">
306
  <description><![CDATA[Adds a JOIN clause, if required]]></description>
307
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
308
+ <tag line="594" name="since" description="0.30"/>
309
+ <tag line="594" name="param" description="query clause before modification" type="string" variable="$join_clause">
310
  <type by_reference="false">string</type>
311
  </tag>
312
+ <tag line="594" name="return" description="query clause after &quot;detached&quot; item modification" type="string">
313
  <type by_reference="false">string</type>
314
  </tag>
315
  </docblock>
316
+ <argument line="605">
317
  <name>$join_clause</name>
318
  <default><![CDATA[]]></default>
319
  <type/>
320
  </argument>
321
  </method>
322
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="634" package="Media Library Assistant">
323
  <name>mla_query_posts_where_filter</name>
324
  <full_name>mla_query_posts_where_filter</full_name>
325
+ <docblock line="622">
326
  <description><![CDATA[Adds a WHERE clause for detached items]]></description>
327
  <long-description><![CDATA[<p>Modeled after _edit_attachments_query_helper in wp-admin/post.php.
328
  Defined as public because it's a filter.</p>]]></long-description>
329
+ <tag line="622" name="since" description="0.1"/>
330
+ <tag line="622" name="param" description="query clause before modification" type="string" variable="$where_clause">
331
  <type by_reference="false">string</type>
332
  </tag>
333
+ <tag line="622" name="return" description="query clause after &quot;detached&quot; item modification" type="string">
334
  <type by_reference="false">string</type>
335
  </tag>
336
  </docblock>
337
+ <argument line="634">
338
  <name>$where_clause</name>
339
  <default><![CDATA[]]></default>
340
  <type/>
341
  </argument>
342
  </method>
343
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="655" package="Media Library Assistant">
344
  <name>mla_query_posts_orderby_filter</name>
345
  <full_name>mla_query_posts_orderby_filter</full_name>
346
+ <docblock line="643">
347
  <description><![CDATA[Adds a ORDERBY clause, if required]]></description>
348
  <long-description><![CDATA[<p>Expands the range of sort options because the logic in WP_Query is limited.
349
  Defined as public because it's a filter.</p>]]></long-description>
350
+ <tag line="643" name="since" description="0.30"/>
351
+ <tag line="643" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
352
  <type by_reference="false">string</type>
353
  </tag>
354
+ <tag line="643" name="return" description="updated query clause" type="string">
355
  <type by_reference="false">string</type>
356
  </tag>
357
  </docblock>
358
+ <argument line="655">
359
  <name>$orderby_clause</name>
360
  <default><![CDATA[]]></default>
361
  <type/>
362
  </argument>
363
  </method>
364
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="707" package="Media Library Assistant">
365
  <name>mla_get_attachment_by_id</name>
366
  <full_name>mla_get_attachment_by_id</full_name>
367
+ <docblock line="696">
368
  <description><![CDATA[Retrieve an Attachment array given a $post_id]]></description>
369
  <long-description><![CDATA[<p>The (associative) array will contain every field that can be found in
370
  the posts and postmeta tables, and all references to the attachment.</p>]]></long-description>
371
+ <tag line="696" name="since" description="0.1"/>
372
+ <tag line="696" name="param" description="The ID of the attachment post" type="int" variable="$post_id">
373
  <type by_reference="false">int</type>
374
  </tag>
375
+ <tag line="696" name="return" description="NULL on failure else associative array" type="NULL|array">
376
  <type by_reference="false">NULL</type>
377
  <type by_reference="false">array</type>
378
  </tag>
379
  </docblock>
380
+ <argument line="707">
381
  <name>$post_id</name>
382
  <default><![CDATA[]]></default>
383
  <type/>
384
  </argument>
385
  </method>
386
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="756" package="Media Library Assistant">
387
  <name>mla_fetch_attachment_references</name>
388
  <full_name>mla_fetch_attachment_references</full_name>
389
+ <docblock line="743">
390
  <description><![CDATA[Find Featured Image and inserted image/link references to an attachment]]></description>
391
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachment is used
392
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
393
+ <tag line="743" name="since" description="0.1"/>
394
+ <tag line="743" name="param" description="post ID of attachment" type="int" variable="$ID">
395
  <type by_reference="false">int</type>
396
  </tag>
397
+ <tag line="743" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent">
398
  <type by_reference="false">int</type>
399
  </tag>
400
+ <tag line="743" name="return" description="Reference information; see $references array comments" type="array">
401
  <type by_reference="false">array</type>
402
  </tag>
403
  </docblock>
404
+ <argument line="756">
405
  <name>$ID</name>
406
  <default><![CDATA[]]></default>
407
  <type/>
408
  </argument>
409
+ <argument line="756">
410
  <name>$parent</name>
411
  <default><![CDATA[]]></default>
412
  <type/>
413
  </argument>
414
  </method>
415
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1031" package="Media Library Assistant">
416
+ <name>mla_flush_mla_galleries</name>
417
+ <full_name>mla_flush_mla_galleries</full_name>
418
+ <docblock line="1022">
419
+ <description><![CDATA[Invalidates the $mla_galleries or $galleries array and cached values]]></description>
420
+ <long-description><![CDATA[]]></long-description>
421
+ <tag line="1022" name="since" description="1.00"/>
422
+ <tag line="1022" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
423
+ <type by_reference="false">string</type>
424
+ </tag>
425
+ <tag line="1022" name="return" description="" type="void">
426
+ <type by_reference="false">void</type>
427
+ </tag>
428
+ </docblock>
429
+ <argument line="1031">
430
+ <name>$option_name</name>
431
+ <default><![CDATA[]]></default>
432
+ <type/>
433
+ </argument>
434
+ </method>
435
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1055" package="Media Library Assistant">
436
+ <name>mla_save_post_action</name>
437
+ <full_name>mla_save_post_action</full_name>
438
+ <docblock line="1046">
439
+ <description><![CDATA[Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates]]></description>
440
+ <long-description><![CDATA[]]></long-description>
441
+ <tag line="1046" name="since" description="1.00"/>
442
+ <tag line="1046" name="param" description="ID of post/page/attachment; not used at this time" type="integer" variable="$post_id">
443
+ <type by_reference="false">integer</type>
444
+ </tag>
445
+ <tag line="1046" name="return" description="" type="void">
446
+ <type by_reference="false">void</type>
447
+ </tag>
448
+ </docblock>
449
+ <argument line="1055">
450
+ <name>$post_id</name>
451
+ <default><![CDATA[]]></default>
452
+ <type/>
453
+ </argument>
454
+ </method>
455
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1072" package="Media Library Assistant">
456
  <name>_build_mla_galleries</name>
457
  <full_name>_build_mla_galleries</full_name>
458
+ <docblock line="1060">
459
  <description><![CDATA[Builds the $mla_galleries or $galleries array]]></description>
460
  <long-description><![CDATA[]]></long-description>
461
+ <tag line="1060" name="since" description="0.70"/>
462
+ <tag line="1060" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
463
+ <type by_reference="false">string</type>
464
+ </tag>
465
+ <tag line="1060" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
466
  <type by_reference="false">array</type>
467
  </tag>
468
+ <tag line="1060" name="param" description="the shortcode to be searched for and processed" type="string" variable="$shortcode">
469
  <type by_reference="false">string</type>
470
  </tag>
471
+ <tag line="1060" name="param" description="true to exclude revisions from the search" type="boolean" variable="$exclude_revisions">
472
  <type by_reference="false">boolean</type>
473
  </tag>
474
+ <tag line="1060" name="return" description="true if the galleries array is not empty" type="boolean">
475
  <type by_reference="false">boolean</type>
476
  </tag>
477
  </docblock>
478
+ <argument line="1072">
479
+ <name>$option_name</name>
480
+ <default><![CDATA[]]></default>
481
+ <type/>
482
+ </argument>
483
+ <argument line="1072">
484
  <name>$galleries_array</name>
485
  <default><![CDATA[]]></default>
486
  <type/>
487
  </argument>
488
+ <argument line="1072">
489
  <name>$shortcode</name>
490
  <default><![CDATA[]]></default>
491
  <type/>
492
  </argument>
493
+ <argument line="1072">
494
  <name>$exclude_revisions</name>
495
  <default><![CDATA[]]></default>
496
  <type/>
497
  </argument>
498
  </method>
499
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1177" package="Media Library Assistant">
500
  <name>_search_mla_galleries</name>
501
  <full_name>_search_mla_galleries</full_name>
502
+ <docblock line="1166">
503
  <description><![CDATA[Search the $mla_galleries or $galleries array]]></description>
504
  <long-description><![CDATA[]]></long-description>
505
+ <tag line="1166" name="since" description="0.70"/>
506
+ <tag line="1166" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
507
  <type by_reference="false">array</type>
508
  </tag>
509
+ <tag line="1166" name="param" description="the attachment ID to be searched for and processed" type="int" variable="$attachment_id">
510
  <type by_reference="false">int</type>
511
  </tag>
512
+ <tag line="1166" name="return" description="All posts/pages with one or more galleries that include the attachment. The array key is the parent_post ID; each entry contains post_title and post_type." type="array">
513
  <type by_reference="false">array</type>
514
  </tag>
515
  </docblock>
516
+ <argument line="1177">
517
  <name>$galleries_array</name>
518
  <default><![CDATA[]]></default>
519
  <type/>
520
  </argument>
521
+ <argument line="1177">
522
  <name>$attachment_id</name>
523
  <default><![CDATA[]]></default>
524
  <type/>
525
  </argument>
526
  </method>
527
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1199" package="Media Library Assistant">
528
  <name>mla_fetch_attachment_parent_data</name>
529
  <full_name>mla_fetch_attachment_parent_data</full_name>
530
+ <docblock line="1190">
531
  <description><![CDATA[Returns information about an attachment's parent, if found]]></description>
532
  <long-description><![CDATA[]]></long-description>
533
+ <tag line="1190" name="since" description="0.1"/>
534
+ <tag line="1190" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent_id">
535
  <type by_reference="false">int</type>
536
  </tag>
537
+ <tag line="1190" name="return" description="Parent information; post_date, post_title and post_type" type="array">
538
  <type by_reference="false">array</type>
539
  </tag>
540
  </docblock>
541
+ <argument line="1199">
542
  <name>$parent_id</name>
543
  <default><![CDATA[]]></default>
544
  <type/>
545
  </argument>
546
  </method>
547
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1226" package="Media Library Assistant">
548
  <name>mla_fetch_attachment_image_metadata</name>
549
  <full_name>mla_fetch_attachment_image_metadata</full_name>
550
+ <docblock line="1214">
551
  <description><![CDATA[Fetch and filter IPTC and EXIF meta data for an image attachment]]></description>
552
  <long-description><![CDATA[<p>Returns</p>]]></long-description>
553
+ <tag line="1214" name="since" description="0.90"/>
554
+ <tag line="1214" name="param" description="post ID of attachment" type="int" variable="$post_id">
555
  <type by_reference="false">int</type>
556
  </tag>
557
+ <tag line="1214" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
558
+ <type by_reference="false">string</type>
559
+ </tag>
560
+ <tag line="1214" name="return" description="Meta data variables" type="array">
561
  <type by_reference="false">array</type>
562
  </tag>
563
  </docblock>
564
+ <argument line="1226">
565
  <name>$post_id</name>
566
  <default><![CDATA[]]></default>
567
  <type/>
568
  </argument>
569
+ <argument line="1226">
570
+ <name>$path</name>
571
+ <default><![CDATA['']]></default>
572
+ <type/>
573
+ </argument>
574
  </method>
575
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1283" package="Media Library Assistant">
576
  <name>mla_fetch_attachment_metadata</name>
577
  <full_name>mla_fetch_attachment_metadata</full_name>
578
+ <docblock line="1270">
579
  <description><![CDATA[Fetch and filter meta data for an attachment]]></description>
580
  <long-description><![CDATA[<p>Returns a filtered array of a post's meta data. Internal values beginning with '<em>'
581
  are stripped out or converted to an 'mla</em>' equivalent. Array data is replaced with
582
  a string containing the first array element.</p>]]></long-description>
583
+ <tag line="1270" name="since" description="0.1"/>
584
+ <tag line="1270" name="param" description="post ID of attachment" type="int" variable="$post_id">
585
  <type by_reference="false">int</type>
586
  </tag>
587
+ <tag line="1270" name="return" description="Meta data variables" type="array">
588
  <type by_reference="false">array</type>
589
  </tag>
590
  </docblock>
591
+ <argument line="1283">
592
  <name>$post_id</name>
593
  <default><![CDATA[]]></default>
594
  <type/>
595
  </argument>
596
  </method>
597
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1334" package="Media Library Assistant">
598
  <name>mla_update_single_item</name>
599
  <full_name>mla_update_single_item</full_name>
600
+ <docblock line="1321">
601
  <description><![CDATA[Update a single item; change the meta data
602
  for a single attachment.]]></description>
603
  <long-description><![CDATA[]]></long-description>
604
+ <tag line="1321" name="since" description="0.1"/>
605
+ <tag line="1321" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
606
  <type by_reference="false">int</type>
607
  </tag>
608
+ <tag line="1321" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
609
  <type by_reference="false">array</type>
610
  </tag>
611
+ <tag line="1321" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
612
  <type by_reference="false">array</type>
613
  </tag>
614
+ <tag line="1321" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
615
  <type by_reference="false">array</type>
616
  </tag>
617
+ <tag line="1321" name="return" description="success/failure message and NULL content" type="array">
618
  <type by_reference="false">array</type>
619
  </tag>
620
  </docblock>
621
+ <argument line="1334">
622
  <name>$post_id</name>
623
  <default><![CDATA[]]></default>
624
  <type/>
625
  </argument>
626
+ <argument line="1334">
627
  <name>$new_data</name>
628
  <default><![CDATA[]]></default>
629
  <type/>
630
  </argument>
631
+ <argument line="1334">
632
  <name>$tax_input</name>
633
  <default><![CDATA[NULL]]></default>
634
  <type/>
635
  </argument>
636
+ <argument line="1334">
637
  <name>$tax_actions</name>
638
  <default><![CDATA[NULL]]></default>
639
  <type/>
640
  </argument>
641
  </method>
642
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1549" package="Media Library Assistant">
643
  <name>_remove_tags</name>
644
  <full_name>_remove_tags</full_name>
645
+ <docblock line="1538">
646
  <description><![CDATA[Remove tags from a term ids list]]></description>
647
  <long-description><![CDATA[]]></long-description>
648
+ <tag line="1538" name="since" description="0.40"/>
649
+ <tag line="1538" name="param" description="The term ids currently assigned" type="array" variable="$terms_before">
650
  <type by_reference="false">array</type>
651
  </tag>
652
+ <tag line="1538" name="param" description="| string The term ids (array) or names (string) to remove" type="array" variable="$tags">
653
  <type by_reference="false">array</type>
654
  </tag>
655
+ <tag line="1538" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
656
  <type by_reference="false">object</type>
657
  </tag>
658
+ <tag line="1538" name="return" description="Term ids of the surviving tags" type="array">
659
  <type by_reference="false">array</type>
660
  </tag>
661
  </docblock>
662
+ <argument line="1549">
663
  <name>$terms_before</name>
664
  <default><![CDATA[]]></default>
665
  <type/>
666
  </argument>
667
+ <argument line="1549">
668
  <name>$tags</name>
669
  <default><![CDATA[]]></default>
670
  <type/>
671
  </argument>
672
+ <argument line="1549">
673
  <name>$taxonomy_obj</name>
674
  <default><![CDATA[]]></default>
675
  <type/>
676
  </argument>
677
  </method>
678
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1593" package="Media Library Assistant">
679
  <name>_hex_dump</name>
680
  <full_name>_hex_dump</full_name>
681
+ <docblock line="1582">
682
  <description><![CDATA[Format printable version of binary data]]></description>
683
  <long-description><![CDATA[]]></long-description>
684
+ <tag line="1582" name="since" description="0.90"/>
685
+ <tag line="1582" name="param" description="Binary data" type="string" variable="$data">
686
  <type by_reference="false">string</type>
687
  </tag>
688
+ <tag line="1582" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
689
  <type by_reference="false">integer</type>
690
  </tag>
691
+ <tag line="1582" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
692
  <type by_reference="false">\intger</type>
693
  </tag>
694
+ <tag line="1582" name="return" description="Printable representation of $data" type="string">
695
  <type by_reference="false">string</type>
696
  </tag>
697
  </docblock>
698
+ <argument line="1593">
699
  <name>$data</name>
700
  <default><![CDATA[]]></default>
701
  <type/>
702
  </argument>
703
+ <argument line="1593">
704
  <name>$limit</name>
705
  <default><![CDATA[0]]></default>
706
  <type/>
707
  </argument>
708
+ <argument line="1593">
709
  <name>$bytes_per_row</name>
710
  <default><![CDATA[16]]></default>
711
  <type/>
713
  </method>
714
  </class>
715
  </file>
716
+ <file path="includes\class-mla-edit-media.php" hash="7857a4c937bb5b6230ec7c8fd4915785" package="Media Library Assistant">
717
  <docblock line="2">
718
  <description><![CDATA[Media Library Assistant Edit Media screen enhancements]]></description>
719
  <long-description><![CDATA[]]></long-description>
730
  <tag line="9" name="package" description="Media Library Assistant"/>
731
  <tag line="9" name="since" description="0.80"/>
732
  </docblock>
733
+ <property final="false" static="true" visibility="private" line="164" namespace="global" package="Media Library Assistant">
734
  <name>$mla_references</name>
735
  <default><![CDATA[null]]></default>
736
+ <docblock line="154">
737
  <description><![CDATA[Where-used values for the current item]]></description>
738
  <long-description><![CDATA[<p>This array contains the Featured/Inserted/Gallery/MLA Gallery references for the item.
739
  The array is built once each page load and cached for subsequent calls.</p>]]></long-description>
740
+ <tag line="154" name="since" description="0.80"/>
741
+ <tag line="154" name="var" description="" type="array">
742
  <type by_reference="false">array</type>
743
  </tag>
744
  </docblock>
755
  </tag>
756
  </docblock>
757
  </method>
758
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="52" package="Media Library Assistant">
759
+ <name>mla_custom_field_support_action</name>
760
+ <full_name>mla_custom_field_support_action</full_name>
761
+ <docblock line="44">
762
+ <description><![CDATA[Adds Custom Field support to the Edit Media screen.]]></description>
763
+ <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
764
+ <tag line="44" name="since" description="0.80"/>
765
+ <tag line="44" name="return" description="echoes the HTML markup for the label and value" type="void">
766
+ <type by_reference="false">void</type>
767
+ </tag>
768
+ </docblock>
769
+ </method>
770
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="64" package="Media Library Assistant">
771
  <name>mla_last_modified_action</name>
772
  <full_name>mla_last_modified_action</full_name>
773
+ <docblock line="56">
774
  <description><![CDATA[Adds Last Modified date to the Submit box on the Edit Media screen.]]></description>
775
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
776
+ <tag line="56" name="since" description="0.80"/>
777
+ <tag line="56" name="return" description="echoes the HTML markup for the label and value" type="void">
778
  <type by_reference="false">void</type>
779
  </tag>
780
  </docblock>
781
  </method>
782
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="86" package="Media Library Assistant">
783
  <name>mla_add_meta_boxes_action</name>
784
  <full_name>mla_add_meta_boxes_action</full_name>
785
+ <docblock line="75">
786
  <description><![CDATA[Registers meta boxes for the Edit Media screen.]]></description>
787
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
788
+ <tag line="75" name="since" description="0.80"/>
789
+ <tag line="75" name="param" description="type of the current post, e.g., 'attachment'" type="string" variable="$post_type">
790
  <type by_reference="false">string</type>
791
  </tag>
792
+ <tag line="75" name="param" description="current post" type="object" variable="$post">
793
  <type by_reference="false">object</type>
794
  </tag>
795
+ <tag line="75" name="return" description="" type="void">
796
  <type by_reference="false">void</type>
797
  </tag>
798
  </docblock>
799
+ <argument line="86">
800
  <name>$post_type</name>
801
  <default><![CDATA[]]></default>
802
  <type/>
803
  </argument>
804
+ <argument line="86">
805
  <name>$post</name>
806
  <default><![CDATA[]]></default>
807
  <type/>
808
  </argument>
809
  </method>
810
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="116" package="Media Library Assistant">
811
  <name>mla_edit_add_help_tab</name>
812
  <full_name>mla_edit_add_help_tab</full_name>
813
+ <docblock line="106">
814
  <description><![CDATA[Add contextual help tabs to the WordPress Edit Media page]]></description>
815
  <long-description><![CDATA[]]></long-description>
816
+ <tag line="106" name="since" description="0.90"/>
817
+ <tag line="106" name="param" description="title as shown on the screen" type="string" variable="$admin_title">
818
  <type by_reference="false">string</type>
819
  </tag>
820
+ <tag line="106" name="param" description="title as shown in the HTML header" type="string" variable="$title">
821
  <type by_reference="false">string</type>
822
  </tag>
823
+ <tag line="106" name="return" description="" type="void">
824
  <type by_reference="false">void</type>
825
  </tag>
826
  </docblock>
827
+ <argument line="116">
828
  <name>$admin_title</name>
829
  <default><![CDATA[]]></default>
830
  <type/>
831
  </argument>
832
+ <argument line="116">
833
  <name>$title</name>
834
  <default><![CDATA[]]></default>
835
  <type/>
836
  </argument>
837
  </method>
838
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="176" package="Media Library Assistant">
839
  <name>mla_parent_info_handler</name>
840
  <full_name>mla_parent_info_handler</full_name>
841
+ <docblock line="166">
842
  <description><![CDATA[Renders the Parent Info meta box on the Edit Media page.]]></description>
843
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
844
+ <tag line="166" name="since" description="0.80"/>
845
+ <tag line="166" name="param" description="current post" type="object" variable="$post">
846
  <type by_reference="false">object</type>
847
  </tag>
848
+ <tag line="166" name="return" description="echoes the HTML markup for the meta box content" type="void">
849
  <type by_reference="false">void</type>
850
  </tag>
851
  </docblock>
852
+ <argument line="176">
853
  <name>$post</name>
854
  <default><![CDATA[]]></default>
855
  <type/>
856
  </argument>
857
  </method>
858
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="201" package="Media Library Assistant">
859
  <name>mla_menu_order_handler</name>
860
  <full_name>mla_menu_order_handler</full_name>
861
+ <docblock line="191">
862
  <description><![CDATA[Renders the Menu Order meta box on the Edit Media page.]]></description>
863
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
864
+ <tag line="191" name="since" description="0.80"/>
865
+ <tag line="191" name="param" description="current post" type="object" variable="$post">
866
  <type by_reference="false">object</type>
867
  </tag>
868
+ <tag line="191" name="return" description="echoes the HTML markup for the meta box content" type="void">
869
  <type by_reference="false">void</type>
870
  </tag>
871
  </docblock>
872
+ <argument line="201">
873
  <name>$post</name>
874
  <default><![CDATA[]]></default>
875
  <type/>
876
  </argument>
877
  </method>
878
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="216" package="Media Library Assistant">
879
  <name>mla_image_metadata_handler</name>
880
  <full_name>mla_image_metadata_handler</full_name>
881
+ <docblock line="206">
882
  <description><![CDATA[Renders the Image Metadata meta box on the Edit Media page.]]></description>
883
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
884
+ <tag line="206" name="since" description="0.80"/>
885
+ <tag line="206" name="param" description="current post" type="object" variable="$post">
886
  <type by_reference="false">object</type>
887
  </tag>
888
+ <tag line="206" name="return" description="echoes the HTML markup for the meta box content" type="void">
889
  <type by_reference="false">void</type>
890
  </tag>
891
  </docblock>
892
+ <argument line="216">
893
  <name>$post</name>
894
  <default><![CDATA[]]></default>
895
  <type/>
896
  </argument>
897
  </method>
898
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="243" package="Media Library Assistant">
899
  <name>mla_featured_in_handler</name>
900
  <full_name>mla_featured_in_handler</full_name>
901
+ <docblock line="233">
902
  <description><![CDATA[Renders the Featured in meta box on the Edit Media page.]]></description>
903
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
904
+ <tag line="233" name="since" description="0.80"/>
905
+ <tag line="233" name="param" description="current post" type="object" variable="$post">
906
  <type by_reference="false">object</type>
907
  </tag>
908
+ <tag line="233" name="return" description="echoes the HTML markup for the meta box content" type="void">
909
  <type by_reference="false">void</type>
910
  </tag>
911
  </docblock>
912
+ <argument line="243">
913
  <name>$post</name>
914
  <default><![CDATA[]]></default>
915
  <type/>
916
  </argument>
917
  </method>
918
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="273" package="Media Library Assistant">
919
  <name>mla_inserted_in_handler</name>
920
  <full_name>mla_inserted_in_handler</full_name>
921
+ <docblock line="263">
922
  <description><![CDATA[Renders the Inserted in meta box on the Edit Media page.]]></description>
923
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
924
+ <tag line="263" name="since" description="0.80"/>
925
+ <tag line="263" name="param" description="current post" type="object" variable="$post">
926
  <type by_reference="false">object</type>
927
  </tag>
928
+ <tag line="263" name="return" description="echoes the HTML markup for the meta box content" type="void">
929
  <type by_reference="false">void</type>
930
  </tag>
931
  </docblock>
932
+ <argument line="273">
933
  <name>$post</name>
934
  <default><![CDATA[]]></default>
935
  <type/>
936
  </argument>
937
  </method>
938
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="307" package="Media Library Assistant">
939
  <name>mla_gallery_in_handler</name>
940
  <full_name>mla_gallery_in_handler</full_name>
941
+ <docblock line="297">
942
  <description><![CDATA[Renders the Gallery in meta box on the Edit Media page.]]></description>
943
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
944
+ <tag line="297" name="since" description="0.80"/>
945
+ <tag line="297" name="param" description="current post" type="object" variable="$post">
946
  <type by_reference="false">object</type>
947
  </tag>
948
+ <tag line="297" name="return" description="echoes the HTML markup for the meta box content" type="void">
949
  <type by_reference="false">void</type>
950
  </tag>
951
  </docblock>
952
+ <argument line="307">
953
  <name>$post</name>
954
  <default><![CDATA[]]></default>
955
  <type/>
956
  </argument>
957
  </method>
958
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="337" package="Media Library Assistant">
959
  <name>mla_mla_gallery_in_handler</name>
960
  <full_name>mla_mla_gallery_in_handler</full_name>
961
+ <docblock line="327">
962
  <description><![CDATA[Renders the Gallery in meta box on the Edit Media page.]]></description>
963
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
964
+ <tag line="327" name="since" description="0.80"/>
965
+ <tag line="327" name="param" description="current post" type="object" variable="$post">
966
  <type by_reference="false">object</type>
967
  </tag>
968
+ <tag line="327" name="return" description="echoes the HTML markup for the meta box content" type="void">
969
  <type by_reference="false">void</type>
970
  </tag>
971
  </docblock>
972
+ <argument line="337">
973
  <name>$post</name>
974
  <default><![CDATA[]]></default>
975
  <type/>
976
  </argument>
977
  </method>
978
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="367" package="Media Library Assistant">
979
  <name>mla_edit_attachment_action</name>
980
  <full_name>mla_edit_attachment_action</full_name>
981
+ <docblock line="357">
982
  <description><![CDATA[Saves updates from the Edit Media screen.]]></description>
983
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
984
+ <tag line="357" name="since" description="0.80"/>
985
+ <tag line="357" name="param" description="ID of the current post" type="integer" variable="$post_ID">
986
  <type by_reference="false">integer</type>
987
  </tag>
988
+ <tag line="357" name="return" description="" type="void">
989
  <type by_reference="false">void</type>
990
  </tag>
991
  </docblock>
992
+ <argument line="367">
993
  <name>$post_ID</name>
994
  <default><![CDATA[]]></default>
995
  <type/>
997
  </method>
998
  </class>
999
  </file>
1000
+ <file path="includes\class-mla-list-table.php" hash="eb1bd1eed3466725fb73b49bc03d39a3" package="Media Library Assistant">
1001
  <docblock line="2">
1002
  <description><![CDATA[Media Library Assistant extended List Table class]]></description>
1003
  <long-description><![CDATA[]]></long-description>
1393
  <type/>
1394
  </argument>
1395
  </method>
1396
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="654" package="Media Library Assistant">
1397
  <name>column_post_title</name>
1398
  <full_name>column_post_title</full_name>
1399
+ <docblock line="646">
1400
  <description><![CDATA[Supply the content for a custom column]]></description>
1401
  <long-description><![CDATA[]]></long-description>
1402
+ <tag line="646" name="since" description="0.1"/>
1403
+ <tag line="646" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1404
  <type by_reference="false">array</type>
1405
  </tag>
1406
+ <tag line="646" name="return" description="HTML markup to be placed inside the column" type="string">
1407
  <type by_reference="false">string</type>
1408
  </tag>
1409
  </docblock>
1410
+ <argument line="654">
1411
  <name>$item</name>
1412
  <default><![CDATA[]]></default>
1413
  <type/>
1414
  </argument>
1415
  </method>
1416
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="672" package="Media Library Assistant">
1417
  <name>column_post_name</name>
1418
  <full_name>column_post_name</full_name>
1419
+ <docblock line="664">
1420
  <description><![CDATA[Supply the content for a custom column]]></description>
1421
  <long-description><![CDATA[]]></long-description>
1422
+ <tag line="664" name="since" description="0.1"/>
1423
+ <tag line="664" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1424
  <type by_reference="false">array</type>
1425
  </tag>
1426
+ <tag line="664" name="return" description="HTML markup to be placed inside the column" type="string">
1427
  <type by_reference="false">string</type>
1428
  </tag>
1429
  </docblock>
1430
+ <argument line="672">
1431
  <name>$item</name>
1432
  <default><![CDATA[]]></default>
1433
  <type/>
1434
  </argument>
1435
  </method>
1436
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="690" package="Media Library Assistant">
1437
  <name>column_parent</name>
1438
  <full_name>column_parent</full_name>
1439
+ <docblock line="682">
1440
  <description><![CDATA[Supply the content for a custom column]]></description>
1441
  <long-description><![CDATA[]]></long-description>
1442
+ <tag line="682" name="since" description="0.1"/>
1443
+ <tag line="682" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1444
  <type by_reference="false">array</type>
1445
  </tag>
1446
+ <tag line="682" name="return" description="HTML markup to be placed inside the column" type="string">
1447
  <type by_reference="false">string</type>
1448
  </tag>
1449
  </docblock>
1450
+ <argument line="690">
1451
  <name>$item</name>
1452
  <default><![CDATA[]]></default>
1453
  <type/>
1454
  </argument>
1455
  </method>
1456
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="715" package="Media Library Assistant">
1457
  <name>column_menu_order</name>
1458
  <full_name>column_menu_order</full_name>
1459
+ <docblock line="707">
1460
  <description><![CDATA[Supply the content for a custom column]]></description>
1461
  <long-description><![CDATA[]]></long-description>
1462
+ <tag line="707" name="since" description="0.60"/>
1463
+ <tag line="707" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1464
  <type by_reference="false">array</type>
1465
  </tag>
1466
+ <tag line="707" name="return" description="HTML markup to be placed inside the column" type="string">
1467
  <type by_reference="false">string</type>
1468
  </tag>
1469
  </docblock>
1470
+ <argument line="715">
1471
  <name>$item</name>
1472
  <default><![CDATA[]]></default>
1473
  <type/>
1474
  </argument>
1475
  </method>
1476
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="727" package="Media Library Assistant">
1477
  <name>column_featured</name>
1478
  <full_name>column_featured</full_name>
1479
+ <docblock line="719">
1480
  <description><![CDATA[Supply the content for a custom column]]></description>
1481
  <long-description><![CDATA[]]></long-description>
1482
+ <tag line="719" name="since" description="0.1"/>
1483
+ <tag line="719" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1484
  <type by_reference="false">array</type>
1485
  </tag>
1486
+ <tag line="719" name="return" description="HTML markup to be placed inside the column" type="string">
1487
  <type by_reference="false">string</type>
1488
  </tag>
1489
  </docblock>
1490
+ <argument line="727">
1491
  <name>$item</name>
1492
  <default><![CDATA[]]></default>
1493
  <type/>
1494
  </argument>
1495
  </method>
1496
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="758" package="Media Library Assistant">
1497
  <name>column_inserted</name>
1498
  <full_name>column_inserted</full_name>
1499
+ <docblock line="750">
1500
  <description><![CDATA[Supply the content for a custom column]]></description>
1501
  <long-description><![CDATA[]]></long-description>
1502
+ <tag line="750" name="since" description="0.1"/>
1503
+ <tag line="750" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1504
  <type by_reference="false">array</type>
1505
  </tag>
1506
+ <tag line="750" name="return" description="HTML markup to be placed inside the column" type="string">
1507
  <type by_reference="false">string</type>
1508
  </tag>
1509
  </docblock>
1510
+ <argument line="758">
1511
  <name>$item</name>
1512
  <default><![CDATA[]]></default>
1513
  <type/>
1514
  </argument>
1515
  </method>
1516
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="793" package="Media Library Assistant">
1517
  <name>column_galleries</name>
1518
  <full_name>column_galleries</full_name>
1519
+ <docblock line="785">
1520
  <description><![CDATA[Supply the content for a custom column]]></description>
1521
  <long-description><![CDATA[]]></long-description>
1522
+ <tag line="785" name="since" description="0.70"/>
1523
+ <tag line="785" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1524
  <type by_reference="false">array</type>
1525
  </tag>
1526
+ <tag line="785" name="return" description="HTML markup to be placed inside the column" type="string">
1527
  <type by_reference="false">string</type>
1528
  </tag>
1529
  </docblock>
1530
+ <argument line="793">
1531
  <name>$item</name>
1532
  <default><![CDATA[]]></default>
1533
  <type/>
1534
  </argument>
1535
  </method>
1536
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="824" package="Media Library Assistant">
1537
  <name>column_mla_galleries</name>
1538
  <full_name>column_mla_galleries</full_name>
1539
+ <docblock line="816">
1540
  <description><![CDATA[Supply the content for a custom column]]></description>
1541
  <long-description><![CDATA[]]></long-description>
1542
+ <tag line="816" name="since" description="0.70"/>
1543
+ <tag line="816" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1544
  <type by_reference="false">array</type>
1545
  </tag>
1546
+ <tag line="816" name="return" description="HTML markup to be placed inside the column" type="string">
1547
  <type by_reference="false">string</type>
1548
  </tag>
1549
  </docblock>
1550
+ <argument line="824">
1551
  <name>$item</name>
1552
  <default><![CDATA[]]></default>
1553
  <type/>
1854
  </method>
1855
  </class>
1856
  </file>
1857
+ <file path="includes\class-mla-main.php" hash="2b1a10bf4ebeaba1a8d36c28efd1f089" package="Media Library Assistant">
1858
  <docblock line="2">
1859
  <description><![CDATA[Top-level functions for the Media Library Assistant]]></description>
1860
  <long-description><![CDATA[]]></long-description>
1891
  <constant namespace="global" line="41" package="Media Library Assistant">
1892
  <name>CURRENT_MLA_VERSION</name>
1893
  <full_name>CURRENT_MLA_VERSION</full_name>
1894
+ <value><![CDATA['1.00']]></value>
1895
  <docblock line="34">
1896
  <description><![CDATA[Current version number]]></description>
1897
  <long-description><![CDATA[]]></long-description>
2083
  </tag>
2084
  </docblock>
2085
  </constant>
2086
+ <constant namespace="global" line="176" package="Media Library Assistant">
2087
+ <name>MLA_ADMIN_SINGLE_MAP</name>
2088
+ <full_name>MLA_ADMIN_SINGLE_MAP</full_name>
2089
+ <value><![CDATA['single_item_map']]></value>
2090
+ <docblock line="169">
2091
+ <description><![CDATA[mla_admin_action value for mapping IPTC/EXIF metadata]]></description>
2092
+ <long-description><![CDATA[]]></long-description>
2093
+ <tag line="169" name="since" description="1.00"/>
2094
+ <tag line="169" name="var" description="" type="string">
2095
+ <type by_reference="false">string</type>
2096
+ </tag>
2097
+ </docblock>
2098
+ </constant>
2099
+ <property final="false" static="true" visibility="private" line="185" namespace="global" package="Media Library Assistant">
2100
  <name>$page_hooks</name>
2101
  <default><![CDATA[array()]]></default>
2102
+ <docblock line="178">
2103
  <description><![CDATA[Holds screen ids to match help text to corresponding screen]]></description>
2104
  <long-description><![CDATA[]]></long-description>
2105
+ <tag line="178" name="since" description="0.1"/>
2106
+ <tag line="178" name="var" description="" type="array">
2107
  <type by_reference="false">array</type>
2108
  </tag>
2109
  </docblock>
2110
  </property>
2111
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="198" package="Media Library Assistant">
2112
  <name>initialize</name>
2113
  <full_name>initialize</full_name>
2114
+ <docblock line="187">
2115
  <description><![CDATA[Initialization function, similar to __construct()]]></description>
2116
  <long-description><![CDATA[<p>This function contains add_action and add_filter calls
2117
  to set up the Ajax handlers, enqueue JavaScript and CSS files, and
2118
  set up the Assistant submenu.</p>]]></long-description>
2119
+ <tag line="187" name="since" description="0.1"/>
2120
+ <tag line="187" name="return" description="" type="void">
2121
  <type by_reference="false">void</type>
2122
  </tag>
2123
  </docblock>
2124
  </method>
2125
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="217" package="Media Library Assistant">
2126
  <name>mla_admin_init_action</name>
2127
  <full_name>mla_admin_init_action</full_name>
2128
+ <docblock line="210">
2129
  <description><![CDATA[Load the plugin's Ajax handler]]></description>
2130
  <long-description><![CDATA[]]></long-description>
2131
+ <tag line="210" name="since" description="0.20"/>
2132
+ <tag line="210" name="return" description="" type="void">
2133
  <type by_reference="false">void</type>
2134
  </tag>
2135
  </docblock>
2136
  </method>
2137
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="230" package="Media Library Assistant">
2138
  <name>mla_admin_enqueue_scripts_action</name>
2139
  <full_name>mla_admin_enqueue_scripts_action</full_name>
2140
+ <docblock line="221">
2141
  <description><![CDATA[Load the plugin's Style Sheet and Javascript files]]></description>
2142
  <long-description><![CDATA[]]></long-description>
2143
+ <tag line="221" name="since" description="0.1"/>
2144
+ <tag line="221" name="param" description="Name of the page being loaded" type="string" variable="$page_hook">
2145
  <type by_reference="false">string</type>
2146
  </tag>
2147
+ <tag line="221" name="return" description="" type="void">
2148
  <type by_reference="false">void</type>
2149
  </tag>
2150
  </docblock>
2151
+ <argument line="230">
2152
  <name>$page_hook</name>
2153
  <default><![CDATA[]]></default>
2154
  <type/>
2155
  </argument>
2156
  </method>
2157
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="278" package="Media Library Assistant">
2158
  <name>mla_admin_menu_action</name>
2159
  <full_name>mla_admin_menu_action</full_name>
2160
+ <docblock line="263">
2161
  <description><![CDATA[Add the submenu pages]]></description>
2162
  <long-description><![CDATA[<p>Add a submenu page in the "Media" section,
2163
  add settings page in the "Settings" section.
2166
  <p>For WordPress versions before 3.5,
2167
  add submenu page(s) for attachment taxonomies,
2168
  add filter to clean up taxonomy submenu labels.</p>]]></long-description>
2169
+ <tag line="263" name="since" description="0.1"/>
2170
+ <tag line="263" name="return" description="" type="void">
2171
  <type by_reference="false">void</type>
2172
  </tag>
2173
  </docblock>
2174
  </method>
2175
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="324" package="Media Library Assistant">
2176
  <name>mla_load_upload_php_action</name>
2177
  <full_name>mla_load_upload_php_action</full_name>
2178
+ <docblock line="317">
2179
  <description><![CDATA[Intercept return from Edit Media screen]]></description>
2180
  <long-description><![CDATA[]]></long-description>
2181
+ <tag line="317" name="since" description="0.60"/>
2182
+ <tag line="317" name="return" description="" type="void">
2183
  <type by_reference="false">void</type>
2184
  </tag>
2185
  </docblock>
2186
  </method>
2187
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="337" package="Media Library Assistant">
2188
  <name>mla_load_post_php_action</name>
2189
  <full_name>mla_load_post_php_action</full_name>
2190
+ <docblock line="330">
2191
  <description><![CDATA[Intercept call to Edit Media screen]]></description>
2192
  <long-description><![CDATA[]]></long-description>
2193
+ <tag line="330" name="since" description="0.60"/>
2194
+ <tag line="330" name="return" description="" type="void">
2195
  <type by_reference="false">void</type>
2196
  </tag>
2197
  </docblock>
2198
  </method>
2199
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="350" package="Media Library Assistant">
2200
  <name>mla_add_menu_options</name>
2201
  <full_name>mla_add_menu_options</full_name>
2202
+ <docblock line="343">
2203
  <description><![CDATA[Add the "XX Entries per page" filter to the Screen Options tab]]></description>
2204
  <long-description><![CDATA[]]></long-description>
2205
+ <tag line="343" name="since" description="0.1"/>
2206
+ <tag line="343" name="return" description="" type="void">
2207
  <type by_reference="false">void</type>
2208
  </tag>
2209
  </docblock>
2210
  </method>
2211
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="369" package="Media Library Assistant">
2212
  <name>mla_add_help_tab</name>
2213
  <full_name>mla_add_help_tab</full_name>
2214
+ <docblock line="362">
2215
  <description><![CDATA[Add contextual help tabs to all the MLA pages]]></description>
2216
  <long-description><![CDATA[]]></long-description>
2217
+ <tag line="362" name="since" description="0.1"/>
2218
+ <tag line="362" name="return" description="" type="void">
2219
  <type by_reference="false">void</type>
2220
  </tag>
2221
  </docblock>
2222
  </method>
2223
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="458" package="Media Library Assistant">
2224
  <name>mla_screen_options_show_screen_filter</name>
2225
  <full_name>mla_screen_options_show_screen_filter</full_name>
2226
+ <docblock line="448">
2227
  <description><![CDATA[Only show screen options on the table-list screen]]></description>
2228
  <long-description><![CDATA[]]></long-description>
2229
+ <tag line="448" name="since" description="0.1"/>
2230
+ <tag line="448" name="param" description="True to display &quot;Screen Options&quot;, false to suppress them" type="boolean" variable="$show_screen">
2231
  <type by_reference="false">boolean</type>
2232
  </tag>
2233
+ <tag line="448" name="param" description="Name of the page being loaded" type="string" variable="$this_screen">
2234
  <type by_reference="false">string</type>
2235
  </tag>
2236
+ <tag line="448" name="return" description="True to display &quot;Screen Options&quot;, false to suppress them" type="boolean">
2237
  <type by_reference="false">boolean</type>
2238
  </tag>
2239
  </docblock>
2240
+ <argument line="458">
2241
  <name>$show_screen</name>
2242
  <default><![CDATA[]]></default>
2243
  <type/>
2244
  </argument>
2245
+ <argument line="458">
2246
  <name>$this_screen</name>
2247
  <default><![CDATA[]]></default>
2248
  <type/>
2249
  </argument>
2250
  </method>
2251
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="476" package="Media Library Assistant">
2252
  <name>mla_set_screen_option_filter</name>
2253
  <full_name>mla_set_screen_option_filter</full_name>
2254
+ <docblock line="465">
2255
  <description><![CDATA[Save the "Entries per page" option set by this user]]></description>
2256
  <long-description><![CDATA[]]></long-description>
2257
+ <tag line="465" name="since" description="0.1"/>
2258
+ <tag line="465" name="param" description="Unknown - always false?" type="boolean" variable="$status">
2259
  <type by_reference="false">boolean</type>
2260
  </tag>
2261
+ <tag line="465" name="param" description="Name of the option being changed" type="string" variable="$option">
2262
  <type by_reference="false">string</type>
2263
  </tag>
2264
+ <tag line="465" name="param" description="New value of the option" type="string" variable="$value">
2265
  <type by_reference="false">string</type>
2266
  </tag>
2267
+ <tag line="465" name="return" description="New value if this is our option, otherwise nothing" type="string|void">
2268
  <type by_reference="false">string</type>
2269
  <type by_reference="false">void</type>
2270
  </tag>
2271
  </docblock>
2272
+ <argument line="476">
2273
  <name>$status</name>
2274
  <default><![CDATA[]]></default>
2275
  <type/>
2276
  </argument>
2277
+ <argument line="476">
2278
  <name>$option</name>
2279
  <default><![CDATA[]]></default>
2280
  <type/>
2281
  </argument>
2282
+ <argument line="476">
2283
  <name>$value</name>
2284
  <default><![CDATA[]]></default>
2285
  <type/>
2286
  </argument>
2287
  </method>
2288
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="493" package="Media Library Assistant">
2289
  <name>mla_edit_tax_redirect</name>
2290
  <full_name>mla_edit_tax_redirect</full_name>
2291
+ <docblock line="482">
2292
  <description><![CDATA[Redirect to the Edit Tags/Categories page]]></description>
2293
  <long-description><![CDATA[<p>The custom taxonomy add/edit submenu entries go to "upload.php" by default.
2294
  This filter is the only way to redirect them to the correct WordPress page.
2295
  The filter is not required for WordPress 3.5 and later.</p>]]></long-description>
2296
+ <tag line="482" name="since" description="0.1"/>
2297
+ <tag line="482" name="return" description="" type="void">
2298
  <type by_reference="false">void</type>
2299
  </tag>
2300
  </docblock>
2301
  </method>
2302
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="526" package="Media Library Assistant">
2303
  <name>mla_parent_file_filter</name>
2304
  <full_name>mla_parent_file_filter</full_name>
2305
+ <docblock line="510">
2306
  <description><![CDATA[Cleanup menus for Edit Tags/Categories page]]></description>
2307
  <long-description><![CDATA[<p>For WordPress before 3.5, the submenu entries for custom taxonomies
2308
  under the "Media" menu are not set up correctly by WordPress, so this
2310
  page for editing/adding taxonomy terms.
2311
  For WordPress 3.5 and later, the function fixes the submenu bolding when
2312
  going to the Edit Media screen.</p>]]></long-description>
2313
+ <tag line="510" name="since" description="0.1"/>
2314
+ <tag line="510" name="param" description="The top-level menu page" type="array" variable="$parent_file">
2315
  <type by_reference="false">array</type>
2316
  </tag>
2317
+ <tag line="510" name="return" description="The updated top-level menu page" type="string">
2318
  <type by_reference="false">string</type>
2319
  </tag>
2320
  </docblock>
2321
+ <argument line="526">
2322
  <name>$parent_file</name>
2323
  <default><![CDATA[]]></default>
2324
  <type/>
2325
  </argument>
2326
  </method>
2327
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="569" package="Media Library Assistant">
2328
  <name>mla_render_admin_page</name>
2329
  <full_name>mla_render_admin_page</full_name>
2330
+ <docblock line="562">
2331
  <description><![CDATA[Render the "Assistant" subpage in the Media section, using the list_table package]]></description>
2332
  <long-description><![CDATA[]]></long-description>
2333
+ <tag line="562" name="since" description="0.1"/>
2334
+ <tag line="562" name="return" description="" type="void">
2335
  <type by_reference="false">void</type>
2336
  </tag>
2337
  </docblock>
2338
  </method>
2339
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="836" package="Media Library Assistant">
2340
  <name>mla_inline_edit_action</name>
2341
  <full_name>mla_inline_edit_action</full_name>
2342
+ <docblock line="827">
2343
  <description><![CDATA[Ajax handler for inline editing (quick and bulk edit)]]></description>
2344
  <long-description><![CDATA[<p>Adapted from wp_ajax_inline_save in /wp-admin/includes/ajax-actions.php</p>]]></long-description>
2345
+ <tag line="827" name="since" description="0.20"/>
2346
+ <tag line="827" name="return" description="echo HTML &lt;tr&gt; markup for updated row or error message, then die()" type="void">
2347
  <type by_reference="false">void</type>
2348
  </tag>
2349
  </docblock>
2350
  </method>
2351
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="916" package="Media Library Assistant">
2352
  <name>_build_inline_edit_form</name>
2353
  <full_name>_build_inline_edit_form</full_name>
2354
+ <docblock line="905">
2355
  <description><![CDATA[Build the hidden row templates for inline editing (quick and bulk edit)]]></description>
2356
  <long-description><![CDATA[<p>inspired by inline_edit() in wp-admin\includes\class-wp-posts-list-table.php.</p>]]></long-description>
2357
+ <tag line="905" name="since" description="0.20"/>
2358
+ <tag line="905" name="param" description="MLA List Table object" type="object" variable="$MLAListTable">
2359
  <type by_reference="false">object</type>
2360
  </tag>
2361
+ <tag line="905" name="return" description="HTML &lt;form&gt; markup for hidden rows" type="string">
2362
  <type by_reference="false">string</type>
2363
  </tag>
2364
  </docblock>
2365
+ <argument line="916">
2366
  <name>$MLAListTable</name>
2367
  <default><![CDATA[]]></default>
2368
  <type/>
2369
  </argument>
2370
  </method>
2371
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1053" package="Media Library Assistant">
2372
  <name>_authors_dropdown</name>
2373
  <full_name>_authors_dropdown</full_name>
2374
+ <docblock line="1042">
2375
  <description><![CDATA[Get the edit Authors dropdown box, if user has suitable permissions]]></description>
2376
  <long-description><![CDATA[]]></long-description>
2377
+ <tag line="1042" name="since" description="0.20"/>
2378
+ <tag line="1042" name="param" description="Optional User ID of the current author, default 0" type="integer" variable="$author">
2379
  <type by_reference="false">integer</type>
2380
  </tag>
2381
+ <tag line="1042" name="param" description="Optional HTML name attribute, default 'post_author'" type="string" variable="$name">
2382
  <type by_reference="false">string</type>
2383
  </tag>
2384
+ <tag line="1042" name="param" description="Optional HTML class attribute, default 'authors'" type="string" variable="$class">
2385
  <type by_reference="false">string</type>
2386
  </tag>
2387
+ <tag line="1042" name="return" description="HTML markup for the dropdown field or False" type="string|false">
2388
  <type by_reference="false">string</type>
2389
  <type by_reference="false">false</type>
2390
  </tag>
2391
  </docblock>
2392
+ <argument line="1053">
2393
  <name>$author</name>
2394
  <default><![CDATA[0]]></default>
2395
  <type/>
2396
  </argument>
2397
+ <argument line="1053">
2398
  <name>$name</name>
2399
  <default><![CDATA['post_author']]></default>
2400
  <type/>
2401
  </argument>
2402
+ <argument line="1053">
2403
  <name>$class</name>
2404
  <default><![CDATA['authors']]></default>
2405
  <type/>
2406
  </argument>
2407
  </method>
2408
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1087" package="Media Library Assistant">
2409
  <name>_current_bulk_action</name>
2410
  <full_name>_current_bulk_action</full_name>
2411
+ <docblock line="1080">
2412
  <description><![CDATA[Get the current action selected from the bulk actions dropdown]]></description>
2413
  <long-description><![CDATA[]]></long-description>
2414
+ <tag line="1080" name="since" description="0.1"/>
2415
+ <tag line="1080" name="return" description="The action name or False if no action was selected" type="string|false">
2416
  <type by_reference="false">string</type>
2417
  <type by_reference="false">false</type>
2418
  </tag>
2419
  </docblock>
2420
  </method>
2421
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1116" package="Media Library Assistant">
2422
  <name>_delete_single_item</name>
2423
  <full_name>_delete_single_item</full_name>
2424
+ <docblock line="1107">
2425
  <description><![CDATA[Delete a single item permanently]]></description>
2426
  <long-description><![CDATA[]]></long-description>
2427
+ <tag line="1107" name="since" description="0.1"/>
2428
+ <tag line="1107" name="param" description="The form POST data" type="array" variable="$post_id">
2429
  <type by_reference="false">array</type>
2430
  </tag>
2431
+ <tag line="1107" name="return" description="success/failure message and NULL content" type="array">
2432
  <type by_reference="false">array</type>
2433
  </tag>
2434
  </docblock>
2435
+ <argument line="1116">
2436
  <name>$post_id</name>
2437
  <default><![CDATA[]]></default>
2438
  <type/>
2439
  </argument>
2440
  </method>
2441
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1145" package="Media Library Assistant">
2442
  <name>_display_single_item</name>
2443
  <full_name>_display_single_item</full_name>
2444
+ <docblock line="1135">
2445
  <description><![CDATA[Display a single item sub page; prepare the form to
2446
  change the meta data for a single attachment.]]></description>
2447
  <long-description><![CDATA[]]></long-description>
2448
+ <tag line="1135" name="since" description="0.1"/>
2449
+ <tag line="1135" name="param" description="The WordPress Post ID of the attachment item" type="int" variable="$post_id">
2450
  <type by_reference="false">int</type>
2451
  </tag>
2452
+ <tag line="1135" name="return" description="message and/or HTML content" type="array">
2453
  <type by_reference="false">array</type>
2454
  </tag>
2455
  </docblock>
2456
+ <argument line="1145">
2457
  <name>$post_id</name>
2458
  <default><![CDATA[]]></default>
2459
  <type/>
2460
  </argument>
2461
  </method>
2462
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1385" package="Media Library Assistant">
2463
  <name>_restore_single_item</name>
2464
  <full_name>_restore_single_item</full_name>
2465
+ <docblock line="1376">
2466
  <description><![CDATA[Restore a single item from the Trash]]></description>
2467
  <long-description><![CDATA[]]></long-description>
2468
+ <tag line="1376" name="since" description="0.1"/>
2469
+ <tag line="1376" name="param" description="The form POST data" type="array" variable="$post_id">
2470
  <type by_reference="false">array</type>
2471
  </tag>
2472
+ <tag line="1376" name="return" description="success/failure message and NULL content" type="array">
2473
  <type by_reference="false">array</type>
2474
  </tag>
2475
  </docblock>
2476
+ <argument line="1385">
2477
  <name>$post_id</name>
2478
  <default><![CDATA[]]></default>
2479
  <type/>
2480
  </argument>
2481
  </method>
2482
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1421" package="Media Library Assistant">
2483
  <name>_trash_single_item</name>
2484
  <full_name>_trash_single_item</full_name>
2485
+ <docblock line="1412">
2486
  <description><![CDATA[Move a single item to Trash]]></description>
2487
  <long-description><![CDATA[]]></long-description>
2488
+ <tag line="1412" name="since" description="0.1"/>
2489
+ <tag line="1412" name="param" description="The form POST data" type="array" variable="$post_id">
2490
  <type by_reference="false">array</type>
2491
  </tag>
2492
+ <tag line="1412" name="return" description="success/failure message and NULL content" type="array">
2493
  <type by_reference="false">array</type>
2494
  </tag>
2495
  </docblock>
2496
+ <argument line="1421">
2497
  <name>$post_id</name>
2498
  <default><![CDATA[]]></default>
2499
  <type/>
2501
  </method>
2502
  </class>
2503
  </file>
2504
+ <file path="includes\class-mla-objects.php" hash="b5cb211f744f72862f90979579347753" package="Media Library Assistant">
2505
  <docblock line="2">
2506
  <description><![CDATA[Media Library Assistant Custom Taxonomy and Post Type objects]]></description>
2507
  <long-description><![CDATA[]]></long-description>
2602
  </method>
2603
  </class>
2604
  </file>
2605
+ <file path="includes\class-mla-options.php" hash="6c93e0f09cbe473453eff5c67a46273f" package="Media Library Assistant">
2606
  <docblock line="2">
2607
+ <description><![CDATA[Manages the plugin option settings]]></description>
2608
  <long-description><![CDATA[]]></long-description>
2609
  <tag line="2" name="package" description="Media Library Assistant"/>
2610
+ <tag line="2" name="since" description="1.00"/>
2611
  </docblock>
2612
+ <class final="false" abstract="false" namespace="global" line="18" package="Media Library Assistant">
2613
  <extends/>
2614
+ <name>MLAOptions</name>
2615
+ <full_name>\MLAOptions</full_name>
2616
  <docblock line="9">
2617
+ <description><![CDATA[Class MLA (Media Library Assistant) Options manages the plugin option settings
2618
+ and provides functions to get and put them from/to WordPress option variables]]></description>
2619
+ <long-description><![CDATA[<p>Separated from class MLASettings in version 1.00</p>]]></long-description>
2620
  <tag line="9" name="package" description="Media Library Assistant"/>
2621
+ <tag line="9" name="since" description="1.00"/>
2622
  </docblock>
2623
+ <constant namespace="global" line="22" package="Media Library Assistant">
2624
+ <name>MLA_VERSION_OPTION</name>
2625
+ <full_name>MLA_VERSION_OPTION</full_name>
2626
+ <value><![CDATA['current_version']]></value>
2627
+ <docblock line="19">
2628
+ <description><![CDATA[Provides a unique name for the current version option]]></description>
2629
  <long-description><![CDATA[]]></long-description>
2630
  </docblock>
2631
  </constant>
2632
+ <constant namespace="global" line="27" package="Media Library Assistant">
2633
+ <name>MLA_FEATURED_IN_TUNING</name>
2634
+ <full_name>MLA_FEATURED_IN_TUNING</full_name>
2635
+ <value><![CDATA['featured_in_tuning']]></value>
2636
+ <docblock line="24">
2637
+ <description><![CDATA[Provides a unique name for a database tuning option]]></description>
2638
  <long-description><![CDATA[]]></long-description>
2639
  </docblock>
2640
  </constant>
2641
+ <constant namespace="global" line="32" package="Media Library Assistant">
2642
+ <name>MLA_INSERTED_IN_TUNING</name>
2643
+ <full_name>MLA_INSERTED_IN_TUNING</full_name>
2644
+ <value><![CDATA['inserted_in_tuning']]></value>
2645
+ <docblock line="29">
2646
+ <description><![CDATA[Provides a unique name for a database tuning option]]></description>
2647
  <long-description><![CDATA[]]></long-description>
2648
  </docblock>
2649
  </constant>
2650
+ <constant namespace="global" line="37" package="Media Library Assistant">
2651
+ <name>MLA_GALLERY_IN_TUNING</name>
2652
+ <full_name>MLA_GALLERY_IN_TUNING</full_name>
2653
+ <value><![CDATA['gallery_in_tuning']]></value>
2654
+ <docblock line="34">
2655
+ <description><![CDATA[Provides a unique name for a database tuning option]]></description>
2656
  <long-description><![CDATA[]]></long-description>
2657
+ </docblock>
2658
+ </constant>
2659
+ <constant namespace="global" line="42" package="Media Library Assistant">
2660
+ <name>MLA_MLA_GALLERY_IN_TUNING</name>
2661
+ <full_name>MLA_MLA_GALLERY_IN_TUNING</full_name>
2662
+ <value><![CDATA['mla_gallery_in_tuning']]></value>
2663
+ <docblock line="39">
2664
+ <description><![CDATA[Provides a unique name for a database tuning option]]></description>
2665
+ <long-description><![CDATA[]]></long-description>
2666
+ </docblock>
2667
+ </constant>
2668
+ <constant namespace="global" line="47" package="Media Library Assistant">
2669
+ <name>MLA_NEW_CUSTOM_FIELD</name>
2670
+ <full_name>MLA_NEW_CUSTOM_FIELD</full_name>
2671
+ <value><![CDATA['__NEW FIELD__']]></value>
2672
+ <docblock line="44">
2673
+ <description><![CDATA[Provides a unique name for the Custom Field "new field" key]]></description>
2674
+ <long-description><![CDATA[]]></long-description>
2675
+ </docblock>
2676
+ </constant>
2677
+ <property final="false" static="true" visibility="public" line="58" namespace="global" package="Media Library Assistant">
2678
+ <name>$process_featured_in</name>
2679
+ <default><![CDATA[true]]></default>
2680
+ <docblock line="49">
2681
+ <description><![CDATA[Option setting for "Featured in" reporting]]></description>
2682
+ <long-description><![CDATA[<p>This setting is false if the "Featured in" database access setting is "disabled", else true.</p>]]></long-description>
2683
+ <tag line="49" name="since" description="1.00"/>
2684
+ <tag line="49" name="var" description="" type="boolean">
2685
+ <type by_reference="false">boolean</type>
2686
+ </tag>
2687
+ </docblock>
2688
+ </property>
2689
+ <property final="false" static="true" visibility="public" line="69" namespace="global" package="Media Library Assistant">
2690
+ <name>$process_inserted_in</name>
2691
+ <default><![CDATA[true]]></default>
2692
+ <docblock line="60">
2693
+ <description><![CDATA[Option setting for "Inserted in" reporting]]></description>
2694
+ <long-description><![CDATA[<p>This setting is false if the "Inserted in" database access setting is "disabled", else true.</p>]]></long-description>
2695
+ <tag line="60" name="since" description="1.00"/>
2696
+ <tag line="60" name="var" description="" type="boolean">
2697
+ <type by_reference="false">boolean</type>
2698
  </tag>
2699
  </docblock>
2700
  </property>
2701
+ <property final="false" static="true" visibility="public" line="80" namespace="global" package="Media Library Assistant">
2702
+ <name>$process_gallery_in</name>
2703
+ <default><![CDATA[true]]></default>
2704
+ <docblock line="71">
2705
+ <description><![CDATA[Option setting for "Gallery in" reporting]]></description>
2706
+ <long-description><![CDATA[<p>This setting is false if the "Gallery in" database access setting is "disabled", else true.</p>]]></long-description>
2707
+ <tag line="71" name="since" description="1.00"/>
2708
+ <tag line="71" name="var" description="" type="boolean">
2709
+ <type by_reference="false">boolean</type>
2710
+ </tag>
2711
+ </docblock>
2712
+ </property>
2713
+ <property final="false" static="true" visibility="public" line="91" namespace="global" package="Media Library Assistant">
2714
+ <name>$process_mla_gallery_in</name>
2715
+ <default><![CDATA[true]]></default>
2716
+ <docblock line="82">
2717
+ <description><![CDATA[Option setting for "MLA Gallery in" reporting]]></description>
2718
+ <long-description><![CDATA[<p>This setting is false if the "MLA Gallery in" database access setting is "disabled", else true.</p>]]></long-description>
2719
+ <tag line="82" name="since" description="1.00"/>
2720
+ <tag line="82" name="var" description="" type="boolean">
2721
+ <type by_reference="false">boolean</type>
2722
+ </tag>
2723
+ </docblock>
2724
+ </property>
2725
+ <property final="false" static="true" visibility="public" line="118" namespace="global" package="Media Library Assistant">
2726
+ <name>$mla_option_definitions</name>
2727
+ <default><![CDATA[array(self::MLA_VERSION_OPTION => array('tab' => '', 'type' => 'hidden', 'std' => '0'), 'attachment_category' => array('tab' => '', 'name' => 'Attachment Categories', 'type' => 'hidden', 'std' => 'checked', 'help' => 'Check this option to add support for Attachment Categories.'), 'attachment_tag' => array('tab' => '', 'name' => 'Attachment Tags', 'type' => 'hidden', 'std' => 'checked', 'help' => 'Check this option to add support for Attachment Tags.'), 'where_used_heading' => array('tab' => 'general', 'name' => 'Where-used Reporting', 'type' => 'header'), 'exclude_revisions' => array('tab' => 'general', 'name' => 'Exclude Revisions', 'type' => 'checkbox', 'std' => 'checked', 'help' => 'Check this option to exclude revisions from where-used reporting.'), 'where_used_subheading' => array('tab' => 'general', 'name' => 'Where-used database access tuning', 'type' => 'subheader'), self::MLA_FEATURED_IN_TUNING => array('tab' => 'general', 'name' => 'Featured in', 'type' => 'select', 'std' => 'enabled', 'options' => array('enabled', 'disabled'), 'texts' => array('Enabled', 'Disabled'), 'help' => 'Search database posts and pages for Featured Image attachments.'), self::MLA_INSERTED_IN_TUNING => array('tab' => 'general', 'name' => 'Inserted in', 'type' => 'select', 'std' => 'enabled', 'options' => array('enabled', 'disabled'), 'texts' => array('Enabled', 'Disabled'), 'help' => 'Search database posts and pages for attachments embedded in content.'), self::MLA_GALLERY_IN_TUNING => array('tab' => 'general', 'name' => 'Gallery in', 'type' => 'select', 'std' => 'cached', 'options' => array('dynamic', 'refresh', 'cached', 'disabled'), 'texts' => array('Dynamic', 'Refresh', 'Cached', 'Disabled'), 'help' => 'Search database posts and pages for [gallery] shortcode results.<br>&nbsp;&nbsp;Dynamic = once every page load, Cached = once every login, Disabled = never.<br>&nbsp;&nbsp;Refresh = update references, then set to Cached.'), self::MLA_MLA_GALLERY_IN_TUNING => array('tab' => 'general', 'name' => 'MLA Gallery in', 'type' => 'select', 'std' => 'cached', 'options' => array('dynamic', 'refresh', 'cached', 'disabled'), 'texts' => array('Dynamic', 'Refresh', 'Cached', 'Disabled'), 'help' => 'Search database posts and pages for [mla_gallery] shortcode results.<br>&nbsp;&nbsp;Dynamic = once every page load, Cached = once every login, Disabled = never.<br>&nbsp;&nbsp;Refresh = update references, then set to Cached.'), 'taxonomy_heading' => array('tab' => 'general', 'name' => 'Taxonomy Support', 'type' => 'header'), 'taxonomy_support' => array('tab' => 'general', 'help' => 'Check the "Support" box to add the taxonomy to the Assistant.<br>Check the "Inline Edit" box to display the taxonomy in the Quick Edit and Bulk Edit areas.<br>Use the "List Filter" option to select the taxonomy on which to filter the Assistant table listing.', 'std' => array('tax_support' => array('attachment_category' => 'checked', 'attachment_tag' => 'checked'), 'tax_quick_edit' => array('attachment_category' => 'checked', 'attachment_tag' => 'checked'), 'tax_filter' => 'attachment_category'), 'type' => 'custom', 'render' => 'mla_taxonomy_option_handler', 'update' => 'mla_taxonomy_option_handler', 'delete' => 'mla_taxonomy_option_handler', 'reset' => 'mla_taxonomy_option_handler'), 'orderby_heading' => array('tab' => 'general', 'name' => 'Default Table Listing Sort Order', 'type' => 'header'), 'default_orderby' => array('tab' => 'general', 'name' => 'Order By', 'type' => 'select', 'std' => 'title_name', 'options' => array('none', 'title_name'), 'texts' => array('None', 'Title/Name'), 'help' => 'Select the column for the sort order of the Assistant table listing.'), 'default_order' => array('tab' => 'general', 'name' => 'Order', 'type' => 'radio', 'std' => 'ASC', 'options' => array('ASC', 'DESC'), 'texts' => array('Ascending', 'Descending'), 'help' => 'Choose the sort order.'), 'template_heading' => array('tab' => 'mla-gallery', 'name' => 'Default [mla_gallery] Templates', 'type' => 'header'), 'default_style' => array('tab' => 'mla-gallery', 'name' => 'Style Template', 'type' => 'select', 'std' => 'default', 'options' => array(), 'texts' => array(), 'help' => 'Select the default style template for your [mla_gallery] shortcodes.'), 'default_markup' => array('tab' => 'mla-gallery', 'name' => 'Markup Template', 'type' => 'select', 'std' => 'default', 'options' => array(), 'texts' => array(), 'help' => 'Select the default markup template for your [mla_gallery] shortcodes.'), 'style_templates' => array('tab' => '', 'type' => 'hidden', 'std' => array()), 'markup_templates' => array('tab' => '', 'type' => 'hidden', 'std' => array()), 'enable_iptc_exif_mapping' => array('tab' => 'iptc-exif', 'name' => 'Enable IPTC/EXIF Mapping when adding new media', 'type' => 'checkbox', 'std' => '', 'help' => 'Check this option to enable mapping when uploading new media (attachments).<br>&nbsp;&nbsp;Does NOT affect the operation of the "Map" buttons on the bulk edit, single edit and settings screens.'), 'iptc_exif_standard_mapping' => array('tab' => '', 'help' => 'Update the standard field mapping values above, then click Save Changes to make the updates permanent.<br>You can also make temporary updates and click Map All Attachments Now to apply the updates to all attachments without saving the rule changes.', 'std' => NULL, 'type' => 'custom', 'render' => 'mla_iptc_exif_option_handler', 'update' => 'mla_iptc_exif_option_handler', 'delete' => 'mla_iptc_exif_option_handler', 'reset' => 'mla_iptc_exif_option_handler'), 'iptc_exif_taxonomy_mapping' => array('tab' => '', 'help' => 'Update the taxonomy term mapping values above, then click Save Changes or Map All Attachments Now.', 'std' => NULL, 'type' => 'custom', 'render' => 'mla_iptc_exif_option_handler', 'update' => 'mla_iptc_exif_option_handler', 'delete' => 'mla_iptc_exif_option_handler', 'reset' => 'mla_iptc_exif_option_handler'), 'iptc_exif_custom_mapping' => array('tab' => '', 'help' => 'Update the custom field mapping values above.<br>To define a new custom field, enter a field name in the "Field Title" text box at the end of the list and Save Changes.', 'std' => NULL, 'type' => 'custom', 'render' => 'mla_iptc_exif_option_handler', 'update' => 'mla_iptc_exif_option_handler', 'delete' => 'mla_iptc_exif_option_handler', 'reset' => 'mla_iptc_exif_option_handler'), 'iptc_exif_mapping' => array('tab' => '', 'help' => 'IPTC/EXIF Mapping help', 'std' => array('standard' => array('post_title' => array('name' => 'Title', 'iptc_value' => 'none', 'exif_value' => '', 'iptc_first' => true, 'keep_existing' => true), 'post_name' => array('name' => 'Name/Slug', 'iptc_value' => 'none', 'exif_value' => '', 'iptc_first' => true, 'keep_existing' => true), 'image_alt' => array('name' => 'Alternate Text', 'iptc_value' => 'none', 'exif_value' => '', 'iptc_first' => true, 'keep_existing' => true), 'post_excerpt' => array('name' => 'Caption', 'iptc_value' => 'none', 'exif_value' => '', 'iptc_first' => true, 'keep_existing' => true), 'post_content' => array('name' => 'Description', 'iptc_value' => 'none', 'exif_value' => '', 'iptc_first' => true, 'keep_existing' => true)), 'taxonomy' => array(), 'custom' => array()), 'type' => 'custom', 'render' => 'mla_iptc_exif_option_handler', 'update' => 'mla_iptc_exif_option_handler', 'delete' => 'mla_iptc_exif_option_handler', 'reset' => 'mla_iptc_exif_option_handler'))]]></default>
2728
+ <docblock line="93">
2729
+ <description><![CDATA[$mla_option_definitions defines the database options and admin page areas for setting/updating them.]]></description>
2730
  <long-description><![CDATA[<p>Each option is defined by an array with the following elements:</p>
2731
 
2732
  <p>array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)</p>
2751
  $message = ['reset']( 'reset', $key, $value, $_REQUEST );</p>]]></long-description>
2752
  </docblock>
2753
  </property>
2754
+ <property final="false" static="true" visibility="private" line="422" namespace="global" package="Media Library Assistant">
2755
+ <name>$mla_option_templates</name>
2756
  <default><![CDATA[null]]></default>
2757
+ <docblock line="415">
2758
  <description><![CDATA[Style and Markup templates]]></description>
2759
  <long-description><![CDATA[]]></long-description>
2760
+ <tag line="415" name="since" description="0.80"/>
2761
+ <tag line="415" name="var" description="" type="array">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2762
  <type by_reference="false">array</type>
2763
  </tag>
2764
  </docblock>
2765
  </property>
2766
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="399" package="Media Library Assistant">
2767
  <name>initialize</name>
2768
  <full_name>initialize</full_name>
2769
+ <docblock line="392">
2770
  <description><![CDATA[Initialization function, similar to __construct()]]></description>
2771
  <long-description><![CDATA[]]></long-description>
2772
+ <tag line="392" name="since" description="1.00"/>
2773
+ <tag line="392" name="return" description="" type="void">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2774
  <type by_reference="false">void</type>
2775
  </tag>
2776
  </docblock>
2777
  </method>
2778
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="431" package="Media Library Assistant">
2779
+ <name>_load_option_templates</name>
2780
+ <full_name>_load_option_templates</full_name>
2781
+ <docblock line="424">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2782
  <description><![CDATA[Load style and markup templates to $mla_templates]]></description>
2783
  <long-description><![CDATA[]]></long-description>
2784
+ <tag line="424" name="since" description="0.80"/>
2785
+ <tag line="424" name="return" description="" type="void">
2786
  <type by_reference="false">void</type>
2787
  </tag>
2788
  </docblock>
2789
  </method>
2790
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="479" package="Media Library Assistant">
2791
  <name>mla_fetch_gallery_template</name>
2792
  <full_name>mla_fetch_gallery_template</full_name>
2793
+ <docblock line="469">
2794
  <description><![CDATA[Fetch style or markup template from $mla_templates]]></description>
2795
  <long-description><![CDATA[]]></long-description>
2796
+ <tag line="469" name="since" description="0.80"/>
2797
+ <tag line="469" name="param" description="Template name" type="string" variable="$key">
2798
  <type by_reference="false">string</type>
2799
  </tag>
2800
+ <tag line="469" name="param" description="Template type; 'style' (default) or 'markup'" type="string" variable="$type">
2801
  <type by_reference="false">string</type>
2802
  </tag>
2803
+ <tag line="469" name="return" description="requested template, false if not found or null if no templates" type="string|boolean|null">
2804
  <type by_reference="false">string</type>
2805
  <type by_reference="false">boolean</type>
2806
  <type by_reference="false">null</type>
2807
  </tag>
2808
  </docblock>
2809
+ <argument line="479">
2810
  <name>$key</name>
2811
  <default><![CDATA[]]></default>
2812
  <type/>
2813
  </argument>
2814
+ <argument line="479">
2815
  <name>$type</name>
2816
  <default><![CDATA['style']]></default>
2817
  <type/>
2818
  </argument>
2819
  </method>
2820
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="501" package="Media Library Assistant">
2821
+ <name>mla_get_style_templates</name>
2822
+ <full_name>mla_get_style_templates</full_name>
2823
+ <docblock line="494">
2824
  <description><![CDATA[Get ALL style templates from $mla_templates, including 'default']]></description>
2825
  <long-description><![CDATA[]]></long-description>
2826
+ <tag line="494" name="since" description="0.80"/>
2827
+ <tag line="494" name="return" description="name =&gt; value for all style templates or null if no templates" type="array|null">
2828
  <type by_reference="false">array</type>
2829
  <type by_reference="false">null</type>
2830
  </tag>
2831
  </docblock>
2832
  </method>
2833
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="527" package="Media Library Assistant">
2834
+ <name>mla_put_style_templates</name>
2835
+ <full_name>mla_put_style_templates</full_name>
2836
+ <docblock line="519">
2837
  <description><![CDATA[Put user-defined style templates to $mla_templates and database]]></description>
2838
  <long-description><![CDATA[]]></long-description>
2839
+ <tag line="519" name="since" description="0.80"/>
2840
+ <tag line="519" name="param" description="name =&gt; value for all user-defined style templates" type="array" variable="$templates">
2841
  <type by_reference="false">array</type>
2842
  </tag>
2843
+ <tag line="519" name="return" description="true if success, false if failure" type="boolean">
2844
  <type by_reference="false">boolean</type>
2845
  </tag>
2846
  </docblock>
2847
+ <argument line="527">
2848
  <name>$templates</name>
2849
  <default><![CDATA[]]></default>
2850
  <type/>
2851
  </argument>
2852
  </method>
2853
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="543" package="Media Library Assistant">
2854
+ <name>mla_get_markup_templates</name>
2855
+ <full_name>mla_get_markup_templates</full_name>
2856
+ <docblock line="536">
2857
  <description><![CDATA[Get ALL markup templates from $mla_templates, including 'default']]></description>
2858
  <long-description><![CDATA[]]></long-description>
2859
+ <tag line="536" name="since" description="0.80"/>
2860
+ <tag line="536" name="return" description="name =&gt; value for all markup templates or null if no templates" type="array|null">
2861
  <type by_reference="false">array</type>
2862
  <type by_reference="false">null</type>
2863
  </tag>
2864
  </docblock>
2865
  </method>
2866
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="597" package="Media Library Assistant">
2867
+ <name>mla_put_markup_templates</name>
2868
+ <full_name>mla_put_markup_templates</full_name>
2869
+ <docblock line="589">
2870
  <description><![CDATA[Put user-defined markup templates to $mla_templates and database]]></description>
2871
  <long-description><![CDATA[]]></long-description>
2872
+ <tag line="589" name="since" description="0.80"/>
2873
+ <tag line="589" name="param" description="name =&gt; value for all user-defined markup templates" type="array" variable="$templates">
2874
  <type by_reference="false">array</type>
2875
  </tag>
2876
+ <tag line="589" name="return" description="true if success, false if failure" type="boolean">
2877
  <type by_reference="false">boolean</type>
2878
  </tag>
2879
  </docblock>
2880
+ <argument line="597">
2881
  <name>$templates</name>
2882
  <default><![CDATA[]]></default>
2883
  <type/>
2884
  </argument>
2885
  </method>
2886
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="615" package="Media Library Assistant">
2887
  <name>mla_get_option</name>
2888
  <full_name>mla_get_option</full_name>
2889
+ <docblock line="606">
2890
  <description><![CDATA[Return the stored value or default value of a defined MLA option]]></description>
2891
  <long-description><![CDATA[]]></long-description>
2892
+ <tag line="606" name="since" description="0.1"/>
2893
+ <tag line="606" name="param" description="Name of the desired option" type="string" variable="$option">
2894
  <type by_reference="false">string</type>
2895
  </tag>
2896
+ <tag line="606" name="return" description="Value(s) for the option or false if the option is not a defined MLA option" type="mixed">
2897
  <type by_reference="false">mixed</type>
2898
  </tag>
2899
  </docblock>
2900
+ <argument line="615">
2901
  <name>$option</name>
2902
  <default><![CDATA[]]></default>
2903
  <type/>
2904
  </argument>
2905
  </method>
2906
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="636" package="Media Library Assistant">
2907
  <name>mla_update_option</name>
2908
  <full_name>mla_update_option</full_name>
2909
+ <docblock line="626">
2910
  <description><![CDATA[Add or update the stored value of a defined MLA option]]></description>
2911
  <long-description><![CDATA[]]></long-description>
2912
+ <tag line="626" name="since" description="0.1"/>
2913
+ <tag line="626" name="param" description="Name of the desired option" type="string" variable="$option">
2914
  <type by_reference="false">string</type>
2915
  </tag>
2916
+ <tag line="626" name="param" description="New value for the desired option" type="mixed" variable="$newvalue">
2917
  <type by_reference="false">mixed</type>
2918
  </tag>
2919
+ <tag line="626" name="return" description="True if the value was changed or false if the update failed" type="boolean">
2920
  <type by_reference="false">boolean</type>
2921
  </tag>
2922
  </docblock>
2923
+ <argument line="636">
2924
  <name>$option</name>
2925
  <default><![CDATA[]]></default>
2926
  <type/>
2927
  </argument>
2928
+ <argument line="636">
2929
  <name>$newvalue</name>
2930
  <default><![CDATA[]]></default>
2931
  <type/>
2932
  </argument>
2933
  </method>
2934
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="652" package="Media Library Assistant">
2935
  <name>mla_delete_option</name>
2936
  <full_name>mla_delete_option</full_name>
2937
+ <docblock line="643">
2938
  <description><![CDATA[Delete the stored value of a defined MLA option]]></description>
2939
  <long-description><![CDATA[]]></long-description>
2940
+ <tag line="643" name="since" description="0.1"/>
2941
+ <tag line="643" name="param" description="Name of the desired option" type="string" variable="$option">
2942
  <type by_reference="false">string</type>
2943
  </tag>
2944
+ <tag line="643" name="return" description="True if the option was deleted, otherwise false" type="boolean">
2945
  <type by_reference="false">boolean</type>
2946
  </tag>
2947
  </docblock>
2948
+ <argument line="652">
2949
  <name>$option</name>
2950
  <default><![CDATA[]]></default>
2951
  <type/>
2952
  </argument>
2953
  </method>
2954
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="673" package="Media Library Assistant">
2955
+ <name>mla_taxonomy_support</name>
2956
+ <full_name>mla_taxonomy_support</full_name>
2957
+ <docblock line="660">
2958
+ <description><![CDATA[Determine MLA support for a taxonomy, handling the special case where the
2959
+ settings are being updated or reset.]]></description>
2960
  <long-description><![CDATA[]]></long-description>
2961
+ <tag line="660" name="since" description="0.30"/>
2962
+ <tag line="660" name="param" description="Taxonomy name, e.g., attachment_category" type="string" variable="$tax_name">
 
2963
  <type by_reference="false">string</type>
2964
  </tag>
2965
+ <tag line="660" name="param" description="Optional. 'support' (default), 'quick-edit' or 'filter'" type="string" variable="$support_type">
2966
+ <type by_reference="false">string</type>
2967
  </tag>
2968
+ <tag line="660" name="return" description="true if the taxonomy is supported in this way else false string if $tax_name is '' and $support_type is 'filter', returns the taxonomy to filter by" type="boolean|string">
2969
+ <type by_reference="false">boolean</type>
2970
  <type by_reference="false">string</type>
2971
  </tag>
2972
  </docblock>
2973
+ <argument line="673">
2974
+ <name>$tax_name</name>
2975
  <default><![CDATA[]]></default>
2976
  <type/>
2977
  </argument>
2978
+ <argument line="673">
2979
+ <name>$support_type</name>
2980
+ <default><![CDATA['support']]></default>
2981
  <type/>
2982
  </argument>
2983
  </method>
2984
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="749" package="Media Library Assistant">
2985
+ <name>mla_taxonomy_option_handler</name>
2986
+ <full_name>mla_taxonomy_option_handler</full_name>
2987
+ <docblock line="736">
2988
+ <description><![CDATA[Render and manage taxonomy support options, e.g., Categories and Post Tags]]></description>
2989
  <long-description><![CDATA[]]></long-description>
2990
+ <tag line="736" name="since" description="0.30"/>
2991
+ <tag line="736" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
2992
+ <tag line="736" name="param" description="'render', 'update', 'delete', or 'reset'" type="string" variable="$action">
2993
+ <type by_reference="false">string</type>
2994
+ </tag>
2995
+ <tag line="736" name="param" description="option name, e.g., 'taxonomy_support'" type="string" variable="$key">
2996
  <type by_reference="false">string</type>
2997
  </tag>
2998
+ <tag line="736" name="param" description="option parameters" type="array" variable="$value">
2999
+ <type by_reference="false">array</type>
3000
+ </tag>
3001
+ <tag line="736" name="param" description="Optional. null (default) for 'render' else option data, e.g., $_REQUEST" type="array" variable="$args">
3002
  <type by_reference="false">array</type>
3003
  </tag>
3004
+ <tag line="736" name="return" description="HTML table row markup for 'render' else message(s) reflecting the results of the operation." type="string">
3005
  <type by_reference="false">string</type>
3006
  </tag>
3007
  </docblock>
3008
+ <argument line="749">
3009
+ <name>$action</name>
3010
+ <default><![CDATA[]]></default>
3011
+ <type/>
3012
+ </argument>
3013
+ <argument line="749">
3014
  <name>$key</name>
3015
  <default><![CDATA[]]></default>
3016
  <type/>
3017
  </argument>
3018
+ <argument line="749">
3019
  <name>$value</name>
3020
  <default><![CDATA[]]></default>
3021
  <type/>
3022
  </argument>
3023
+ <argument line="749">
3024
+ <name>$args</name>
3025
+ <default><![CDATA[null]]></default>
3026
+ <type/>
3027
+ </argument>
3028
+ </method>
3029
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="857" package="Media Library Assistant">
3030
+ <name>mla_add_attachment_action</name>
3031
+ <full_name>mla_add_attachment_action</full_name>
3032
+ <docblock line="848">
3033
+ <description><![CDATA[Perform ITC/EXIF mapping on just-inserted attachment]]></description>
3034
+ <long-description><![CDATA[]]></long-description>
3035
+ <tag line="848" name="since" description="1.00"/>
3036
+ <tag line="848" name="param" description="ID of just-inserted attachment" type="integer" variable="$post_id">
3037
+ <type by_reference="false">integer</type>
3038
+ </tag>
3039
+ <tag line="848" name="return" description="" type="void">
3040
+ <type by_reference="false">void</type>
3041
+ </tag>
3042
+ </docblock>
3043
+ <argument line="857">
3044
+ <name>$post_id</name>
3045
+ <default><![CDATA[]]></default>
3046
+ <type/>
3047
+ </argument>
3048
+ </method>
3049
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="874" package="Media Library Assistant">
3050
+ <name>mla_evaluate_iptc_exif_mapping</name>
3051
+ <full_name>mla_evaluate_iptc_exif_mapping</full_name>
3052
+ <docblock line="863">
3053
+ <description><![CDATA[Evaluate IPTC/EXIF mapping updates for a post]]></description>
3054
  <long-description><![CDATA[]]></long-description>
3055
+ <tag line="863" name="since" description="1.00"/>
3056
+ <tag line="863" name="param" description="post object with current values" type="object" variable="$post">
3057
+ <type by_reference="false">object</type>
3058
+ </tag>
3059
+ <tag line="863" name="param" description="category to evaluate against, e.g., iptc_exif_standard_mapping or iptc_exif_mapping" type="string" variable="$category">
3060
  <type by_reference="false">string</type>
3061
  </tag>
3062
+ <tag line="863" name="param" description="(optional) iptc_exif_mapping values, default - current option value" type="array" variable="$settings">
3063
+ <type by_reference="false">array</type>
3064
+ </tag>
3065
+ <tag line="863" name="return" description="Updates suitable for MLAData::mla_update_single_item, if any" type="array">
3066
+ <type by_reference="false">array</type>
3067
+ </tag>
3068
+ </docblock>
3069
+ <argument line="874">
3070
+ <name>$post</name>
3071
+ <default><![CDATA[]]></default>
3072
+ <type/>
3073
+ </argument>
3074
+ <argument line="874">
3075
+ <name>$category</name>
3076
+ <default><![CDATA[]]></default>
3077
+ <type/>
3078
+ </argument>
3079
+ <argument line="874">
3080
+ <name>$settings</name>
3081
+ <default><![CDATA[NULL]]></default>
3082
+ <type/>
3083
+ </argument>
3084
+ </method>
3085
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1027" package="Media Library Assistant">
3086
+ <name>_compose_iptc_option_list</name>
3087
+ <full_name>_compose_iptc_option_list</full_name>
3088
+ <docblock line="1017">
3089
+ <description><![CDATA[Compose an IPTC Options list with current selection]]></description>
3090
+ <long-description><![CDATA[]]></long-description>
3091
+ <tag line="1017" name="since" description="1.00"/>
3092
+ <tag line="1017" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
3093
+ <tag line="1017" name="param" description="current selection or 'none' (default)" type="string" variable="$selection">
3094
+ <type by_reference="false">string</type>
3095
+ </tag>
3096
+ <tag line="1017" name="return" description="HTML markup with select field options" type="string">
3097
  <type by_reference="false">string</type>
3098
  </tag>
3099
  </docblock>
3100
+ <argument line="1027">
3101
+ <name>$selection</name>
3102
+ <default><![CDATA['none']]></default>
3103
  <type/>
3104
  </argument>
3105
  </method>
3106
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1060" package="Media Library Assistant">
3107
+ <name>_compose_parent_option_list</name>
3108
+ <full_name>_compose_parent_option_list</full_name>
3109
+ <docblock line="1049">
3110
+ <description><![CDATA[Compose an hierarchical taxonomy Parent options list with current selection]]></description>
3111
  <long-description><![CDATA[]]></long-description>
3112
+ <tag line="1049" name="since" description="1.00"/>
3113
+ <tag line="1049" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
3114
+ <tag line="1049" name="param" description="taxonomy slug" type="string" variable="$taxonomy">
3115
+ <type by_reference="false">string</type>
3116
+ </tag>
3117
+ <tag line="1049" name="param" description="current selection or 0 (zero, default)" type="integer" variable="$selection">
3118
+ <type by_reference="false">integer</type>
3119
+ </tag>
3120
+ <tag line="1049" name="return" description="HTML markup with select field options" type="string">
3121
+ <type by_reference="false">string</type>
3122
+ </tag>
3123
+ </docblock>
3124
+ <argument line="1060">
3125
+ <name>$taxonomy</name>
3126
+ <default><![CDATA[]]></default>
3127
+ <type/>
3128
+ </argument>
3129
+ <argument line="1060">
3130
+ <name>$selection</name>
3131
+ <default><![CDATA[0]]></default>
3132
+ <type/>
3133
+ </argument>
3134
+ </method>
3135
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1094" package="Media Library Assistant">
3136
+ <name>_update_iptc_exif_standard_mapping</name>
3137
+ <full_name>_update_iptc_exif_standard_mapping</full_name>
3138
+ <docblock line="1084">
3139
+ <description><![CDATA[Update Standard field portion of IPTC/EXIF mappings]]></description>
3140
+ <long-description><![CDATA[]]></long-description>
3141
+ <tag line="1084" name="since" description="1.00"/>
3142
+ <tag line="1084" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
3143
+ <type by_reference="false">array</type>
3144
+ </tag>
3145
+ <tag line="1084" name="param" description="new values" type="array" variable="$new_values">
3146
+ <type by_reference="false">array</type>
3147
+ </tag>
3148
+ <tag line="1084" name="return" description="( 'message' =&gt; HTML message(s) reflecting results, 'values' =&gt; updated iptc_exif_mapping values, 'changed' =&gt; true if any changes detected else false )" type="array">
3149
  <type by_reference="false">array</type>
3150
  </tag>
3151
  </docblock>
3152
+ <argument line="1094">
3153
+ <name>$current_values</name>
3154
+ <default><![CDATA[]]></default>
3155
+ <type/>
3156
+ </argument>
3157
+ <argument line="1094">
3158
+ <name>$new_values</name>
3159
+ <default><![CDATA[]]></default>
3160
+ <type/>
3161
+ </argument>
3162
  </method>
3163
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1173" package="Media Library Assistant">
3164
+ <name>_update_iptc_exif_taxonomy_mapping</name>
3165
+ <full_name>_update_iptc_exif_taxonomy_mapping</full_name>
3166
+ <docblock line="1163">
3167
+ <description><![CDATA[Update Taxonomy term portion of IPTC/EXIF mappings]]></description>
3168
  <long-description><![CDATA[]]></long-description>
3169
+ <tag line="1163" name="since" description="1.00"/>
3170
+ <tag line="1163" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
3171
+ <type by_reference="false">array</type>
3172
+ </tag>
3173
+ <tag line="1163" name="param" description="new values" type="array" variable="$new_values">
3174
+ <type by_reference="false">array</type>
3175
+ </tag>
3176
+ <tag line="1163" name="return" description="( 'message' =&gt; HTML message(s) reflecting results, 'values' =&gt; updated iptc_exif_mapping values, 'changed' =&gt; true if any changes detected else false )" type="array">
3177
  <type by_reference="false">array</type>
3178
  </tag>
3179
  </docblock>
3180
+ <argument line="1173">
3181
+ <name>$current_values</name>
3182
+ <default><![CDATA[]]></default>
3183
+ <type/>
3184
+ </argument>
3185
+ <argument line="1173">
3186
+ <name>$new_values</name>
3187
+ <default><![CDATA[]]></default>
3188
+ <type/>
3189
+ </argument>
3190
  </method>
3191
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1265" package="Media Library Assistant">
3192
+ <name>_update_iptc_exif_custom_mapping</name>
3193
+ <full_name>_update_iptc_exif_custom_mapping</full_name>
3194
+ <docblock line="1255">
3195
+ <description><![CDATA[Update Custom field portion of IPTC/EXIF mappings]]></description>
3196
  <long-description><![CDATA[]]></long-description>
3197
+ <tag line="1255" name="since" description="1.00"/>
3198
+ <tag line="1255" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
3199
+ <type by_reference="false">array</type>
3200
+ </tag>
3201
+ <tag line="1255" name="param" description="new values" type="array" variable="$new_values">
3202
+ <type by_reference="false">array</type>
3203
+ </tag>
3204
+ <tag line="1255" name="return" description="( 'message' =&gt; HTML message(s) reflecting results, 'values' =&gt; updated iptc_exif_mapping values, 'changed' =&gt; true if any changes detected else false )" type="array">
3205
  <type by_reference="false">array</type>
3206
  </tag>
3207
  </docblock>
3208
+ <argument line="1265">
3209
+ <name>$current_values</name>
3210
+ <default><![CDATA[]]></default>
3211
+ <type/>
3212
+ </argument>
3213
+ <argument line="1265">
3214
+ <name>$new_values</name>
3215
+ <default><![CDATA[]]></default>
3216
+ <type/>
3217
+ </argument>
3218
  </method>
3219
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1361" package="Media Library Assistant">
3220
+ <name>_get_custom_field_names</name>
3221
+ <full_name>_get_custom_field_names</full_name>
3222
+ <docblock line="1354">
3223
+ <description><![CDATA[Generate a list of all (post) Custom Field names]]></description>
3224
  <long-description><![CDATA[]]></long-description>
3225
+ <tag line="1354" name="since" description="1.00"/>
3226
+ <tag line="1354" name="return" description="Custom field names from the postmeta table" type="array">
3227
+ <type by_reference="false">array</type>
3228
  </tag>
3229
  </docblock>
3230
  </method>
3231
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1390" package="Media Library Assistant">
3232
+ <name>mla_iptc_exif_option_handler</name>
3233
+ <full_name>mla_iptc_exif_option_handler</full_name>
3234
+ <docblock line="1377">
3235
+ <description><![CDATA[Render and manage iptc/exif support options]]></description>
 
3236
  <long-description><![CDATA[]]></long-description>
3237
+ <tag line="1377" name="since" description="1.00"/>
3238
+ <tag line="1377" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
3239
+ <tag line="1377" name="param" description="'render', 'update', 'delete', or 'reset'" type="string" variable="$action">
3240
  <type by_reference="false">string</type>
3241
  </tag>
3242
+ <tag line="1377" name="param" description="option name, e.g., 'iptc_exif_mapping'" type="string" variable="$key">
3243
  <type by_reference="false">string</type>
3244
  </tag>
3245
+ <tag line="1377" name="param" description="option parameters" type="array" variable="$value">
3246
+ <type by_reference="false">array</type>
3247
+ </tag>
3248
+ <tag line="1377" name="param" description="Optional. null (default) for 'render' else option data, e.g., $_REQUEST" type="array" variable="$args">
3249
+ <type by_reference="false">array</type>
3250
+ </tag>
3251
+ <tag line="1377" name="return" description="HTML table row markup for 'render' else message(s) reflecting the results of the operation." type="string">
3252
  <type by_reference="false">string</type>
3253
  </tag>
3254
  </docblock>
3255
+ <argument line="1390">
3256
+ <name>$action</name>
3257
  <default><![CDATA[]]></default>
3258
  <type/>
3259
  </argument>
3260
+ <argument line="1390">
3261
+ <name>$key</name>
3262
+ <default><![CDATA[]]></default>
3263
+ <type/>
3264
+ </argument>
3265
+ <argument line="1390">
3266
+ <name>$value</name>
3267
+ <default><![CDATA[]]></default>
3268
+ <type/>
3269
+ </argument>
3270
+ <argument line="1390">
3271
+ <name>$args</name>
3272
+ <default><![CDATA[null]]></default>
3273
  <type/>
3274
  </argument>
3275
  </method>
3276
+ </class>
3277
+ </file>
3278
+ <file path="includes\class-mla-settings.php" hash="58c9d18c4a22fab744f3f87104c55582" package="Media Library Assistant">
3279
+ <docblock line="2">
3280
+ <description><![CDATA[Manages the settings page to edit the plugin option settings]]></description>
3281
+ <long-description><![CDATA[]]></long-description>
3282
+ <tag line="2" name="package" description="Media Library Assistant"/>
3283
+ <tag line="2" name="since" description="0.1"/>
3284
+ </docblock>
3285
+ <class final="false" abstract="false" namespace="global" line="15" package="Media Library Assistant">
3286
+ <extends/>
3287
+ <name>MLASettings</name>
3288
+ <full_name>\MLASettings</full_name>
3289
+ <docblock line="9">
3290
+ <description><![CDATA[Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings]]></description>
3291
+ <long-description><![CDATA[]]></long-description>
3292
+ <tag line="9" name="package" description="Media Library Assistant"/>
3293
+ <tag line="9" name="since" description="0.1"/>
3294
+ </docblock>
3295
+ <constant namespace="global" line="28" package="Media Library Assistant">
3296
+ <name>MLA_ALT_TEXT_VIEW_SUFFIX</name>
3297
+ <full_name>MLA_ALT_TEXT_VIEW_SUFFIX</full_name>
3298
+ <value><![CDATA['alt_text_view']]></value>
3299
+ <docblock line="25">
3300
+ <description><![CDATA[Provides a unique suffix for the ALT Text SQL VIEW]]></description>
3301
  <long-description><![CDATA[]]></long-description>
3302
+ </docblock>
3303
+ </constant>
3304
+ <constant namespace="global" line="33" package="Media Library Assistant">
3305
+ <name>MLA_SETTINGS_SLUG</name>
3306
+ <full_name>MLA_SETTINGS_SLUG</full_name>
3307
+ <value><![CDATA['mla-settings-menu']]></value>
3308
+ <docblock line="30">
3309
+ <description><![CDATA[Provides a unique name for the settings page]]></description>
3310
+ <long-description><![CDATA[]]></long-description>
3311
+ </docblock>
3312
+ </constant>
3313
+ <property final="false" static="true" visibility="public" line="23" namespace="global" package="Media Library Assistant">
3314
+ <name>$mla_alt_text_view</name>
3315
+ <default><![CDATA[null]]></default>
3316
+ <docblock line="16">
3317
+ <description><![CDATA[Provides a unique name for the ALT Text SQL VIEW]]></description>
3318
+ <long-description><![CDATA[]]></long-description>
3319
+ <tag line="16" name="since" description="0.40"/>
3320
+ <tag line="16" name="var" description="" type="array">
3321
+ <type by_reference="false">array</type>
3322
+ </tag>
3323
+ </docblock>
3324
+ </property>
3325
+ <property final="false" static="true" visibility="private" line="416" namespace="global" package="Media Library Assistant">
3326
+ <name>$page_template_array</name>
3327
+ <default><![CDATA[null]]></default>
3328
+ <docblock line="406">
3329
+ <description><![CDATA[Template file for the Settings page(s) and parts]]></description>
3330
+ <long-description><![CDATA[<p>This array contains all of the template parts for the Settings page(s). The array is built once
3331
+ each page load and cached for subsequent use.</p>]]></long-description>
3332
+ <tag line="406" name="since" description="0.80"/>
3333
+ <tag line="406" name="var" description="" type="array">
3334
  <type by_reference="false">array</type>
3335
  </tag>
3336
  </docblock>
3337
+ </property>
3338
+ <property final="false" static="true" visibility="private" line="432" namespace="global" package="Media Library Assistant">
3339
+ <name>$mla_tablist</name>
3340
+ <default><![CDATA[array('general' => array('title' => 'General', 'render' => '_compose_general_tab'), 'mla-gallery' => array('title' => 'MLA Gallery', 'render' => '_compose_mla_gallery_tab'), 'iptc-exif' => array('title' => 'IPTC/EXIF', 'render' => '_compose_iptc_exif_tab'), 'documentation' => array('title' => 'Documentation', 'render' => '_compose_documentation_tab'))]]></default>
3341
+ <docblock line="418">
3342
+ <description><![CDATA[Definitions for Settings page tab ids, titles and handlers
3343
+ Each tab is defined by an array with the following elements:]]></description>
3344
+ <long-description><![CDATA[<p>array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)</p>
3345
+
3346
+ <p>title => tab label / heading text
3347
+ render => rendering function for tab messages and content. Usage:
3348
+ $tab_content = <a href="">'render'</a>;</p>]]></long-description>
3349
+ <tag line="418" name="since" description="0.80"/>
3350
+ <tag line="418" name="var" description="" type="array">
3351
+ <type by_reference="false">array</type>
3352
+ </tag>
3353
+ </docblock>
3354
+ </property>
3355
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="42" package="Media Library Assistant">
3356
+ <name>initialize</name>
3357
+ <full_name>initialize</full_name>
3358
+ <docblock line="35">
3359
+ <description><![CDATA[Initialization function, similar to __construct()]]></description>
3360
+ <long-description><![CDATA[]]></long-description>
3361
+ <tag line="35" name="since" description="0.1"/>
3362
+ <tag line="35" name="return" description="" type="void">
3363
+ <type by_reference="false">void</type>
3364
+ </tag>
3365
+ </docblock>
3366
  </method>
3367
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="58" package="Media Library Assistant">
3368
+ <name>_version_upgrade</name>
3369
+ <full_name>_version_upgrade</full_name>
3370
+ <docblock line="51">
3371
+ <description><![CDATA[Database and option update check, for installing new versions]]></description>
3372
  <long-description><![CDATA[]]></long-description>
3373
+ <tag line="51" name="since" description="0.30"/>
3374
+ <tag line="51" name="return" description="" type="void">
3375
+ <type by_reference="false">void</type>
 
3376
  </tag>
3377
  </docblock>
3378
  </method>
3379
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="100" package="Media Library Assistant">
3380
+ <name>_create_alt_text_view</name>
3381
+ <full_name>_create_alt_text_view</full_name>
3382
+ <docblock line="90">
3383
+ <description><![CDATA[Add a view to the database to support sorting the listing on 'ALT Text']]></description>
3384
+ <long-description><![CDATA[<p>This function is called on each plugin invocation because the plugin upgrade process
3385
+ does not call the activation hook.</p>]]></long-description>
3386
+ <tag line="90" name="since" description="0.50"/>
3387
+ <tag line="90" name="return" description="" type="void">
3388
+ <type by_reference="false">void</type>
3389
+ </tag>
3390
+ </docblock>
3391
+ </method>
3392
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="132" package="Media Library Assistant">
3393
+ <name>mla_activation_hook</name>
3394
+ <full_name>mla_activation_hook</full_name>
3395
+ <docblock line="123">
3396
+ <description><![CDATA[Perform one-time actions on plugin activation]]></description>
3397
+ <long-description><![CDATA[<p>Adds a view to the database to support sorting the listing on 'ALT Text'.</p>]]></long-description>
3398
+ <tag line="123" name="since" description="0.40"/>
3399
+ <tag line="123" name="return" description="" type="void">
3400
+ <type by_reference="false">void</type>
3401
+ </tag>
3402
+ </docblock>
3403
+ </method>
3404
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="145" package="Media Library Assistant">
3405
+ <name>mla_deactivation_hook</name>
3406
+ <full_name>mla_deactivation_hook</full_name>
3407
+ <docblock line="136">
3408
+ <description><![CDATA[Perform one-time actions on plugin deactivation]]></description>
3409
+ <long-description><![CDATA[<p>Removes a view from the database that supports sorting the listing on 'ALT Text'.</p>]]></long-description>
3410
+ <tag line="136" name="since" description="0.40"/>
3411
+ <tag line="136" name="return" description="" type="void">
3412
+ <type by_reference="false">void</type>
3413
+ </tag>
3414
+ </docblock>
3415
+ </method>
3416
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="172" package="Media Library Assistant">
3417
+ <name>mla_admin_menu_action</name>
3418
+ <full_name>mla_admin_menu_action</full_name>
3419
+ <docblock line="164">
3420
+ <description><![CDATA[Add settings page in the "Settings" section,
3421
+ add settings link in the Plugins section entry for MLA.]]></description>
3422
  <long-description><![CDATA[]]></long-description>
3423
+ <tag line="164" name="since" description="0.1"/>
3424
+ <tag line="164" name="return" description="" type="void">
3425
+ <type by_reference="false">void</type>
3426
  </tag>
3427
  </docblock>
3428
  </method>
3429
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="190" package="Media Library Assistant">
3430
+ <name>mla_add_plugin_settings_link</name>
3431
+ <full_name>mla_add_plugin_settings_link</full_name>
3432
+ <docblock line="180">
3433
+ <description><![CDATA[Add the "Settings" link to the MLA entry in the Plugins section]]></description>
3434
  <long-description><![CDATA[]]></long-description>
3435
+ <tag line="180" name="since" description="0.1"/>
3436
+ <tag line="180" name="param" description="array of links for the Plugin, e.g., &quot;Activate&quot;" type="array" variable="$links">
3437
+ <type by_reference="false">array</type>
 
3438
  </tag>
3439
+ <tag line="180" name="param" description="Directory and name of the plugin Index file" type="string" variable="$file">
3440
  <type by_reference="false">string</type>
3441
  </tag>
3442
+ <tag line="180" name="return" description="Updated array of links for the Plugin" type="array">
3443
  <type by_reference="false">array</type>
3444
  </tag>
3445
+ </docblock>
3446
+ <argument line="190">
3447
+ <name>$links</name>
3448
+ <default><![CDATA[]]></default>
3449
+ <type/>
3450
+ </argument>
3451
+ <argument line="190">
3452
+ <name>$file</name>
3453
+ <default><![CDATA[]]></default>
3454
+ <type/>
3455
+ </argument>
3456
+ </method>
3457
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="210" package="Media Library Assistant">
3458
+ <name>_update_option_row</name>
3459
+ <full_name>_update_option_row</full_name>
3460
+ <docblock line="199">
3461
+ <description><![CDATA[Update or delete a single MLA option value]]></description>
3462
+ <long-description><![CDATA[]]></long-description>
3463
+ <tag line="199" name="since" description="0.80"/>
3464
+ <tag line="199" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3465
+ <tag line="199" name="param" description="HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)" type="string" variable="$key">
3466
+ <type by_reference="false">string</type>
3467
+ </tag>
3468
+ <tag line="199" name="param" description="Option parameters, e.g., 'type', 'std'" type="array" variable="$value">
3469
  <type by_reference="false">array</type>
3470
  </tag>
3471
+ <tag line="199" name="return" description="HTML markup for the option's table row" type="string">
3472
  <type by_reference="false">string</type>
3473
  </tag>
3474
  </docblock>
3475
+ <argument line="210">
3476
+ <name>$key</name>
3477
  <default><![CDATA[]]></default>
3478
  <type/>
3479
  </argument>
3480
+ <argument line="210">
3481
+ <name>$value</name>
3482
+ <default><![CDATA[]]></default>
3483
+ <type/>
3484
+ </argument>
3485
+ </method>
3486
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="288" package="Media Library Assistant">
3487
+ <name>_compose_option_row</name>
3488
+ <full_name>_compose_option_row</full_name>
3489
+ <docblock line="277">
3490
+ <description><![CDATA[Compose the table row for a single MLA option]]></description>
3491
+ <long-description><![CDATA[]]></long-description>
3492
+ <tag line="277" name="since" description="0.80"/>
3493
+ <tag line="277" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3494
+ <tag line="277" name="param" description="HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)" type="string" variable="$key">
3495
+ <type by_reference="false">string</type>
3496
+ </tag>
3497
+ <tag line="277" name="param" description="Option parameters, e.g., 'type', 'std'" type="array" variable="$value">
3498
+ <type by_reference="false">array</type>
3499
+ </tag>
3500
+ <tag line="277" name="return" description="HTML markup for the option's table row" type="string">
3501
+ <type by_reference="false">string</type>
3502
+ </tag>
3503
+ </docblock>
3504
+ <argument line="288">
3505
  <name>$key</name>
3506
  <default><![CDATA[]]></default>
3507
  <type/>
3508
  </argument>
3509
+ <argument line="288">
3510
  <name>$value</name>
3511
  <default><![CDATA[]]></default>
3512
  <type/>
3513
  </argument>
3514
+ </method>
3515
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="449" package="Media Library Assistant">
3516
+ <name>_compose_settings_tabs</name>
3517
+ <full_name>_compose_settings_tabs</full_name>
3518
+ <docblock line="439">
3519
+ <description><![CDATA[Compose the navigation tabs for the Settings subpage]]></description>
3520
+ <long-description><![CDATA[]]></long-description>
3521
+ <tag line="439" name="since" description="0.80"/>
3522
+ <tag line="439" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3523
+ <tag line="439" name="param" description="Optional data-tab-id value for the active tab, default 'general'" type="string" variable="$active_tab">
3524
+ <type by_reference="false">string</type>
3525
+ </tag>
3526
+ <tag line="439" name="return" description="HTML markup for the Settings subpage navigation tabs" type="string">
3527
+ <type by_reference="false">string</type>
3528
+ </tag>
3529
+ </docblock>
3530
+ <argument line="449">
3531
+ <name>$active_tab</name>
3532
+ <default><![CDATA['general']]></default>
3533
  <type/>
3534
  </argument>
3535
  </method>
3536
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="475" package="Media Library Assistant">
3537
+ <name>_compose_general_tab</name>
3538
+ <full_name>_compose_general_tab</full_name>
3539
+ <docblock line="467">
3540
+ <description><![CDATA[Compose the General tab content for the Settings subpage]]></description>
3541
+ <long-description><![CDATA[]]></long-description>
3542
+ <tag line="467" name="since" description="0.80"/>
3543
+ <tag line="467" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3544
+ <tag line="467" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
3545
+ <type by_reference="false">array</type>
3546
+ </tag>
3547
+ </docblock>
3548
+ </method>
3549
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="559" package="Media Library Assistant">
3550
+ <name>_compose_mla_gallery_tab</name>
3551
+ <full_name>_compose_mla_gallery_tab</full_name>
3552
+ <docblock line="551">
3553
+ <description><![CDATA[Compose the MLA Gallery tab content for the Settings subpage]]></description>
3554
+ <long-description><![CDATA[]]></long-description>
3555
+ <tag line="551" name="since" description="0.80"/>
3556
+ <tag line="551" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3557
+ <tag line="551" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
3558
+ <type by_reference="false">array</type>
3559
+ </tag>
3560
+ </docblock>
3561
+ </method>
3562
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="858" package="Media Library Assistant">
3563
+ <name>_compose_iptc_exif_tab</name>
3564
+ <full_name>_compose_iptc_exif_tab</full_name>
3565
+ <docblock line="850">
3566
+ <description><![CDATA[Compose the IPTC/EXIF tab content for the Settings subpage]]></description>
3567
+ <long-description><![CDATA[]]></long-description>
3568
+ <tag line="850" name="since" description="1.00"/>
3569
+ <tag line="850" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3570
+ <tag line="850" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
3571
+ <type by_reference="false">array</type>
3572
+ </tag>
3573
+ </docblock>
3574
+ </method>
3575
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="931" package="Media Library Assistant">
3576
+ <name>_compose_documentation_tab</name>
3577
+ <full_name>_compose_documentation_tab</full_name>
3578
+ <docblock line="923">
3579
+ <description><![CDATA[Compose the Documentation tab content for the Settings subpage]]></description>
3580
+ <long-description><![CDATA[]]></long-description>
3581
+ <tag line="923" name="since" description="0.80"/>
3582
+ <tag line="923" name="uses" description="\global\$page_template_array" refers="\global\$page_template_array"/>
3583
+ <tag line="923" name="return" description="'message' =&gt; status/error messages, 'body' =&gt; tab content" type="array">
3584
+ <type by_reference="false">array</type>
3585
+ </tag>
3586
+ </docblock>
3587
+ </method>
3588
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="950" package="Media Library Assistant">
3589
+ <name>mla_render_settings_page</name>
3590
+ <full_name>mla_render_settings_page</full_name>
3591
+ <docblock line="943">
3592
+ <description><![CDATA[Render (echo) the "Media Library Assistant" subpage in the Settings section]]></description>
3593
+ <long-description><![CDATA[]]></long-description>
3594
+ <tag line="943" name="since" description="0.1"/>
3595
+ <tag line="943" name="return" description="Echoes HTML markup for the Settings subpage" type="void">
3596
+ <type by_reference="false">void</type>
3597
+ </tag>
3598
+ </docblock>
3599
+ </method>
3600
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1000" package="Media Library Assistant">
3601
+ <name>_save_gallery_settings</name>
3602
+ <full_name>_save_gallery_settings</full_name>
3603
+ <docblock line="991">
3604
+ <description><![CDATA[Save MLA Gallery settings to the options table]]></description>
3605
+ <long-description><![CDATA[]]></long-description>
3606
+ <tag line="991" name="since" description="0.80"/>
3607
+ <tag line="991" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3608
+ <tag line="991" name="return" description="Message(s) reflecting the results of the operation" type="array">
3609
+ <type by_reference="false">array</type>
3610
+ </tag>
3611
+ </docblock>
3612
+ </method>
3613
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1232" package="Media Library Assistant">
3614
+ <name>_process_iptc_exif_standard</name>
3615
+ <full_name>_process_iptc_exif_standard</full_name>
3616
+ <docblock line="1222">
3617
+ <description><![CDATA[Process IPTC/EXIF standard field settings against all image attachments
3618
+ without saving the settings to the mla_option]]></description>
3619
+ <long-description><![CDATA[]]></long-description>
3620
+ <tag line="1222" name="since" description="1.00"/>
3621
+ <tag line="1222" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3622
+ <tag line="1222" name="return" description="Message(s) reflecting the results of the operation" type="array">
3623
+ <type by_reference="false">array</type>
3624
+ </tag>
3625
+ </docblock>
3626
+ </method>
3627
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1276" package="Media Library Assistant">
3628
+ <name>_process_iptc_exif_taxonomy</name>
3629
+ <full_name>_process_iptc_exif_taxonomy</full_name>
3630
+ <docblock line="1266">
3631
+ <description><![CDATA[Process IPTC/EXIF taxonomy term settings against all image attachments
3632
+ without saving the settings to the mla_option]]></description>
3633
+ <long-description><![CDATA[]]></long-description>
3634
+ <tag line="1266" name="since" description="1.00"/>
3635
+ <tag line="1266" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3636
+ <tag line="1266" name="return" description="Message(s) reflecting the results of the operation" type="array">
3637
+ <type by_reference="false">array</type>
3638
+ </tag>
3639
+ </docblock>
3640
+ </method>
3641
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1321" package="Media Library Assistant">
3642
+ <name>_process_iptc_exif_custom</name>
3643
+ <full_name>_process_iptc_exif_custom</full_name>
3644
+ <docblock line="1311">
3645
+ <description><![CDATA[Process IPTC/EXIF custom field settings against all image attachments
3646
+ without saving the settings to the mla_option]]></description>
3647
+ <long-description><![CDATA[]]></long-description>
3648
+ <tag line="1311" name="since" description="1.00"/>
3649
+ <tag line="1311" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3650
+ <tag line="1311" name="return" description="Message(s) reflecting the results of the operation" type="array">
3651
+ <type by_reference="false">array</type>
3652
+ </tag>
3653
+ </docblock>
3654
+ </method>
3655
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1365" package="Media Library Assistant">
3656
+ <name>_save_iptc_exif_settings</name>
3657
+ <full_name>_save_iptc_exif_settings</full_name>
3658
+ <docblock line="1356">
3659
+ <description><![CDATA[Save IPTC/EXIF settings to the options table]]></description>
3660
+ <long-description><![CDATA[]]></long-description>
3661
+ <tag line="1356" name="since" description="1.00"/>
3662
+ <tag line="1356" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3663
+ <tag line="1356" name="return" description="Message(s) reflecting the results of the operation" type="array">
3664
+ <type by_reference="false">array</type>
3665
+ </tag>
3666
+ </docblock>
3667
+ </method>
3668
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1402" package="Media Library Assistant">
3669
+ <name>_save_general_settings</name>
3670
+ <full_name>_save_general_settings</full_name>
3671
+ <docblock line="1393">
3672
+ <description><![CDATA[Save General settings to the options table]]></description>
3673
+ <long-description><![CDATA[]]></long-description>
3674
+ <tag line="1393" name="since" description="0.1"/>
3675
+ <tag line="1393" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
3676
+ <tag line="1393" name="return" description="Message(s) reflecting the results of the operation" type="array">
3677
+ <type by_reference="false">array</type>
3678
+ </tag>
3679
+ </docblock>
3680
+ </method>
3681
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1460" package="Media Library Assistant">
3682
+ <name>_reset_general_settings</name>
3683
+ <full_name>_reset_general_settings</full_name>
3684
+ <docblock line="1453">
3685
+ <description><![CDATA[Delete saved settings, restoring default values]]></description>
3686
+ <long-description><![CDATA[]]></long-description>
3687
+ <tag line="1453" name="since" description="0.1"/>
3688
+ <tag line="1453" name="return" description="Message(s) reflecting the results of the operation" type="array">
3689
+ <type by_reference="false">array</type>
3690
+ </tag>
3691
+ </docblock>
3692
+ </method>
3693
  </class>
3694
  </file>
3695
+ <file path="includes\class-mla-shortcodes.php" hash="81847954de4a0349181a8fca0aac37a9" package="Media Library Assistant">
3696
  <docblock line="2">
3697
  <description><![CDATA[Media Library Assistant Shortcode handler(s)]]></description>
3698
  <long-description><![CDATA[]]></long-description>
3709
  <tag line="9" name="package" description="Media Library Assistant"/>
3710
  <tag line="9" name="since" description="0.20"/>
3711
  </docblock>
3712
+ <property final="false" static="true" visibility="public" line="134" namespace="global" package="Media Library Assistant">
3713
  <name>$mla_debug_messages</name>
3714
  <default><![CDATA['']]></default>
3715
  <docblock line="127">
3733
  </tag>
3734
  </docblock>
3735
  </property>
3736
+ <property final="false" static="true" visibility="private" line="1006" namespace="global" package="Media Library Assistant">
3737
  <name>$mla_iptc_records</name>
3738
  <default><![CDATA[array("1#000" => "Model Version", "1#005" => "Destination", "1#020" => "File Format", "1#022" => "File Format Version", "1#030" => "Service Identifier", "1#040" => "Envelope Number", "1#050" => "Product ID", "1#060" => "Envelope Priority", "1#070" => "Date Sent", "1#080" => "Time Sent", "1#090" => "Coded Character Set", "1#100" => "UNO", "1#120" => "ARM Identifier", "1#122" => "ARM Version", "2#000" => "Record Version", "2#003" => "Object Type Reference", "2#004" => "Object Attribute Reference", "2#005" => "Object Name", "2#007" => "Edit Status", "2#008" => "Editorial Update", "2#010" => "Urgency", "2#012" => "Subject Reference", "2#015" => "Category", "2#020" => "Supplemental Category", "2#022" => "Fixture Identifier", "2#025" => "Keywords", "2#026" => "Content Location Code", "2#027" => "Content Location Name", "2#030" => "Release Date", "2#035" => "Release Time", "2#037" => "Expiration Date", "2#038" => "Expiration Time", "2#040" => "Special Instructions", "2#042" => "Action Advised", "2#045" => "Reference Service", "2#047" => "Reference Date", "2#050" => "Reference Number", "2#055" => "Date Created", "2#060" => "Time Created", "2#062" => "Digital Creation Date", "2#063" => "Digital Creation Time", "2#065" => "Originating Program", "2#070" => "Program Version", "2#075" => "Object Cycle", "2#080" => "By-line", "2#085" => "By-line Title", "2#090" => "City", "2#092" => "Sub-location", "2#095" => "Province or State", "2#100" => "Country or Primary Location Code", "2#101" => "Country or Primary Location Name", "2#103" => "Original Transmission Reference", "2#105" => "Headline", "2#110" => "Credit", "2#115" => "Source", "2#116" => "Copyright Notice", "2#118" => "Contact", "2#120" => "Caption or Abstract", "2#122" => "Caption Writer or Editor", "2#125" => "Rasterized Caption", "2#130" => "Image Type", "2#131" => "Image Orientation", "2#135" => "Language Identifier", "2#150" => "Audio Type", "2#151" => "Audio Sampling Rate", "2#152" => "Audio Sampling Resolution", "2#153" => "Audio Duration", "2#154" => "Audio Outcue", "2#200" => "ObjectData Preview File Format", "2#201" => "ObjectData Preview File Format Version", "2#202" => "ObjectData Preview Data", "7#010" => "Size Mode", "7#020" => "Max Subfile Size", "7#090" => "ObjectData Size Announced", "7#095" => "Maximum ObjectData Size", "8#010" => "Subfile", "9#010" => "Confirmed ObjectData Size")]]></default>
3739
+ <docblock line="996">
3740
  <description><![CDATA[IPTC Dataset identifiers and names]]></description>
3741
  <long-description><![CDATA[<p>This array contains the identifiers and names of Datasets defined in
3742
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
3743
+ <tag line="996" name="since" description="0.90"/>
3744
+ <tag line="996" name="var" description="" type="array">
3745
  <type by_reference="false">array</type>
3746
  </tag>
3747
  </docblock>
3748
  </property>
3749
+ <property final="false" static="true" visibility="public" line="1105" namespace="global" package="Media Library Assistant">
3750
  <name>$mla_iptc_keys</name>
3751
  <default><![CDATA[array('model-version' => '1#000', 'destination' => '1#005', 'file-format' => '1#020', 'file-format-version' => '1#022', 'service-identifier' => '1#030', 'envelope-number' => '1#040', 'product-id' => '1#050', 'envelope-priority' => '1#060', 'date-sent' => '1#070', 'time-sent' => '1#080', 'coded-character-set' => '1#090', 'uno' => '1#100', 'arm-identifier' => '1#120', 'arm-version' => '1#122', 'record-version' => '2#000', 'object-type-reference' => '2#003', 'object-attribute-reference' => '2#004', 'object-name' => '2#005', 'edit-status' => '2#007', 'editorial-update' => '2#008', 'urgency' => '2#010', 'subject-reference' => '2#012', 'category' => '2#015', 'supplemental-category' => '2#020', 'fixture-identifier' => '2#022', 'keywords' => '2#025', 'content-location-code' => '2#026', 'content-location-name' => '2#027', 'release-date' => '2#030', 'release-time' => '2#035', 'expiration-date' => '2#037', 'expiration-time' => '2#038', 'special-instructions' => '2#040', 'action-advised' => '2#042', 'reference-service' => '2#045', 'reference-date' => '2#047', 'reference-number' => '2#050', 'date-created' => '2#055', 'time-created' => '2#060', 'digital-creation-date' => '2#062', 'digital-creation-time' => '2#063', 'originating-program' => '2#065', 'program-version' => '2#070', 'object-cycle' => '2#075', 'by-line' => '2#080', 'by-line-title' => '2#085', 'city' => '2#090', 'sub-location' => '2#092', 'province-or-state' => '2#095', 'country-or-primary-location-code' => '2#100', 'country-or-primary-location-name' => '2#101', 'original-transmission-reference' => '2#103', 'headline' => '2#105', 'credit' => '2#110', 'source' => '2#115', 'copyright-notice' => '2#116', 'contact' => '2#118', 'caption-or-abstract' => '2#120', 'caption-writer-or-editor' => '2#122', 'rasterized-caption' => '2#125', 'image-type' => '2#130', 'image-orientation' => '2#131', 'language-identifier' => '2#135', 'audio-type' => '2#150', 'audio-sampling-rate' => '2#151', 'audio-sampling-resolution' => '2#152', 'audio-duration' => '2#153', 'audio-outcue' => '2#154', 'objectdata-preview-file-format' => '2#200', 'objectdata-preview-file-format-version' => '2#201', 'objectdata-preview-data' => '2#202', 'size-mode' => '7#010', 'max-subfile-size' => '7#020', 'objectdata-size-announced' => '7#090', 'maximum-objectdata-size' => '7#095', 'subfile' => '8#010', 'confirmed-objectdata-size' => '9#010')]]></default>
3752
+ <docblock line="1095">
3753
  <description><![CDATA[IPTC Dataset friendly name/slug and identifiers]]></description>
3754
  <long-description><![CDATA[<p>This array contains the sanitized names and identifiers of Datasets defined in
3755
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
3756
+ <tag line="1095" name="since" description="0.90"/>
3757
+ <tag line="1095" name="var" description="" type="array">
3758
  <type by_reference="false">array</type>
3759
  </tag>
3760
  </docblock>
3761
  </property>
3762
+ <property final="false" static="true" visibility="private" line="1204" namespace="global" package="Media Library Assistant">
3763
  <name>$mla_iptc_descriptions</name>
3764
  <default><![CDATA[array("1#000" => "2 octet binary IIM version number", "1#005" => "Max 1024 characters of Destination (ISO routing information); repeatable", "1#020" => "2 octet binary file format number, see IPTC-NAA V4 Appendix A", "1#022" => "2 octet binary file format version number", "1#030" => "Max 10 characters of Service Identifier and product", "1#040" => "8 Character Envelope Number", "1#050" => "Max 32 characters subset of provider's overall service; repeatable", "1#060" => "1 numeric character of envelope handling priority (not urgency)", "1#070" => "8 numeric characters of Date Sent by service - CCYYMMDD", "1#080" => "11 characters of Time Sent by service - HHMMSS±HHMM", "1#090" => "Max 32 characters of control functions, etc.", "1#100" => "14 to 80 characters of eternal, globally unique identification for objects", "1#120" => "2 octet binary Abstract Relationship Model Identifier", "1#122" => "2 octet binary Abstract Relationship Model Version", "2#000" => "2 octet binary Information Interchange Model, Part II version number", "2#003" => "3 to 67 Characters of Object Type Reference number and optional text", "2#004" => "3 to 67 Characters of Object Attribute Reference number and optional text; repeatable", "2#005" => "Max 64 characters of the object name or shorthand reference", "2#007" => "Max 64 characters of the status of the objectdata", "2#008" => "2 numeric characters of the type of update this object provides", "2#010" => "1 numeric character of the editorial urgency of content", "2#012" => "13 to 236 characters of a structured definition of the subject matter; repeatable", "2#015" => "Max 3 characters of the subject of the objectdata, DEPRECATED", "2#020" => "Max 32 characters (each) of further refinement of subject, DEPRECATED; repeatable", "2#022" => "Max 32 characters identifying recurring, predictable content", "2#025" => "Max 64 characters (each) of tags; repeatable", "2#026" => "3 characters of ISO3166 country code or IPTC-assigned code; repeatable", "2#027" => "Max 64 characters of publishable country/geographical location name; repeatable", "2#030" => "8 numeric characters of Release Date - CCYYMMDD", "2#035" => "11 characters of Release Time (earliest use) - HHMMSS±HHMM", "2#037" => "8 numeric characters of Expiration Date (latest use) - CCYYMDD", "2#038" => "11 characters of Expiration Time (latest use) - HHMMSS±HHMM", "2#040" => "Max 256 Characters of editorial instructions, e.g., embargoes and warnings", "2#042" => "2 numeric characters of type of action this object provides to a previous object", "2#045" => "Max 10 characters of the Service ID (1#030) of a prior envelope; repeatable", "2#047" => "8 numeric characters of prior envelope Reference Date (1#070) - CCYYMMDD; repeatable", "2#050" => "8 characters of prior envelope Reference Number (1#040); repeatable", "2#055" => "8 numeric characters of intellectual content Date Created - CCYYMMDD", "2#060" => "11 characters of intellectual content Time Created - HHMMSS±HHMM", "2#062" => "8 numeric characters of digital representation creation date - CCYYMMDD", "2#063" => "11 characters of digital representation creation time - HHMMSS±HHMM", "2#065" => "Max 32 characters of the program used to create the objectdata", "2#070" => "Program Version - Max 10 characters of the version of the program used to create the objectdata", "2#075" => "1 character where a=morning, p=evening, b=both", "2#080" => "Max 32 Characters of the name of the objectdata creator, e.g., the writer, photographer; repeatable", "2#085" => "Max 32 characters of the title of the objectdata creator; repeatable", "2#090" => "Max 32 Characters of the city of objectdata origin", "2#092" => "Max 32 Characters of the location within the city of objectdata origin", "2#095" => "Max 32 Characters of the objectdata origin Province or State", "2#100" => "3 characters of ISO3166 or IPTC-assigned code for Country of objectdata origin", "2#101" => "Max 64 characters of publishable country/geographical location name of objectdata origin", "2#103" => "Max 32 characters of a code representing the location of original transmission", "2#105" => "Max 256 Characters of a publishable entry providing a synopsis of the contents of the objectdata", "2#110" => "Max 32 Characters that identifies the provider of the objectdata (Vs the owner/creator)", "2#115" => "Max 32 Characters that identifies the original owner of the intellectual content", "2#116" => "Max 128 Characters that contains any necessary copyright notice", "2#118" => "Max 128 characters that identifies the person or organisation which can provide further background information; repeatable", "2#120" => "Max 2000 Characters of a textual description of the objectdata", "2#122" => "Max 32 Characters that the identifies the person involved in the writing, editing or correcting the objectdata or caption/abstract; repeatable", "2#125" => "7360 binary octets of the rasterized caption - 1 bit per pixel, 460x128-pixel image", "2#130" => "2 characters of color composition type and information", "2#131" => "1 alphabetic character indicating the image area layout - P=portrait, L=landscape, S=square", "2#135" => "2 or 3 aphabetic characters containing the major national language of the object, according to the ISO 639:1988 codes", "2#150" => "2 characters identifying monaural/stereo and exact type of audio content", "2#151" => "6 numeric characters representing the audio sampling rate in hertz (Hz)", "2#152" => "2 numeric characters representing the number of bits in each audio sample", "2#153" => "6 numeric characters of the Audio Duration - HHMMSS", "2#154" => "Max 64 characters of the content of the end of an audio objectdata", "2#200" => "2 octet binary file format of the ObjectData Preview", "2#201" => "2 octet binary particular version of the ObjectData Preview File Format", "2#202" => "Max 256000 binary octets containing the ObjectData Preview data", "7#010" => "1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer", "7#020" => "4 octet binary maximum subfile dataset(s) size", "7#090" => "4 octet binary objectdata size if known at beginning of transfer", "7#095" => "4 octet binary largest possible objectdata size", "8#010" => "Subfile DataSet containing the objectdata itself; repeatable", "9#010" => "4 octet binary total objectdata size")]]></default>
3765
+ <docblock line="1194">
3766
  <description><![CDATA[IPTC Dataset descriptions]]></description>
3767
  <long-description><![CDATA[<p>This array contains the descriptions of Datasets defined in
3768
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
3769
+ <tag line="1194" name="since" description="0.90"/>
3770
+ <tag line="1194" name="var" description="" type="array">
3771
  <type by_reference="false">array</type>
3772
  </tag>
3773
  </docblock>
3774
  </property>
3775
+ <property final="false" static="true" visibility="private" line="1303" namespace="global" package="Media Library Assistant">
3776
  <name>$mla_iptc_formats</name>
3777
  <default><![CDATA[array(0 => "No ObjectData", 1 => "IPTC-NAA Digital Newsphoto Parameter Record", 2 => "IPTC7901 Recommended Message Format", 3 => "Tagged Image File Format (Adobe/Aldus Image data)", 4 => "Illustrator (Adobe Graphics data)", 5 => "AppleSingle (Apple Computer Inc)", 6 => "NAA 89-3 (ANPA 1312)", 7 => "MacBinary II", 0 => "IPTC Unstructured Character Oriented File Format (UCOFF)", 0 => "United Press International ANPA 1312 variant", 10 => "United Press International Down-Load Message", 11 => "JPEG File Interchange (JFIF)", 12 => "Photo-CD Image-Pac (Eastman Kodak)", 13 => "Microsoft Bit Mapped Graphics File [*.BMP]", 14 => "Digital Audio File [*.WAV] (Microsoft & Creative Labs)", 15 => "Audio plus Moving Video [*.AVI] (Microsoft)", 16 => "PC DOS/Windows Executable Files [*.COM][*.EXE]", 17 => "Compressed Binary File [*.ZIP] (PKWare Inc)", 18 => "Audio Interchange File Format AIFF (Apple Computer Inc)", 19 => "RIFF Wave (Microsoft Corporation)", 20 => "Freehand (Macromedia/Aldus)", 21 => "Hypertext Markup Language - HTML (The Internet Society)", 22 => "MPEG 2 Audio Layer 2 (Musicom), ISO/IEC", 23 => "MPEG 2 Audio Layer 3, ISO/IEC", 24 => "Portable Document File (*.PDF) Adobe", 25 => "News Industry Text Format (NITF)", 26 => "Tape Archive (*.TAR)", 27 => "Tidningarnas Telegrambyrå NITF version (TTNITF DTD)", 28 => "Ritzaus Bureau NITF version (RBNITF DTD)", 29 => "Corel Draw [*.CDR]")]]></default>
3778
+ <docblock line="1293">
3779
  <description><![CDATA[IPTC file format identifiers and descriptions]]></description>
3780
  <long-description><![CDATA[<p>This array contains the file format identifiers and descriptions defined in
3781
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p>]]></long-description>
3782
+ <tag line="1293" name="since" description="0.90"/>
3783
+ <tag line="1293" name="var" description="" type="array">
3784
  <type by_reference="false">array</type>
3785
  </tag>
3786
  </docblock>
3787
  </property>
3788
+ <property final="false" static="true" visibility="private" line="1346" namespace="global" package="Media Library Assistant">
3789
  <name>$mla_iptc_image_types</name>
3790
  <default><![CDATA[array("M" => "Monochrome", "Y" => "Yellow Component", "M" => "Magenta Component", "C" => "Cyan Component", "K" => "Black Component", "R" => "Red Component", "G" => "Green Component", "B" => "Blue Component", "T" => "Text Only", "F" => "Full colour composite, frame sequential", "L" => "Full colour composite, line sequential", "P" => "Full colour composite, pixel sequential", "S" => "Full colour composite, special interleaving")]]></default>
3791
+ <docblock line="1336">
3792
  <description><![CDATA[IPTC image type identifiers and descriptions]]></description>
3793
  <long-description><![CDATA[<p>This array contains the image type identifiers and descriptions defined in
3794
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p>]]></long-description>
3795
+ <tag line="1336" name="since" description="0.90"/>
3796
+ <tag line="1336" name="var" description="" type="array">
3797
  <type by_reference="false">array</type>
3798
  </tag>
3799
  </docblock>
3844
  <type/>
3845
  </argument>
3846
  </method>
3847
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="659" package="Media Library Assistant">
3848
  <name>mla_get_shortcode_attachments</name>
3849
  <full_name>mla_get_shortcode_attachments</full_name>
3850
+ <docblock line="649">
3851
  <description><![CDATA[Parses shortcode parameters and returns the gallery objects]]></description>
3852
  <long-description><![CDATA[]]></long-description>
3853
+ <tag line="649" name="since" description=".50"/>
3854
+ <tag line="649" name="param" description="Post ID of the parent" type="int" variable="$post_parent">
3855
  <type by_reference="false">int</type>
3856
  </tag>
3857
+ <tag line="649" name="param" description="Attributes of the shortcode" type="array" variable="$attr">
3858
  <type by_reference="false">array</type>
3859
  </tag>
3860
+ <tag line="649" name="return" description="List of attachments returned from WP_Query" type="array">
3861
  <type by_reference="false">array</type>
3862
  </tag>
3863
  </docblock>
3864
+ <argument line="659">
3865
  <name>$post_parent</name>
3866
  <default><![CDATA[]]></default>
3867
  <type/>
3868
  </argument>
3869
+ <argument line="659">
3870
  <name>$attr</name>
3871
  <default><![CDATA[]]></default>
3872
  <type/>
3873
  </argument>
3874
  </method>
3875
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="979" package="Media Library Assistant">
3876
  <name>mla_shortcode_query_posts_where_filter</name>
3877
  <full_name>mla_shortcode_query_posts_where_filter</full_name>
3878
+ <docblock line="966">
3879
  <description><![CDATA[Filters the WHERE clause for shortcode queries]]></description>
3880
  <long-description><![CDATA[<p>Captures debug information. Adds whitespace to the post_type = 'attachment'
3881
  phrase to circumvent subsequent Role Scoper modification of the clause.
3882
  Defined as public because it's a filter.</p>]]></long-description>
3883
+ <tag line="966" name="since" description="0.70"/>
3884
+ <tag line="966" name="param" description="query clause before modification" type="string" variable="$where_clause">
3885
  <type by_reference="false">string</type>
3886
  </tag>
3887
+ <tag line="966" name="return" description="query clause after modification" type="string">
3888
  <type by_reference="false">string</type>
3889
  </tag>
3890
  </docblock>
3891
+ <argument line="979">
3892
  <name>$where_clause</name>
3893
  <default><![CDATA[]]></default>
3894
  <type/>
3896
  </method>
3897
  </class>
3898
  </file>
3899
+ <file path="includes\mla-plugin-loader.php" hash="45b4cdf5ef31a468cca47f7b3db99a68" package="Media Library Assistant">
3900
  <docblock line="2">
3901
  <description><![CDATA[Media Library Assistant Plugin Loader]]></description>
3902
  <long-description><![CDATA[<p>Defines constants and loads all of the classes and functions required to run the plugin.
3925
  <include line="65" type="Require Once" package="Media Library Assistant">
3926
  <name/>
3927
  </include>
3928
+ <include line="72" type="Require Once" package="Media Library Assistant">
3929
+ <name/>
3930
+ </include>
3931
+ <include line="77" type="Require Once" package="Media Library Assistant">
3932
  <name/>
3933
  </include>
3934
  <constant namespace="global" line="16" package="Media Library Assistant">
3941
  </docblock>
3942
  </constant>
3943
  </file>
3944
+ <file path="index.php" hash="841b32bdaac4ba91f25f6d7565bb7bf7" package="Media Library Assistant">
3945
  <docblock line="2">
3946
  <description><![CDATA[Provides several enhancements to the handling of images and files held in the WordPress Media Library]]></description>
3947
  <long-description><![CDATA[<p>This file contains several tests for name conflicts with other plugins. Only if the tests are passed
3948
  will the rest of the plugin be loaded and run.</p>]]></long-description>
3949
  <tag line="2" name="package" description="Media Library Assistant"/>
3950
+ <tag line="2" name="version" description="1.00"/>
3951
  </docblock>
3952
  <include line="103" type="Require Once" package="Media Library Assistant">
3953
  <name>includes/mla-plugin-loader.php</name>
readme.txt CHANGED
@@ -1,14 +1,14 @@
1
  === Plugin Name ===
2
  Contributors: dglingren
3
  Donate link: http://fairtradejudaica.org/make-a-difference/donate/
4
- Tags: attachments, documents, gallery, image, images, media, library, media library, media-tags, media tags, tags, media categories, categories
5
  Requires at least: 3.3
6
  Tested up to: 3.5
7
- Stable tag: 0.90
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- Provides enhancements to the Media Library; powerful[mla_gallery], full taxonomy support, bulk & quick edit actions and where-used reporting.
12
 
13
  == Description ==
14
 
@@ -16,7 +16,7 @@ The Media Library Assistant provides several enhancements for managing the Media
16
 
17
  * The **`[mla_gallery]` shortcode**, used in a post, page or custom post type to add a gallery of images and/or other Media Library items (such as PDF documents). [MLA Gallery](http://wordpress.org/extend/plugins/media-library-assistant/other_notes/ "Complete Documentation") is a superset of the `[gallery]` shortcode in the WordPress core; it is compatible with `[gallery]` and provides many enhancements. These include: 1) full query and display support for WordPress categories, tags, custom taxonomies and custom fields, 2) support for all post_mime_type values, not just images 3) media Library items need not be "attached" to the post, and 4) control over the styles, markup and content of each gallery using Style and Markup Templates.
18
 
19
- * Display **IPTC** and **EXIF** metadata with `[mla_gallery]` custom templates.
20
 
21
  * **Enhanced Search Media box**. Search can be extended to the name/slug, ALT text and caption fields. The connector between search terms can be "and" or "or".
22
 
@@ -85,7 +85,7 @@ Hover over the item you want to modify and click the "Edit" action. On the Edit
85
 
86
  = The Media Library Assistant table listing seems sluggish; is there anything I can do to make it faster? =
87
 
88
- Some of the MLA features such as where-used reporting and ALT Text sorting/searching require a lot of database procesing. If this is a serious issue for you, open a thread in the support forum and let me know. I could implement a Settings option to turn these features on and off.
89
 
90
  = Are other language versions available? =
91
 
@@ -103,9 +103,22 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
103
  4. The enhanced Edit page showing additional fields, categories and tags.
104
  5. The Settings page General tab, where you can customize support of Att. Categories, Att. Tags and other taxonomies, where-used reporting and the default sort order.
105
  6. The Settings page MLA Gallery tab, where you can add custom style and markup templates for `[mla_gallery]` shortcode output.
 
106
 
107
  == Changelog ==
108
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  = 0.90 =
110
  * New: Field-level IPTC and EXIF metadata support for `[mla_gallery]` display using custom markup templates.
111
  * New: Field-level Custom field and taxonomy term support for `[mla_gallery]` display using custom markup templates.
@@ -125,7 +138,7 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
125
  * New: Settings page now divided into three tabbed subpages for easier access to settings and documentation.
126
  * New: For WordPress 3.5, Custom Field support added to attachments and to the WordPress standard Edit Media Screen.
127
  * New: For WordPress version 3.5, the WordPress standard Edit Media screen now includes Last Modified date, Parent Info, Menu Order, Image Metadata and all "where-used" information.
128
- * New: For WordPress versions before 3.5, the MLA Edit single item screen now includes "Gallery in" and "MLA Gallery in" information.
129
  * Fix: Bulk edit now supports "No Change" option for Author.
130
  * Fix: Bulk edit now supports changing Parent ID to "0" (unattached).
131
  * Fix: Where-used reporting corrected for sites without month- and year-based folders.
@@ -200,6 +213,9 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
200
 
201
  == Upgrade Notice ==
202
 
 
 
 
203
  = 0.90 =
204
  Get `[mla_gallery]` support for custom fields, taxonomy terms and IPTC/EXIF metadata. Updated for WordPress 3.5!
205
 
@@ -246,6 +262,7 @@ In this section:
246
  * Acknowledgements
247
  * MLA Gallery Shortcode Documentation
248
  * MLA Gallery Style and Markup Template Documentation
 
249
  * Online Help Summary (Assistant Submenu - Attachment List Table)
250
 
251
  == Acknowledgements ==
@@ -268,21 +285,17 @@ The `[mla_gallery]` shortcode is used in a post, page or custom post type to add
268
 
269
  All of the options/parameters documented for the `[gallery]` shortcode are supported by the `[mla_gallery]` shortcode; you can find them in the WordPress Codex. Most of the parameters documented for the WP_Query class are also supported; see the WordPress Codex. Because the `[mla_gallery]` shortcode is designed to work with Media Library items, there are some parameter differences and extensions; these are documented below.
270
 
271
- <h4>Gallery Display Content</h4>
272
-
273
- Three `[mla_gallery]` parameters provide an easy way to control the contents of gallery items without requiring the use of custom Markup templates.
274
-
275
- * `mla_link_text`: replaces the thumbnail image or attachment title text displayed for each gallery item.
276
 
277
- * `mla_rollover_text`: replaces the attachment title text displayed when the mouse rolls or hovers over the gallery thumbnail.
278
 
279
- * `mla_caption`: replaces the attachment caption text displayed beneath the thumbnail of each gallery item.
280
 
281
- All three of these parameters support the Markup and Attachment-specific substitution arguments defined for Markup Templates. For example, if you code `mla_rollover_text="{+date+} : {+description+}"`, the rollover text will contain the upload date, a colon, and the full description of each gallery item. Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the shortcode parser reserves square brackets ("[" and "]") for its own use.
282
 
283
- <h4>Gallery Display Style</h4>
284
 
285
- Two `[mla_gallery]` parameters provide control over the size and spacing of gallery items without requiring the use of custom Style templates.
286
 
287
  * `mla_margin`: specifies the margin attribute (in percent) of the ".gallery-item" style. The default value is "1.5" percent.
288
 
@@ -290,6 +303,18 @@ Two `[mla_gallery]` parameters provide control over the size and spacing of gall
290
 
291
  These parameters are only important if the gallery thumbnails are too large to fit within the width of the page on which they appear. For example, if you code `[mla_gallery size=full]`, the browser will automatically scale down large images to fit within the width attribute (in percent) of the ".gallery-item" style. The default 1.5% margin will ensure that the images do not overlap; you can increase it to add more space between the gallery items. You can also reduce the itemwidth parameter to increase the left and right space between the items.
292
 
 
 
 
 
 
 
 
 
 
 
 
 
293
  <h4>Order, Orderby</h4>
294
 
295
  To order the gallery randomly, use "orderby=rand". To suppress gallery ordering you can use "orderby=none" or "order=rand".
@@ -548,6 +573,66 @@ Here's a small example that shows a gallery using table markup. The Item markup
548
 
549
  </table>
550
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
551
  == Online Help Summary ==
552
 
553
  <p><strong><em>Assistant Submenu - Attachment List Table</em></strong></p>
@@ -560,9 +645,11 @@ Here's a small example that shows a gallery using table markup. The Item markup
560
  <h4>Featured/Inserted</h4>
561
  <p>The &#8220;Featured in&#8221; and &#8220;Inserted in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is used in a post or page as a &#8220;Featured Image&#8221; or as an embedded image or link.</p>
562
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
 
563
  <h4>Gallery/MLA Gallery</h4>
564
  <p>The &#8220;Gallery in&#8221; and &#8220;MLA Gallery in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is returned by a <code>[gallery]</code> or <code>[mla_gallery]</code> shortcode in a post or page. These columns do <strong>not</strong> use the post_parent (attached to) status of the item; they actually execute each shortcode and tabulate the attachments they return.</p>
565
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
 
566
  <h4>Taxonomy Support</h4>
567
  <p>The &#8220;taxonomy&#8221; columns help you to group attachments by subject and keyword values. The columns list any categories and tags associated with the item. You can click on one of the displayed values to get a list of all items associated with that value.</p>
568
  <p>The Media Library Assistant provides two pre-defined taxonomies, &#8220;Att. Categories&#8221; and &#8220;Att. Tags&#8221; which are enabled by default. You can add or remove support for any registered taxonomy on the Settings screen. The standard WordPress Categories and Tags as well as any custom taxonomies can be supported.</p>
1
  === Plugin Name ===
2
  Contributors: dglingren
3
  Donate link: http://fairtradejudaica.org/make-a-difference/donate/
4
+ Tags: attachment, attachments, documents, gallery, image, images, media, library, media library, media-tags, media tags, tags, media categories, categories, IPTC, exif, meta, metadata, photo, photos, photograph, photographs, photoblog, photo albums
5
  Requires at least: 3.3
6
  Tested up to: 3.5
7
+ Stable tag: 1.00
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ Enhances the Media Library; powerful[mla_gallery], taxonomy support, IPTC/EXIF processing, bulk & quick edit actions and where-used reporting.
12
 
13
  == Description ==
14
 
16
 
17
  * The **`[mla_gallery]` shortcode**, used in a post, page or custom post type to add a gallery of images and/or other Media Library items (such as PDF documents). [MLA Gallery](http://wordpress.org/extend/plugins/media-library-assistant/other_notes/ "Complete Documentation") is a superset of the `[gallery]` shortcode in the WordPress core; it is compatible with `[gallery]` and provides many enhancements. These include: 1) full query and display support for WordPress categories, tags, custom taxonomies and custom fields, 2) support for all post_mime_type values, not just images 3) media Library items need not be "attached" to the post, and 4) control over the styles, markup and content of each gallery using Style and Markup Templates.
18
 
19
+ * **IPTC** and **EXIF** metadata can be assigned to standard WordPress fields, taxonomy terms and Custom fields. You can update all existing attachments from the Settings page IPTC/EXIF tab, groups of existing attachments with a Bulk Action or one existing attachment from the Edit Media/Edit Single Item screen. Display **IPTC** and **EXIF** metadata with `[mla_gallery]` custom templates.
20
 
21
  * **Enhanced Search Media box**. Search can be extended to the name/slug, ALT text and caption fields. The connector between search terms can be "and" or "or".
22
 
85
 
86
  = The Media Library Assistant table listing seems sluggish; is there anything I can do to make it faster? =
87
 
88
+ Some of the MLA features such as where-used reporting and ALT Text sorting/searching require a lot of database procesing. If this is an issue for you, go to the Settings page and adjust the "Where-used database access tuning" settings. For any where-used category you can enable or disable processing. For the "Gallery in" and "MLA Gallery in" you can also choose to update the results on every page load or to cache the results for fifteen minutes between updates. The cache is also flushed automatically when posts, pages or attachments are inserted or updated.
89
 
90
  = Are other language versions available? =
91
 
103
  4. The enhanced Edit page showing additional fields, categories and tags.
104
  5. The Settings page General tab, where you can customize support of Att. Categories, Att. Tags and other taxonomies, where-used reporting and the default sort order.
105
  6. The Settings page MLA Gallery tab, where you can add custom style and markup templates for `[mla_gallery]` shortcode output.
106
+ 7. The Settings page IPTC &amp; EXIF Processing Options screen, where you can map image metadata to standard fields (e.g. caption), taxonomy terms and custom fields.
107
 
108
  == Changelog ==
109
 
110
+ = 1.00 =
111
+ * New: IPTC and EXIF metadata can be assigned to standard WordPress fields, taxonomy terms and Custom fields. You can update all existing attachments from the Settings page IPTC/EXIF tab, groups of existing attachments with a Bulk Action or one existing attachment from the Edit Media/Edit Single Item screen.
112
+ * New: Where-used processing can be tuned or disabled on the Settings page, General tab.
113
+ * New: "Gallery in" and "MLA Gallery in" results are cached for fifteen minutes, avoiding repetitive database access. The cache is automatically flushed when pages, posts or attachments are inserted or updates, and can be manually flushed or disabled on the Settings page, General tab.
114
+ * New: Default `[mla_gallery]` style and markup templates can be specified on the Settings page.
115
+ * New: `[mla_gallery]` parameter "mla_float" allows control of gallery item "float" attribute.
116
+ * Fix: Field-level substitution parameters (custom fields, taxonomy terms, IPTC metadata and EXIF metadata) are now available for mla_link_text, mla_rollover_text and mla_caption parameters.
117
+ * Fix: Attachment/Parent relationships are reported consistently on the edit pages and the Assistant table listing.
118
+ * Fix: Defect in generating mla_debug messages has been corrected.
119
+ * Fix: Default "Order by" option now includes "None".
120
+ * Fix: For WordPress 3.5, Custom Field support for attachments enabled in admin_init action.
121
+
122
  = 0.90 =
123
  * New: Field-level IPTC and EXIF metadata support for `[mla_gallery]` display using custom markup templates.
124
  * New: Field-level Custom field and taxonomy term support for `[mla_gallery]` display using custom markup templates.
138
  * New: Settings page now divided into three tabbed subpages for easier access to settings and documentation.
139
  * New: For WordPress 3.5, Custom Field support added to attachments and to the WordPress standard Edit Media Screen.
140
  * New: For WordPress version 3.5, the WordPress standard Edit Media screen now includes Last Modified date, Parent Info, Menu Order, Image Metadata and all "where-used" information.
141
+ * New: For WordPress versions before 3.5, the MLA Edit Single Item screen now includes "Gallery in" and "MLA Gallery in" information.
142
  * Fix: Bulk edit now supports "No Change" option for Author.
143
  * Fix: Bulk edit now supports changing Parent ID to "0" (unattached).
144
  * Fix: Where-used reporting corrected for sites without month- and year-based folders.
213
 
214
  == Upgrade Notice ==
215
 
216
+ = 1.00 =
217
+ Map IPTC and EXIF metadata to standard fields, taxonomy terms and custom fields. Get improved performance for where-used reporting. Specify default `[mla_gallery]` style and markup templates. Five other fixes.
218
+
219
  = 0.90 =
220
  Get `[mla_gallery]` support for custom fields, taxonomy terms and IPTC/EXIF metadata. Updated for WordPress 3.5!
221
 
262
  * Acknowledgements
263
  * MLA Gallery Shortcode Documentation
264
  * MLA Gallery Style and Markup Template Documentation
265
+ * IPTC &amp; EXIF Processing Options
266
  * Online Help Summary (Assistant Submenu - Attachment List Table)
267
 
268
  == Acknowledgements ==
285
 
286
  All of the options/parameters documented for the `[gallery]` shortcode are supported by the `[mla_gallery]` shortcode; you can find them in the WordPress Codex. Most of the parameters documented for the WP_Query class are also supported; see the WordPress Codex. Because the `[mla_gallery]` shortcode is designed to work with Media Library items, there are some parameter differences and extensions; these are documented below.
287
 
288
+ <h4>Gallery Display Style</h4>
 
 
 
 
289
 
290
+ Two `[mla_gallery]` parameters provide a way to apply custom style and markup templates to your `[mla_gallery]` display. These parameters replace the default style and/or markup templates with templates you define on the "MLA Gallery" tab of the Settings page. On the "MLA Gallery" tab you can also select one of your custom templates to replace the built-in default template for all `[mla_gallery`] shortcodes the do not contain one of these parameters.
291
 
292
+ * `mla_style`: replaces the default style template for an `[mla_gallery]` shortcode
293
 
294
+ * `mla_markup`: replaces the default markup template for an `[mla_gallery]` shortcode
295
 
296
+ Three `[mla_gallery]` parameters provide control over the placement, size and spacing of gallery items without requiring the use of custom Style templates.
297
 
298
+ * `mla_float`: specifies the float attribute of the ".gallery-item" style. Acceptable values are "left", "none", "right"; the default value is "right" if current locale is RTL, "left" on LTR (left-to-right inline flow, e.g., English).
299
 
300
  * `mla_margin`: specifies the margin attribute (in percent) of the ".gallery-item" style. The default value is "1.5" percent.
301
 
303
 
304
  These parameters are only important if the gallery thumbnails are too large to fit within the width of the page on which they appear. For example, if you code `[mla_gallery size=full]`, the browser will automatically scale down large images to fit within the width attribute (in percent) of the ".gallery-item" style. The default 1.5% margin will ensure that the images do not overlap; you can increase it to add more space between the gallery items. You can also reduce the itemwidth parameter to increase the left and right space between the items.
305
 
306
+ <h4>Gallery Display Content</h4>
307
+
308
+ Three `[mla_gallery]` parameters provide an easy way to control the contents of gallery items without requiring the use of custom Markup templates.
309
+
310
+ * `mla_link_text`: replaces the thumbnail image or attachment title text displayed for each gallery item.
311
+
312
+ * `mla_rollover_text`: replaces the attachment title text displayed when the mouse rolls or hovers over the gallery thumbnail.
313
+
314
+ * `mla_caption`: replaces the attachment caption text displayed beneath the thumbnail of each gallery item.
315
+
316
+ All three of these parameters support the Markup and Attachment-specific substitution arguments defined for Markup Templates. For example, if you code `mla_rollover_text="{+date+} : {+description+}"`, the rollover text will contain the upload date, a colon, and the full description of each gallery item. Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the shortcode parser reserves square brackets ("[" and "]") for its own use.
317
+
318
  <h4>Order, Orderby</h4>
319
 
320
  To order the gallery randomly, use "orderby=rand". To suppress gallery ordering you can use "orderby=none" or "order=rand".
573
 
574
  </table>
575
 
576
+ ==IPTC &amp; EXIF Processing Options</h==
577
+
578
+ Some image file formats such as JPEG DCT or TIFF Rev 6.0 support the addition of data about the image, or <em>metadata</em>, in the image file. Many popular image processing programs such as Adobe PhotoShop allow you to populate metadata fields with information such as a copyright notice, caption, the image author and keywords that categorize the image in a larger collection. WordPress uses some of this information to populate the Title, Slug and Description fields when you add an image to the Media Library.
579
+
580
+ The Media Library Assistant has powerful tools for copying image metadata to:
581
+
582
+ * the WordPress standard fields, e.g., the Caption
583
+ * taxonomy terms, e.g., in categories, tags or custom taxonomies
584
+ * WordPress Custom Fields
585
+
586
+ You can define the rules for mapping metadata on the "IPTC/EXIF" tab of the Settings page. You can choose to automatically apply the rules when new media are added to the Library (or not). You can click the "Map IPTC/EXIF metadata" button on the Edit Media/Edit Single Item screen or in the bulk edit area to selectivelly apply the rules to one or more images. You can click the "Map All Attachments Now" to apply the rules to <strong>all of the images in your library</strong> at one time.
587
+
588
+ <h4>Mapping tables</h4>
589
+
590
+ The three mapping tables on the IPTC/EXIF tab have the following columns:
591
+
592
+ * `Field Title`: The standard field title, taxonomy name or Custom Field name. In the Custom Field table you can define a new field by entering its name in the blank box at the bottom of the list; the value will be saved when you click "Save Changes" at the bottom of the screen.
593
+
594
+ * `IPTC Value`: The IPTC (International Press Telecommunications Council) metadata, if any, embedded in the image file. For this category, you can select any of the IPTC DataSet tag and field identifiers, e.g., "2#025" for the Keywords field. The dropdown list has the identifier and the "friendly name" MLA defines for most of the IPTC fields; see the table of identifiers and friendly names in the table below. You can find more information in the <a href="http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">IPTC-NAA Information Interchange Model Version No. 4.1 specification</a>.
595
+
596
+ * `EXIF Value`: The EXIF (EXchangeable Image File) metadata, if any, embedded in a JPEG DCT or TIFF Rev 6.0 image file. Though the specification is not currently maintained by any industry or standards organization, almost all camera manufacturers use it. For this category, you can code any of the field names embedded in the image by the camera or editing software. The is no official list of standard field names, so you just have to know the names your camera and software use; field names are case-sensitive. You can find more information in the <a href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">Exchangeable image file format</a> article on Wikipedia.<a name="mla_iptc_identifiers"></a>
597
+
598
+ * `Priority`: If both the IPTC Value and the EXIF Value are non-blank for a particular image, you can select which of the values will be used for the mapping.
599
+
600
+ * `Existing Text`: Images already in the Media Library will have non-blank values in many fields and may have existing terms in a taxonomy. You can select "Keep" to retain these values or "Replace" to always map a metadata value into the field. For a taxonomy, "Keep" will retain any terms already assigned to the item and "Replace" will delete any existing terms before assigning metadata values as terms.
601
+
602
+ * `Parent`: For hierarchical taxonomies such as Categories you can select one of the existing terms in the taxonomy as the parent term for any terms you are mapping from metadata values. For example, you could define "IPTC Keywords" as a parent and then assign all of the 2#025 values under that parent term.
603
+
604
+ <h4>Map All Attachments Now</h4>
605
+
606
+ To the right of each table heading is a "Map All Attachments Now" button. When you click one of these buttons, the mapping rules in that table are applied to <strong>all of the images in the Media Library.</strong> This is a great way to bring your media items up to date, but it is <strong>not reversible</strong>, so think carefully before you click!
607
+ Each button applies the rules in just one category, so you can update taxonomy terms without disturbing standard or custom field values.
608
+
609
+ These buttons <strong>do not</strong> save any rules changes you've made, so you can make a temporary rule change and process your attachments without disturbing the standing rules.
610
+
611
+ <h4>Other mapping techniques</h4>
612
+
613
+ There are two other ways you can perform metadata mapping to one or more existing Media Library images:
614
+
615
+ * `Single Item Edit/Edit Media screen`: For WordPress 3.5 and later, you can click the "Map IPTC/EXIF metadata" link in the "Image Metadata" postbox to apply the standing mapping rules to a single attachment. For WordPress 3.4.x and earlier, you can click the "Map IPTC/EXIF metadata" button on the Single Item Edit screen to apply the standing mapping rules.
616
+
617
+ * `Bulk Action edit area`: To perform mapping for a group of attachments you can use the Bulk Action facility on the main Assistant screen. Check the attachments you want to map, select "edit" from the Bulk Actions dropdown list and click "Apply". The bulk edit area will open with a list of the checked attachments in the left-hand column. You can click the "Map IPTC/EXIF metadata" button in the lower left corner of the area to apply the standing mapping rules to the attachments in the list.
618
+
619
+ <h4>WordPress default title, slug and description mapping</h4>
620
+
621
+ When WordPress uploads a new image file that contains IPTC and EXIF metadata it automatically maps metadata values to the title (post_title), name/slug (post_name) and description (post_content) fields. This happens before the MLA mapping rules are applied, so if you want to override the default mapping you must select "Replace" in the "Existing Text" column.
622
+
623
+ The WordPress rules are somewhat complex; consult the source code if you need exact details. Roughly speaking, the priority order for mapping the post_title and post_name values from non-blank IPTC/EXIF metadata is:
624
+
625
+ 1. EXIF "Title"
626
+ 1. EXIF "ImageDescription" (if less than 80 characters)
627
+ 1. IPTC 2#105 "headline"
628
+ 1. IPTC 2#005 "object-name"
629
+ 1. IPTC 2#120 "caption-or-abstract" (if less than 80 characters)
630
+
631
+ The priority order for mapping the post_content value from non-blank IPTC/EXIF metadata is:
632
+
633
+ 1. EXIF "ImageDescription" (if different from post_title)
634
+ 1. IPTC 2#120 "caption-or-abstract" (if different from post_title)
635
+
636
  == Online Help Summary ==
637
 
638
  <p><strong><em>Assistant Submenu - Attachment List Table</em></strong></p>
645
  <h4>Featured/Inserted</h4>
646
  <p>The &#8220;Featured in&#8221; and &#8220;Inserted in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is used in a post or page as a &#8220;Featured Image&#8221; or as an embedded image or link.</p>
647
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
648
+ <p>If performance is a concern, you can go to the Settings page and disable either or both of these columns.</p>
649
  <h4>Gallery/MLA Gallery</h4>
650
  <p>The &#8220;Gallery in&#8221; and &#8220;MLA Gallery in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is returned by a <code>[gallery]</code> or <code>[mla_gallery]</code> shortcode in a post or page. These columns do <strong>not</strong> use the post_parent (attached to) status of the item; they actually execute each shortcode and tabulate the attachments they return.</p>
651
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
652
+ <p>If performance is a concern, you can go to the Settings page and disable either or both of these columns. You can also adjust the settings to cache the results for fifteen minutes between updates. Results are automatically updated after a post, page or attachment is added or updated.</p>
653
  <h4>Taxonomy Support</h4>
654
  <p>The &#8220;taxonomy&#8221; columns help you to group attachments by subject and keyword values. The columns list any categories and tags associated with the item. You can click on one of the displayed values to get a list of all items associated with that value.</p>
655
  <p>The Media Library Assistant provides two pre-defined taxonomies, &#8220;Att. Categories&#8221; and &#8220;Att. Tags&#8221; which are enabled by default. You can add or remove support for any registered taxonomy on the Settings screen. The standard WordPress Categories and Tags as well as any custom taxonomies can be supported.</p>
tpls/admin-display-settings-page.tpl CHANGED
@@ -23,6 +23,10 @@
23
  <tr><td colspan="2">
24
  <h3 id="[+key+]">[+value+]</h3>
25
  </td></tr>
 
 
 
 
26
  <!-- template="radio" -->
27
  <tr valign="top"><th scope="row" style="text-align:right;">
28
  [+value+]
@@ -78,47 +82,6 @@
78
  </div>
79
  <!-- template="shortcode-item" -->
80
  <li><code>[[+name+]]</code> - [+description+]</li>
81
- <!-- template="taxonomy-table" -->
82
- <tr valign="top">
83
- <td colspan="2" style="text-align:left;">
84
- <table class="taxonomytable">
85
- <thead>
86
- <tr>
87
- <th scope="col" style="text-align:center">
88
- Support
89
- </th>
90
- <th scope="col" style="text-align:center">
91
- Inline Edit
92
- </th>
93
- <th scope="col" style="text-align:center">
94
- List Filter
95
- </th>
96
- <th scope="col" style="text-align:left">
97
- Taxonomy
98
- </th>
99
- </tr>
100
- </thead>
101
- <tbody>
102
- [+taxonomy_rows+]
103
- </tbody>
104
- </table>
105
- <div style="font-size:8pt;padding-bottom:10px;">[+help+]</div>
106
- </td></tr>
107
- <!-- template="taxonomy-row" -->
108
- <tr valign="top">
109
- <td style="text-align:center;">
110
- <input type="checkbox" name="tax_support[[+key+]]" id="tax_support_[+key+]" [+support_checked+] value="checked" />
111
- </td>
112
- <td style="text-align:center;">
113
- <input type="checkbox" name="tax_quick_edit[[+key+]]" id="tax_quick_edit_[+key+]" [+quick_edit_checked+] value="checked" />
114
- </td>
115
- <td style="text-align:center;">
116
- <input type="radio" name="tax_filter" id="tax_filter_[+key+]" [+filter_checked+] value="[+key+]" />
117
- </td>
118
- <td>
119
- &nbsp;[+name+]
120
- </td>
121
- </tr>
122
  <!-- template="tablist" -->
123
  <h2 class="nav-tab-wrapper">
124
  [+tablist+]
@@ -216,9 +179,11 @@
216
  </td></tr>
217
  </table>
218
  <hr width="650" align="left" />
 
219
  <!-- template="mla-gallery-tab" -->
220
  <h3>MLA Gallery Options</h3>
221
  <p><a href="#markup">Go to Markup Templates</a></p>
 
222
  <form method="post" class="mla-display-settings-page" id="mla-display-settings-mla-gallery-tab">
223
  [+options_list+]
224
  <h4>Style Templates</h4>
@@ -235,711 +200,32 @@
235
  [+_wpnonce+]
236
  [+_wp_http_referer+]
237
  </form>
238
- <!-- template="documentation-tab" -->
239
- <div class="mla-display-settings-page" id="mla-display-settings-documentation-tab">
240
- <h3>In this section, jump to:</h3>
241
- <ul style="list-style-position:inside; list-style:disc; line-height: 18px">
242
- <li>
243
- <a href="#mla_gallery_templates"><strong>Style and Markup Templates</strong></a>
244
- </li>
245
- <li>
246
- <a href="#mla_style_parameters"><strong>Substitution parameters for style templates</strong></a>
247
- </li>
248
- <li>
249
- <a href="#mla_markup_parameters"><strong>Substitution parameters for markup templates</strong></a>
250
- </li>
251
- <li>
252
- <a href="#mla_attachment_parameters"><strong>Attachment-specific substitution parameters for markup templates</strong></a>
253
- </li>
254
- <li>
255
- <a href="#mla_variable_parameters"><strong>Field-level markup substitution parameters</strong></a>
256
- </li>
257
- <li>
258
- <a href="#mla_table_example"><strong>A table-based template example</strong></a>
259
- </li>
260
- <li>
261
- <a href="#mla_iptc_identifiers"><strong>IPTC identifiers and friendly names</strong></a>
262
- </li>
263
- </ul>
264
- <h3>Plugin Code Documentation</h3>
265
- <p>
266
- If you are a developer interested in how this plugin is put together, you should
267
- have a look at the <a title="Consult the phpDocs documentation" href="[+phpDocs_url+]" target="_blank" style="font-size:14px; font-weight:bold">phpDocs documentation</a>.
268
- </p>
269
- <a name="mla_gallery"></a>
270
- <p>
271
- <a href="#backtotop">Go to Top</a>
272
- </p>
273
- <div class="mla_gallery_help" style="width:700px">
274
- <h3>MLA Gallery Shortcode</h3>
275
- <p>
276
- The [mla_gallery] shortcode is used in a post, page or custom post type to add a gallery of images and/or other Media Library items (such as PDF documents). MLA Gallery is a superset of the [gallery] shortcode in the WordPress core; it is compatible with [gallery] and provides many enhancements. These include:
277
- </p>
278
- <ul class="mla_settings">
279
- <li>Full support for WordPress categories, tags and custom taxonomies. You can select items with any of the taxonomy parameters documented in the WP_Query class.</li>
280
- <li>Support for all post_mime_type values, not just images.</li>
281
- <li>Media Library items need not be "attached" to the post. You can build a gallery with any combination of items in the Library using taxonomy terms, custom fields and more.</li>
282
- <li>Control over the styles, markup and content of each gallery using the Style and Markup Templates documented below.</li>
283
- </ul>
284
- <p>
285
- All of the options/parameters documented for the [gallery] shortcode are supported by the [mla_gallery] shortcode; you can find them in the WordPress Codex. Most of the parameters documented for the WP_Query class are also supported; see the WordPress Codex. Because the [mla_gallery] shortcode is designed to work with Media Library items, there are some parameter differences and extensions; these are documented below.
286
- </p>
287
- <h4>Gallery Display Content</h4>
288
- <p>
289
- Three [mla_gallery] parameters provide an easy way to control the contents of gallery items without requiring the use of custom Markup templates.
290
- </p>
291
- <table>
292
- <tr>
293
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_link_text</td>
294
- <td>replaces the thumbnail image or attachment title text displayed for each gallery item</td>
295
- </tr>
296
- <tr>
297
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_rollover_text</td>
298
- <td>replaces the attachment title text displayed when the mouse rolls or hovers over the gallery thumbnail</td>
299
- </tr>
300
- <tr>
301
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_caption</td>
302
- <td>replaces the attachment caption text displayed beneath the thumbnail of each gallery item</td>
303
- </tr>
304
- </table>
305
- <p>
306
- All three of these parameters support the Markup and Attachment-specific substitution arguments defined for Markup Templates. For example, if you code `mla_rollover_text="{+date+} : {+description+}"`, the rollover text will contain the upload date, a colon, and the full description of each gallery item. Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the shortcode parser reserves square brackets ("[" and "]") for its own use.
307
- </p>
308
- <h4>Gallery Display Style</h4>
309
- <p>
310
- Two [mla_gallery] parameters provide control over the size and spacing of gallery items without requiring the use of custom Style templates.
311
- </p>
312
- <table>
313
- <tr>
314
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_margin</td>
315
- <td>specifies the margin attribute (in percent) of the ".gallery-item" style. The default value is "1.5" percent.</td>
316
- </tr>
317
- <tr>
318
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_itemwidth</td>
319
- <td>specifies the width attribute (in percent) of the ".gallery-item" style. The default value is calculated by subtracting twice the margin from 100%, then dividing by the number of gallery columns. For example, the default value is "32", or (100 - (2 * 1.5)) / 3.</td>
320
- </tr>
321
- </table>
322
- <p>
323
- These parameters are only important if the gallery thumbnails are too large to fit within the width of the page on which they appear. For example, if you code [mla_gallery size=full], the browser will automatically scale down large images to fit within the width attribute (in percent) of the ".gallery-item" style. The default 1.5% margin will ensure that the images do not overlap; you can increase it to add more space between the gallery items. You can also reduce the itemwidth parameter to increase the left and right space between the items.
324
- </p>
325
- <h4>Order, Orderby</h4>
326
- <p>
327
- To order the gallery randomly, use "orderby=rand". To suppress gallery ordering you can use "orderby=none" or "order=rand".
328
- </p>
329
- <p>The Orderby parameter specifies which database field is used to sort the gallery. You can order the gallery by any of the values documented for the WP_Query class reference in the Codex; you are NOT restricted to the values documented for the [gallery] shortcode.
330
- </p>
331
- <h4>Size</h4>
332
- <p>
333
- The Size parameter specifies the image size to use for the thumbnail display. Valid values include "thumbnail", "medium", "large", "full" and any additional image size that was registered with add_image_size(). The default value is "thumbnail". You can use "none" or "" to suppress thumbnail display and substitute the item title string for the image/icon.
334
- </p>
335
- <p>
336
- The [mla_gallery] shortcode supports an additional Size value, "icon", which shows a 60x60 pixel thumbnail for image items and an appropriate icon for non-image items such as PDF or text files.
337
- </p>
338
- <h4>Link</h4>
339
- <p>
340
- The Link parameter specifies the target for the link from the gallery to the attachment. The default value, "permalink", links to the attachment's media page. The "file" and "full" values link directly to the attachment file.
341
- </p>
342
- <p>
343
- For image attachments you can also specify the size of the image file you want to link to. Valid values include "thumbnail", "medium", "large" and any additional image size that was registered with add_image_size(). If the specified size is not available or if the attachment is not an image, the link will go directly to the attachment file.
344
- </p>
345
- <h4>Include, Exclude</h4>
346
- <p>
347
- You can use "post_parent=all" to include or exclude attachments regardless of which post or page they are attached to. You can use "post_mime_type=all" to include or exclude attachments of all MIME types, not just images.
348
- </p>
349
- <h4>Post ID, "ids", Post Parent</h4>
350
- <p>
351
- The "id" parameter lets you specify a post ID for your query. If the "id" parameter is not specified, the [mla_gallery] behavior differs from the [gallery] behavior. If your query uses taxonomy or custom field parameters, "author", "author_name" or "s" (search term), then the query will NOT be restricted to items attached to the current post. This lets you build a gallery with any combination of Media Library items that match the parameters.
352
- </p>
353
- <p>
354
- For WordPress 3.5 and later, the "ids" parameter lets you specify a list of Post IDs. The attachment(s) matching the "ids" values will be displayed in the order specified by the list.
355
- </p>
356
- <p>
357
- You can use the "post_parent" to override the default behavior. If you set "post_parent" to a specific post ID, only the items attached to that post are displayed. If you set "post_parent" to "current", only the items attached to the current post are displayed. If you set "post_parent" to "all", the query will not have a post ID or post_parent parameter.
358
- </p>
359
- <p>
360
- For example, [mla_gallery tag="artisan"] will display all images having the specified tag value, regardless of which post (if any) they are attached to. If you use [mla_gallery tag="artisan" post_parent="current"] it will display images having the specified tag value only if they are attached to the current post.
361
- </p>
362
- <h4>Author, Author Name</h4>
363
- <p>
364
- You can query by author's id or the "user_nicename" value (not the "display_name" value). Multiple author ID values are allowed, but only one author name value can be entered.
365
- </p>
366
- <h4>Category Parameters</h4>
367
- <p>
368
- Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
369
- </p>
370
- <h4>Tag Parameters</h4>
371
- <p>
372
- Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
373
- </p>
374
- <p>
375
- Note that the "tag_id" parameter requires exactly one tag ID; multiple IDs are not allowed. You can use the "tag__in" parameter to query for multiple values.
376
- </p>
377
- <h4>Taxonomy Parameters</h4>
378
- <p>
379
- The [mla_gallery] shortcode supports the simple "{tax} (string)" values (deprecated as of WordPress version 3.1) as well as the more powerful "tax_query" value.
380
- </p>
381
- <p>
382
- For simple queries, enter the taxonomy name and the term(s) that must be matched, e.g.:
383
- </p>
384
- <ul class="mla_settings">
385
- <li>[mla_gallery attachment_category='separate-category,another-category']</li>
386
- </ul>
387
- <p>
388
- Note that you must use the name/slug strings for taxonomy and terms, not the "title" strings.
389
- </p>
390
- <p>
391
- More complex queries can be specified by using "tax_query", e.g.:
392
- </p>
393
- <ul class="mla_settings">
394
- <li>[mla_gallery tax_query="array(array('taxonomy' => 'attachment_tag','field' => 'slug','terms' => 'artisan'))"]</li>
395
- <li>[mla_gallery tax_query="array(array('taxonomy' => 'attachment_category','field' => 'id','terms' => array(11, 12)))" post_parent=current post_mime_type='']</li>
396
- </ul>
397
- <p>
398
- The first example is equivalent to the simple query "attachment_tag=artisan". The second example matches items of all MIME types, attached to the current post, having an attachment_category ID of 11 or 12.
399
- </p>
400
- <p>
401
- When embedding the shortcode in the body of a post, be very careful when coding the tax_query; it must be a valid PHP array specification. In particular, code the query on one line; splitting it across lines can insert HTML &#8249;br&#8250; tags and corrupt your query.
402
- </p>
403
- <p>
404
- Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
405
- </p>
406
- <h4>Post Type, Post Status and Post MIME Type</h4>
407
- <p>
408
- For compatibility with the WordPress [gallery] shortcode, these parameters default to "post_type=attachment", "post_status=inherit" and "post_mime_type=image". You can override the defaults to, for example, display items in the trash ("post_status=trash") or PDF documents ("post_mime_type=application/pdf") or all MIME types ("post_mime_type=all"). I'm not sure why you'd want to override "post_type", but you are welcome to experiment and let me know what you find.
409
- </p>
410
- <h4>Pagination Parameters</h4>
411
- <p>
412
- The [mla_gallery] shortcode supplies "nopaging=true" as a default parameter. If you are working with a template that supports pagination you can replace this with specific values for "posts_per_page", "posts_per_archive_page", "paged" and/or "offset" . You can also pass "paged=current" to suppress the "nopaging" default; "current" will be replaced by the appropriate value (get_query_var('paged')).
413
- </p>
414
- <h4>Time Parameters</h4>
415
- <p>
416
- Support for time parameters is not included in the current version. I may add it later - let me know if you need it.
417
- </p>
418
- <h4>Custom Field Parameters</h4>
419
- <p>
420
- The [mla_gallery] shortcode supports the simple custom field parameters as well as the more powerful "meta_query" parameters made available as of WordPress 3.1.
421
- </p>
422
- <p>
423
- When embedding the shortcode in the body of a post, be very careful when coding the meta_query; it must be a valid PHP array specification. In particular, code the query on one line; splitting it across lines can insert HTML <br> tags and corrupt your query.
424
- </p>
425
- <p>
426
- Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
427
- </p>
428
- <h4>Search Keywords</h4>
429
- <p>
430
- The search parameter ("s=keyword") will perform a keyword search. A cursory inspection of the code in /wp-includes/query.php reveals that the search includes the "post_title" and "post_content" (Description) fields but not the "post_excerpt" (Caption) field. An SQL "LIKE" clause is composed and added to the search criteria. I haven't done much testing of this parameter.
431
- </p>
432
- <h4>Debugging Output</h4>
433
- <p>
434
- The "mla_debug" parameter controls the display of information about the query parameters and SQL statements used to retrieve gallery items. If you code `mla_debug=true` you will see a lot of information added to the post or page containing the gallery. Of course, this parameter should <strong>only</strong> be used in a development/debugging environment; it's quite ugly.
435
- </p>
436
- <a name="mla_gallery_templates"></a>
437
- &nbsp;
438
- <p>
439
- <a href="#backtotop">Go to Top</a>
440
- </p>
441
- <div class="mla_gallery_help" style="width:700px">
442
- <h3>MLA Gallery Style and Markup Templates</h3>
443
- <p>
444
- The Style and Markup templates give you great flexibility for the content and format of each <code>[mla_gallery]</code>. You can define as many templates as you need.
445
- </p>
446
- <p>
447
- Style templates provide gallery-specific CSS inline styles. Markup templates provide the HTML markup for 1) the beginning of the gallery, 2) the beginning of each row, 3) each gallery item, 4) the end of each row and 5) the end of the gallery. The attachment-specific markup parameters let you choose among most of the attachment fields, not just the caption.
448
- </p>
449
- <p>
450
- The MLA Gallery tab on the Settings page lets you add, change and delete custom templates. The default tempates are also displayed on this tab for easy reference.
451
- </p>
452
- <p>
453
- In a template, substitution parameters are surrounded by opening ('[+') and closing ('+]') delimiters to separate them from the template text; see the default templates for many examples.
454
- </p>
455
- <a name="mla_style_parameters"></a>
456
- &nbsp;
457
- <p>
458
- <a href="#backtotop">Go to Top</a>
459
- </p>
460
- <h4>Substitution parameters for style templates</h4>
461
- <table>
462
- <tr>
463
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_style</td>
464
- <td>shortcode parameter, default = 'default'</td>
465
- </tr>
466
- <tr>
467
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_markup</td>
468
- <td>shortcode parameter, default = 'default'</td>
469
- </tr>
470
- <tr>
471
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">instance</td>
472
- <td>starts at '1', incremented for each additional shortcode in the post/page</td>
473
- </tr>
474
- <tr>
475
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">id</td>
476
- <td>post_ID of the post/page in which the gallery appears</td>
477
- </tr>
478
- <tr>
479
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemtag</td>
480
- <td>shortcode parameter, default = 'dl'</td>
481
- </tr>
482
- <tr>
483
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">icontag</td>
484
- <td>shortcode parameter, default = 'dt'</td>
485
- </tr>
486
- <tr>
487
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">captiontag</td>
488
- <td>shortcode parameter, default = 'dd'</td>
489
- </tr>
490
- <tr>
491
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">columns</td>
492
- <td>shortcode parameter, default = '3'</td>
493
- </tr>
494
- <tr>
495
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemwidth</td>
496
- <td>shortcode parameter, default = '97' if 'columns' is zero, or 97/columns, e.g., '32' if columns is '3'</td>
497
- </tr>
498
- <tr>
499
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">margin</td>
500
- <td>shortcode parameter, default = '1.5' (percent)</td>
501
- </tr>
502
- <tr>
503
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">float</td>
504
- <td>'right' if current locale is RTL, 'left' if not</td>
505
- </tr>
506
- <tr>
507
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">selector</td>
508
- <td>"mla_gallery-{$instance}", e.g., mla_gallery-1</td>
509
- </tr>
510
- <tr>
511
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">size_class</td>
512
- <td>shortcode 'size' parameter, default = 'thumbnail'</td>
513
- </tr>
514
- </table>
515
- <a name="mla_markup_parameters"></a>
516
- &nbsp;
517
- <p>
518
- <a href="#backtotop">Go to Top</a>
519
- </p>
520
- <h4>Substitution parameters for markup templates</h4>
521
- <table>
522
- <tr>
523
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_style</td>
524
- <td>shortcode parameter, default = 'default'</td>
525
- </tr>
526
- <tr>
527
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_markup</td>
528
- <td>shortcode parameter, default = 'default'</td>
529
- </tr>
530
- <tr>
531
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">instance</td>
532
- <td>starts at '1', incremented for each additional shortcode in the post/page</td>
533
- </tr>
534
- <tr>
535
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">id</td>
536
- <td>post_ID of the post/page in which the gallery appears</td>
537
- </tr>
538
- <tr>
539
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemtag</td>
540
- <td>shortcode parameter, default = 'dl'</td>
541
- </tr>
542
- <tr>
543
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">icontag</td>
544
- <td>shortcode parameter, default = 'dt'</td>
545
- </tr>
546
- <tr>
547
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">captiontag</td>
548
- <td>shortcode parameter, default = 'dd'</td>
549
- </tr>
550
- <tr>
551
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">columns</td>
552
- <td>shortcode parameter, default = '3'</td>
553
- </tr>
554
- <tr>
555
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemwidth</td>
556
- <td>shortcode parameter, default = '97' if 'columns' is zero, or 97/columns, e.g., '32' if columns is '3'</td>
557
- </tr>
558
- <tr>
559
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">margin</td>
560
- <td>shortcode parameter, default = '1.5' (percent)</td>
561
- </tr>
562
- <tr>
563
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">float</td>
564
- <td>'right' if current locale is RTL, 'left' if not</td>
565
- </tr>
566
- <tr>
567
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">selector</td>
568
- <td>"mla_gallery-{$instance}", e.g., mla_gallery-1</td>
569
- </tr>
570
- <tr>
571
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">size_class</td>
572
- <td>shortcode 'size' parameter, default = "thumbnail". If this parameter contains "none" or an empty string (size="") the attachment title will be displayed instead of the image/icon.</td>
573
- </tr>
574
- <tr>
575
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">base_url</td>
576
- <td>absolute URL to the upload directory, without trailing slash</td>
577
- </tr>
578
- <tr>
579
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">base_dir</td>
580
- <td>full path to the upload directory, without trailing slash</td>
581
- </tr>
582
- </table>
583
- <a name="mla_attachment_parameters"></a>
584
- &nbsp;
585
- <p>
586
- <a href="#backtotop">Go to Top</a>
587
- </p>
588
- <h4>Attachment-specific substitution parameters for markup templates</h4>
589
- <table>
590
- <tr>
591
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">index</td>
592
- <td>starts at '1', incremented for each attachment in the gallery</td>
593
- </tr>
594
- <tr>
595
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">caption</td>
596
- <td>if captiontag is not empty, contains caption/post_excerpt</td>
597
- </tr>
598
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">excerpt</td>
599
- <td>always contains post_excerpt</td>
600
- </tr>
601
- <tr>
602
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">attachment_ID</td>
603
- <td>attachment post_ID</td>
604
- </tr>
605
- <tr>
606
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mime_type</td>
607
- <td>attachment post_mime_type</td>
608
- </tr>
609
- <tr>
610
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">menu_order</td>
611
- <td>attachment menu_order</td>
612
- </tr>
613
- <tr>
614
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">date</td>
615
- <td>attachment post_date</td>
616
- </tr>
617
- <tr>
618
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">modified</td>
619
- <td>attachment post_modified</td>
620
- </tr>
621
- <tr>
622
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent</td>
623
- <td>attachment post_parent (ID)</td>
624
- </tr>
625
- <tr>
626
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent_title</td>
627
- <td>post_title of the parent, or '(unattached)'</td>
628
- </tr>
629
- <tr>
630
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent_type</td>
631
- <td>'post', 'page' or custom post type of the parent</td>
632
- </tr>
633
- <tr>
634
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent_date</td>
635
- <td>upload date of the parent</td>
636
- </tr>
637
- <tr>
638
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">title</td>
639
- <td>attachment post_title</td>
640
- </tr>
641
- <tr>
642
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">slug</td>
643
- <td>attachment post_name</td>
644
- </tr>
645
- <tr>
646
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">width</td>
647
- <td>width in pixels, for image types</td>
648
- </tr>
649
- <tr>
650
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">height</td>
651
- <td>height in pixels, for image types</td>
652
- </tr>
653
- <tr>
654
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">image_meta</td>
655
- <td>image metadata, for image types</td>
656
- </tr>
657
- <tr>
658
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">image_alt</td>
659
- <td>ALT text, for image types</td>
660
- </tr>
661
- <tr>
662
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">base_file</td>
663
- <td>path and file name relative to uploads directory</td>
664
- </tr>
665
- <tr>
666
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">path</td>
667
- <td>path portion of base_file</td>
668
- </tr>
669
- <tr>
670
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">file</td>
671
- <td>file name portion of base_file</td>
672
- </tr>
673
- <tr>
674
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">description</td>
675
- <td>attachment post_content</td>
676
- </tr>
677
- <tr>
678
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">file_url</td>
679
- <td>attachment guid</td>
680
- </tr>
681
- <tr>
682
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">author_id</td>
683
- <td>attachment post_author</td>
684
- </tr>
685
- <tr>
686
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">author</td>
687
- <td>author display_name, or 'unknown'</td>
688
- </tr>
689
- <tr>
690
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">link</td>
691
- <td>hyperlink to the attachment page (default) or file (shortcode 'link' parameter = "file")</td>
692
- </tr>
693
- <tr>
694
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">pagelink</td>
695
- <td>always contains a hyperlink to the attachment page</td>
696
- </tr>
697
- <tr>
698
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">filelink</td>
699
- <td>always contains a hyperlink to the attachment file</td>
700
- </tr>
701
- <tr>
702
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">link_url</td>
703
- <td>the URL portion of <em>link</em></td>
704
- </tr>
705
- <tr>
706
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">pagelink_url</td>
707
- <td>the URL portion of <em>pagelink</em></td>
708
- </tr>
709
- <tr>
710
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">filelink_url</td>
711
- <td>the URL portion of <em>filelink</em></td>
712
- </tr>
713
- <tr>
714
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_content</td>
715
- <td>complete content of the gallery item link. This will either be an "&lt;img ... &gt;" tag<br />or a text string for non-image items</td>
716
- </tr>
717
- <tr>
718
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_width</td>
719
- <td>for image/icon items, width of the gallery image/icon</td>
720
- </tr>
721
- <tr>
722
- <tr>
723
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_height</td>
724
- <td>for image/icon items, height of the gallery image/icon</td>
725
- </tr>
726
- <tr>
727
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_url</td>
728
- <td>for image/icon items, URL of the gallery image/icon</td>
729
- </tr>
730
- </table>
731
- <a name="mla_variable_parameters"></a>
732
- &nbsp;
733
- <p>
734
- <a href="#backtotop">Go to Top</a>
735
- </p>
736
- <h3>Field-level Markup Substitution Parameters</h3>
737
- <p>
738
- Field-level substitution parameters let you access custom fields, taxonomy terms, IPTC metadata and EXIF metadata for display in an MLA gallery. For these parameters, the value you code within the surrounding the ('[+') and ('+]') delimiters has three parts; the prefix, the field name and the optional ",single" indicator.
739
- </p>
740
- <p>
741
- The <strong>prefix</strong> defines which type of field-level data you are accessing. It must immediately follow the opening ('[+') delimiter and end with a colon (':'). There can be no spaces in this part of the parameter.
742
- </p>
743
- <p>
744
- The <strong>field name</strong> defines which field-level data element you are accessing. It must immediately follow the colon (':'). There can be no spaces between the colon and the field name. Spaces are allowed within the field name to accomodate custom field names that contain them.
745
- </p>
746
- <p>
747
- The optional <strong>",single" indicator</strong> defines how to handle fields with multiple values. It must immediately follow the field name and end with the closing delimiter ('+]'). There can be no spaces in this part of the parameter. If this part of the parameter is present, only the first value of the field will be returned. Use this indicator to limit the data returned for a custom field, taxonomy or metadata field that can have many values.
748
- </p>
749
- <p>
750
- There are four prefix values for field-level data. Prefix values must be coded as shown; all lowercase letters.
751
- </p>
752
- <table>
753
- <tr>
754
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">custom</td>
755
- <td>WordPress Custom Fields, which you can define and populate on the Edit Media screen. The field name, or key, can contain spaces and some punctuation characters. You <strong>cannot use the plus sign ('+')</strong> in a field name you want to use with <code>[mla_gallery]</code>. Custom field names are case-sensitive; "client" and "Client" are not the same.</td>
756
- </tr>
757
- <tr>
758
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">terms</td>
759
- <td>WordPress Category, tag or custom taxonomy terms. For this category, you code the name of the taxonomy as the field name. The term(s) associated with the attachment will be displayed in the <code>[mla_gallery]</code>. Note that you must use the name/slug string for taxonomy, not the "title" string. For example, use "attachment-category" or "attachment-tag", not "Att. Category" or "Attachment Category".</td>
760
- </tr>
761
- <tr>
762
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">iptc</td>
763
- <td>
764
- The IPTC (International Press Telecommunications Council) metadata, if any, embedded in the image file. For this category, you can code any of the IPTC DataSet tag and field identifiers, e.g., "2#025" for the Keywords field. You can also use the "friendly name" MLA defines for most of the IPTC fields; see the <a href="#mla_iptc_identifiers">table of identifiers and friendly names</a> below. <br />
765
- &nbsp;<br />
766
- You can find more information in the <a href="http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">IPTC-NAA Information Interchange Model Version No. 4.1 specification</a>.</td>
767
- </tr>
768
- <tr>
769
- <td style="padding-right: 10px; vertical-align: top; font-weight:bold">exif</td>
770
- <td>
771
- The EXIF (EXchangeable Image File) metadata, if any, embedded in a JPEG DCT or TIFF Rev 6.0 image file.
772
- Though the specification is not currently maintained by any industry or standards organization, almost all camera manufacturers use it. It is also supported by many image editing programs such as Adobe PhotoShop.
773
- For this category, you can code any of the field names embedded in the image by the camera or editing software. The is no official list of standard field names, so you just have to know the names your camera and software use; field names are case-sensitive.
774
- <br />&nbsp;<br />
775
- You can find more information in the <a href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">Exchangeable image file format</a> article on Wikipedia.</td>
776
- </tr>
777
- </table>
778
 
779
- <a name="mla_table_example"></a>
780
- &nbsp;
781
- <p>
782
- <a href="#backtotop">Go to Top</a>
783
- </p>
784
- <h3>A Table-based Template Example</h3>
785
  <p>
786
- Here's a small example that shows a gallery using <code>&lt;table&gt;</code> markup.
787
- The Item markup section shows how to use the "terms", "custom", "iptc" and "exif" substitution parameters.
788
  </p>
789
- <h4>Style Template</h4>
790
- <code>
791
- &lt;style type='text/css'&gt;<br />
792
- &nbsp;&nbsp;#[+selector+] {<br />
793
- &nbsp;&nbsp;&nbsp;&nbsp;margin: auto;<br />
794
- &nbsp;&nbsp;}<br />
795
- &nbsp;&nbsp;#[+selector+] .gallery-row {<br />
796
- &nbsp;&nbsp;&nbsp;&nbsp;float: [+float+];<br />
797
- &nbsp;&nbsp;&nbsp;&nbsp;margin-top: 10px;<br />
798
- &nbsp;&nbsp;&nbsp;&nbsp;border-top: 1px solid #ddd;<br />
799
- &nbsp;&nbsp;&nbsp;&nbsp;text-align: center;<br />
800
- &nbsp;&nbsp;&nbsp;&nbsp;width: [+itemwidth+]%;<br />
801
- &nbsp;&nbsp;}<br />
802
- &nbsp;&nbsp;#[+selector+] .gallery-row td.gallery-icon {<br />
803
- &nbsp;&nbsp;&nbsp;&nbsp;width: 60;<br />
804
- &nbsp;&nbsp;&nbsp;&nbsp;height: 60;<br />
805
- &nbsp;&nbsp;&nbsp;&nbsp;vertical-align: top;<br />
806
- &nbsp;&nbsp;}<br />
807
- &nbsp;&nbsp;#[+selector+] .gallery-row .gallery-icon img {<br />
808
- &nbsp;&nbsp;&nbsp;&nbsp;border: 2px solid #cfcfcf;<br />
809
- &nbsp;&nbsp;}<br />
810
- &nbsp;&nbsp;#[+selector+] .gallery-caption {<br />
811
- &nbsp;&nbsp;&nbsp;&nbsp;margin-left: 0;<br />
812
- &nbsp;&nbsp;&nbsp;&nbsp;vertical-align: top;<br />
813
- &nbsp;&nbsp;}<br />
814
- &lt;/style&gt;
815
- </code>
816
- <h4>Markup Template</h4>
817
- <table width="700" border="0" cellpadding="5">
818
- <tr>
819
- <td style="vertical-align: top; font-weight:bold">Open</td>
820
- <td><code>&lt;table id='[+selector+]' class='gallery galleryid-[+id+]<br />gallery-columns-[+columns+] gallery-size-[+size_class+]'&gt;</code></td>
821
- </tr>
822
- <tr>
823
- <td style="vertical-align: top; font-weight:bold">Row Open</td>
824
- <td><code>&lt;tr class='gallery-row'&gt;</code></td>
825
- </tr>
826
- <tr>
827
- <td style="vertical-align: top; font-weight:bold">Item</td>
828
- <td><code>&lt;td class='gallery-icon'&gt;<br />
829
- &nbsp;&nbsp;&nbsp;&nbsp;[+link+]<br />
830
- &lt;/td&gt;<br />
831
- &lt;td class='wp-caption-text gallery-caption'&gt;<br />
832
- &nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;[+title+]&lt;/strong&gt;&lt;br /&gt;<br />
833
- &nbsp;&nbsp;&nbsp;&nbsp;[+description+]&lt;br /&gt;<br />
834
- &nbsp;&nbsp;&nbsp;&nbsp;[+date+]<br />
835
- &nbsp;&nbsp;&nbsp;&nbsp;[+custom:client,single+]<br />
836
- &nbsp;&nbsp;&nbsp;&nbsp;[+terms:category+]<br />
837
- &nbsp;&nbsp;&nbsp;&nbsp;[+iptc:caption-or-abstract+]<br />
838
- &nbsp;&nbsp;&nbsp;&nbsp;[+iptc:2#025,single+]<br />
839
- &nbsp;&nbsp;&nbsp;&nbsp;[+exif:Artist+]
840
- &lt;/td&gt;</code>
841
- </td>
842
- </tr>
843
- <tr>
844
- <td style="vertical-align: top; font-weight:bold">Row Close</td>
845
- <td><code>&lt;/tr&gt;</code></td>
846
- </tr>
847
- <tr>
848
- <td style="vertical-align: top; font-weight:bold">Close</td>
849
- <td><code>&lt;/table&gt;</code></td>
850
- </tr>
851
- </table>
852
- <a name="mla_iptc_identifiers"></a>
853
- &nbsp;
854
- <p>
855
- <a href="#backtotop">Go to Top</a>
856
- </p>
857
- <h3>IPTC Identifiers and Friendly Names</h3>
858
- <table>
859
- <tr><td colspan="3" style="font-weight:bold">Envelope Record</td></tr>
860
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">model-version</td><td style="padding-right: 10px; vertical-align: top">1#000</td><td style="padding-right: 10px; vertical-align: top">2 octet binary IIM version number</td></tr>
861
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">destination</td><td style="padding-right: 10px; vertical-align: top">1#005</td><td style="padding-right: 10px; vertical-align: top">Max 1024 characters of Destination (ISO routing information); repeatable</td></tr>
862
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">file-format</td><td style="padding-right: 10px; vertical-align: top">1#020</td><td style="padding-right: 10px; vertical-align: top">2 octet binary file format number, see IPTC-NAA V4 Appendix A</td></tr>
863
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">file-format-version</td><td style="padding-right: 10px; vertical-align: top">1#022</td><td style="padding-right: 10px; vertical-align: top">2 octet binary file format version number</td></tr>
864
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">service-identifier</td><td style="padding-right: 10px; vertical-align: top">1#030</td><td style="padding-right: 10px; vertical-align: top">Max 10 characters of Service Identifier and product</td></tr>
865
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">envelope-number</td><td style="padding-right: 10px; vertical-align: top">1#040</td><td style="padding-right: 10px; vertical-align: top">8 Character Envelope Number</td></tr>
866
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">product-id</td><td style="padding-right: 10px; vertical-align: top">1#050</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters subset of provider's overall service; repeatable</td></tr>
867
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">envelope-priority</td><td style="padding-right: 10px; vertical-align: top">1#060</td><td style="padding-right: 10px; vertical-align: top">1 numeric character of envelope handling priority (not urgency)</td></tr>
868
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">date-sent</td><td style="padding-right: 10px; vertical-align: top">1#070</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of Date Sent by service - CCYYMMDD</td></tr>
869
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">time-sent</td><td style="padding-right: 10px; vertical-align: top">1#080</td><td style="padding-right: 10px; vertical-align: top">11 characters of Time Sent by service - HHMMSS±HHMM</td></tr>
870
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">coded-character-set</td><td style="padding-right: 10px; vertical-align: top">1#090</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of control functions, etc.</td></tr>
871
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">uno</td><td style="padding-right: 10px; vertical-align: top">1#100</td><td style="padding-right: 10px; vertical-align: top">14 to 80 characters of eternal, globally unique identification for objects</td></tr>
872
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">arm-identifier</td><td style="padding-right: 10px; vertical-align: top">1#120</td><td style="padding-right: 10px; vertical-align: top">2 octet binary Abstract Relationship Model Identifier</td></tr>
873
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">arm-version</td><td style="padding-right: 10px; vertical-align: top">1#122</td><td style="padding-right: 10px; vertical-align: top">2 octet binary Abstract Relationship Model Version</td></tr>
874
- <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />Application Record</td></tr>
875
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">record-version</td><td style="padding-right: 10px; vertical-align: top">2#000</td><td style="padding-right: 10px; vertical-align: top">2 octet binary Information Interchange Model, Part II version number</td></tr>
876
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-type-reference</td><td style="padding-right: 10px; vertical-align: top">2#003</td><td style="padding-right: 10px; vertical-align: top">3 to 67 Characters of Object Type Reference number and optional text</td></tr>
877
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-attribute-reference</td><td style="padding-right: 10px; vertical-align: top">2#004</td><td style="padding-right: 10px; vertical-align: top">3 to 67 Characters of Object Attribute Reference number and optional text; repeatable</td></tr>
878
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-name</td><td style="padding-right: 10px; vertical-align: top">2#005</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of the object name or shorthand reference</td></tr>
879
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">edit-status</td><td style="padding-right: 10px; vertical-align: top">2#007</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of the status of the objectdata</td></tr>
880
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">editorial-update</td><td style="padding-right: 10px; vertical-align: top">2#008</td><td style="padding-right: 10px; vertical-align: top">2 numeric characters of the type of update this object provides</td></tr>
881
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">urgency</td><td style="padding-right: 10px; vertical-align: top">2#010</td><td style="padding-right: 10px; vertical-align: top">1 numeric character of the editorial urgency of content</td></tr>
882
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">subject-reference</td><td style="padding-right: 10px; vertical-align: top">2#012</td><td style="padding-right: 10px; vertical-align: top">13 to 236 characters of a structured definition of the subject matter; repeatable</td></tr>
883
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">category</td><td style="padding-right: 10px; vertical-align: top">2#015</td><td style="padding-right: 10px; vertical-align: top">Max 3 characters of the subject of the objectdata, DEPRECATED</td></tr>
884
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">supplemental-category</td><td style="padding-right: 10px; vertical-align: top">2#020</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters (each) of further refinement of subject, DEPRECATED; repeatable</td></tr>
885
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">fixture-identifier</td><td style="padding-right: 10px; vertical-align: top">2#022</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters identifying recurring, predictable content</td></tr>
886
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">keywords</td><td style="padding-right: 10px; vertical-align: top">2#025</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters (each) of tags; repeatable</td></tr>
887
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">content-location-code</td><td style="padding-right: 10px; vertical-align: top">2#026</td><td style="padding-right: 10px; vertical-align: top">3 characters of ISO3166 country code or IPTC-assigned code; repeatable</td></tr>
888
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">content-location-name</td><td style="padding-right: 10px; vertical-align: top">2#027</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of publishable country/geographical location name; repeatable</td></tr>
889
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">release-date</td><td style="padding-right: 10px; vertical-align: top">2#030</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of Release Date (earliest use) - CCYYMMDD</td></tr>
890
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">release-time</td><td style="padding-right: 10px; vertical-align: top">2#035</td><td style="padding-right: 10px; vertical-align: top">11 characters of Release Time (earliest use) - HHMMSS±HHMM</td></tr>
891
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">expiration-date</td><td style="padding-right: 10px; vertical-align: top">2#037</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of Expiration Date (latest use) - CCYYMDD</td></tr>
892
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">expiration-time</td><td style="padding-right: 10px; vertical-align: top">2#038</td><td style="padding-right: 10px; vertical-align: top">11 characters of Expiration Time (latest use) - HHMMSS±HHMM</td></tr>
893
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">special-instructions</td><td style="padding-right: 10px; vertical-align: top">2#040</td><td style="padding-right: 10px; vertical-align: top">Max 256 Characters of editorial instructions, e.g., embargoes and warnings</td></tr>
894
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">action-advised</td><td style="padding-right: 10px; vertical-align: top">2#042</td><td style="padding-right: 10px; vertical-align: top">2 numeric characters of type of action this object provides to a previous object</td></tr>
895
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">reference-service</td><td style="padding-right: 10px; vertical-align: top">2#045</td><td style="padding-right: 10px; vertical-align: top">Max 10 characters of the Service ID (1#030) of a prior envelope; repeatable</td></tr>
896
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">reference-date</td><td style="padding-right: 10px; vertical-align: top">2#047</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of prior envelope Reference Date (1#070) - CCYYMMDD; repeatable</td></tr>
897
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">reference-number</td><td style="padding-right: 10px; vertical-align: top">2#050</td><td style="padding-right: 10px; vertical-align: top">8 characters of prior envelope Reference Number (1#040); repeatable</td></tr>
898
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">date-created</td><td style="padding-right: 10px; vertical-align: top">2#055</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of intellectual content Date Created - CCYYMMDD</td></tr>
899
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">time-created</td><td style="padding-right: 10px; vertical-align: top">2#060</td><td style="padding-right: 10px; vertical-align: top">11 characters of intellectual content Time Created - HHMMSS±HHMM</td></tr>
900
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">digital-creation-date</td><td style="padding-right: 10px; vertical-align: top">2#062</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of digital representation creation date - CCYYMMDD</td></tr>
901
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">digital-creation-time</td><td style="padding-right: 10px; vertical-align: top">2#063</td><td style="padding-right: 10px; vertical-align: top">11 characters of digital representation creation time - HHMMSS±HHMM</td></tr>
902
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">originating-program</td><td style="padding-right: 10px; vertical-align: top">2#065</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of the program used to create the objectdata</td></tr>
903
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">program-version</td><td style="padding-right: 10px; vertical-align: top">2#070</td><td style="padding-right: 10px; vertical-align: top">Program Version - Max 10 characters of the version of the program used to create the objectdata</td></tr>
904
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-cycle</td><td style="padding-right: 10px; vertical-align: top">2#075</td><td style="padding-right: 10px; vertical-align: top">1 character where a=morning, p=evening, b=both</td></tr>
905
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">by-line</td><td style="padding-right: 10px; vertical-align: top">2#080</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the name of the objectdata creator, e.g., the writer, photographer; repeatable</td></tr>
906
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">by-line-title</td><td style="padding-right: 10px; vertical-align: top">2#085</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of the title of the objectdata creator; repeatable</td></tr>
907
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">city</td><td style="padding-right: 10px; vertical-align: top">2#090</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the city of objectdata origin</td></tr>
908
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">sub-location</td><td style="padding-right: 10px; vertical-align: top">2#092</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the location within the city of objectdata origin</td></tr>
909
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">province-or-state</td><td style="padding-right: 10px; vertical-align: top">2#095</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the objectdata origin Province or State</td></tr>
910
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">country-or-primary-location-code</td><td style="padding-right: 10px; vertical-align: top">2#100</td><td style="padding-right: 10px; vertical-align: top">3 characters of ISO3166 or IPTC-assigned code for Country of objectdata origin</td></tr>
911
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">country-or-primary-location-name</td><td style="padding-right: 10px; vertical-align: top">2#101</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of publishable country/geographical location name; repeatable</td></tr>
912
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">original-transmission-reference</td><td style="padding-right: 10px; vertical-align: top">2#103</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of a code representing the location of original transmission</td></tr>
913
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">headline</td><td style="padding-right: 10px; vertical-align: top">2#105</td><td style="padding-right: 10px; vertical-align: top">Max 256 Characters of a publishable entry providing a synopsis of the contents of the objectdata</td></tr>
914
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">credit</td><td style="padding-right: 10px; vertical-align: top">2#110</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters that identifies the provider of the objectdata (Vs the owner/creator)</td></tr>
915
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">source</td><td style="padding-right: 10px; vertical-align: top">2#115</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters that identifies the original owner of the intellectual content</td></tr>
916
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">copyright-notice</td><td style="padding-right: 10px; vertical-align: top">2#116</td><td style="padding-right: 10px; vertical-align: top">Max 128 Characters that contains any necessary copyright notice</td></tr>
917
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">contact</td><td style="padding-right: 10px; vertical-align: top">2#118</td><td style="padding-right: 10px; vertical-align: top">Max 128 characters that identifies the person or organisation which can provide further background information; repeatable</td></tr>
918
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">caption-or-abstract</td><td style="padding-right: 10px; vertical-align: top">2#120</td><td style="padding-right: 10px; vertical-align: top">Max 2000 Characters of a textual description of the objectdata</td></tr>
919
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">caption-writer-or-editor</td><td style="padding-right: 10px; vertical-align: top">2#122</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters that the identifies the person involved in the writing, editing or correcting the objectdata or caption/abstract; repeatable</td></tr>
920
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">rasterized-caption</td><td style="padding-right: 10px; vertical-align: top">2#125</td><td style="padding-right: 10px; vertical-align: top">7360 binary octets of the rasterized caption - 1 bit per pixel, 460x128-pixel image</td></tr>
921
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">image-type</td><td style="padding-right: 10px; vertical-align: top">2#130</td><td style="padding-right: 10px; vertical-align: top">2 characters of color composition type and information</td></tr>
922
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">image-orientation</td><td style="padding-right: 10px; vertical-align: top">2#131</td><td style="padding-right: 10px; vertical-align: top">1 alphabetic character indicating the image area layout - P=portrait, L=landscape, S=square</td></tr>
923
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">language-identifier</td><td style="padding-right: 10px; vertical-align: top">2#135</td><td style="padding-right: 10px; vertical-align: top">2 or 3 aphabetic characters containing the major national language of the object, according to the ISO 639:1988 codes</td></tr>
924
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-type</td><td style="padding-right: 10px; vertical-align: top">2#150</td><td style="padding-right: 10px; vertical-align: top">2 characters identifying monaural/stereo and exact type of audio content</td></tr>
925
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-sampling-rate</td><td style="padding-right: 10px; vertical-align: top">2#151</td><td style="padding-right: 10px; vertical-align: top">6 numeric characters representing the audio sampling rate in hertz (Hz)</td></tr>
926
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-sampling-resolution</td><td style="padding-right: 10px; vertical-align: top">2#152</td><td style="padding-right: 10px; vertical-align: top">2 numeric characters representing the number of bits in each audio sample</td></tr>
927
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-duration</td><td style="padding-right: 10px; vertical-align: top">2#153</td><td style="padding-right: 10px; vertical-align: top">6 numeric characters of the Audio Duration - HHMMSS</td></tr>
928
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-outcue</td><td style="padding-right: 10px; vertical-align: top">2#154</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of the content of the end of an audio objectdata</td></tr>
929
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-preview-file-format</td><td style="padding-right: 10px; vertical-align: top">2#200</td><td style="padding-right: 10px; vertical-align: top">2 octet binary file format of the ObjectData Preview</td></tr>
930
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-preview-file-format-version</td><td style="padding-right: 10px; vertical-align: top">2#201</td><td style="padding-right: 10px; vertical-align: top">2 octet binary particular version of the ObjectData Preview File Format</td></tr>
931
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-preview-data</td><td style="padding-right: 10px; vertical-align: top">2#202</td><td style="padding-right: 10px; vertical-align: top">Max 256000 binary octets containing the ObjectData Preview data</td></tr>
932
- <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />Pre ObjectData Descriptor Record</td></tr>
933
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">size-mode</td><td style="padding-right: 10px; vertical-align: top">7#010</td><td style="padding-right: 10px; vertical-align: top">1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer</td></tr>
934
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">max-subfile-size</td><td style="padding-right: 10px; vertical-align: top">7#020</td><td style="padding-right: 10px; vertical-align: top">4 octet binary maximum subfile dataset(s) size</td></tr>
935
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-size-announced</td><td style="padding-right: 10px; vertical-align: top">7#090</td><td style="padding-right: 10px; vertical-align: top">4 octet binary objectdata size if known at beginning of transfer</td></tr>
936
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">maximum-objectdata-size</td><td style="padding-right: 10px; vertical-align: top">7#095</td><td style="padding-right: 10px; vertical-align: top">4 octet binary largest possible objectdata size</td></tr>
937
- <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />ObjectData</td></tr>
938
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">subfile</td><td style="padding-right: 10px; vertical-align: top">8#010</td><td style="padding-right: 10px; vertical-align: top">Subfile DataSet containing the objectdata itself; repeatable</td></tr>
939
- <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />Post ObjectData Descriptor Record</td></tr>
940
- <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">confirmed-objectdata-size</td><td style="padding-right: 10px; vertical-align: top">9#010</td><td style="padding-right: 10px; vertical-align: top">4 octet binary total objectdata size</td></tr>
941
- </table>
942
- <p>
943
- <a href="#backtotop">Go to Top</a>
944
- </p>
945
- </div>
23
  <tr><td colspan="2">
24
  <h3 id="[+key+]">[+value+]</h3>
25
  </td></tr>
26
+ <!-- template="subheader" -->
27
+ <tr><td colspan="2">
28
+ <h4 id="[+key+]">[+value+]</h4>
29
+ </td></tr>
30
  <!-- template="radio" -->
31
  <tr valign="top"><th scope="row" style="text-align:right;">
32
  [+value+]
82
  </div>
83
  <!-- template="shortcode-item" -->
84
  <li><code>[[+name+]]</code> - [+description+]</li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  <!-- template="tablist" -->
86
  <h2 class="nav-tab-wrapper">
87
  [+tablist+]
179
  </td></tr>
180
  </table>
181
  <hr width="650" align="left" />
182
+
183
  <!-- template="mla-gallery-tab" -->
184
  <h3>MLA Gallery Options</h3>
185
  <p><a href="#markup">Go to Markup Templates</a></p>
186
+ <p>In this tab you can view the default style and markup templates. You can also define additional templates and use the <code>mla_style</code> and <code>mla_markup</code> parameters to apply them in your <code>[mla_gallery]</code> shortcodes.<strong>NOTE:</strong> template additions and changes will not be made permanent until you click "Save Changes" at the bottom of this page.</p>
187
  <form method="post" class="mla-display-settings-page" id="mla-display-settings-mla-gallery-tab">
188
  [+options_list+]
189
  <h4>Style Templates</h4>
200
  [+_wpnonce+]
201
  [+_wp_http_referer+]
202
  </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
 
204
+ <!-- template="iptc-exif-tab" -->
205
+ <h3>IPTC &amp; EXIF Processing Options</h3>
206
+ <p>In this tab you can define the rules for mapping IPTC (International Press Telecommunications Council) and EXIF (EXchangeable Image File) metadata to WordPress standard attachment fields, taxonomy terms and custom fields. <strong>NOTE:</strong> settings changes will not be made permanent until you click "Save Changes" at the bottom of this page.</p>
207
+ <p>If you click any of the three "Map All Attachments Now" buttons, the rules currently displayed in that category will be immediately applied to <strong>all</strong> of the attachments in your site. Rule changes are <strong>not</strong> saved when you click any of these buttons.<strong>THERE IS NO UNDO FOR THESE ACTIONS!</strong></p>
 
 
208
  <p>
209
+ You can find more information about all of these topics on the <a href="http:/wp-admin/options-general.php?page=mla-settings-menu&amp;mla_tab=documentation#mla_iptc_exif_mapping" title="IPTC &amp; EXIF Processing Options documentation">Documentation tab</a>.
 
210
  </p>
211
+ <form method="post" class="mla-display-settings-page" id="mla-display-settings-iptc-exif-tab">
212
+ &nbsp;<br />
213
+ [+options_list+]
214
+ <h4>Standard field mapping <input name="iptc-exif-options-process-standard" type="submit" class="button-secondary" style="margin-left: 20px" value="Map All Attachments Now" /></h4>
215
+ <table class="optiontable">
216
+ [+standard_options_list+]
217
+ </table>
218
+ <h4>Taxonomy term mapping <input name="iptc-exif-options-process-taxonomy" type="submit" class="button-secondary" style="margin-left: 10px" value="Map All Attachments Now" /></h4>
219
+ <table class="optiontable">
220
+ [+taxonomy_options_list+]
221
+ </table>
222
+ <h4>Custom field mapping <input name="iptc-exif-options-process-custom" type="submit" class="button-secondary" style="margin-left: 25px" value="Map All Attachments Now" /></h4>
223
+ <table class="optiontable">
224
+ [+custom_options_list+]
225
+ </table>
226
+ <p class="submit" style="padding-bottom: 0;">
227
+ <input name="iptc-exif-options-save" type="submit" class="button-primary" value="Save Changes" />
228
+ </p>
229
+ [+_wpnonce+]
230
+ [+_wp_http_referer+]
231
+ </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
tpls/admin-display-single-document.tpl CHANGED
@@ -19,7 +19,8 @@
19
  [+view_args+][+wpnonce+]
20
  <p class="submit" style="padding-bottom: 0;">
21
  <input name="update" type="submit" class="button-primary" value="Update" />&nbsp;
22
- <input name="cancel" type="submit" class="button-primary" value="Cancel" />
 
23
  </p>
24
  <div id="poststuff" class="metabox-holder has-right-sidebar">
25
  <div class="mla-media-single">
19
  [+view_args+][+wpnonce+]
20
  <p class="submit" style="padding-bottom: 0;">
21
  <input name="update" type="submit" class="button-primary" value="Update" />&nbsp;
22
+ <input name="cancel" type="submit" class="button-primary" value="Cancel" />&nbsp;
23
+ <input name="map-iptc-exif" type="submit" class="button-secondary" value="Map IPTC/EXIF metadata" />
24
  </p>
25
  <div id="poststuff" class="metabox-holder has-right-sidebar">
26
  <div class="mla-media-single">
tpls/admin-display-single-image.tpl CHANGED
@@ -19,7 +19,8 @@
19
  [+view_args+][+wpnonce+]
20
  <p class="submit" style="padding-bottom: 0;">
21
  <input name="update" type="submit" class="button-primary" value="Update" />&nbsp;
22
- <input name="cancel" type="submit" class="button-primary" value="Cancel" />
 
23
  </p>
24
  <div id="poststuff" class="metabox-holder has-right-sidebar">
25
  <div class="mla-media-single">
19
  [+view_args+][+wpnonce+]
20
  <p class="submit" style="padding-bottom: 0;">
21
  <input name="update" type="submit" class="button-primary" value="Update" />&nbsp;
22
+ <input name="cancel" type="submit" class="button-primary" value="Cancel" />&nbsp;
23
+ <input name="map-iptc-exif" type="submit" class="button-secondary" value="Map IPTC/EXIF metadata" />
24
  </p>
25
  <div id="poststuff" class="metabox-holder has-right-sidebar">
26
  <div class="mla-media-single">
tpls/admin-inline-edit-form.tpl CHANGED
@@ -91,6 +91,7 @@
91
  <p class="submit inline-edit-save">
92
  <a accesskey="c" href="#inline-edit" title="Cancel" class="button-secondary cancel alignleft">Cancel</a>
93
  <input accesskey="s" type="submit" name="bulk_edit" id="bulk_edit" class="button-primary alignright" value="Update" />
 
94
  <input type="hidden" name="page" value="mla-menu" />
95
  <input type="hidden" name="screen" value="media_page_mla-menu" />
96
  <span class="error" style="display:none"></span> <br class="clear" />
91
  <p class="submit inline-edit-save">
92
  <a accesskey="c" href="#inline-edit" title="Cancel" class="button-secondary cancel alignleft">Cancel</a>
93
  <input accesskey="s" type="submit" name="bulk_edit" id="bulk_edit" class="button-primary alignright" value="Update" />
94
+ <input accesskey="m" type="submit" name="bulk_map" id="bulk_map" class="button-secondary alignright" value="Map IPTC/EXIF metadata" />
95
  <input type="hidden" name="page" value="mla-menu" />
96
  <input type="hidden" name="screen" value="media_page_mla-menu" />
97
  <span class="error" style="display:none"></span> <br class="clear" />
tpls/documentation-settings-tab.tpl ADDED
@@ -0,0 +1,813 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- template="documentation-tab" -->
2
+ <div class="mla-display-settings-page" id="mla-display-settings-documentation-tab">
3
+ <h3>In this tab, jump to:</h3>
4
+ <ul style="list-style-position:inside; list-style:disc; line-height: 18px">
5
+ <li>
6
+ <a href="#mla_gallery"><strong>MLA Gallery Shortcode</strong></a>
7
+ </li>
8
+ <li>
9
+ <a href="#mla_gallery_templates"><strong>Style and Markup Templates</strong></a>
10
+ </li>
11
+ <li>
12
+ <a href="#mla_style_parameters"><strong>Substitution parameters for style templates</strong></a>
13
+ </li>
14
+ <li>
15
+ <a href="#mla_markup_parameters"><strong>Substitution parameters for markup templates</strong></a>
16
+ </li>
17
+ <li>
18
+ <a href="#mla_attachment_parameters"><strong>Attachment-specific substitution parameters for markup templates</strong></a>
19
+ </li>
20
+ <li>
21
+ <a href="#mla_variable_parameters"><strong>Field-level markup substitution parameters</strong></a>
22
+ </li>
23
+ <li>
24
+ <a href="#mla_table_example"><strong>A table-based template example</strong></a>
25
+ </li>
26
+ <li>
27
+ <a href="#mla_iptc_exif_mapping"><strong>IPTC &amp; EXIF Processing Options</strong></a>
28
+ </li>
29
+ <li>
30
+ <a href="#mla_iptc_identifiers"><strong>IPTC identifiers and friendly names</strong></a>
31
+ </li>
32
+ </ul>
33
+ <h3>Plugin Code Documentation</h3>
34
+ <p>
35
+ If you are a developer interested in how this plugin is put together, you should
36
+ have a look at the <a title="Consult the phpDocs documentation" href="[+phpDocs_url+]" target="_blank" style="font-size:14px; font-weight:bold">phpDocs documentation</a>.
37
+ </p>
38
+ <a name="mla_gallery"></a>
39
+ &nbsp;
40
+ <p>
41
+ <a href="#backtotop">Go to Top</a>
42
+ </p>
43
+ <div class="mla_gallery_help" style="width:700px">
44
+ <h3>MLA Gallery Shortcode</h3>
45
+ <p>
46
+ The [mla_gallery] shortcode is used in a post, page or custom post type to add a gallery of images and/or other Media Library items (such as PDF documents). MLA Gallery is a superset of the [gallery] shortcode in the WordPress core; it is compatible with [gallery] and provides many enhancements. These include:
47
+ </p>
48
+ <ul class="mla_settings">
49
+ <li>Full support for WordPress categories, tags and custom taxonomies. You can select items with any of the taxonomy parameters documented in the WP_Query class.</li>
50
+ <li>Support for all post_mime_type values, not just images.</li>
51
+ <li>Media Library items need not be "attached" to the post. You can build a gallery with any combination of items in the Library using taxonomy terms, custom fields and more.</li>
52
+ <li>Control over the styles, markup and content of each gallery using the Style and Markup Templates documented below.</li>
53
+ </ul>
54
+ <p>
55
+ All of the options/parameters documented for the [gallery] shortcode are supported by the [mla_gallery] shortcode; you can find them in the WordPress Codex. Most of the parameters documented for the WP_Query class are also supported; see the WordPress Codex. Because the [mla_gallery] shortcode is designed to work with Media Library items, there are some parameter differences and extensions; these are documented below.
56
+ </p>
57
+ <h4>Gallery Display Style</h4>
58
+ <p>
59
+ Two [mla_gallery] parameters provide a way to apply custom style and markup templates to your [mla_gallery] display. These parameters replace the default style and/or markup templates with templates you define on the "MLA Gallery" tab of the Settings page. On the "MLA Gallery" tab you can also select one of your custom templates to replace the built-in default template for all [mla_gallery] shortcodes the do not contain one of these parameters.
60
+ </p>
61
+ <table>
62
+ <tr>
63
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_style</td>
64
+ <td>replaces the default style template for an [mla_gallery] shortcode</td>
65
+ </tr>
66
+ <tr>
67
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_markup</td>
68
+ <td>replaces the default markup template for an [mla_gallery] shortcode</td>
69
+ </tr>
70
+ </table>
71
+ <p>
72
+ Three [mla_gallery] parameters provide control over the placement, size and spacing of gallery items without requiring the use of custom Style templates.
73
+ </p>
74
+ <table>
75
+ <tr>
76
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_float</td>
77
+ <td>specifies the float attribute of the ".gallery-item" style. Acceptable values are "left", "none", "right"; the default value is "right" if current locale is RTL, "left" on LTR (left-to-right inline flow, e.g., English).</td>
78
+ </tr>
79
+ <tr>
80
+ <tr>
81
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_margin</td>
82
+ <td>specifies the margin attribute (in percent) of the ".gallery-item" style. The default value is "1.5" percent.</td>
83
+ </tr>
84
+ <tr>
85
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_itemwidth</td>
86
+ <td>specifies the width attribute (in percent) of the ".gallery-item" style. The default value is calculated by subtracting twice the margin from 100%, then dividing by the number of gallery columns. For example, the default value is "32", or (100 - (2 * 1.5)) / 3.</td>
87
+ </tr>
88
+ </table>
89
+ <p>
90
+ These parameters are only important if the gallery thumbnails are too large to fit within the width of the page on which they appear. For example, if you code [mla_gallery size=full], the browser will automatically scale down large images to fit within the width attribute (in percent) of the ".gallery-item" style. The default 1.5% margin will ensure that the images do not overlap; you can increase it to add more space between the gallery items. You can also reduce the itemwidth parameter to increase the left and right space between the items.
91
+ </p>
92
+ <h4>Gallery Display Content</h4>
93
+ <p>
94
+ Three [mla_gallery] parameters provide an easy way to control the contents of gallery items without requiring the use of custom Markup templates.
95
+ </p>
96
+ <table>
97
+ <tr>
98
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_link_text</td>
99
+ <td>replaces the thumbnail image or attachment title text displayed for each gallery item</td>
100
+ </tr>
101
+ <tr>
102
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_rollover_text</td>
103
+ <td>replaces the attachment title text displayed when the mouse rolls or hovers over the gallery thumbnail</td>
104
+ </tr>
105
+ <tr>
106
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_caption</td>
107
+ <td>replaces the attachment caption text displayed beneath the thumbnail of each gallery item</td>
108
+ </tr>
109
+ </table>
110
+ <p>
111
+ All three of these parameters support the Markup and Attachment-specific substitution arguments defined for Markup Templates. For example, if you code `mla_rollover_text="{+date+} : {+description+}"`, the rollover text will contain the upload date, a colon, and the full description of each gallery item. Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the shortcode parser reserves square brackets ("[" and "]") for its own use.
112
+ </p>
113
+ <h4>Order, Orderby</h4>
114
+ <p>
115
+ To order the gallery randomly, use "orderby=rand". To suppress gallery ordering you can use "orderby=none" or "order=rand".
116
+ </p>
117
+ <p>The Orderby parameter specifies which database field is used to sort the gallery. You can order the gallery by any of the values documented for the WP_Query class reference in the Codex; you are NOT restricted to the values documented for the [gallery] shortcode.
118
+ </p>
119
+ <h4>Size</h4>
120
+ <p>
121
+ The Size parameter specifies the image size to use for the thumbnail display. Valid values include "thumbnail", "medium", "large", "full" and any additional image size that was registered with add_image_size(). The default value is "thumbnail". You can use "none" or "" to suppress thumbnail display and substitute the item title string for the image/icon.
122
+ </p>
123
+ <p>
124
+ The [mla_gallery] shortcode supports an additional Size value, "icon", which shows a 60x60 pixel thumbnail for image items and an appropriate icon for non-image items such as PDF or text files.
125
+ </p>
126
+ <h4>Link</h4>
127
+ <p>
128
+ The Link parameter specifies the target for the link from the gallery to the attachment. The default value, "permalink", links to the attachment's media page. The "file" and "full" values link directly to the attachment file.
129
+ </p>
130
+ <p>
131
+ For image attachments you can also specify the size of the image file you want to link to. Valid values include "thumbnail", "medium", "large" and any additional image size that was registered with add_image_size(). If the specified size is not available or if the attachment is not an image, the link will go directly to the attachment file.
132
+ </p>
133
+ <h4>Include, Exclude</h4>
134
+ <p>
135
+ You can use "post_parent=all" to include or exclude attachments regardless of which post or page they are attached to. You can use "post_mime_type=all" to include or exclude attachments of all MIME types, not just images.
136
+ </p>
137
+ <h4>Post ID, "ids", Post Parent</h4>
138
+ <p>
139
+ The "id" parameter lets you specify a post ID for your query. If the "id" parameter is not specified, the [mla_gallery] behavior differs from the [gallery] behavior. If your query uses taxonomy or custom field parameters, "author", "author_name" or "s" (search term), then the query will NOT be restricted to items attached to the current post. This lets you build a gallery with any combination of Media Library items that match the parameters.
140
+ </p>
141
+ <p>
142
+ For WordPress 3.5 and later, the "ids" parameter lets you specify a list of Post IDs. The attachment(s) matching the "ids" values will be displayed in the order specified by the list.
143
+ </p>
144
+ <p>
145
+ You can use the "post_parent" to override the default behavior. If you set "post_parent" to a specific post ID, only the items attached to that post are displayed. If you set "post_parent" to "current", only the items attached to the current post are displayed. If you set "post_parent" to "all", the query will not have a post ID or post_parent parameter.
146
+ </p>
147
+ <p>
148
+ For example, [mla_gallery tag="artisan"] will display all images having the specified tag value, regardless of which post (if any) they are attached to. If you use [mla_gallery tag="artisan" post_parent="current"] it will display images having the specified tag value only if they are attached to the current post.
149
+ </p>
150
+ <h4>Author, Author Name</h4>
151
+ <p>
152
+ You can query by author's id or the "user_nicename" value (not the "display_name" value). Multiple author ID values are allowed, but only one author name value can be entered.
153
+ </p>
154
+ <h4>Category Parameters</h4>
155
+ <p>
156
+ Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
157
+ </p>
158
+ <h4>Tag Parameters</h4>
159
+ <p>
160
+ Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
161
+ </p>
162
+ <p>
163
+ Note that the "tag_id" parameter requires exactly one tag ID; multiple IDs are not allowed. You can use the "tag__in" parameter to query for multiple values.
164
+ </p>
165
+ <h4>Taxonomy Parameters</h4>
166
+ <p>
167
+ The [mla_gallery] shortcode supports the simple "{tax} (string)" values (deprecated as of WordPress version 3.1) as well as the more powerful "tax_query" value.
168
+ </p>
169
+ <p>
170
+ For simple queries, enter the taxonomy name and the term(s) that must be matched, e.g.:
171
+ </p>
172
+ <ul class="mla_settings">
173
+ <li>[mla_gallery attachment_category='separate-category,another-category']</li>
174
+ </ul>
175
+ <p>
176
+ Note that you must use the name/slug strings for taxonomy and terms, not the "title" strings.
177
+ </p>
178
+ <p>
179
+ More complex queries can be specified by using "tax_query", e.g.:
180
+ </p>
181
+ <ul class="mla_settings">
182
+ <li>[mla_gallery tax_query="array(array('taxonomy' => 'attachment_tag','field' => 'slug','terms' => 'artisan'))"]</li>
183
+ <li>[mla_gallery tax_query="array(array('taxonomy' => 'attachment_category','field' => 'id','terms' => array(11, 12)))" post_parent=current post_mime_type='']</li>
184
+ </ul>
185
+ <p>
186
+ The first example is equivalent to the simple query "attachment_tag=artisan". The second example matches items of all MIME types, attached to the current post, having an attachment_category ID of 11 or 12.
187
+ </p>
188
+ <p>
189
+ When embedding the shortcode in the body of a post, be very careful when coding the tax_query; it must be a valid PHP array specification. In particular, code the query on one line; splitting it across lines can insert HTML &#8249;br&#8250; tags and corrupt your query.
190
+ </p>
191
+ <p>
192
+ Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
193
+ </p>
194
+ <h4>Post Type, Post Status and Post MIME Type</h4>
195
+ <p>
196
+ For compatibility with the WordPress [gallery] shortcode, these parameters default to "post_type=attachment", "post_status=inherit" and "post_mime_type=image". You can override the defaults to, for example, display items in the trash ("post_status=trash") or PDF documents ("post_mime_type=application/pdf") or all MIME types ("post_mime_type=all"). I'm not sure why you'd want to override "post_type", but you are welcome to experiment and let me know what you find.
197
+ </p>
198
+ <h4>Pagination Parameters</h4>
199
+ <p>
200
+ The [mla_gallery] shortcode supplies "nopaging=true" as a default parameter. If you are working with a template that supports pagination you can replace this with specific values for "posts_per_page", "posts_per_archive_page", "paged" and/or "offset" . You can also pass "paged=current" to suppress the "nopaging" default; "current" will be replaced by the appropriate value (get_query_var('paged')).
201
+ </p>
202
+ <h4>Time Parameters</h4>
203
+ <p>
204
+ Support for time parameters is not included in the current version. I may add it later - let me know if you need it.
205
+ </p>
206
+ <h4>Custom Field Parameters</h4>
207
+ <p>
208
+ The [mla_gallery] shortcode supports the simple custom field parameters as well as the more powerful "meta_query" parameters made available as of WordPress 3.1.
209
+ </p>
210
+ <p>
211
+ When embedding the shortcode in the body of a post, be very careful when coding the meta_query; it must be a valid PHP array specification. In particular, code the query on one line; splitting it across lines can insert HTML <br> tags and corrupt your query.
212
+ </p>
213
+ <p>
214
+ Remember to use "post_parent=current" if you want to restrict your query to items attached to the current post.
215
+ </p>
216
+ <h4>Search Keywords</h4>
217
+ <p>
218
+ The search parameter ("s=keyword") will perform a keyword search. A cursory inspection of the code in /wp-includes/query.php reveals that the search includes the "post_title" and "post_content" (Description) fields but not the "post_excerpt" (Caption) field. An SQL "LIKE" clause is composed and added to the search criteria. I haven't done much testing of this parameter.
219
+ </p>
220
+ <h4>Debugging Output</h4>
221
+ <p>
222
+ The "mla_debug" parameter controls the display of information about the query parameters and SQL statements used to retrieve gallery items. If you code `mla_debug=true` you will see a lot of information added to the post or page containing the gallery. Of course, this parameter should <strong>only</strong> be used in a development/debugging environment; it's quite ugly.
223
+ </p>
224
+ <a name="mla_gallery_templates"></a>
225
+ &nbsp;
226
+ <p>
227
+ <a href="#backtotop">Go to Top</a>
228
+ </p>
229
+ <div class="mla_gallery_help" style="width:700px">
230
+ <h3>MLA Gallery Style and Markup Templates</h3>
231
+ <p>
232
+ The Style and Markup templates give you great flexibility for the content and format of each <code>[mla_gallery]</code>. You can define as many templates as you need.
233
+ </p>
234
+ <p>
235
+ Style templates provide gallery-specific CSS inline styles. Markup templates provide the HTML markup for 1) the beginning of the gallery, 2) the beginning of each row, 3) each gallery item, 4) the end of each row and 5) the end of the gallery. The attachment-specific markup parameters let you choose among most of the attachment fields, not just the caption.
236
+ </p>
237
+ <p>
238
+ The MLA Gallery tab on the Settings page lets you add, change and delete custom templates. The default tempates are also displayed on this tab for easy reference.
239
+ </p>
240
+ <p>
241
+ In a template, substitution parameters are surrounded by opening ('[+') and closing ('+]') delimiters to separate them from the template text; see the default templates for many examples.
242
+ </p>
243
+ <a name="mla_style_parameters"></a>
244
+ &nbsp;
245
+ <p>
246
+ <a href="#backtotop">Go to Top</a>
247
+ </p>
248
+ <h4>Substitution parameters for style templates</h4>
249
+ <table>
250
+ <tr>
251
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_style</td>
252
+ <td>shortcode parameter, default = 'default'</td>
253
+ </tr>
254
+ <tr>
255
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_markup</td>
256
+ <td>shortcode parameter, default = 'default'</td>
257
+ </tr>
258
+ <tr>
259
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">instance</td>
260
+ <td>starts at '1', incremented for each additional shortcode in the post/page</td>
261
+ </tr>
262
+ <tr>
263
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">id</td>
264
+ <td>post_ID of the post/page in which the gallery appears</td>
265
+ </tr>
266
+ <tr>
267
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemtag</td>
268
+ <td>shortcode parameter, default = 'dl'</td>
269
+ </tr>
270
+ <tr>
271
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">icontag</td>
272
+ <td>shortcode parameter, default = 'dt'</td>
273
+ </tr>
274
+ <tr>
275
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">captiontag</td>
276
+ <td>shortcode parameter, default = 'dd'</td>
277
+ </tr>
278
+ <tr>
279
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">columns</td>
280
+ <td>shortcode parameter, default = '3'</td>
281
+ </tr>
282
+ <tr>
283
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemwidth</td>
284
+ <td>shortcode parameter, default = '97' if 'columns' is zero, or 97/columns, e.g., '32' if columns is '3'</td>
285
+ </tr>
286
+ <tr>
287
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">margin</td>
288
+ <td>shortcode parameter, default = '1.5' (percent)</td>
289
+ </tr>
290
+ <tr>
291
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">float</td>
292
+ <td>'right' if current locale is RTL, 'left' if not</td>
293
+ </tr>
294
+ <tr>
295
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">selector</td>
296
+ <td>"mla_gallery-{$instance}", e.g., mla_gallery-1</td>
297
+ </tr>
298
+ <tr>
299
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">size_class</td>
300
+ <td>shortcode 'size' parameter, default = 'thumbnail'</td>
301
+ </tr>
302
+ </table>
303
+ <a name="mla_markup_parameters"></a>
304
+ &nbsp;
305
+ <p>
306
+ <a href="#backtotop">Go to Top</a>
307
+ </p>
308
+ <h4>Substitution parameters for markup templates</h4>
309
+ <table>
310
+ <tr>
311
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_style</td>
312
+ <td>shortcode parameter, default = 'default'</td>
313
+ </tr>
314
+ <tr>
315
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_markup</td>
316
+ <td>shortcode parameter, default = 'default'</td>
317
+ </tr>
318
+ <tr>
319
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">instance</td>
320
+ <td>starts at '1', incremented for each additional shortcode in the post/page</td>
321
+ </tr>
322
+ <tr>
323
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">id</td>
324
+ <td>post_ID of the post/page in which the gallery appears</td>
325
+ </tr>
326
+ <tr>
327
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemtag</td>
328
+ <td>shortcode parameter, default = 'dl'</td>
329
+ </tr>
330
+ <tr>
331
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">icontag</td>
332
+ <td>shortcode parameter, default = 'dt'</td>
333
+ </tr>
334
+ <tr>
335
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">captiontag</td>
336
+ <td>shortcode parameter, default = 'dd'</td>
337
+ </tr>
338
+ <tr>
339
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">columns</td>
340
+ <td>shortcode parameter, default = '3'</td>
341
+ </tr>
342
+ <tr>
343
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">itemwidth</td>
344
+ <td>shortcode parameter, default = '97' if 'columns' is zero, or 97/columns, e.g., '32' if columns is '3'</td>
345
+ </tr>
346
+ <tr>
347
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">margin</td>
348
+ <td>shortcode parameter, default = '1.5' (percent)</td>
349
+ </tr>
350
+ <tr>
351
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">float</td>
352
+ <td>'right' if current locale is RTL, 'left' if not</td>
353
+ </tr>
354
+ <tr>
355
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">selector</td>
356
+ <td>"mla_gallery-{$instance}", e.g., mla_gallery-1</td>
357
+ </tr>
358
+ <tr>
359
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">size_class</td>
360
+ <td>shortcode 'size' parameter, default = "thumbnail". If this parameter contains "none" or an empty string (size="") the attachment title will be displayed instead of the image/icon.</td>
361
+ </tr>
362
+ <tr>
363
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">base_url</td>
364
+ <td>absolute URL to the upload directory, without trailing slash</td>
365
+ </tr>
366
+ <tr>
367
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">base_dir</td>
368
+ <td>full path to the upload directory, without trailing slash</td>
369
+ </tr>
370
+ </table>
371
+ <a name="mla_attachment_parameters"></a>
372
+ &nbsp;
373
+ <p>
374
+ <a href="#backtotop">Go to Top</a>
375
+ </p>
376
+ <h4>Attachment-specific substitution parameters for markup templates</h4>
377
+ <table>
378
+ <tr>
379
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">index</td>
380
+ <td>starts at '1', incremented for each attachment in the gallery</td>
381
+ </tr>
382
+ <tr>
383
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">caption</td>
384
+ <td>if captiontag is not empty, contains caption/post_excerpt</td>
385
+ </tr>
386
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">excerpt</td>
387
+ <td>always contains post_excerpt</td>
388
+ </tr>
389
+ <tr>
390
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">attachment_ID</td>
391
+ <td>attachment post_ID</td>
392
+ </tr>
393
+ <tr>
394
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mime_type</td>
395
+ <td>attachment post_mime_type</td>
396
+ </tr>
397
+ <tr>
398
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">menu_order</td>
399
+ <td>attachment menu_order</td>
400
+ </tr>
401
+ <tr>
402
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">date</td>
403
+ <td>attachment post_date</td>
404
+ </tr>
405
+ <tr>
406
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">modified</td>
407
+ <td>attachment post_modified</td>
408
+ </tr>
409
+ <tr>
410
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent</td>
411
+ <td>attachment post_parent (ID)</td>
412
+ </tr>
413
+ <tr>
414
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent_title</td>
415
+ <td>post_title of the parent, or '(unattached)'</td>
416
+ </tr>
417
+ <tr>
418
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent_type</td>
419
+ <td>'post', 'page' or custom post type of the parent</td>
420
+ </tr>
421
+ <tr>
422
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">parent_date</td>
423
+ <td>upload date of the parent</td>
424
+ </tr>
425
+ <tr>
426
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">title</td>
427
+ <td>attachment post_title</td>
428
+ </tr>
429
+ <tr>
430
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">slug</td>
431
+ <td>attachment post_name</td>
432
+ </tr>
433
+ <tr>
434
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">width</td>
435
+ <td>width in pixels, for image types</td>
436
+ </tr>
437
+ <tr>
438
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">height</td>
439
+ <td>height in pixels, for image types</td>
440
+ </tr>
441
+ <tr>
442
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">image_meta</td>
443
+ <td>image metadata, for image types</td>
444
+ </tr>
445
+ <tr>
446
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">image_alt</td>
447
+ <td>ALT text, for image types</td>
448
+ </tr>
449
+ <tr>
450
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">base_file</td>
451
+ <td>path and file name relative to uploads directory</td>
452
+ </tr>
453
+ <tr>
454
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">path</td>
455
+ <td>path portion of base_file</td>
456
+ </tr>
457
+ <tr>
458
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">file</td>
459
+ <td>file name portion of base_file</td>
460
+ </tr>
461
+ <tr>
462
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">description</td>
463
+ <td>attachment post_content</td>
464
+ </tr>
465
+ <tr>
466
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">file_url</td>
467
+ <td>attachment guid</td>
468
+ </tr>
469
+ <tr>
470
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">author_id</td>
471
+ <td>attachment post_author</td>
472
+ </tr>
473
+ <tr>
474
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">author</td>
475
+ <td>author display_name, or 'unknown'</td>
476
+ </tr>
477
+ <tr>
478
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">link</td>
479
+ <td>hyperlink to the attachment page (default) or file (shortcode 'link' parameter = "file")</td>
480
+ </tr>
481
+ <tr>
482
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">pagelink</td>
483
+ <td>always contains a hyperlink to the attachment page</td>
484
+ </tr>
485
+ <tr>
486
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">filelink</td>
487
+ <td>always contains a hyperlink to the attachment file</td>
488
+ </tr>
489
+ <tr>
490
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">link_url</td>
491
+ <td>the URL portion of <em>link</em></td>
492
+ </tr>
493
+ <tr>
494
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">pagelink_url</td>
495
+ <td>the URL portion of <em>pagelink</em></td>
496
+ </tr>
497
+ <tr>
498
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">filelink_url</td>
499
+ <td>the URL portion of <em>filelink</em></td>
500
+ </tr>
501
+ <tr>
502
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_content</td>
503
+ <td>complete content of the gallery item link. This will either be an "&lt;img ... &gt;" tag<br />or a text string for non-image items</td>
504
+ </tr>
505
+ <tr>
506
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_width</td>
507
+ <td>for image/icon items, width of the gallery image/icon</td>
508
+ </tr>
509
+ <tr>
510
+ <tr>
511
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_height</td>
512
+ <td>for image/icon items, height of the gallery image/icon</td>
513
+ </tr>
514
+ <tr>
515
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">thumbnail_url</td>
516
+ <td>for image/icon items, URL of the gallery image/icon</td>
517
+ </tr>
518
+ </table>
519
+ <a name="mla_variable_parameters"></a>
520
+ &nbsp;
521
+ <p>
522
+ <a href="#backtotop">Go to Top</a>
523
+ </p>
524
+ <h3>Field-level Markup Substitution Parameters</h3>
525
+ <p>
526
+ Field-level substitution parameters let you access custom fields, taxonomy terms, IPTC metadata and EXIF metadata for display in an MLA gallery. For these parameters, the value you code within the surrounding the ('[+') and ('+]') delimiters has three parts; the prefix, the field name and the optional ",single" indicator.
527
+ </p>
528
+ <p>
529
+ The <strong>prefix</strong> defines which type of field-level data you are accessing. It must immediately follow the opening ('[+') delimiter and end with a colon (':'). There can be no spaces in this part of the parameter.
530
+ </p>
531
+ <p>
532
+ The <strong>field name</strong> defines which field-level data element you are accessing. It must immediately follow the colon (':'). There can be no spaces between the colon and the field name. Spaces are allowed within the field name to accomodate custom field names that contain them.
533
+ </p>
534
+ <p>
535
+ The optional <strong>",single" indicator</strong> defines how to handle fields with multiple values. It must immediately follow the field name and end with the closing delimiter ('+]'). There can be no spaces in this part of the parameter. If this part of the parameter is present, only the first value of the field will be returned. Use this indicator to limit the data returned for a custom field, taxonomy or metadata field that can have many values.
536
+ </p>
537
+ <p>
538
+ There are four prefix values for field-level data. Prefix values must be coded as shown; all lowercase letters.
539
+ </p>
540
+ <table>
541
+ <tr>
542
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">custom</td>
543
+ <td>WordPress Custom Fields, which you can define and populate on the Edit Media screen. The field name, or key, can contain spaces and some punctuation characters. You <strong>cannot use the plus sign ('+')</strong> in a field name you want to use with <code>[mla_gallery]</code>. Custom field names are case-sensitive; "client" and "Client" are not the same.</td>
544
+ </tr>
545
+ <tr>
546
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">terms</td>
547
+ <td>WordPress Category, tag or custom taxonomy terms. For this category, you code the name of the taxonomy as the field name. The term(s) associated with the attachment will be displayed in the <code>[mla_gallery]</code>. Note that you must use the name/slug string for taxonomy, not the "title" string. For example, use "attachment-category" or "attachment-tag", not "Att. Category" or "Attachment Category".</td>
548
+ </tr>
549
+ <tr>
550
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">iptc</td>
551
+ <td>
552
+ The IPTC (International Press Telecommunications Council) metadata, if any, embedded in the image file. For this category, you can code any of the IPTC DataSet tag and field identifiers, e.g., "2#025" for the Keywords field. You can also use the "friendly name" MLA defines for most of the IPTC fields; see the <a href="#mla_iptc_identifiers">table of identifiers and friendly names</a> below. <br />
553
+ &nbsp;<br />
554
+ You can find more information in the <a href="http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">IPTC-NAA Information Interchange Model Version No. 4.1 specification</a>.</td>
555
+ </tr>
556
+ <tr>
557
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">exif</td>
558
+ <td>
559
+ The EXIF (EXchangeable Image File) metadata, if any, embedded in a JPEG DCT or TIFF Rev 6.0 image file.
560
+ Though the specification is not currently maintained by any industry or standards organization, almost all camera manufacturers use it. It is also supported by many image editing programs such as Adobe PhotoShop.
561
+ For this category, you can code any of the field names embedded in the image by the camera or editing software. The is no official list of standard field names, so you just have to know the names your camera and software use; field names are case-sensitive.
562
+ <br />&nbsp;<br />
563
+ You can find more information in the <a href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">Exchangeable image file format</a> article on Wikipedia.</td>
564
+ </tr>
565
+ </table>
566
+
567
+ <a name="mla_table_example"></a>
568
+ &nbsp;
569
+ <p>
570
+ <a href="#backtotop">Go to Top</a>
571
+ </p>
572
+ <h3>A Table-based Template Example</h3>
573
+ <p>
574
+ Here's a small example that shows a gallery using <code>&lt;table&gt;</code> markup.
575
+ The Item markup section shows how to use the "terms", "custom", "iptc" and "exif" substitution parameters.
576
+ </p>
577
+ <h4>Style Template</h4>
578
+ <code>
579
+ &lt;style type='text/css'&gt;<br />
580
+ &nbsp;&nbsp;#[+selector+] {<br />
581
+ &nbsp;&nbsp;&nbsp;&nbsp;margin: auto;<br />
582
+ &nbsp;&nbsp;}<br />
583
+ &nbsp;&nbsp;#[+selector+] .gallery-row {<br />
584
+ &nbsp;&nbsp;&nbsp;&nbsp;float: [+float+];<br />
585
+ &nbsp;&nbsp;&nbsp;&nbsp;margin-top: 10px;<br />
586
+ &nbsp;&nbsp;&nbsp;&nbsp;border-top: 1px solid #ddd;<br />
587
+ &nbsp;&nbsp;&nbsp;&nbsp;text-align: center;<br />
588
+ &nbsp;&nbsp;&nbsp;&nbsp;width: [+itemwidth+]%;<br />
589
+ &nbsp;&nbsp;}<br />
590
+ &nbsp;&nbsp;#[+selector+] .gallery-row td.gallery-icon {<br />
591
+ &nbsp;&nbsp;&nbsp;&nbsp;width: 60;<br />
592
+ &nbsp;&nbsp;&nbsp;&nbsp;height: 60;<br />
593
+ &nbsp;&nbsp;&nbsp;&nbsp;vertical-align: top;<br />
594
+ &nbsp;&nbsp;}<br />
595
+ &nbsp;&nbsp;#[+selector+] .gallery-row .gallery-icon img {<br />
596
+ &nbsp;&nbsp;&nbsp;&nbsp;border: 2px solid #cfcfcf;<br />
597
+ &nbsp;&nbsp;}<br />
598
+ &nbsp;&nbsp;#[+selector+] .gallery-caption {<br />
599
+ &nbsp;&nbsp;&nbsp;&nbsp;margin-left: 0;<br />
600
+ &nbsp;&nbsp;&nbsp;&nbsp;vertical-align: top;<br />
601
+ &nbsp;&nbsp;}<br />
602
+ &lt;/style&gt;
603
+ </code>
604
+ <h4>Markup Template</h4>
605
+ <table width="700" border="0" cellpadding="5">
606
+ <tr>
607
+ <td style="vertical-align: top; font-weight:bold">Open</td>
608
+ <td><code>&lt;table id='[+selector+]' class='gallery galleryid-[+id+]<br />gallery-columns-[+columns+] gallery-size-[+size_class+]'&gt;</code></td>
609
+ </tr>
610
+ <tr>
611
+ <td style="vertical-align: top; font-weight:bold">Row Open</td>
612
+ <td><code>&lt;tr class='gallery-row'&gt;</code></td>
613
+ </tr>
614
+ <tr>
615
+ <td style="vertical-align: top; font-weight:bold">Item</td>
616
+ <td><code>&lt;td class='gallery-icon'&gt;<br />
617
+ &nbsp;&nbsp;&nbsp;&nbsp;[+link+]<br />
618
+ &lt;/td&gt;<br />
619
+ &lt;td class='wp-caption-text gallery-caption'&gt;<br />
620
+ &nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;[+title+]&lt;/strong&gt;&lt;br /&gt;<br />
621
+ &nbsp;&nbsp;&nbsp;&nbsp;[+description+]&lt;br /&gt;<br />
622
+ &nbsp;&nbsp;&nbsp;&nbsp;[+date+]<br />
623
+ &nbsp;&nbsp;&nbsp;&nbsp;[+custom:client,single+]<br />
624
+ &nbsp;&nbsp;&nbsp;&nbsp;[+terms:category+]<br />
625
+ &nbsp;&nbsp;&nbsp;&nbsp;[+iptc:caption-or-abstract+]<br />
626
+ &nbsp;&nbsp;&nbsp;&nbsp;[+iptc:2#025,single+]<br />
627
+ &nbsp;&nbsp;&nbsp;&nbsp;[+exif:Artist+]
628
+ &lt;/td&gt;</code>
629
+ </td>
630
+ </tr>
631
+ <tr>
632
+ <td style="vertical-align: top; font-weight:bold">Row Close</td>
633
+ <td><code>&lt;/tr&gt;</code></td>
634
+ </tr>
635
+ <tr>
636
+ <td style="vertical-align: top; font-weight:bold">Close</td>
637
+ <td><code>&lt;/table&gt;</code></td>
638
+ </tr>
639
+ </table>
640
+ <a name="mla_iptc_exif_mapping"></a>
641
+ &nbsp;
642
+ <p>
643
+ <a href="#backtotop">Go to Top</a>
644
+ </p>
645
+ <h3>IPTC &amp; EXIF Processing Options</h3>
646
+ <p>
647
+ Some image file formats such as JPEG DCT or TIFF Rev 6.0 support the addition of data about the image, or <em>metadata</em>, in the image file. Many popular image processing programs such as Adobe PhotoShop allow you to populate metadata fields with information such as a copyright notice, caption, the image author and keywords that categorize the image in a larger collection. WordPress uses some of this information to populate the Title, Slug and Description fields when you add an image to the Media Library.
648
+ </p>
649
+ <p>
650
+ The Media Library Assistant has powerful tools for copying image metadata to:
651
+ <ul style="line-height: 1em; list-style-type:disc; margin-left: 20px ">
652
+ <li>the WordPress standard fields, e.g., the Caption</li>
653
+ <li>taxonomy terms, e.g., in categories, tags or custom taxonomies</li>
654
+ <li>WordPress Custom Fields</li>
655
+ </ul>
656
+ You can define the rules for mapping metadata on the "IPTC/EXIF" tab of the Settings page. You can choose to automatically apply the rules when new media are added to the Library (or not). You can click the "Map IPTC/EXIF metadata" button on the Edit Media/Edit Single Item screen or in the bulk edit area to selectivelly apply the rules to one or more images. You can click the "Map All Attachments Now" to apply the rules to <strong>all of the images in your library</strong> at one time.
657
+ </p>
658
+ <h4>Mapping tables</h4>
659
+ <p>
660
+ The three mapping tables on the IPTC/EXIF tab have the following columns:
661
+ <dl>
662
+ <dt>Field Title</dt>
663
+ <dd>The standard field title, taxonomy name or Custom Field name. In the Custom Field table you can define a new field by entering its name in the blank box at the bottom of the list; the value will be saved when you click "Save Changes" at the bottom of the screen.
664
+ </dd>
665
+ <dt>IPTC Value</dt>
666
+ <dd>The IPTC (International Press Telecommunications Council) metadata, if any, embedded in the image file. For this category, you can select any of the IPTC DataSet tag and field identifiers, e.g., "2#025" for the Keywords field. The dropdown list has the identifier and the "friendly name" MLA defines for most of the IPTC fields; see the table of identifiers and friendly names in the table below. You can find more information in the <a href="http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf" title="IPTC-NAA Information Interchange Model Version No. 4.1 specification" target="_blank">IPTC-NAA Information Interchange Model Version No. 4.1 specification</a>.
667
+ </dd>
668
+ <dt>EXIF Value</dt>
669
+ <dd>The EXIF (EXchangeable Image File) metadata, if any, embedded in a JPEG DCT or TIFF Rev 6.0 image file.
670
+ Though the specification is not currently maintained by any industry or standards organization, almost all camera manufacturers use it. For this category, you can code any of the field names embedded in the image by the camera or editing software. The is no official list of standard field names, so you just have to know the names your camera and software use; field names are case-sensitive. You can find more information in the <a href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format" title="Exchangeable image file format Wikipedia article" target="_blank">Exchangeable image file format</a> article on Wikipedia.
671
+ </dd>
672
+ <dt>Priority</dt>
673
+ <dd>If both the IPTC Value and the EXIF Value are non-blank for a particular image, you can select which of the values will be used for the mapping.
674
+ </dd>
675
+ <dt>Existing Text</dt>
676
+ <dd>Images already in the Media Library will have non-blank values in many fields and may have existing terms in a taxonomy. You can select "Keep" to retain these values or "Replace" to always map a metadata value into the field. For a taxonomy, "Keep" will retain any terms already assigned to the item and "Replace" will delete any existing terms before assigning metadata values as terms.
677
+ </dd>
678
+ <dt>Parent</dt>
679
+ <dd>For hierarchical taxonomies such as Categories you can select one of the existing terms in the taxonomy as the parent term for any terms you are mapping from metadata values. For example, you could define "IPTC Keywords" as a parent and then assign all of the 2#025 values under that parent term.
680
+ </dd>
681
+ </dl>
682
+ <h4>Map All Attachments Now</h4>
683
+ <p>
684
+ To the right of each table heading is a "Map All Attachments Now" button. When you click one of these buttons, the mapping rules in that table are applied to <strong>all of the images in the Media Library.</strong> This is a great way to bring your media items up to date, but it is <strong>not reversible</strong>, so think carefully before you click!
685
+ Each button applies the rules in just one category, so you can update taxonomy terms without disturbing standard or custom field values.
686
+ </p>
687
+ <p>
688
+ These buttons <strong>do not</strong> save any rules changes you've made, so you can make a temporary rule change and process your attachments without disturbing the standing rules.
689
+ </p>
690
+ <h4>Other mapping techniques</h4>
691
+ <p>
692
+ There are two other ways you can perform metadata mapping to one or more existing Media Library images:
693
+ <dl>
694
+ <dt>Single Item Edit/Edit Media screen</dt>
695
+ <dd>For WordPress 3.5 and later, you can click the "Map IPTC/EXIF metadata" link in the "Image Metadata" postbox to apply the standing mapping rules to a single attachment. For WordPress 3.4.x and earlier, you can click the "Map IPTC/EXIF metadata" button on the Single Item Edit screen to apply the standing mapping rules.
696
+ </dd>
697
+ <dt>Bulk Action edit area</dt>
698
+ <dd>To perform mapping for a group of attachments you can use the Bulk Action facility on the main Assistant screen. Check the attachments you want to map, select "edit" from the Bulk Actions dropdown list and click "Apply". The bulk edit area will open with a list of the checked attachments in the left-hand column. You can click the "Map IPTC/EXIF metadata" button in the lower left corner of the area to apply the standing mapping rules to the attachments in the list.
699
+ </dd>
700
+ </p>
701
+ <h4>WordPress default title, slug and description mapping</h4>
702
+ <p>
703
+ When WordPress uploads a new image file that contains IPTC and EXIF metadata it automatically maps metadata values to the title (post_title), name/slug (post_name) and description (post_content) fields. This happens before the MLA mapping rules are applied, so if you want to override the default mapping you must select "Replace" in the "Existing Text" column.
704
+ </p>
705
+ <p>
706
+ The WordPress rules are somewhat complex; consult the source code if you need exact details. Roughly speaking, the priority order for mapping the post_title and post_name values from non-blank IPTC/EXIF metadata is:
707
+ <ol style="line-height: 1.25em; margin-left: 20px ">
708
+ <li>EXIF "Title"</li>
709
+ <li>EXIF "ImageDescription" (if less than 80 characters)</li>
710
+ <li>IPTC 2#105 "headline"</li>
711
+ <li>IPTC 2#005 "object-name"</li>
712
+ <li>IPTC 2#120 "caption-or-abstract" (if less than 80 characters)</li>
713
+ </ol>
714
+ The priority order for mapping the post_content value from non-blank IPTC/EXIF metadata is:
715
+ <ol style="line-height: 1.25em; margin-left: 20px ">
716
+ <li>EXIF "ImageDescription" (if different from post_title)</li>
717
+ <li>IPTC 2#120 "caption-or-abstract" (if different from post_title)</li>
718
+ </ol>
719
+ </p>
720
+ <a name="mla_iptc_identifiers"></a>
721
+ &nbsp;
722
+ <p>
723
+ <a href="#backtotop">Go to Top</a>
724
+ </p>
725
+ <h3>IPTC Identifiers and Friendly Names</h3>
726
+ <table>
727
+ <tr><td colspan="3" style="font-weight:bold">Envelope Record</td></tr>
728
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">model-version</td><td style="padding-right: 10px; vertical-align: top">1#000</td><td style="padding-right: 10px; vertical-align: top">2 octet binary IIM version number</td></tr>
729
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">destination</td><td style="padding-right: 10px; vertical-align: top">1#005</td><td style="padding-right: 10px; vertical-align: top">Max 1024 characters of Destination (ISO routing information); repeatable</td></tr>
730
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">file-format</td><td style="padding-right: 10px; vertical-align: top">1#020</td><td style="padding-right: 10px; vertical-align: top">2 octet binary file format number, see IPTC-NAA V4 Appendix A</td></tr>
731
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">file-format-version</td><td style="padding-right: 10px; vertical-align: top">1#022</td><td style="padding-right: 10px; vertical-align: top">2 octet binary file format version number</td></tr>
732
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">service-identifier</td><td style="padding-right: 10px; vertical-align: top">1#030</td><td style="padding-right: 10px; vertical-align: top">Max 10 characters of Service Identifier and product</td></tr>
733
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">envelope-number</td><td style="padding-right: 10px; vertical-align: top">1#040</td><td style="padding-right: 10px; vertical-align: top">8 Character Envelope Number</td></tr>
734
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">product-id</td><td style="padding-right: 10px; vertical-align: top">1#050</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters subset of provider's overall service; repeatable</td></tr>
735
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">envelope-priority</td><td style="padding-right: 10px; vertical-align: top">1#060</td><td style="padding-right: 10px; vertical-align: top">1 numeric character of envelope handling priority (not urgency)</td></tr>
736
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">date-sent</td><td style="padding-right: 10px; vertical-align: top">1#070</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of Date Sent by service - CCYYMMDD</td></tr>
737
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">time-sent</td><td style="padding-right: 10px; vertical-align: top">1#080</td><td style="padding-right: 10px; vertical-align: top">11 characters of Time Sent by service - HHMMSS±HHMM</td></tr>
738
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">coded-character-set</td><td style="padding-right: 10px; vertical-align: top">1#090</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of control functions, etc.</td></tr>
739
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">uno</td><td style="padding-right: 10px; vertical-align: top">1#100</td><td style="padding-right: 10px; vertical-align: top">14 to 80 characters of eternal, globally unique identification for objects</td></tr>
740
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">arm-identifier</td><td style="padding-right: 10px; vertical-align: top">1#120</td><td style="padding-right: 10px; vertical-align: top">2 octet binary Abstract Relationship Model Identifier</td></tr>
741
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">arm-version</td><td style="padding-right: 10px; vertical-align: top">1#122</td><td style="padding-right: 10px; vertical-align: top">2 octet binary Abstract Relationship Model Version</td></tr>
742
+ <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />Application Record</td></tr>
743
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">record-version</td><td style="padding-right: 10px; vertical-align: top">2#000</td><td style="padding-right: 10px; vertical-align: top">2 octet binary Information Interchange Model, Part II version number</td></tr>
744
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-type-reference</td><td style="padding-right: 10px; vertical-align: top">2#003</td><td style="padding-right: 10px; vertical-align: top">3 to 67 Characters of Object Type Reference number and optional text</td></tr>
745
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-attribute-reference</td><td style="padding-right: 10px; vertical-align: top">2#004</td><td style="padding-right: 10px; vertical-align: top">3 to 67 Characters of Object Attribute Reference number and optional text; repeatable</td></tr>
746
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-name</td><td style="padding-right: 10px; vertical-align: top">2#005</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of the object name or shorthand reference</td></tr>
747
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">edit-status</td><td style="padding-right: 10px; vertical-align: top">2#007</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of the status of the objectdata</td></tr>
748
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">editorial-update</td><td style="padding-right: 10px; vertical-align: top">2#008</td><td style="padding-right: 10px; vertical-align: top">2 numeric characters of the type of update this object provides</td></tr>
749
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">urgency</td><td style="padding-right: 10px; vertical-align: top">2#010</td><td style="padding-right: 10px; vertical-align: top">1 numeric character of the editorial urgency of content</td></tr>
750
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">subject-reference</td><td style="padding-right: 10px; vertical-align: top">2#012</td><td style="padding-right: 10px; vertical-align: top">13 to 236 characters of a structured definition of the subject matter; repeatable</td></tr>
751
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">category</td><td style="padding-right: 10px; vertical-align: top">2#015</td><td style="padding-right: 10px; vertical-align: top">Max 3 characters of the subject of the objectdata, DEPRECATED</td></tr>
752
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">supplemental-category</td><td style="padding-right: 10px; vertical-align: top">2#020</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters (each) of further refinement of subject, DEPRECATED; repeatable</td></tr>
753
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">fixture-identifier</td><td style="padding-right: 10px; vertical-align: top">2#022</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters identifying recurring, predictable content</td></tr>
754
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">keywords</td><td style="padding-right: 10px; vertical-align: top">2#025</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters (each) of tags; repeatable</td></tr>
755
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">content-location-code</td><td style="padding-right: 10px; vertical-align: top">2#026</td><td style="padding-right: 10px; vertical-align: top">3 characters of ISO3166 country code or IPTC-assigned code; repeatable</td></tr>
756
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">content-location-name</td><td style="padding-right: 10px; vertical-align: top">2#027</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of publishable country/geographical location name; repeatable</td></tr>
757
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">release-date</td><td style="padding-right: 10px; vertical-align: top">2#030</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of Release Date (earliest use) - CCYYMMDD</td></tr>
758
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">release-time</td><td style="padding-right: 10px; vertical-align: top">2#035</td><td style="padding-right: 10px; vertical-align: top">11 characters of Release Time (earliest use) - HHMMSS±HHMM</td></tr>
759
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">expiration-date</td><td style="padding-right: 10px; vertical-align: top">2#037</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of Expiration Date (latest use) - CCYYMDD</td></tr>
760
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">expiration-time</td><td style="padding-right: 10px; vertical-align: top">2#038</td><td style="padding-right: 10px; vertical-align: top">11 characters of Expiration Time (latest use) - HHMMSS±HHMM</td></tr>
761
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">special-instructions</td><td style="padding-right: 10px; vertical-align: top">2#040</td><td style="padding-right: 10px; vertical-align: top">Max 256 Characters of editorial instructions, e.g., embargoes and warnings</td></tr>
762
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">action-advised</td><td style="padding-right: 10px; vertical-align: top">2#042</td><td style="padding-right: 10px; vertical-align: top">2 numeric characters of type of action this object provides to a previous object</td></tr>
763
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">reference-service</td><td style="padding-right: 10px; vertical-align: top">2#045</td><td style="padding-right: 10px; vertical-align: top">Max 10 characters of the Service ID (1#030) of a prior envelope; repeatable</td></tr>
764
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">reference-date</td><td style="padding-right: 10px; vertical-align: top">2#047</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of prior envelope Reference Date (1#070) - CCYYMMDD; repeatable</td></tr>
765
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">reference-number</td><td style="padding-right: 10px; vertical-align: top">2#050</td><td style="padding-right: 10px; vertical-align: top">8 characters of prior envelope Reference Number (1#040); repeatable</td></tr>
766
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">date-created</td><td style="padding-right: 10px; vertical-align: top">2#055</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of intellectual content Date Created - CCYYMMDD</td></tr>
767
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">time-created</td><td style="padding-right: 10px; vertical-align: top">2#060</td><td style="padding-right: 10px; vertical-align: top">11 characters of intellectual content Time Created - HHMMSS±HHMM</td></tr>
768
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">digital-creation-date</td><td style="padding-right: 10px; vertical-align: top">2#062</td><td style="padding-right: 10px; vertical-align: top">8 numeric characters of digital representation creation date - CCYYMMDD</td></tr>
769
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">digital-creation-time</td><td style="padding-right: 10px; vertical-align: top">2#063</td><td style="padding-right: 10px; vertical-align: top">11 characters of digital representation creation time - HHMMSS±HHMM</td></tr>
770
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">originating-program</td><td style="padding-right: 10px; vertical-align: top">2#065</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of the program used to create the objectdata</td></tr>
771
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">program-version</td><td style="padding-right: 10px; vertical-align: top">2#070</td><td style="padding-right: 10px; vertical-align: top">Program Version - Max 10 characters of the version of the program used to create the objectdata</td></tr>
772
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">object-cycle</td><td style="padding-right: 10px; vertical-align: top">2#075</td><td style="padding-right: 10px; vertical-align: top">1 character where a=morning, p=evening, b=both</td></tr>
773
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">by-line</td><td style="padding-right: 10px; vertical-align: top">2#080</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the name of the objectdata creator, e.g., the writer, photographer; repeatable</td></tr>
774
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">by-line-title</td><td style="padding-right: 10px; vertical-align: top">2#085</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of the title of the objectdata creator; repeatable</td></tr>
775
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">city</td><td style="padding-right: 10px; vertical-align: top">2#090</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the city of objectdata origin</td></tr>
776
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">sub-location</td><td style="padding-right: 10px; vertical-align: top">2#092</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the location within the city of objectdata origin</td></tr>
777
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">province-or-state</td><td style="padding-right: 10px; vertical-align: top">2#095</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters of the objectdata origin Province or State</td></tr>
778
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">country-or-primary-location-code</td><td style="padding-right: 10px; vertical-align: top">2#100</td><td style="padding-right: 10px; vertical-align: top">3 characters of ISO3166 or IPTC-assigned code for Country of objectdata origin</td></tr>
779
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">country-or-primary-location-name</td><td style="padding-right: 10px; vertical-align: top">2#101</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of publishable country/geographical location name; repeatable</td></tr>
780
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">original-transmission-reference</td><td style="padding-right: 10px; vertical-align: top">2#103</td><td style="padding-right: 10px; vertical-align: top">Max 32 characters of a code representing the location of original transmission</td></tr>
781
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">headline</td><td style="padding-right: 10px; vertical-align: top">2#105</td><td style="padding-right: 10px; vertical-align: top">Max 256 Characters of a publishable entry providing a synopsis of the contents of the objectdata</td></tr>
782
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">credit</td><td style="padding-right: 10px; vertical-align: top">2#110</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters that identifies the provider of the objectdata (Vs the owner/creator)</td></tr>
783
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">source</td><td style="padding-right: 10px; vertical-align: top">2#115</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters that identifies the original owner of the intellectual content</td></tr>
784
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">copyright-notice</td><td style="padding-right: 10px; vertical-align: top">2#116</td><td style="padding-right: 10px; vertical-align: top">Max 128 Characters that contains any necessary copyright notice</td></tr>
785
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">contact</td><td style="padding-right: 10px; vertical-align: top">2#118</td><td style="padding-right: 10px; vertical-align: top">Max 128 characters that identifies the person or organisation which can provide further background information; repeatable</td></tr>
786
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">caption-or-abstract</td><td style="padding-right: 10px; vertical-align: top">2#120</td><td style="padding-right: 10px; vertical-align: top">Max 2000 Characters of a textual description of the objectdata</td></tr>
787
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">caption-writer-or-editor</td><td style="padding-right: 10px; vertical-align: top">2#122</td><td style="padding-right: 10px; vertical-align: top">Max 32 Characters that the identifies the person involved in the writing, editing or correcting the objectdata or caption/abstract; repeatable</td></tr>
788
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">rasterized-caption</td><td style="padding-right: 10px; vertical-align: top">2#125</td><td style="padding-right: 10px; vertical-align: top">7360 binary octets of the rasterized caption - 1 bit per pixel, 460x128-pixel image</td></tr>
789
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">image-type</td><td style="padding-right: 10px; vertical-align: top">2#130</td><td style="padding-right: 10px; vertical-align: top">2 characters of color composition type and information</td></tr>
790
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">image-orientation</td><td style="padding-right: 10px; vertical-align: top">2#131</td><td style="padding-right: 10px; vertical-align: top">1 alphabetic character indicating the image area layout - P=portrait, L=landscape, S=square</td></tr>
791
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">language-identifier</td><td style="padding-right: 10px; vertical-align: top">2#135</td><td style="padding-right: 10px; vertical-align: top">2 or 3 aphabetic characters containing the major national language of the object, according to the ISO 639:1988 codes</td></tr>
792
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-type</td><td style="padding-right: 10px; vertical-align: top">2#150</td><td style="padding-right: 10px; vertical-align: top">2 characters identifying monaural/stereo and exact type of audio content</td></tr>
793
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-sampling-rate</td><td style="padding-right: 10px; vertical-align: top">2#151</td><td style="padding-right: 10px; vertical-align: top">6 numeric characters representing the audio sampling rate in hertz (Hz)</td></tr>
794
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-sampling-resolution</td><td style="padding-right: 10px; vertical-align: top">2#152</td><td style="padding-right: 10px; vertical-align: top">2 numeric characters representing the number of bits in each audio sample</td></tr>
795
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-duration</td><td style="padding-right: 10px; vertical-align: top">2#153</td><td style="padding-right: 10px; vertical-align: top">6 numeric characters of the Audio Duration - HHMMSS</td></tr>
796
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">audio-outcue</td><td style="padding-right: 10px; vertical-align: top">2#154</td><td style="padding-right: 10px; vertical-align: top">Max 64 characters of the content of the end of an audio objectdata</td></tr>
797
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-preview-file-format</td><td style="padding-right: 10px; vertical-align: top">2#200</td><td style="padding-right: 10px; vertical-align: top">2 octet binary file format of the ObjectData Preview</td></tr>
798
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-preview-file-format-version</td><td style="padding-right: 10px; vertical-align: top">2#201</td><td style="padding-right: 10px; vertical-align: top">2 octet binary particular version of the ObjectData Preview File Format</td></tr>
799
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-preview-data</td><td style="padding-right: 10px; vertical-align: top">2#202</td><td style="padding-right: 10px; vertical-align: top">Max 256000 binary octets containing the ObjectData Preview data</td></tr>
800
+ <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />Pre ObjectData Descriptor Record</td></tr>
801
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">size-mode</td><td style="padding-right: 10px; vertical-align: top">7#010</td><td style="padding-right: 10px; vertical-align: top">1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer</td></tr>
802
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">max-subfile-size</td><td style="padding-right: 10px; vertical-align: top">7#020</td><td style="padding-right: 10px; vertical-align: top">4 octet binary maximum subfile dataset(s) size</td></tr>
803
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">objectdata-size-announced</td><td style="padding-right: 10px; vertical-align: top">7#090</td><td style="padding-right: 10px; vertical-align: top">4 octet binary objectdata size if known at beginning of transfer</td></tr>
804
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">maximum-objectdata-size</td><td style="padding-right: 10px; vertical-align: top">7#095</td><td style="padding-right: 10px; vertical-align: top">4 octet binary largest possible objectdata size</td></tr>
805
+ <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />ObjectData</td></tr>
806
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">subfile</td><td style="padding-right: 10px; vertical-align: top">8#010</td><td style="padding-right: 10px; vertical-align: top">Subfile DataSet containing the objectdata itself; repeatable</td></tr>
807
+ <tr><td colspan="3" style="font-weight:bold">&nbsp;<br />Post ObjectData Descriptor Record</td></tr>
808
+ <tr><td style="padding-right: 10px; vertical-align: top; font-weight:bold">confirmed-objectdata-size</td><td style="padding-right: 10px; vertical-align: top">9#010</td><td style="padding-right: 10px; vertical-align: top">4 octet binary total objectdata size</td></tr>
809
+ </table>
810
+ <p>
811
+ <a href="#backtotop">Go to Top</a>
812
+ </p>
813
+ </div>
tpls/help-for-media_page_mla-menu.tpl CHANGED
@@ -9,10 +9,12 @@
9
  <!-- title="Featured/Inserted" order="2" -->
10
  <p>The &#8220;Featured in&#8221; and &#8220;Inserted in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is used in a post or page as a &#8220;Featured Image&#8221; or as an embedded image or link.</p>
11
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
 
12
  <!-- template="mla-gallery-in" -->
13
  <!-- title="Gallery/MLA Gallery" order="3" -->
14
  <p>The &#8220;Gallery in&#8221; and &#8220;MLA Gallery in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is returned by a <code>[gallery]</code> or <code>[mla_gallery]</code> shortcode in a post or page. These columns do <strong>not</strong> use the post_parent (attached to) status of the item; they actually execute each shortcode and tabulate the attachments they return.</p>
15
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
 
16
  <!-- template="mla-categories-tags" -->
17
  <!-- title="Taxonomy Support" order="4" -->
18
  <p>The &#8220;taxonomy&#8221; columns help you to group attachments by subject and keyword values. The columns list any categories and tags associated with the item. You can click on one of the displayed values to get a list of all items associated with that value.</p>
9
  <!-- title="Featured/Inserted" order="2" -->
10
  <p>The &#8220;Featured in&#8221; and &#8220;Inserted in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is used in a post or page as a &#8220;Featured Image&#8221; or as an embedded image or link.</p>
11
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
12
+ <p>If performance is a concern, you can go to the Settings page and disable either or both of these columns.</p>
13
  <!-- template="mla-gallery-in" -->
14
  <!-- title="Gallery/MLA Gallery" order="3" -->
15
  <p>The &#8220;Gallery in&#8221; and &#8220;MLA Gallery in&#8221; columns are a powerful tool for managing your attachments. They show you where each attachment is returned by a <code>[gallery]</code> or <code>[mla_gallery]</code> shortcode in a post or page. These columns do <strong>not</strong> use the post_parent (attached to) status of the item; they actually execute each shortcode and tabulate the attachments they return.</p>
16
  <p>You can also use the information in the &#8220;Title/Name&#8221; column to identify &#8220;Orphan&#8221; items that are not used in any post or page and items with a &#8220;Bad Parent&#8221; (a parent that does contain any reference to the item) or an &#8220;Invalid Parent&#8221; (a parent that does not exist).</p>
17
+ <p>If performance is a concern, you can go to the Settings page and disable either or both of these columns. You can also adjust the settings to cache the results for fifteen minutes between updates. Results are automatically updated after a post, page or attachment is added or updated.</p>
18
  <!-- template="mla-categories-tags" -->
19
  <!-- title="Taxonomy Support" order="4" -->
20
  <p>The &#8220;taxonomy&#8221; columns help you to group attachments by subject and keyword values. The columns list any categories and tags associated with the item. You can click on one of the displayed values to get a list of all items associated with that value.</p>
tpls/mla-gallery-templates.tpl DELETED
@@ -1,42 +0,0 @@
1
- <!-- template="default-style" -->
2
- <style type='text/css'>
3
- #[+selector+] {
4
- margin: auto;
5
- width: 100%;
6
- }
7
- #[+selector+] .gallery-item {
8
- float: [+float+];
9
- margin: [+margin+]%;
10
- text-align: center;
11
- width: [+itemwidth+]%;
12
- }
13
- #[+selector+] .gallery-item .gallery-icon img {
14
- border: 2px solid #cfcfcf;
15
- }
16
- #[+selector+] .gallery-caption { vertical-align:
17
- margin-left: 0;
18
- }
19
- </style>
20
- <!-- see mla_gallery_shortcode() in media-library-assistant/includes/class-mla-shortcodes.php -->
21
-
22
- <!-- template="default-open-markup" -->
23
- <div id='[+selector+]' class='gallery galleryid-[+id+] gallery-columns-[+columns+] gallery-size-[+size_class+]'>
24
-
25
- <!-- template="default-row-open-markup" -->
26
- <!-- row-open -->
27
-
28
- <!-- template="default-item-markup" -->
29
- <[+itemtag+] class='gallery-item'>
30
- <[+icontag+] class='gallery-icon'>
31
- [+link+]
32
- </[+icontag+]>
33
- <[+captiontag+] class='wp-caption-text gallery-caption'>
34
- [+caption+]
35
- </[+captiontag+]>
36
- </[+itemtag+]>
37
-
38
- <!-- template="default-row-close-markup" -->
39
- <br style="clear: both" />
40
-
41
- <!-- template="default-close-markup" -->
42
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
tpls/mla-option-templates.tpl ADDED
@@ -0,0 +1,272 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- template="taxonomy-table" -->
2
+ <tr valign="top">
3
+ <td colspan="2" style="text-align:left;">
4
+ <table class="taxonomytable">
5
+ <thead>
6
+ <tr>
7
+ <th scope="col" style="text-align:center">
8
+ Support
9
+ </th>
10
+ <th scope="col" style="text-align:center">
11
+ Inline Edit
12
+ </th>
13
+ <th scope="col" style="text-align:center">
14
+ List Filter
15
+ </th>
16
+ <th scope="col" style="text-align:left">
17
+ Taxonomy
18
+ </th>
19
+ </tr>
20
+ </thead>
21
+ <tbody>
22
+ [+taxonomy_rows+]
23
+ </tbody>
24
+ </table>
25
+ <div style="font-size:8pt;padding-bottom:10px;">[+help+]</div>
26
+ </td></tr>
27
+
28
+ <!-- template="taxonomy-row" -->
29
+ <tr valign="top">
30
+ <td style="text-align:center;">
31
+ <input type="checkbox" name="tax_support[[+key+]]" id="tax_support_[+key+]" [+support_checked+] value="checked" />
32
+ </td>
33
+ <td style="text-align:center;">
34
+ <input type="checkbox" name="tax_quick_edit[[+key+]]" id="tax_quick_edit_[+key+]" [+quick_edit_checked+] value="checked" />
35
+ </td>
36
+ <td style="text-align:center;">
37
+ <input type="radio" name="tax_filter" id="tax_filter_[+key+]" [+filter_checked+] value="[+key+]" />
38
+ </td>
39
+ <td>
40
+ &nbsp;[+name+]
41
+ </td>
42
+ </tr>
43
+
44
+ <!-- template="iptc-exif-standard-table" -->
45
+ <tr valign="top">
46
+ <td colspan="2" style="text-align:left;">
47
+ <table class="iptc-exif-standard-table">
48
+ <thead>
49
+ <tr>
50
+ <th scope="col" style="text-align:center">
51
+ Field Title
52
+ </th>
53
+ <th scope="col" style="text-align:center">
54
+ IPTC Value
55
+ </th>
56
+ <th scope="col" style="text-align:center">
57
+ EXIF Value
58
+ </th>
59
+ <th scope="col" style="text-align:left">
60
+ Priority
61
+ </th>
62
+ <th scope="col" style="text-align:left">
63
+ Existing Text
64
+ </th>
65
+ </tr>
66
+ </thead>
67
+ <tbody>
68
+ [+table_rows+]
69
+ </tbody>
70
+ </table>
71
+ <div style="font-size:8pt;padding-bottom:10px;">[+help+]</div>
72
+ </td></tr>
73
+
74
+ <!-- template="iptc-exif-taxonomy-table" -->
75
+ <tr valign="top">
76
+ <td colspan="2" style="text-align:left;">
77
+ <table class="iptc-exif-taxonomy-table">
78
+ <thead>
79
+ <tr>
80
+ <th scope="col" style="text-align:center">
81
+ Field Title
82
+ </th>
83
+ <th scope="col" style="text-align:center">
84
+ IPTC Value
85
+ </th>
86
+ <th scope="col" style="text-align:center">
87
+ EXIF Value
88
+ </th>
89
+ <th scope="col" style="text-align:center">
90
+ Priority
91
+ </th>
92
+ <th scope="col" style="text-align:center">
93
+ Existing Text
94
+ </th>
95
+ <th scope="col" style="text-align:center">
96
+ Parent
97
+ </th>
98
+ </tr>
99
+ </thead>
100
+ <tbody>
101
+ [+table_rows+]
102
+ </tbody>
103
+ </table>
104
+ <div style="font-size:8pt;padding-bottom:10px;">[+help+]</div>
105
+ </td></tr>
106
+
107
+ <!-- template="iptc-exif-custom-table" -->
108
+ <tr valign="top">
109
+ <td colspan="2" style="text-align:left;">
110
+ <table class="iptc-exif-custom-table">
111
+ <thead>
112
+ <tr>
113
+ <th scope="col" style="text-align:center">
114
+ Field Title
115
+ </th>
116
+ <th scope="col" style="text-align:center">
117
+ IPTC Value
118
+ </th>
119
+ <th scope="col" style="text-align:center">
120
+ EXIF Value
121
+ </th>
122
+ <th scope="col" style="text-align:left">
123
+ Priority
124
+ </th>
125
+ <th scope="col" style="text-align:left">
126
+ Existing Text
127
+ </th>
128
+ </tr>
129
+ </thead>
130
+ <tbody>
131
+ [+table_rows+]
132
+ </tbody>
133
+ </table>
134
+ <div style="font-size:8pt;padding-bottom:10px;">[+help+]</div>
135
+ </td></tr>
136
+
137
+ <!-- template="iptc-exif-select-option" -->
138
+ <option [+selected+] value="[+value+]">[+text+]</option>
139
+
140
+ <!-- template="iptc-exif-select" -->
141
+ <select name="iptc_exif_mapping[[+array+]][[+key+]][[+element+]]" id="iptc_exif_taxonomy_parent_[+key+]">
142
+ [+options+]
143
+ </select>
144
+
145
+ <!-- template="iptc-exif-standard-row" -->
146
+ <tr valign="top">
147
+ <td>
148
+ [+name+]&nbsp;
149
+ </td>
150
+ <td style="text-align:left;">
151
+ <select name="iptc_exif_mapping[standard][[+key+]][iptc_value]" id="iptc_exif_standard_iptc_field_[+key+]">
152
+ [+iptc_field_options+]
153
+ </select>
154
+ </td>
155
+ <td style="text-align:center;">
156
+ <input name="iptc_exif_mapping[standard][[+key+]][exif_value]" id="iptc_exif_standard_exif_field_[+key+]" type="text" size="[+exif_size+]" value="[+exif_text+]" />
157
+ </td>
158
+ <td style="text-align:left;">
159
+ <select name="iptc_exif_mapping[standard][[+key+]][iptc_first]" id="iptc_exif_standard_priority_[+key+]">
160
+ <option [+iptc_selected+] value="1">IPTC</option>
161
+ <option [+exif_selected+] value="">EXIF</option>
162
+ </select>
163
+ </td>
164
+ <td style="text-align:left;">
165
+ <select name="iptc_exif_mapping[standard][[+key+]][keep_existing]" id="iptc_exif_standard_existing_[+key+]">
166
+ <option [+keep_selected+] value="1">Keep</option>
167
+ <option [+replace_selected+] value="">Replace</option>
168
+ </select>
169
+ </td>
170
+ </tr>
171
+
172
+ <!-- template="iptc-exif-taxonomy-row" -->
173
+ <tr valign="top">
174
+ <td>
175
+ [+name+]&nbsp;
176
+ <input type="hidden" id="iptc_exif_taxonomy_name_field_[+key+]" name="iptc_exif_mapping[taxonomy][[+key+]][name]" value="[+name+]" />
177
+ <input type="hidden" id="iptc_exif_taxonomy_hierarchical_field_[+key+]" name="iptc_exif_mapping[taxonomy][[+key+]][hierarchical]" value="[+hierarchical+]" />
178
+ </td>
179
+ <td style="text-align:left;">
180
+ <select name="iptc_exif_mapping[taxonomy][[+key+]][iptc_value]" id="iptc_exif_taxonomy_iptc_field_[+key+]">
181
+ [+iptc_field_options+]
182
+ </select>
183
+ </td>
184
+ <td style="text-align:center;">
185
+ <input name="iptc_exif_mapping[taxonomy][[+key+]][exif_value]" id="iptc_exif_taxonomy_exif_field_[+key+]" type="text" size="[+exif_size+]" value="[+exif_text+]" />
186
+ </td>
187
+ <td style="text-align:left;">
188
+ <select name="iptc_exif_mapping[taxonomy][[+key+]][iptc_first]" id="iptc_exif_taxonomy_priority_[+key+]">
189
+ <option [+iptc_selected+] value="1">IPTC</option>
190
+ <option [+exif_selected+] value="">EXIF</option>
191
+ </select>
192
+ </td>
193
+ <td style="text-align:left;">
194
+ <select name="iptc_exif_mapping[taxonomy][[+key+]][keep_existing]" id="iptc_exif_taxonomy_existing_[+key+]">
195
+ <option [+keep_selected+] value="1">Keep</option>
196
+ <option [+replace_selected+] value="">Replace</option>
197
+ </select>
198
+ </td>
199
+ <td style="text-align:left;">
200
+ [+parent_select+]
201
+ </td>
202
+ </tr>
203
+
204
+ <!-- template="iptc-exif-custom-row" -->
205
+ <tr valign="top">
206
+ <td>
207
+ [+name+]&nbsp;
208
+ </td>
209
+ <td style="text-align:left;">
210
+ <select name="iptc_exif_mapping[custom][[+key+]][iptc_value]" id="iptc_exif_custom_iptc_field_[+key+]">
211
+ [+iptc_field_options+]
212
+ </select>
213
+ </td>
214
+ <td style="text-align:center;">
215
+ <input name="iptc_exif_mapping[custom][[+key+]][exif_value]" id="iptc_exif_custom_exif_field_[+key+]" type="text" size="[+exif_size+]" value="[+exif_text+]" />
216
+ </td>
217
+ <td style="text-align:left;">
218
+ <select name="iptc_exif_mapping[custom][[+key+]][iptc_first]" id="iptc_exif_custom_priority_[+key+]">
219
+ <option [+iptc_selected+] value="1">IPTC</option>
220
+ <option [+exif_selected+] value="">EXIF</option>
221
+ </select>
222
+ </td>
223
+ <td style="text-align:left;">
224
+ <select name="iptc_exif_mapping[custom][[+key+]][keep_existing]" id="iptc_exif_custom_existing_[+key+]">
225
+ <option [+keep_selected+] value="1">Keep</option>
226
+ <option [+replace_selected+] value="">Replace</option>
227
+ </select>
228
+ </td>
229
+ </tr>
230
+
231
+ <!-- template="default-style" -->
232
+ <style type='text/css'>
233
+ #[+selector+] {
234
+ margin: auto;
235
+ width: 100%;
236
+ }
237
+ #[+selector+] .gallery-item {
238
+ float: [+float+];
239
+ margin: [+margin+]%;
240
+ text-align: center;
241
+ width: [+itemwidth+]%;
242
+ }
243
+ #[+selector+] .gallery-item .gallery-icon img {
244
+ border: 2px solid #cfcfcf;
245
+ }
246
+ #[+selector+] .gallery-caption { vertical-align:
247
+ margin-left: 0;
248
+ }
249
+ </style>
250
+ <!-- see mla_gallery_shortcode() in media-library-assistant/includes/class-mla-shortcodes.php -->
251
+
252
+ <!-- template="default-open-markup" -->
253
+ <div id='[+selector+]' class='gallery galleryid-[+id+] gallery-columns-[+columns+] gallery-size-[+size_class+]'>
254
+
255
+ <!-- template="default-row-open-markup" -->
256
+ <!-- row-open -->
257
+
258
+ <!-- template="default-item-markup" -->
259
+ <[+itemtag+] class='gallery-item'>
260
+ <[+icontag+] class='gallery-icon'>
261
+ [+link+]
262
+ </[+icontag+]>
263
+ <[+captiontag+] class='wp-caption-text gallery-caption'>
264
+ [+caption+]
265
+ </[+captiontag+]>
266
+ </[+itemtag+]>
267
+
268
+ <!-- template="default-row-close-markup" -->
269
+ <br style="clear: both" />
270
+
271
+ <!-- template="default-close-markup" -->
272
+ </div>