Media Library Assistant - Version 1.41

Version Description

  • New: For [mla_gallery], the new mla_output parameter lets you get "previous_link" and "next_link" values to support moving through an [mla_gallery] one item at a time. Look for Support for Alternative Gallery Output in the Other Notes section or the Settings/Media Library Assistant Documentation tab for complete information.
  • New: For [mla_gallery], field-level substitution parameters now include $_REQUEST arguments. You can pass any values you need from HTML form or hyperlink variables to the Gallery Display Content parameters and to your custom style and markup templates.
  • New: Hover text/tool tips, e.g., "Filter by...", "Edit..." added to most links on the Media/Assistant submenu table.
  • New: The ALL_EXIF and ALL_IPTC pseudo variables now limit each field value to 256 bytes or less. Array values are included once, at their most expanded level.
  • New: For [mla_gallery], EXIF values containing arrays now use the ",single" and ",export" qualifiers.
  • Fix: Intermittent "full height" display of attachment thumbnails has been eliminated. Attachment thumbnail is now a link to the Edit Media screen.
  • Fix: EXIF and IPTC values containing invalid UTF8 characters are converted to valid UTF8 equivalents.
  • Fix: When editing [gallery] shortcodes in the Media Manager the proper gallery contents (image thumbnails) are now returned.
  • Fix: Better handling of Media/Assistant submenu table listing when returning from a Bulk Action, especially Bulk Edit. Display filters for date, category/tag and the search box are retained.
  • Fix: For [mla_gallery], Gallery Content Display parameters are now processed when mla_viewer=true.
  • Fix: For [mla_gallery], the default "alt" attribute (item caption) is processed when mla_viewer=true.
  • Fix: For [mla_gallery], error messages are displayed for invalid "terms:" and "custom:" substitution parameters.
Download this release

Release Info

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

Code changes from version 1.40 to 1.41

css/mla-style.css CHANGED
@@ -37,6 +37,19 @@ td.column-ID_parent, th.column-ID_parent {
37
  max-width: 100px;
38
  }
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  /*
41
  * MLA Edit single item field labels column
42
  */
37
  max-width: 100px;
38
  }
39
 
40
+ /*
41
+ * MLA List Table ID_parent column
42
+ */
43
+ img.mla_media_thumbnail_64_64 {
44
+ max-width: 64px;
45
+ max-height: 64px;
46
+ }
47
+
48
+ img.mla_media_thumbnail_80_60 {
49
+ max-width: 80px;
50
+ max-height: 60px;
51
+ }
52
+
53
  /*
54
  * MLA Edit single item field labels column
55
  */
includes/class-mla-data.php CHANGED
@@ -385,6 +385,11 @@ class MLAData {
385
  } // foreach
386
  }
387
  break;
 
 
 
 
 
388
  case 'post_mime_type':
389
  $clean_request[ $key ] = $value;
390
  break;
@@ -566,6 +571,8 @@ class MLAData {
566
  $clean_request['offset'] = $offset;
567
  $clean_request['posts_per_page'] = $count;
568
  }
 
 
569
 
570
  /*
571
  * ['mla_filter_term'] - filter by taxonomy
@@ -668,22 +675,28 @@ class MLAData {
668
  add_filter( 'posts_where', 'MLAData::mla_query_posts_where_filter' );
669
  add_filter( 'posts_orderby', 'MLAData::mla_query_posts_orderby_filter' );
670
 
 
 
 
 
 
 
 
 
 
 
 
 
671
  $results = new WP_Query( $request );
672
 
673
  if ( isset( self::$query_parameters['debug'] ) ) {
 
 
674
  if ( 'console' == self::$query_parameters['debug'] ) {
675
- trigger_error( '_execute_list_table_query $request = ' . var_export( $request, true ), E_USER_WARNING );
676
- trigger_error( '_execute_list_table_query self::$query_parameters = ' . var_export( self::$query_parameters, true ), E_USER_WARNING );
677
- trigger_error( '_execute_list_table_query $results->request = ' . var_export( $results->request, true ), E_USER_WARNING );
678
- trigger_error( '_execute_list_table_query $results->post_count = ' . var_export( $results->post_count, true ), E_USER_WARNING );
679
- trigger_error( '_execute_list_table_query $results->found_posts = ' . var_export( $results->found_posts, true ), E_USER_WARNING );
680
  }
681
  else {
682
- error_log( '_execute_list_table_query $request = ' . var_export( $request, true ), 0 );
683
- error_log( '_execute_list_table_query self::$query_parameters = ' . var_export( self::$query_parameters, true ), 0 );
684
- error_log( '_execute_list_table_query $results->request = ' . var_export( $results->request, true ), 0 );
685
- error_log( '_execute_list_table_query $results->post_count = ' . var_export( $results->post_count, true ), 0 );
686
- error_log( '_execute_list_table_query $results->found_posts = ' . var_export( $results->found_posts, true ) . "\r\n", 0 );
687
  }
688
  } // debug
689
 
@@ -720,12 +733,7 @@ class MLAData {
720
  if ( isset( self::$query_parameters['s'] ) ) {
721
 
722
  if ( isset( self::$query_parameters['debug'] ) ) {
723
- if ( 'console' == self::$query_parameters['debug'] ) {
724
- trigger_error( 'mla_query_posts_search_filter search = ' . var_export( self::$query_parameters['s'], true ), E_USER_WARNING );
725
- }
726
- else {
727
- error_log( 'mla_query_posts_search_filter search = ' . var_export( self::$query_parameters['s'], true ), 0 );
728
- }
729
  } // debug
730
 
731
  /*
@@ -736,11 +744,14 @@ class MLAData {
736
  $search_clause = ' AND ( ( ' . $wpdb->posts . '.ID = ' . $id . ' ) OR ( ' . $wpdb->posts . '.post_parent = ' . $id . ' ) ) ';
737
 
738
  if ( isset( self::$query_parameters['debug'] ) ) {
 
 
 
739
  if ( 'console' == self::$query_parameters['debug'] ) {
740
- trigger_error( 'mla_query_posts_search_filter $search_clause = ' . var_export( $search_clause, true ), E_USER_WARNING );
741
  }
742
  else {
743
- error_log( 'mla_query_posts_search_filter $search_clause = ' . var_export( $search_clause, true ), 0 );
744
  }
745
  } // debug
746
 
@@ -796,6 +807,18 @@ class MLAData {
796
  if ( !is_user_logged_in() )
797
  $search_clause .= " AND ($wpdb->posts.post_password = '') ";
798
  }
 
 
 
 
 
 
 
 
 
 
 
 
799
  } // isset 's'
800
 
801
  return $search_clause;
@@ -1627,6 +1650,672 @@ class MLAData {
1627
  return $gallery_refs;
1628
  }
1629
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1630
  /**
1631
  * Parse one EXIF metadata field
1632
  *
@@ -1640,19 +2329,48 @@ class MLAData {
1640
  *
1641
  * @return string string representation of metadata value or an empty string
1642
  */
1643
- public static function mla_exif_metadata_value( $key, $image_metadata ) {
1644
  $text = '';
1645
- if ( array_key_exists( $key, $image_metadata['mla_exif_metadata'] ) ) {
1646
- $record = $image_metadata['mla_exif_metadata'][ $key ];
1647
- if ( is_array( $record ) ) {
1648
- $text = var_export( $record, true);
1649
- } // is_array
1650
- else
1651
- $text = $record;
1652
- } elseif ( 'ALL_EXIF' == $key ) {
1653
- $text = var_export( $image_metadata['mla_exif_metadata'], true);
1654
- } elseif ( 'ALL_IPTC' == $key ) {
1655
- $text = var_export( $image_metadata['mla_iptc_metadata'], true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1656
  }
1657
 
1658
  return $text;
@@ -1673,16 +2391,21 @@ class MLAData {
1673
  public static function mla_fetch_attachment_image_metadata( $post_id, $path = '' ) {
1674
  $results = array(
1675
  'mla_iptc_metadata' => array(),
1676
- 'mla_exif_metadata' => array()
 
1677
  );
1678
 
1679
  if ( 0 != $post_id )
1680
  $path = get_attached_file($post_id);
1681
-
1682
  if ( ! empty( $path ) ) {
1683
- $size = getimagesize( $path, $info );
1684
- foreach ( $info as $key => $value ) {
 
 
1685
  }
 
 
1686
 
1687
  if ( is_callable( 'iptcparse' ) ) {
1688
  if ( !empty( $info['APP13'] ) ) {
@@ -1719,7 +2442,7 @@ class MLAData {
1719
  }
1720
  } // is_array
1721
  }
1722
-
1723
  return $results;
1724
  }
1725
 
385
  } // foreach
386
  }
387
  break;
388
+ /*
389
+ * post__in and post__not_in are used in the Media Modal Ajax queries
390
+ */
391
+ case 'post__in':
392
+ case 'post__not_in':
393
  case 'post_mime_type':
394
  $clean_request[ $key ] = $value;
395
  break;
571
  $clean_request['offset'] = $offset;
572
  $clean_request['posts_per_page'] = $count;
573
  }
574
+ elseif ( ( (int) $count ) == -1 )
575
+ $clean_request['posts_per_page'] = $count;
576
 
577
  /*
578
  * ['mla_filter_term'] - filter by taxonomy
675
  add_filter( 'posts_where', 'MLAData::mla_query_posts_where_filter' );
676
  add_filter( 'posts_orderby', 'MLAData::mla_query_posts_orderby_filter' );
677
 
678
+ if ( isset( self::$query_parameters['debug'] ) ) {
679
+ global $wp_filter;
680
+ $debug_array = array( 'posts_search' => $wp_filter['posts_search'], 'posts_join' => $wp_filter['posts_join'], 'posts_where' => $wp_filter['posts_where'], 'posts_orderby' => $wp_filter['posts_orderby'] );
681
+
682
+ if ( 'console' == self::$query_parameters['debug'] ) {
683
+ trigger_error( '_execute_list_table_query $wp_filter = ' . var_export( $debug_array, true ), E_USER_WARNING );
684
+ }
685
+ else {
686
+ error_log( '_execute_list_table_query $wp_filter = ' . var_export( $debug_array, true ), 0 );
687
+ }
688
+ } // debug
689
+
690
  $results = new WP_Query( $request );
691
 
692
  if ( isset( self::$query_parameters['debug'] ) ) {
693
+ $debug_array = array( 'request' => $request, 'query_parameters' => self::$query_parameters, 'SQL_request' => $results->request, 'post_count' => $results->post_count, 'found_posts' => $results->found_posts );
694
+
695
  if ( 'console' == self::$query_parameters['debug'] ) {
696
+ trigger_error( '_execute_list_table_query WP_Query = ' . var_export( $debug_array, true ), E_USER_WARNING );
 
 
 
 
697
  }
698
  else {
699
+ error_log( '_execute_list_table_query WP_Query = ' . var_export( $debug_array, true ), 0 );
 
 
 
 
700
  }
701
  } // debug
702
 
733
  if ( isset( self::$query_parameters['s'] ) ) {
734
 
735
  if ( isset( self::$query_parameters['debug'] ) ) {
736
+ $debug_array = array( 's' => self::$query_parameters['s'] );
 
 
 
 
 
737
  } // debug
738
 
739
  /*
744
  $search_clause = ' AND ( ( ' . $wpdb->posts . '.ID = ' . $id . ' ) OR ( ' . $wpdb->posts . '.post_parent = ' . $id . ' ) ) ';
745
 
746
  if ( isset( self::$query_parameters['debug'] ) ) {
747
+ $debug_array['search_clause'] = $search_clause;
748
+ $debug_array['search_string'] = $search_string;
749
+
750
  if ( 'console' == self::$query_parameters['debug'] ) {
751
+ trigger_error( 'mla_query_posts_search_filter is_numeric = ' . var_export( $debug_array, true ), E_USER_WARNING );
752
  }
753
  else {
754
+ error_log( 'mla_query_posts_search_filter is_numeric = ' . var_export( $debug_array, true ), 0 );
755
  }
756
  } // debug
757
 
807
  if ( !is_user_logged_in() )
808
  $search_clause .= " AND ($wpdb->posts.post_password = '') ";
809
  }
810
+
811
+ if ( isset( self::$query_parameters['debug'] ) ) {
812
+ $debug_array['search_clause'] = $search_clause;
813
+ $debug_array['search_string'] = $search_string;
814
+
815
+ if ( 'console' == self::$query_parameters['debug'] ) {
816
+ trigger_error( 'mla_query_posts_search_filter not numeric = ' . var_export( $debug_array, true ), E_USER_WARNING );
817
+ }
818
+ else {
819
+ error_log( 'mla_query_posts_search_filter not numeric = ' . var_export( $debug_array, true ), 0 );
820
+ }
821
+ } // debug
822
  } // isset 's'
823
 
824
  return $search_clause;
1650
  return $gallery_refs;
1651
  }
1652
 
1653
+ /**
1654
+ * Array of PDF indirect objects
1655
+ *
1656
+ * This array contains all of the indirect object offsets and lengths
1657
+ *
1658
+ * @since 1.4x
1659
+ *
1660
+ * @var array
1661
+ */
1662
+ private static $pdf_indirect_objects = NULL;
1663
+
1664
+ /**
1665
+ * Build an array of indirect object definitions
1666
+ *
1667
+ * Creates the array of indirect object offsets and lengths
1668
+ * @since 1.4x
1669
+ *
1670
+ * @param string The entire PDF document, passsed by reference
1671
+ *
1672
+ * @return void
1673
+ */
1674
+ private static function _build_pdf_indirect_objects( &$string ) {
1675
+ $match_count = preg_match_all( '!(\d+)\h+(\d+)\h+obj\x0D|endobj\x0D|stream(\x0D\x0A|\x0A)|endstream!', $string, $matches, PREG_OFFSET_CAPTURE );
1676
+ //error_log( '_build_pdf_indirect_objects $match_count = ' . var_export( $match_count, true ), 0 );
1677
+ //error_log( '_build_pdf_indirect_objects $matches = ' . var_export( $matches, true ), 0 );
1678
+
1679
+ self::$pdf_indirect_objects = array();
1680
+ $object_level = 0;
1681
+ $is_stream = false;
1682
+ for ( $index = 0; $index < $match_count; $index++ ) {
1683
+ //error_log( '_build_pdf_indirect_objects match dump = ' . var_export( self::_hex_dump( $matches[0][ $index ][0], strlen( $matches[0][ $index ][0] ), 16 ), true ), 0 );
1684
+ if ( $is_stream ) {
1685
+ if ( 'endstream' == substr( $matches[0][ $index ][0], 0, 9 ) ) {
1686
+ $is_stream = false;
1687
+ //error_log( '_build_pdf_indirect_objects $pdf endstream = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, $matches[0][ $index ][1] - 64) , 128, 32 ), true ) . "\r\n", 0 );
1688
+ }
1689
+ }
1690
+ elseif ( 'endobj' == substr( $matches[0][ $index ][0], 0, 6 ) ) {
1691
+ $object_level--;
1692
+ $object_entry['length'] = $matches[0][ $index ][1] - $object_entry['start'];
1693
+ self::$pdf_indirect_objects[ ($object_entry['number'] * 1000) + $object_entry['generation'] ] = $object_entry;
1694
+ }
1695
+ elseif ( 'obj' == substr( $matches[0][ $index ][0], -4, 3 ) ) {
1696
+ //error_log( '_build_pdf_indirect_objects pdf $matches[1] = ' . var_export( $matches[1][ $index ], true ), 0 );
1697
+ //error_log( '_build_pdf_indirect_objects pdf $matches[2] = ' . var_export( $matches[2][ $index ], true ), 0 );
1698
+ //error_log( '_build_pdf_indirect_objects pdf $matches[3] = ' . var_export( $matches[3][ $index ], true ), 0 );
1699
+ $object_level++;
1700
+ $object_entry = array(
1701
+ 'number' => $matches[1][ $index ][0],
1702
+ 'generation' => $matches[2][ $index ][0],
1703
+ 'start' => $matches[0][ $index ][1] + strlen( $matches[0][ $index ][0] )
1704
+ );
1705
+ }
1706
+ elseif ( 'stream' == substr( $matches[0][ $index ][0], 0, 6 ) ) {
1707
+ $is_stream = true;
1708
+ //error_log( '_build_pdf_indirect_objects $pdf stream = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, $matches[0][ $index ][1] - 64) , 128, 32 ), true ) . "\r\n", 0 );
1709
+ }
1710
+ else
1711
+ error_log( 'bad value $index = ' . $index, 0 );
1712
+
1713
+ //error_log( "in_stream[ {$is_stream} ] Level is {$level} Object Level is {$object_level} after index {$index} at offset " . var_export( $matches[0][ $index ][1], true ), 0 );
1714
+ }
1715
+ //error_log( '_build_pdf_indirect_objects self::$pdf_indirect_objects = ' . var_export( self::$pdf_indirect_objects, true ), 0 );
1716
+ }
1717
+
1718
+ /**
1719
+ * Parse a PDF dictionary object
1720
+ *
1721
+ * Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string), indirect (object), name, array, dictionary, stream, and null.
1722
+ * @since 1.4x
1723
+ *
1724
+ * @param string dictionary content, without enclosing << and >> delimiters
1725
+ *
1726
+ * @return array ( key => array( 'type' => type, 'value' => value ) ) for each dictionary field
1727
+ */
1728
+ private static function _parse_pdf_dictionary( $string ) {
1729
+ error_log( '_parse_pdf_dictionary $string dump = ' . var_export( self::_hex_dump( $string, strlen( $string ), 16 ), true ), 0 );
1730
+ //error_log( '_parse_pdf_dictionary $string = '. var_export( $string, true ), 0 );
1731
+ $dictionary = array();
1732
+ while ( 0 < strlen( $string) ) {
1733
+ // \x00-\x20 for whitespace
1734
+ // \(|\)|\<|\>|\[|\]|\{|\}|\/|\% for delimiters
1735
+ $match_count = preg_match_all( '!/([^\x00-\x20|\(|\)|\<|\>|\[|\]|\{|\}|\/|\%]*)([\x00-\x20]*)!', $string, $matches, PREG_OFFSET_CAPTURE );
1736
+ //error_log( '_parse_pdf_dictionary trailer dictionary name $match_count = ' . var_export( $match_count, true ), 0 );
1737
+ //error_log( '_extract_pdf_metadata trailer dictionary name $matches[1] = ' . var_export( $matches[1], true ), 0 );
1738
+ //error_log( '_parse_pdf_dictionary trailer dictionary name $matches = ' . var_export( $matches, true ), 0 );
1739
+
1740
+ for ( $match_index = 0; $match_index < $match_count; $match_index++ ) {
1741
+ $name = $matches[1][ $match_index ][0];
1742
+ //error_log( '_parse_pdf_dictionary name = ' . var_export( $name, true ), 0 );
1743
+ $value_count = preg_match(
1744
+ '!(\/?[^\/\x0D\x0A]*)!',
1745
+ substr( $string, $matches[2][ $match_index ][1] + strlen( $matches[2][ $match_index ][0] ) ), $value_matches, PREG_OFFSET_CAPTURE );
1746
+ //error_log( '_parse_pdf_dictionary $value_count = ' . var_export( $value_count, true ), 0 );
1747
+ //error_log( '_parse_pdf_dictionary $value_matches = ' . var_export( $value_matches, true ), 0 );
1748
+
1749
+ if ( 1 == $value_count ) {
1750
+ $value = $value_matches[0][0];
1751
+ $dictionary[ $name ]['value'] = $value;
1752
+ if ( ! isset( $value[0] ) ) {
1753
+ error_log( 'bad value $name = ' . var_export( $name, true ), 0 );
1754
+ error_log( 'bad value $value = ' . var_export( $value, true ), 0 );
1755
+ }
1756
+ if ( in_array( $value, array( 'true', 'false' ) ) )
1757
+ $dictionary[ $name ]['type'] = 'boolean';
1758
+ elseif ( is_numeric( $value ) )
1759
+ $dictionary[ $name ]['type'] = 'numeric';
1760
+ elseif ( '(' == $value[0] )
1761
+ $dictionary[ $name ]['type'] = 'string';
1762
+ elseif ( '<' == $value[0] ) {
1763
+ if ( '<' == $value[1] )
1764
+ $dictionary[ $name ]['type'] = 'dictionary';
1765
+ else
1766
+ $dictionary[ $name ]['type'] = 'hex';
1767
+ }
1768
+ elseif ( '/' == $value[0] ) {
1769
+ $dictionary[ $name ]['type'] = 'name';
1770
+ $match_index++; // Skip to the next key
1771
+ }
1772
+ elseif ( '[' == $value[0] )
1773
+ $dictionary[ $name ]['type'] = 'array';
1774
+ elseif ( 'null' == $value )
1775
+ $dictionary[ $name ]['type'] = 'null';
1776
+ elseif ( 'stream' == substr( $value, 0, 6 ) )
1777
+ $dictionary[ $name ]['type'] = 'stream';
1778
+ else {
1779
+ $object_count = preg_match( '!(\d+)\h+(\d+)\h+R!', $value, $object_matches );
1780
+ if ( 1 == $object_count ) {
1781
+ $dictionary[ $name ]['type'] = 'indirect';
1782
+ $dictionary[ $name ]['object'] = $object_matches[1];
1783
+ $dictionary[ $name ]['generation'] = $object_matches[2];
1784
+ //error_log( '_parse_pdf_dictionary object_matches = ' . var_export( $object_matches, true ), 0 );
1785
+ }
1786
+ else {
1787
+ //error_log( '_parse_pdf_dictionary unknown dump = ' . var_export( self::_hex_dump( $value, strlen( $value ), 16 ), true ), 0 );
1788
+ //error_log( '_parse_pdf_dictionary unknown numeric = ' . var_export( is_numeric( $value ), true ), 0 );
1789
+ //error_log( '_parse_pdf_dictionary unknown length = ' . var_export( strlen( $value ), true ), 0 );
1790
+ //error_log( '_parse_pdf_dictionary unknown $value = ' . var_export( $value, true ), 0 );
1791
+ $dictionary[ $name ]['type'] = 'unknown';
1792
+ }
1793
+ }
1794
+ }
1795
+ else {
1796
+ $dictionary[ $matches[1][ $match_index ][0] ] = array( 'value' => '' );
1797
+ $dictionary[ $matches[1][ $match_index ][0] ]['type'] = 'nomatch';
1798
+ }
1799
+ } // foreach match
1800
+
1801
+ $string = '';
1802
+ }
1803
+
1804
+ error_log( '_parse_pdf_dictionary $dictionary = '. var_export( $dictionary, true ), 0 );
1805
+ return $dictionary;
1806
+ }
1807
+
1808
+ /**
1809
+ * Extract Metadata from a PDF file
1810
+ *
1811
+ * @since 1.4x
1812
+ *
1813
+ * @param string full path to the desired file
1814
+ *
1815
+ * @return array ( key => value ) for each metadata field, in string format
1816
+ */
1817
+ private static function _extract_pdf_metadata( $string ) {
1818
+ error_log( '_extract_pdf_metadata $string = '. var_export( $string, true ), 0 );
1819
+ $metadata = array();
1820
+ $pdf = file_get_contents( $string, true );
1821
+ if ( $pdf == false ) {
1822
+ error_log( 'ERROR: PDF file not found ' . var_export( $path, true ), 0 );
1823
+ return $metadata;
1824
+ }
1825
+
1826
+ //error_log( '_extract_pdf_metadata $pdf start = ' . "\r\n" . var_export( self::_hex_dump( $pdf, 2048, 32 ), true ) . "\r\n", 0 );
1827
+
1828
+ self::_build_pdf_indirect_objects( $pdf );
1829
+
1830
+ $header = substr( $pdf, 0, 8 );
1831
+ if ( '%PDF-' == substr( $header, 0, 5 ) ) {
1832
+ $metadata['Version'] = substr( $header, 1, 7 );
1833
+ $metadata['VersionNumber'] = substr( $header, 5, 3 );
1834
+ }
1835
+
1836
+ // $match_count = preg_match_all( '/[\r|\n]+<<(.*)>>[\r|\n]+/', $pdf, $matches, PREG_OFFSET_CAPTURE );
1837
+ // $match_count = preg_match_all( '/[\r|\n]+startxref[\r|\n]+([0-9]+)[\r|\n]+\%\%EOF[\r|\n]*/', $pdf, $matches, PREG_OFFSET_CAPTURE );
1838
+
1839
+ $match_count = preg_match_all( '/[\r|\n]+trailer[\r|\n]+/', $pdf, $matches, PREG_OFFSET_CAPTURE );
1840
+ if ( 0 < $match_count ) {
1841
+ $tail = substr( $pdf, (integer) $matches[0][ $match_count - 1 ][1] );
1842
+ // $match_count = preg_match_all( '/[\r|\n]+<<(.*)>>[\r|\n]+/', $pdf, $matches ); //, PREG_OFFSET_CAPTURE );
1843
+ $match_count = preg_match_all( '/[\r|\n]+<<(.*)>>[\r|\n]+/', $tail, $matches ); //, PREG_OFFSET_CAPTURE );
1844
+ //error_log( '_extract_pdf_metadata trailer dictionary $match_count = ' . var_export( $match_count, true ), 0 );
1845
+ //error_log( '_extract_pdf_metadata trailer dictionary $matches = ' . var_export( $matches, true ), 0 );
1846
+ if ( 0 < $match_count ) {
1847
+ // for ( $index = 0; $index < $match_count; $index++ )
1848
+ // $dictionary = self::_parse_pdf_dictionary( $matches[1][ $index ] );
1849
+ $dictionary = self::_parse_pdf_dictionary( $matches[1][ $match_count - 1 ] );
1850
+
1851
+ if ( isset( $dictionary['Info'] ) ) {
1852
+ //error_log( '_extract_pdf_metadata trailer dictionary Info = ' . var_export( $dictionary['Info'], true ), 0 );
1853
+ $info_ref = ($dictionary['Info']['object'] * 1000) + $dictionary['Info']['generation'];
1854
+ //error_log( '_extract_pdf_metadata trailer dictionary $info_ref = ' . var_export( $info_ref, true ), 0 );
1855
+ if ( isset( self::$pdf_indirect_objects[ $info_ref ] ) ) {
1856
+ //error_log( '_extract_pdf_metadata trailer dictionary start = ' . var_export( self::$pdf_indirect_objects[ $info_ref ], true ), 0 );
1857
+ //error_log( '_extract_pdf_metadata Object = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, self::$pdf_indirect_objects[ $info_ref ]['start'], self::$pdf_indirect_objects[ $info_ref ]['length'] ), self::$pdf_indirect_objects[ $info_ref ]['length'], 32 ), true ) . "\r\n", 0 );
1858
+ $info_dictionary = self::_parse_pdf_dictionary( substr( $pdf, self::$pdf_indirect_objects[ $info_ref ]['start'], self::$pdf_indirect_objects[ $info_ref ]['length'] ) );
1859
+ } // found Info object
1860
+ } // found Info ref
1861
+ } // found dictionary
1862
+ } // found trailer
1863
+
1864
+ return $metadata;
1865
+ }
1866
+
1867
+ /**
1868
+ * UTF-8 replacements for invalid SQL characters
1869
+ *
1870
+ * @since 1.41
1871
+ *
1872
+ * @var array
1873
+ */
1874
+ private static $utf8_chars = array(
1875
+ "\xC2\x80", "\xC2\x81", "\xC2\x82", "\xC2\x83", "\xC2\x84", "\xC2\x85", "\xC2\x86", "\xC2\x87",
1876
+ "\xC2\x88", "\xC2\x89", "\xC2\x8A", "\xC2\x8B", "\xC2\x8C", "\xC2\x8D", "\xC2\x8E", "\xC2\x8F",
1877
+ "\xC2\x90", "\xC2\x91", "\xC2\x92", "\xC2\x93", "\xC2\x94", "\xC2\x95", "\xC2\x96", "\xC2\x97",
1878
+ "\xC2\x98", "\xC2\x99", "\xC2\x9A", "\xC2\x9B", "\xC2\x9C", "\xC2\x9D", "\xC2\x9E", "\xC2\x9F",
1879
+ "\xC2\xA0", "\xC2\xA1", "\xC2\xA2", "\xC2\xA3", "\xC2\xA4", "\xC2\xA5", "\xC2\xA6", "\xC2\xA7",
1880
+ "\xC2\xA8", "\xC2\xA9", "\xC2\xAA", "\xC2\xAB", "\xC2\xAC", "\xC2\xAD", "\xC2\xAE", "\xC2\xAF",
1881
+ "\xC2\xB0", "\xC2\xB1", "\xC2\xB2", "\xC2\xB3", "\xC2\xB4", "\xC2\xB5", "\xC2\xB6", "\xC2\xB7",
1882
+ "\xC2\xB8", "\xC2\xB9", "\xC2\xBA", "\xC2\xBB", "\xC2\xBC", "\xC2\xBD", "\xC2\xBE", "\xC2\xBF",
1883
+ "\xC3\x80", "\xC3\x81", "\xC3\x82", "\xC3\x83", "\xC3\x84", "\xC3\x85", "\xC3\x86", "\xC3\x87",
1884
+ "\xC3\x88", "\xC3\x89", "\xC3\x8A", "\xC3\x8B", "\xC3\x8C", "\xC3\x8D", "\xC3\x8E", "\xC3\x8F",
1885
+ "\xC3\x90", "\xC3\x91", "\xC3\x92", "\xC3\x93", "\xC3\x94", "\xC3\x95", "\xC3\x96", "\xC3\x97",
1886
+ "\xC3\x98", "\xC3\x99", "\xC3\x9A", "\xC3\x9B", "\xC3\x9C", "\xC3\x9D", "\xC3\x9E", "\xC3\x9F",
1887
+ "\xC3\xA0", "\xC3\xA1", "\xC3\xA2", "\xC3\xA3", "\xC3\xA4", "\xC3\xA5", "\xC3\xA6", "\xC3\xA7",
1888
+ "\xC3\xA8", "\xC3\xA9", "\xC3\xAA", "\xC3\xAB", "\xC3\xAC", "\xC3\xAD", "\xC3\xAE", "\xC3\xAF",
1889
+ "\xC3\xB0", "\xC3\xB1", "\xC3\xB2", "\xC3\xB3", "\xC3\xB4", "\xC3\xB5", "\xC3\xB6", "\xC3\xB7",
1890
+ "\xC3\xB8", "\xC3\xB9", "\xC3\xBA", "\xC3\xBB", "\xC3\xBC", "\xC3\xBD", "\xC3\xBE", "\xC3\xBF"
1891
+ );
1892
+
1893
+ /**
1894
+ * Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents
1895
+ *
1896
+ * @since 1.41
1897
+ *
1898
+ * @param string unencoded string
1899
+ *
1900
+ * @return string UTF-8 encoded string
1901
+ */
1902
+ private static function _bin_to_utf8( $string ) {
1903
+ if ( seems_utf8( $string ) )
1904
+ return $string;
1905
+
1906
+ if(function_exists('utf8_encode'))
1907
+ return utf8_encode( $string );
1908
+
1909
+ $output = '';
1910
+ for ($index = 0; $index < strlen( $string ); $index++ ) {
1911
+ $value = ord( $string[ $index ] );
1912
+ if ( $value < 0x80 )
1913
+ $output .= chr( $value );
1914
+ else
1915
+ $output .= self::$utf8_chars[ $value - 0x80 ];
1916
+ }
1917
+
1918
+ return $output;
1919
+ }
1920
+
1921
+ /**
1922
+ * IPTC Dataset identifiers and names
1923
+ *
1924
+ * This array contains the identifiers and names of Datasets defined in
1925
+ * the "IPTC-NAA Information Interchange Model Version No. 4.1".
1926
+ *
1927
+ * @since 0.90
1928
+ *
1929
+ * @var array
1930
+ */
1931
+ private static $mla_iptc_records = array(
1932
+ // Envelope Record
1933
+ "1#000" => "Model Version",
1934
+ "1#005" => "Destination",
1935
+ "1#020" => "File Format",
1936
+ "1#022" => "File Format Version",
1937
+ "1#030" => "Service Identifier",
1938
+ "1#040" => "Envelope Number",
1939
+ "1#050" => "Product ID",
1940
+ "1#060" => "Envelope Priority",
1941
+ "1#070" => "Date Sent",
1942
+ "1#080" => "Time Sent",
1943
+ "1#090" => "Coded Character Set",
1944
+ "1#100" => "UNO",
1945
+ "1#120" => "ARM Identifier",
1946
+ "1#122" => "ARM Version",
1947
+
1948
+ // Application Record
1949
+ "2#000" => "Record Version",
1950
+ "2#003" => "Object Type Reference",
1951
+ "2#004" => "Object Attribute Reference",
1952
+ "2#005" => "Object Name",
1953
+ "2#007" => "Edit Status",
1954
+ "2#008" => "Editorial Update",
1955
+ "2#010" => "Urgency",
1956
+ "2#012" => "Subject Reference",
1957
+ "2#015" => "Category",
1958
+ "2#020" => "Supplemental Category",
1959
+ "2#022" => "Fixture Identifier",
1960
+ "2#025" => "Keywords",
1961
+ "2#026" => "Content Location Code",
1962
+ "2#027" => "Content Location Name",
1963
+ "2#030" => "Release Date",
1964
+ "2#035" => "Release Time",
1965
+ "2#037" => "Expiration Date",
1966
+ "2#038" => "Expiration Time",
1967
+ "2#040" => "Special Instructions",
1968
+ "2#042" => "Action Advised",
1969
+ "2#045" => "Reference Service",
1970
+ "2#047" => "Reference Date",
1971
+ "2#050" => "Reference Number",
1972
+ "2#055" => "Date Created",
1973
+ "2#060" => "Time Created",
1974
+ "2#062" => "Digital Creation Date",
1975
+ "2#063" => "Digital Creation Time",
1976
+ "2#065" => "Originating Program",
1977
+ "2#070" => "Program Version",
1978
+ "2#075" => "Object Cycle",
1979
+ "2#080" => "By-line",
1980
+ "2#085" => "By-line Title",
1981
+ "2#090" => "City",
1982
+ "2#092" => "Sub-location",
1983
+ "2#095" => "Province or State",
1984
+ "2#100" => "Country or Primary Location Code",
1985
+ "2#101" => "Country or Primary Location Name",
1986
+ "2#103" => "Original Transmission Reference",
1987
+ "2#105" => "Headline",
1988
+ "2#110" => "Credit",
1989
+ "2#115" => "Source",
1990
+ "2#116" => "Copyright Notice",
1991
+ "2#118" => "Contact",
1992
+ "2#120" => "Caption or Abstract",
1993
+ "2#122" => "Caption Writer or Editor",
1994
+ "2#125" => "Rasterized Caption",
1995
+ "2#130" => "Image Type",
1996
+ "2#131" => "Image Orientation",
1997
+ "2#135" => "Language Identifier",
1998
+ "2#150" => "Audio Type",
1999
+ "2#151" => "Audio Sampling Rate",
2000
+ "2#152" => "Audio Sampling Resolution",
2001
+ "2#153" => "Audio Duration",
2002
+ "2#154" => "Audio Outcue",
2003
+ "2#200" => "ObjectData Preview File Format",
2004
+ "2#201" => "ObjectData Preview File Format Version",
2005
+ "2#202" => "ObjectData Preview Data",
2006
+
2007
+ // Pre ObjectData Descriptor Record
2008
+ "7#010" => "Size Mode",
2009
+ "7#020" => "Max Subfile Size",
2010
+ "7#090" => "ObjectData Size Announced",
2011
+ "7#095" => "Maximum ObjectData Size",
2012
+
2013
+ // ObjectData Record
2014
+ "8#010" => "Subfile",
2015
+
2016
+ // Post ObjectData Descriptor Record
2017
+ "9#010" => "Confirmed ObjectData Size"
2018
+ );
2019
+
2020
+ /**
2021
+ * IPTC Dataset friendly name/slug and identifiers
2022
+ *
2023
+ * This array contains the sanitized names and identifiers of Datasets defined in
2024
+ * the "IPTC-NAA Information Interchange Model Version No. 4.1".
2025
+ *
2026
+ * @since 0.90
2027
+ *
2028
+ * @var array
2029
+ */
2030
+ public static $mla_iptc_keys = array(
2031
+ // Envelope Record
2032
+ 'model-version' => '1#000',
2033
+ 'destination' => '1#005',
2034
+ 'file-format' => '1#020',
2035
+ 'file-format-version' => '1#022',
2036
+ 'service-identifier' => '1#030',
2037
+ 'envelope-number' => '1#040',
2038
+ 'product-id' => '1#050',
2039
+ 'envelope-priority' => '1#060',
2040
+ 'date-sent' => '1#070',
2041
+ 'time-sent' => '1#080',
2042
+ 'coded-character-set' => '1#090',
2043
+ 'uno' => '1#100',
2044
+ 'arm-identifier' => '1#120',
2045
+ 'arm-version' => '1#122',
2046
+
2047
+ // Application Record
2048
+ 'record-version' => '2#000',
2049
+ 'object-type-reference' => '2#003',
2050
+ 'object-attribute-reference' => '2#004',
2051
+ 'object-name' => '2#005',
2052
+ 'edit-status' => '2#007',
2053
+ 'editorial-update' => '2#008',
2054
+ 'urgency' => '2#010',
2055
+ 'subject-reference' => '2#012',
2056
+ 'category' => '2#015',
2057
+ 'supplemental-category' => '2#020',
2058
+ 'fixture-identifier' => '2#022',
2059
+ 'keywords' => '2#025',
2060
+ 'content-location-code' => '2#026',
2061
+ 'content-location-name' => '2#027',
2062
+ 'release-date' => '2#030',
2063
+ 'release-time' => '2#035',
2064
+ 'expiration-date' => '2#037',
2065
+ 'expiration-time' => '2#038',
2066
+ 'special-instructions' => '2#040',
2067
+ 'action-advised' => '2#042',
2068
+ 'reference-service' => '2#045',
2069
+ 'reference-date' => '2#047',
2070
+ 'reference-number' => '2#050',
2071
+ 'date-created' => '2#055',
2072
+ 'time-created' => '2#060',
2073
+ 'digital-creation-date' => '2#062',
2074
+ 'digital-creation-time' => '2#063',
2075
+ 'originating-program' => '2#065',
2076
+ 'program-version' => '2#070',
2077
+ 'object-cycle' => '2#075',
2078
+ 'by-line' => '2#080',
2079
+ 'by-line-title' => '2#085',
2080
+ 'city' => '2#090',
2081
+ 'sub-location' => '2#092',
2082
+ 'province-or-state' => '2#095',
2083
+ 'country-or-primary-location-code' => '2#100',
2084
+ 'country-or-primary-location-name' => '2#101',
2085
+ 'original-transmission-reference' => '2#103',
2086
+ 'headline' => '2#105',
2087
+ 'credit' => '2#110',
2088
+ 'source' => '2#115',
2089
+ 'copyright-notice' => '2#116',
2090
+ 'contact' => '2#118',
2091
+ 'caption-or-abstract' => '2#120',
2092
+ 'caption-writer-or-editor' => '2#122',
2093
+ 'rasterized-caption' => '2#125',
2094
+ 'image-type' => '2#130',
2095
+ 'image-orientation' => '2#131',
2096
+ 'language-identifier' => '2#135',
2097
+ 'audio-type' => '2#150',
2098
+ 'audio-sampling-rate' => '2#151',
2099
+ 'audio-sampling-resolution' => '2#152',
2100
+ 'audio-duration' => '2#153',
2101
+ 'audio-outcue' => '2#154',
2102
+ 'objectdata-preview-file-format' => '2#200',
2103
+ 'objectdata-preview-file-format-version' => '2#201',
2104
+ 'objectdata-preview-data' => '2#202',
2105
+
2106
+ // Pre ObjectData Descriptor Record
2107
+ 'size-mode' => '7#010',
2108
+ 'max-subfile-size' => '7#020',
2109
+ 'objectdata-size-announced' => '7#090',
2110
+ 'maximum-objectdata-size' => '7#095',
2111
+
2112
+ // ObjectData Record
2113
+ 'subfile' => '8#010',
2114
+
2115
+ // Post ObjectData Descriptor Record
2116
+ 'confirmed-objectdata-size' => '9#010'
2117
+ );
2118
+
2119
+ /**
2120
+ * IPTC Dataset descriptions
2121
+ *
2122
+ * This array contains the descriptions of Datasets defined in
2123
+ * the "IPTC-NAA Information Interchange Model Version No. 4.1".
2124
+ *
2125
+ * @since 0.90
2126
+ *
2127
+ * @var array
2128
+ */
2129
+ private static $mla_iptc_descriptions = array(
2130
+ // Envelope Record
2131
+ "1#000" => "2 octet binary IIM version number",
2132
+ "1#005" => "Max 1024 characters of Destination (ISO routing information); repeatable",
2133
+ "1#020" => "2 octet binary file format number, see IPTC-NAA V4 Appendix A",
2134
+ "1#022" => "2 octet binary file format version number",
2135
+ "1#030" => "Max 10 characters of Service Identifier and product",
2136
+ "1#040" => "8 Character Envelope Number",
2137
+ "1#050" => "Max 32 characters subset of provider's overall service; repeatable",
2138
+ "1#060" => "1 numeric character of envelope handling priority (not urgency)",
2139
+ "1#070" => "8 numeric characters of Date Sent by service - CCYYMMDD",
2140
+ "1#080" => "11 characters of Time Sent by service - HHMMSS±HHMM",
2141
+ "1#090" => "Max 32 characters of control functions, etc.",
2142
+ "1#100" => "14 to 80 characters of eternal, globally unique identification for objects",
2143
+ "1#120" => "2 octet binary Abstract Relationship Model Identifier",
2144
+ "1#122" => "2 octet binary Abstract Relationship Model Version",
2145
+
2146
+ // Application Record
2147
+ "2#000" => "2 octet binary Information Interchange Model, Part II version number",
2148
+ "2#003" => "3 to 67 Characters of Object Type Reference number and optional text",
2149
+ "2#004" => "3 to 67 Characters of Object Attribute Reference number and optional text; repeatable",
2150
+ "2#005" => "Max 64 characters of the object name or shorthand reference",
2151
+ "2#007" => "Max 64 characters of the status of the objectdata",
2152
+ "2#008" => "2 numeric characters of the type of update this object provides",
2153
+ "2#010" => "1 numeric character of the editorial urgency of content",
2154
+ "2#012" => "13 to 236 characters of a structured definition of the subject matter; repeatable",
2155
+ "2#015" => "Max 3 characters of the subject of the objectdata, DEPRECATED",
2156
+ "2#020" => "Max 32 characters (each) of further refinement of subject, DEPRECATED; repeatable",
2157
+ "2#022" => "Max 32 characters identifying recurring, predictable content",
2158
+ "2#025" => "Max 64 characters (each) of tags; repeatable",
2159
+ "2#026" => "3 characters of ISO3166 country code or IPTC-assigned code; repeatable",
2160
+ "2#027" => "Max 64 characters of publishable country/geographical location name; repeatable",
2161
+ "2#030" => "8 numeric characters of Release Date - CCYYMMDD",
2162
+ "2#035" => "11 characters of Release Time (earliest use) - HHMMSS±HHMM",
2163
+ "2#037" => "8 numeric characters of Expiration Date (latest use) - CCYYMDD",
2164
+ "2#038" => "11 characters of Expiration Time (latest use) - HHMMSS±HHMM",
2165
+ "2#040" => "Max 256 Characters of editorial instructions, e.g., embargoes and warnings",
2166
+ "2#042" => "2 numeric characters of type of action this object provides to a previous object",
2167
+ "2#045" => "Max 10 characters of the Service ID (1#030) of a prior envelope; repeatable",
2168
+ "2#047" => "8 numeric characters of prior envelope Reference Date (1#070) - CCYYMMDD; repeatable",
2169
+ "2#050" => "8 characters of prior envelope Reference Number (1#040); repeatable",
2170
+ "2#055" => "8 numeric characters of intellectual content Date Created - CCYYMMDD",
2171
+ "2#060" => "11 characters of intellectual content Time Created - HHMMSS±HHMM",
2172
+ "2#062" => "8 numeric characters of digital representation creation date - CCYYMMDD",
2173
+ "2#063" => "11 characters of digital representation creation time - HHMMSS±HHMM",
2174
+ "2#065" => "Max 32 characters of the program used to create the objectdata",
2175
+ "2#070" => "Program Version - Max 10 characters of the version of the program used to create the objectdata",
2176
+ "2#075" => "1 character where a=morning, p=evening, b=both",
2177
+ "2#080" => "Max 32 Characters of the name of the objectdata creator, e.g., the writer, photographer; repeatable",
2178
+ "2#085" => "Max 32 characters of the title of the objectdata creator; repeatable",
2179
+ "2#090" => "Max 32 Characters of the city of objectdata origin",
2180
+ "2#092" => "Max 32 Characters of the location within the city of objectdata origin",
2181
+ "2#095" => "Max 32 Characters of the objectdata origin Province or State",
2182
+ "2#100" => "3 characters of ISO3166 or IPTC-assigned code for Country of objectdata origin",
2183
+ "2#101" => "Max 64 characters of publishable country/geographical location name of objectdata origin",
2184
+ "2#103" => "Max 32 characters of a code representing the location of original transmission",
2185
+ "2#105" => "Max 256 Characters of a publishable entry providing a synopsis of the contents of the objectdata",
2186
+ "2#110" => "Max 32 Characters that identifies the provider of the objectdata (Vs the owner/creator)",
2187
+ "2#115" => "Max 32 Characters that identifies the original owner of the intellectual content",
2188
+ "2#116" => "Max 128 Characters that contains any necessary copyright notice",
2189
+ "2#118" => "Max 128 characters that identifies the person or organisation which can provide further background information; repeatable",
2190
+ "2#120" => "Max 2000 Characters of a textual description of the objectdata",
2191
+ "2#122" => "Max 32 Characters that the identifies the person involved in the writing, editing or correcting the objectdata or caption/abstract; repeatable",
2192
+ "2#125" => "7360 binary octets of the rasterized caption - 1 bit per pixel, 460x128-pixel image",
2193
+ "2#130" => "2 characters of color composition type and information",
2194
+ "2#131" => "1 alphabetic character indicating the image area layout - P=portrait, L=landscape, S=square",
2195
+ "2#135" => "2 or 3 aphabetic characters containing the major national language of the object, according to the ISO 639:1988 codes",
2196
+ "2#150" => "2 characters identifying monaural/stereo and exact type of audio content",
2197
+ "2#151" => "6 numeric characters representing the audio sampling rate in hertz (Hz)",
2198
+ "2#152" => "2 numeric characters representing the number of bits in each audio sample",
2199
+ "2#153" => "6 numeric characters of the Audio Duration - HHMMSS",
2200
+ "2#154" => "Max 64 characters of the content of the end of an audio objectdata",
2201
+ "2#200" => "2 octet binary file format of the ObjectData Preview",
2202
+ "2#201" => "2 octet binary particular version of the ObjectData Preview File Format",
2203
+ "2#202" => "Max 256000 binary octets containing the ObjectData Preview data",
2204
+
2205
+ // Pre ObjectData Descriptor Record
2206
+ "7#010" => "1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer",
2207
+ "7#020" => "4 octet binary maximum subfile dataset(s) size",
2208
+ "7#090" => "4 octet binary objectdata size if known at beginning of transfer",
2209
+ "7#095" => "4 octet binary largest possible objectdata size",
2210
+
2211
+ // ObjectData Record
2212
+ "8#010" => "Subfile DataSet containing the objectdata itself; repeatable",
2213
+
2214
+ // Post ObjectData Descriptor Record
2215
+ "9#010" => "4 octet binary total objectdata size"
2216
+ );
2217
+
2218
+ /**
2219
+ * IPTC file format identifiers and descriptions
2220
+ *
2221
+ * This array contains the file format identifiers and descriptions defined in
2222
+ * the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.
2223
+ *
2224
+ * @since 0.90
2225
+ *
2226
+ * @var array
2227
+ */
2228
+ private static $mla_iptc_formats = array(
2229
+ 00 => "No ObjectData",
2230
+ 01 => "IPTC-NAA Digital Newsphoto Parameter Record",
2231
+ 02 => "IPTC7901 Recommended Message Format",
2232
+ 03 => "Tagged Image File Format (Adobe/Aldus Image data)",
2233
+ 04 => "Illustrator (Adobe Graphics data)",
2234
+ 05 => "AppleSingle (Apple Computer Inc)",
2235
+ 06 => "NAA 89-3 (ANPA 1312)",
2236
+ 07 => "MacBinary II",
2237
+ 08 => "IPTC Unstructured Character Oriented File Format (UCOFF)",
2238
+ 09 => "United Press International ANPA 1312 variant",
2239
+ 10 => "United Press International Down-Load Message",
2240
+ 11 => "JPEG File Interchange (JFIF)",
2241
+ 12 => "Photo-CD Image-Pac (Eastman Kodak)",
2242
+ 13 => "Microsoft Bit Mapped Graphics File [*.BMP]",
2243
+ 14 => "Digital Audio File [*.WAV] (Microsoft & Creative Labs)",
2244
+ 15 => "Audio plus Moving Video [*.AVI] (Microsoft)",
2245
+ 16 => "PC DOS/Windows Executable Files [*.COM][*.EXE]",
2246
+ 17 => "Compressed Binary File [*.ZIP] (PKWare Inc)",
2247
+ 18 => "Audio Interchange File Format AIFF (Apple Computer Inc)",
2248
+ 19 => "RIFF Wave (Microsoft Corporation)",
2249
+ 20 => "Freehand (Macromedia/Aldus)",
2250
+ 21 => "Hypertext Markup Language - HTML (The Internet Society)",
2251
+ 22 => "MPEG 2 Audio Layer 2 (Musicom), ISO/IEC",
2252
+ 23 => "MPEG 2 Audio Layer 3, ISO/IEC",
2253
+ 24 => "Portable Document File (*.PDF) Adobe",
2254
+ 25 => "News Industry Text Format (NITF)",
2255
+ 26 => "Tape Archive (*.TAR)",
2256
+ 27 => "Tidningarnas Telegrambyrå NITF version (TTNITF DTD)",
2257
+ 28 => "Ritzaus Bureau NITF version (RBNITF DTD)",
2258
+ 29 => "Corel Draw [*.CDR]"
2259
+ );
2260
+
2261
+ /**
2262
+ * IPTC image type identifiers and descriptions
2263
+ *
2264
+ * This array contains the image type identifiers and descriptions defined in
2265
+ * the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.
2266
+ *
2267
+ * @since 0.90
2268
+ *
2269
+ * @var array
2270
+ */
2271
+ private static $mla_iptc_image_types = array(
2272
+ "M" => "Monochrome",
2273
+ "Y" => "Yellow Component",
2274
+ "M" => "Magenta Component",
2275
+ "C" => "Cyan Component",
2276
+ "K" => "Black Component",
2277
+ "R" => "Red Component",
2278
+ "G" => "Green Component",
2279
+ "B" => "Blue Component",
2280
+ "T" => "Text Only",
2281
+ "F" => "Full colour composite, frame sequential",
2282
+ "L" => "Full colour composite, line sequential",
2283
+ "P" => "Full colour composite, pixel sequential",
2284
+ "S" => "Full colour composite, special interleaving"
2285
+ );
2286
+
2287
+ /**
2288
+ * Parse one IPTC metadata field
2289
+ *
2290
+ * Returns a string value, converting array data to a string as necessary.
2291
+ *
2292
+ * @since 1.41
2293
+ *
2294
+ * @param string field name - IPTC Identifier or friendly name/slug
2295
+ * @param string metadata array containing 'mla_iptc_metadata' array
2296
+ *
2297
+ * @return mixed string/array representation of metadata value or an empty string
2298
+ */
2299
+ public static function mla_iptc_metadata_value( $iptc_key, $image_metadata ) {
2300
+ // convert friendly name/slug to identifier
2301
+ if ( array_key_exists( $iptc_key, self::$mla_iptc_keys ) ) {
2302
+ $iptc_key = self::$mla_iptc_keys[ $iptc_key ];
2303
+ }
2304
+
2305
+ $text = '';
2306
+ if ( array_key_exists( $iptc_key, $image_metadata['mla_iptc_metadata'] ) ) {
2307
+ $text = $image_metadata['mla_iptc_metadata'][ $iptc_key ];
2308
+ if ( is_array( $text ) ) {
2309
+ foreach ($text as $key => $value )
2310
+ $text[ $key ] = self::_bin_to_utf8( $value );
2311
+ }
2312
+ elseif ( is_string( $text ) )
2313
+ $text = self::_bin_to_utf8( $text );
2314
+ }
2315
+
2316
+ return $text;
2317
+ }
2318
+
2319
  /**
2320
  * Parse one EXIF metadata field
2321
  *
2329
  *
2330
  * @return string string representation of metadata value or an empty string
2331
  */
2332
+ public static function mla_exif_metadata_value( $exif_key, $image_metadata ) {
2333
  $text = '';
2334
+ if ( array_key_exists( $exif_key, $image_metadata['mla_exif_metadata'] ) ) {
2335
+ $text = $image_metadata['mla_exif_metadata'][ $exif_key ];
2336
+ if ( is_array( $text ) ) {
2337
+ foreach ($text as $key => $value ) {
2338
+ if ( is_array( $value ) )
2339
+ $text[ $key ] = self::_bin_to_utf8( var_export( $value, true ) );
2340
+ else
2341
+ $text[ $key ] = self::_bin_to_utf8( $value );
2342
+ }
2343
+ }
2344
+ elseif ( is_string( $text ) )
2345
+ $text = self::_bin_to_utf8( $text );
2346
+ } elseif ( 'ALL_EXIF' == $exif_key ) {
2347
+ $clean_data = array();
2348
+ foreach ( $image_metadata['mla_exif_metadata'] as $key => $value ) {
2349
+ if ( is_array( $value ) )
2350
+ $clean_data[ $key ] = '(ARRAY)';
2351
+ elseif ( is_string( $value ) )
2352
+ $clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
2353
+ else
2354
+ $clean_data[ $key ] = $value;
2355
+ }
2356
+
2357
+ $text = var_export( $clean_data, true);
2358
+ } elseif ( 'ALL_IPTC' == $exif_key ) {
2359
+ $clean_data = array();
2360
+ foreach ( $image_metadata['mla_iptc_metadata'] as $key => $value ) {
2361
+ if ( is_array( $value ) ) {
2362
+ foreach ($value as $text_key => $text )
2363
+ $value[ $text_key ] = self::_bin_to_utf8( $text );
2364
+
2365
+ $clean_data[ $key ] = 'ARRAY(' . implode( ',', $value ) . ')';
2366
+ }
2367
+ elseif ( is_string( $value ) )
2368
+ $clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
2369
+ else
2370
+ $clean_data[ $key ] = self::_bin_to_utf8( $value );
2371
+ }
2372
+
2373
+ $text = var_export( $clean_data, true);
2374
  }
2375
 
2376
  return $text;
2391
  public static function mla_fetch_attachment_image_metadata( $post_id, $path = '' ) {
2392
  $results = array(
2393
  'mla_iptc_metadata' => array(),
2394
+ 'mla_exif_metadata' => array(),
2395
+ 'mla_pdf_metadata' => array()
2396
  );
2397
 
2398
  if ( 0 != $post_id )
2399
  $path = get_attached_file($post_id);
2400
+
2401
  if ( ! empty( $path ) ) {
2402
+ /*
2403
+ if ( 'pdf' == strtolower( pathinfo( $path, PATHINFO_EXTENSION ) ) ) {
2404
+ $results['mla_pdf_metadata'] = self::_extract_pdf_metadata( $path );
2405
+ return $results;
2406
  }
2407
+ */
2408
+ $size = getimagesize( $path, $info );
2409
 
2410
  if ( is_callable( 'iptcparse' ) ) {
2411
  if ( !empty( $info['APP13'] ) ) {
2442
  }
2443
  } // is_array
2444
  }
2445
+
2446
  return $results;
2447
  }
2448
 
includes/class-mla-list-table.php CHANGED
@@ -397,12 +397,13 @@ class MLA_List_Table extends WP_List_Table {
397
 
398
  $list = array();
399
  foreach ( $terms as $term ) {
400
- $list[ ] = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
 
401
  'page' => MLA::ADMIN_PAGE_SLUG,
402
  'mla-tax' => $taxonomy,
403
  'mla-term' => $term->slug,
404
  'heading_suffix' => urlencode( $tax_object->label . ': ' . $term->name )
405
- ), 'upload.php' ) ), esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'category', 'display' ) ) );
406
  } // foreach $term
407
 
408
  return join( ', ', $list );
@@ -425,12 +426,12 @@ class MLA_List_Table extends WP_List_Table {
425
  if ( is_array( $value ) )
426
  $list[ ] = 'array( ' . implode( ', ', $value ) . ' )';
427
  else
428
- $list[ ] = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
429
  'page' => MLA::ADMIN_PAGE_SLUG,
430
  'mla-metakey' => urlencode( MLA_List_Table::$default_columns[ $column_name ] ),
431
  'mla-metavalue' => urlencode( $value ),
432
  'heading_suffix' => urlencode( MLA_List_Table::$default_columns[ $column_name ] . ': ' . $value )
433
- ), 'upload.php' ) ), esc_html( $value ) );
434
  }
435
 
436
  if ( count( $list ) > 1 )
@@ -472,10 +473,15 @@ class MLA_List_Table extends WP_List_Table {
472
  function column_icon( $item )
473
  {
474
  if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ENABLE_MLA_ICONS ) )
475
- return wp_get_attachment_image( $item->ID, array( 64, 64 ), true );
476
  else
477
- return wp_get_attachment_image( $item->ID, array( 80, 60 ), true );
478
- }
 
 
 
 
 
479
 
480
  /**
481
  * Add rollover actions to exactly one of the following displayed columns:
@@ -622,7 +628,7 @@ class MLA_List_Table extends WP_List_Table {
622
  else
623
  $parent_title = '(no title: bad ID)';
624
 
625
- $parent = sprintf( '<a href="%1$s">(parent:%2$s)</a>', esc_url( add_query_arg( array(
626
  'page' => MLA::ADMIN_PAGE_SLUG,
627
  'parent' => $item->post_parent,
628
  'heading_suffix' => urlencode( 'Parent: ' . $parent_title )
@@ -712,7 +718,7 @@ class MLA_List_Table extends WP_List_Table {
712
  else
713
  $parent_title = '(no title: bad ID)';
714
 
715
- return sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
716
  'page' => MLA::ADMIN_PAGE_SLUG,
717
  'parent' => $item->post_parent,
718
  'heading_suffix' => urlencode( 'Parent: ' . $parent_title )
@@ -754,12 +760,13 @@ class MLA_List_Table extends WP_List_Table {
754
  else
755
  $parent = '';
756
 
757
- $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s">%5$s</a>',
758
  /*%1$s*/ esc_attr( $feature->post_type ),
759
  /*%2$s*/ $feature_id,
760
  /*%3$s*/ $parent,
761
  /*%4$s*/ esc_url( add_query_arg( array('post' => $feature_id, 'action' => 'edit'), 'post.php' ) ),
762
- /*%5$s*/ esc_attr( $feature->post_title ) ) . "<br>\r\n";
 
763
  } // foreach $feature
764
 
765
  return $value;
@@ -788,12 +795,13 @@ class MLA_List_Table extends WP_List_Table {
788
  else
789
  $parent = '';
790
 
791
- $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s">%5$s</a>',
792
  /*%1$s*/ esc_attr( $insert->post_type ),
793
  /*%2$s*/ $insert->ID,
794
  /*%3$s*/ $parent,
795
  /*%4$s*/ esc_url( add_query_arg( array('post' => $insert->ID, 'action' => 'edit'), 'post.php' ) ),
796
- /*%5$s*/ esc_attr( $insert->post_title ) ) . "<br>\r\n";
 
797
  } // foreach $insert
798
  } // foreach $file
799
 
@@ -820,12 +828,13 @@ class MLA_List_Table extends WP_List_Table {
820
  else
821
  $parent = '';
822
 
823
- $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s">%5$s</a>',
824
  /*%1$s*/ esc_attr( $gallery['post_type'] ),
825
  /*%2$s*/ $ID,
826
  /*%3$s*/ $parent,
827
  /*%4$s*/ esc_url( add_query_arg( array('post' => $ID, 'action' => 'edit'), 'post.php' ) ),
828
- /*%5$s*/ esc_attr( $gallery['post_title'] ) ) . "<br>\r\n";
 
829
  } // foreach $gallery
830
 
831
  return $value;
@@ -851,12 +860,13 @@ class MLA_List_Table extends WP_List_Table {
851
  else
852
  $parent = '';
853
 
854
- $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s">%5$s</a>',
855
  /*%1$s*/ esc_attr( $gallery['post_type'] ),
856
  /*%2$s*/ $ID,
857
  /*%3$s*/ $parent,
858
  /*%4$s*/ esc_url( add_query_arg( array('post' => $ID, 'action' => 'edit'), 'post.php' ) ),
859
- /*%5$s*/ esc_attr( $gallery['post_title'] ) ) . "<br>\r\n";
 
860
  } // foreach $gallery
861
 
862
  return $value;
@@ -872,12 +882,12 @@ class MLA_List_Table extends WP_List_Table {
872
  */
873
  function column_alt_text( $item ) {
874
  if ( isset( $item->mla_wp_attachment_image_alt ) )
875
- return sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
876
  'page' => MLA::ADMIN_PAGE_SLUG,
877
  'mla-metakey' => '_wp_attachment_image_alt',
878
  'mla-metavalue' => urlencode( $item->mla_wp_attachment_image_alt ),
879
  'heading_suffix' => urlencode( 'ALT Text: ' . $item->mla_wp_attachment_image_alt )
880
- ), 'upload.php' ) ), esc_html( $item->mla_wp_attachment_image_alt ) );
881
  else
882
  return '';
883
  }
@@ -915,11 +925,11 @@ class MLA_List_Table extends WP_List_Table {
915
  * @return string HTML markup to be placed inside the column
916
  */
917
  function column_post_mime_type( $item ) {
918
- return sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
919
  'page' => MLA::ADMIN_PAGE_SLUG,
920
  'post_mime_type' => urlencode( $item->post_mime_type ),
921
  'heading_suffix' => urlencode( 'MIME Type: ' . $item->post_mime_type )
922
- ), 'upload.php' ) ), esc_html( $item->post_mime_type ) );
923
  }
924
 
925
  /**
@@ -1004,7 +1014,7 @@ class MLA_List_Table extends WP_List_Table {
1004
  $user = get_user_by( 'id', $item->post_author );
1005
 
1006
  if ( isset( $user->data->display_name ) )
1007
- return sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
1008
  'page' => MLA::ADMIN_PAGE_SLUG,
1009
  'author' => $item->post_author,
1010
  'heading_suffix' => urlencode( 'Author: ' . $user->data->display_name )
@@ -1028,10 +1038,10 @@ class MLA_List_Table extends WP_List_Table {
1028
  $parent_date = '';
1029
 
1030
  if ( isset( $item->parent_title ) )
1031
- $parent_title = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array(
1032
  'post' => $item->post_parent,
1033
  'action' => 'edit'
1034
- ), 'post.php' ) ), esc_attr( $item->parent_title ) );
1035
  else
1036
  $parent_title = '(Unattached)';
1037
 
397
 
398
  $list = array();
399
  foreach ( $terms as $term ) {
400
+ $term_name = esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'category', 'display' ) );
401
+ $list[ ] = sprintf( '<a href="%1$s" title="Filter by &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array(
402
  'page' => MLA::ADMIN_PAGE_SLUG,
403
  'mla-tax' => $taxonomy,
404
  'mla-term' => $term->slug,
405
  'heading_suffix' => urlencode( $tax_object->label . ': ' . $term->name )
406
+ ), 'upload.php' ) ), $term_name, $term_name );
407
  } // foreach $term
408
 
409
  return join( ', ', $list );
426
  if ( is_array( $value ) )
427
  $list[ ] = 'array( ' . implode( ', ', $value ) . ' )';
428
  else
429
+ $list[ ] = sprintf( '<a href="%1$s" title="Filter by &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array(
430
  'page' => MLA::ADMIN_PAGE_SLUG,
431
  'mla-metakey' => urlencode( MLA_List_Table::$default_columns[ $column_name ] ),
432
  'mla-metavalue' => urlencode( $value ),
433
  'heading_suffix' => urlencode( MLA_List_Table::$default_columns[ $column_name ] . ': ' . $value )
434
+ ), 'upload.php' ) ), esc_html( substr( $value, 0, 64 ) ), esc_html( $value ) );
435
  }
436
 
437
  if ( count( $list ) > 1 )
473
  function column_icon( $item )
474
  {
475
  if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ENABLE_MLA_ICONS ) )
476
+ $thumb = wp_get_attachment_image( $item->ID, array( 64, 64 ), true, array( 'class' => 'mla_media_thumbnail_64_64' ) );
477
  else
478
+ $thumb = wp_get_attachment_image( $item->ID, array( 80, 60 ), true, array( 'class' => 'mla_media_thumbnail_80_60' ) );
479
+
480
+ if ( $this->is_trash || ! current_user_can( 'edit_post', $item->ID ) )
481
+ return $thumb;
482
+
483
+ return sprintf( '<a href="%1$s" title="Edit &#8220;%2$s&#8221;">%3$s</a>', get_edit_post_link( $item->ID, true ), esc_attr( $item->post_title ), $thumb );
484
+ }
485
 
486
  /**
487
  * Add rollover actions to exactly one of the following displayed columns:
628
  else
629
  $parent_title = '(no title: bad ID)';
630
 
631
+ $parent = sprintf( '<a href="%1$s" title="Filter by Parent ID">(parent:%2$s)</a>', esc_url( add_query_arg( array(
632
  'page' => MLA::ADMIN_PAGE_SLUG,
633
  'parent' => $item->post_parent,
634
  'heading_suffix' => urlencode( 'Parent: ' . $parent_title )
718
  else
719
  $parent_title = '(no title: bad ID)';
720
 
721
+ return sprintf( '<a href="%1$s" title="Filter by Parent ID">%2$s</a>', esc_url( add_query_arg( array(
722
  'page' => MLA::ADMIN_PAGE_SLUG,
723
  'parent' => $item->post_parent,
724
  'heading_suffix' => urlencode( 'Parent: ' . $parent_title )
760
  else
761
  $parent = '';
762
 
763
+ $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s" title="Edit &#8220;%5$s&#8221;">%6$s</a>',
764
  /*%1$s*/ esc_attr( $feature->post_type ),
765
  /*%2$s*/ $feature_id,
766
  /*%3$s*/ $parent,
767
  /*%4$s*/ esc_url( add_query_arg( array('post' => $feature_id, 'action' => 'edit'), 'post.php' ) ),
768
+ /*%5$s*/ esc_attr( $feature->post_title ),
769
+ /*%6$s*/ esc_attr( $feature->post_title ) ) . "<br>\r\n";
770
  } // foreach $feature
771
 
772
  return $value;
795
  else
796
  $parent = '';
797
 
798
+ $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s" title="Edit &#8220;%5$s&#8221;">%6$s</a>',
799
  /*%1$s*/ esc_attr( $insert->post_type ),
800
  /*%2$s*/ $insert->ID,
801
  /*%3$s*/ $parent,
802
  /*%4$s*/ esc_url( add_query_arg( array('post' => $insert->ID, 'action' => 'edit'), 'post.php' ) ),
803
+ /*%5$s*/ esc_attr( $insert->post_title ),
804
+ /*%6$s*/ esc_attr( $insert->post_title ) ) . "<br>\r\n";
805
  } // foreach $insert
806
  } // foreach $file
807
 
828
  else
829
  $parent = '';
830
 
831
+ $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s" title="Edit &#8220;%5$s&#8221;">%6$s</a>',
832
  /*%1$s*/ esc_attr( $gallery['post_type'] ),
833
  /*%2$s*/ $ID,
834
  /*%3$s*/ $parent,
835
  /*%4$s*/ esc_url( add_query_arg( array('post' => $ID, 'action' => 'edit'), 'post.php' ) ),
836
+ /*%5$s*/ esc_attr( $gallery['post_title'] ),
837
+ /*%6$s*/ esc_attr( $gallery['post_title'] ) ) . "<br>\r\n";
838
  } // foreach $gallery
839
 
840
  return $value;
860
  else
861
  $parent = '';
862
 
863
+ $value .= sprintf( '(%1$s %2$s%3$s), <a href="%4$s" title="Edit &#8220;%5$s&#8221;">%6$s</a>',
864
  /*%1$s*/ esc_attr( $gallery['post_type'] ),
865
  /*%2$s*/ $ID,
866
  /*%3$s*/ $parent,
867
  /*%4$s*/ esc_url( add_query_arg( array('post' => $ID, 'action' => 'edit'), 'post.php' ) ),
868
+ /*%5$s*/ esc_attr( $gallery['post_title'] ),
869
+ /*%6$s*/ esc_attr( $gallery['post_title'] ) ) . "<br>\r\n";
870
  } // foreach $gallery
871
 
872
  return $value;
882
  */
883
  function column_alt_text( $item ) {
884
  if ( isset( $item->mla_wp_attachment_image_alt ) )
885
+ return sprintf( '<a href="%1$s" title="Filter by &#8220;%2$s&#8221;"">%3$s</a>', esc_url( add_query_arg( array(
886
  'page' => MLA::ADMIN_PAGE_SLUG,
887
  'mla-metakey' => '_wp_attachment_image_alt',
888
  'mla-metavalue' => urlencode( $item->mla_wp_attachment_image_alt ),
889
  'heading_suffix' => urlencode( 'ALT Text: ' . $item->mla_wp_attachment_image_alt )
890
+ ), 'upload.php' ) ), esc_html( $item->mla_wp_attachment_image_alt ), esc_html( $item->mla_wp_attachment_image_alt ) );
891
  else
892
  return '';
893
  }
925
  * @return string HTML markup to be placed inside the column
926
  */
927
  function column_post_mime_type( $item ) {
928
+ return sprintf( '<a href="%1$s" title="Filter by &#8220;%2$s&#8221;"">%2$s</a>', esc_url( add_query_arg( array(
929
  'page' => MLA::ADMIN_PAGE_SLUG,
930
  'post_mime_type' => urlencode( $item->post_mime_type ),
931
  'heading_suffix' => urlencode( 'MIME Type: ' . $item->post_mime_type )
932
+ ), 'upload.php' ) ), esc_html( $item->post_mime_type ), esc_html( $item->post_mime_type ) );
933
  }
934
 
935
  /**
1014
  $user = get_user_by( 'id', $item->post_author );
1015
 
1016
  if ( isset( $user->data->display_name ) )
1017
+ return sprintf( '<a href="%s" title="Filter by Author ID">%s</a>', esc_url( add_query_arg( array(
1018
  'page' => MLA::ADMIN_PAGE_SLUG,
1019
  'author' => $item->post_author,
1020
  'heading_suffix' => urlencode( 'Author: ' . $user->data->display_name )
1038
  $parent_date = '';
1039
 
1040
  if ( isset( $item->parent_title ) )
1041
+ $parent_title = sprintf( '<a href="%1$s" title="Edit &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array(
1042
  'post' => $item->post_parent,
1043
  'action' => 'edit'
1044
+ ), 'post.php' ) ), esc_attr( $item->parent_title ), esc_attr( $item->parent_title ) );
1045
  else
1046
  $parent_title = '(Unattached)';
1047
 
includes/class-mla-main.php CHANGED
@@ -38,7 +38,7 @@ class MLA {
38
  *
39
  * @var string
40
  */
41
- const CURRENT_MLA_VERSION = '1.40';
42
 
43
  /**
44
  * Slug for registering and enqueueing plugin style sheet
@@ -581,6 +581,19 @@ class MLA {
581
  * @return void
582
  */
583
  public static function mla_render_admin_page( ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
584
  $bulk_action = self::_current_bulk_action();
585
 
586
  echo "<div class=\"wrap\">\r\n";
@@ -612,7 +625,7 @@ class MLA {
612
  * Process bulk actions that affect an array of items
613
  */
614
  if ( $bulk_action && ( $bulk_action != 'none' ) ) {
615
- echo "</h2>\r\n";
616
 
617
  if ( isset( $_REQUEST['cb_attachment'] ) ) {
618
  foreach ( $_REQUEST['cb_attachment'] as $index => $post_id ) {
@@ -638,12 +651,23 @@ class MLA {
638
  break;
639
  }
640
 
 
 
 
641
  $new_data = array() ;
642
- if ( isset( $_REQUEST['post_parent'] ) && is_numeric( $_REQUEST['post_parent'] ) )
643
- $new_data['post_parent'] = $_REQUEST['post_parent'];
 
 
 
 
644
 
645
- if ( isset( $_REQUEST['post_author'] ) && ( -1 != $_REQUEST['post_author'] ) )
646
- $new_data['post_author'] = $_REQUEST['post_author'];
 
 
 
 
647
 
648
  /*
649
  * Custom field support
@@ -651,10 +675,13 @@ class MLA {
651
  $custom_fields = array();
652
  foreach (MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $label ) {
653
  $field_name = $slug;
654
- if ( isset( $_REQUEST[ $field_name ] ) && ( ! empty( $_REQUEST[ $field_name ] ) ) ) {
655
- $custom_fields[ $label ] = $_REQUEST[ $field_name ];
656
- }
657
- }
 
 
 
658
 
659
  if ( ! empty( $custom_fields ) )
660
  $new_data[ 'custom_updates' ] = $custom_fields;
@@ -677,10 +704,18 @@ class MLA {
677
 
678
  $page_content['message'] .= $item_content['message'] . '<br>';
679
  } // foreach cb_attachment
 
 
 
 
680
  } // isset cb_attachment
681
  else {
682
  $page_content['message'] = 'Bulk Action ' . $bulk_action . ' - no items selected.';
683
  }
 
 
 
 
684
  } // $bulk_action
685
 
686
  /*
@@ -743,21 +778,10 @@ class MLA {
743
  /*
744
  * Display Attachments list
745
  */
746
-
747
- $_SERVER['REQUEST_URI'] = remove_query_arg( array(
748
- 'mla_admin_action',
749
- 'mla_item_ID',
750
- '_wpnonce',
751
- '_wp_http_referer',
752
- 'action',
753
- 'action2',
754
- 'cb_attachment'
755
- ), $_SERVER['REQUEST_URI'] );
756
-
757
  if ( !empty( $_REQUEST['heading_suffix'] ) ) {
758
  echo ' - ' . esc_html( $_REQUEST['heading_suffix'] ) . "</h2>\r\n";
759
  } elseif ( !empty( $_REQUEST['s'] ) && !empty( $_REQUEST['mla_search_fields'] ) ) {
760
- echo ' - search results for "' . stripslashes( trim( $_REQUEST['s'] ) ) . "\"</h2>\r\n";
761
  } else
762
  echo "</h2>\r\n";
763
 
@@ -796,7 +820,8 @@ class MLA {
796
  $MLAListTable->views();
797
 
798
  // Forms are NOT created automatically, so you need to wrap the table in one to use features like bulk actions
799
- echo '<form action="' . admin_url( 'upload.php' ) . '" method="get" id="mla-filter">' . "\r\n";
 
800
  /*
801
  * Compose the Search Media box
802
  */
@@ -878,7 +903,7 @@ class MLA {
878
  echo "<div id=\"ajax-response\"></div>\r\n";
879
  echo "<br class=\"clear\" />\r\n";
880
  echo "</div><!-- class=wrap -->\r\n";
881
- }
882
  }
883
 
884
  /**
@@ -1361,7 +1386,7 @@ class MLA {
1361
  $mla_galleries = 'disabled';
1362
 
1363
  /*
1364
- * WordPress doesn't look in hidden fields to set the month filter dropdown or pagination filter
1365
  */
1366
  if ( isset( $_REQUEST['m'] ) )
1367
  $url_args = '&m=' . $_REQUEST['m'];
38
  *
39
  * @var string
40
  */
41
+ const CURRENT_MLA_VERSION = '1.41';
42
 
43
  /**
44
  * Slug for registering and enqueueing plugin style sheet
581
  * @return void
582
  */
583
  public static function mla_render_admin_page( ) {
584
+ /*
585
+ * WordPress class-wp-list-table.php doesn't look in hidden fields to set
586
+ * the month filter dropdown or sorting parameters
587
+ */
588
+ if ( isset( $_REQUEST['m'] ) )
589
+ $_GET['m'] = $_REQUEST['m'];
590
+
591
+ if ( isset( $_REQUEST['order'] ) )
592
+ $_GET['order'] = $_REQUEST['order'];
593
+
594
+ if ( isset( $_REQUEST['orderby'] ) )
595
+ $_GET['orderby'] = $_REQUEST['orderby'];
596
+
597
  $bulk_action = self::_current_bulk_action();
598
 
599
  echo "<div class=\"wrap\">\r\n";
625
  * Process bulk actions that affect an array of items
626
  */
627
  if ( $bulk_action && ( $bulk_action != 'none' ) ) {
628
+ // echo "</h2>\r\n";
629
 
630
  if ( isset( $_REQUEST['cb_attachment'] ) ) {
631
  foreach ( $_REQUEST['cb_attachment'] as $index => $post_id ) {
651
  break;
652
  }
653
 
654
+ /*
655
+ * Copy the edit form contents to $new_data and remove them from $_REQUEST
656
+ */
657
  $new_data = array() ;
658
+ if ( isset( $_REQUEST['post_parent'] ) ) {
659
+ if ( is_numeric( $_REQUEST['post_parent'] ) )
660
+ $new_data['post_parent'] = $_REQUEST['post_parent'];
661
+
662
+ unset( $_REQUEST['post_parent'] );
663
+ }
664
 
665
+ if ( isset( $_REQUEST['post_author'] ) ) {
666
+ if ( -1 != $_REQUEST['post_author'] )
667
+ $new_data['post_author'] = $_REQUEST['post_author'];
668
+
669
+ unset( $_REQUEST['post_author'] );
670
+ }
671
 
672
  /*
673
  * Custom field support
675
  $custom_fields = array();
676
  foreach (MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $label ) {
677
  $field_name = $slug;
678
+ if ( isset( $_REQUEST[ $field_name ] ) ) {
679
+ if ( ! empty( $_REQUEST[ $field_name ] ) )
680
+ $custom_fields[ $label ] = $_REQUEST[ $field_name ];
681
+
682
+ unset( $_REQUEST[ $field_name ] );
683
+ }
684
+ } // foreach
685
 
686
  if ( ! empty( $custom_fields ) )
687
  $new_data[ 'custom_updates' ] = $custom_fields;
704
 
705
  $page_content['message'] .= $item_content['message'] . '<br>';
706
  } // foreach cb_attachment
707
+
708
+ unset( $_REQUEST['tax_input'] );
709
+ unset( $_REQUEST['tax_action'] );
710
+ unset( $_REQUEST['cb_attachment'] );
711
  } // isset cb_attachment
712
  else {
713
  $page_content['message'] = 'Bulk Action ' . $bulk_action . ' - no items selected.';
714
  }
715
+
716
+ unset( $_REQUEST['action'] );
717
+ unset( $_REQUEST['bulk_edit'] );
718
+ unset( $_REQUEST['action2'] );
719
  } // $bulk_action
720
 
721
  /*
778
  /*
779
  * Display Attachments list
780
  */
 
 
 
 
 
 
 
 
 
 
 
781
  if ( !empty( $_REQUEST['heading_suffix'] ) ) {
782
  echo ' - ' . esc_html( $_REQUEST['heading_suffix'] ) . "</h2>\r\n";
783
  } elseif ( !empty( $_REQUEST['s'] ) && !empty( $_REQUEST['mla_search_fields'] ) ) {
784
+ echo ' - search results for "' . esc_html( stripslashes( trim( $_REQUEST['s'] ) ) ) . "\"</h2>\r\n";
785
  } else
786
  echo "</h2>\r\n";
787
 
820
  $MLAListTable->views();
821
 
822
  // Forms are NOT created automatically, so you need to wrap the table in one to use features like bulk actions
823
+ // echo '<form action="' . admin_url( 'upload.php' ) . '" method="get" id="mla-filter">' . "\r\n";
824
+ echo '<form action="' . admin_url( 'upload.php?page=mla-menu' ) . '" method="post" id="mla-filter">' . "\r\n";
825
  /*
826
  * Compose the Search Media box
827
  */
903
  echo "<div id=\"ajax-response\"></div>\r\n";
904
  echo "<br class=\"clear\" />\r\n";
905
  echo "</div><!-- class=wrap -->\r\n";
906
+ } // display attachments list
907
  }
908
 
909
  /**
1386
  $mla_galleries = 'disabled';
1387
 
1388
  /*
1389
+ * WordPress doesn't look in hidden fields to set the month filter dropdown or sorting parameters
1390
  */
1391
  if ( isset( $_REQUEST['m'] ) )
1392
  $url_args = '&m=' . $_REQUEST['m'];
includes/class-mla-options.php CHANGED
@@ -2281,7 +2281,6 @@ class MLAOptions {
2281
  */
2282
  public static function mla_evaluate_iptc_exif_mapping( $post, $category, $settings = NULL ) {
2283
  $metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
2284
- $iptc_metadata = $metadata['mla_iptc_metadata'];
2285
  $updates = array();
2286
  $update_all = ( 'iptc_exif_mapping' == $category );
2287
  if ( NULL == $settings )
@@ -2289,7 +2288,11 @@ class MLAOptions {
2289
 
2290
  if ( $update_all || ( 'iptc_exif_standard_mapping' == $category ) ) {
2291
  foreach( $settings['standard'] as $new_key => $new_value ) {
2292
- $iptc_value = ( isset( $iptc_metadata[ $new_value['iptc_value'] ] ) ) ? $iptc_metadata[ $new_value['iptc_value'] ] : '';
 
 
 
 
2293
  $exif_value = MLAData::mla_exif_metadata_value( $new_value['exif_value'], $metadata );
2294
  $keep_existing = (boolean) $new_value['keep_existing'];
2295
 
@@ -2343,7 +2346,11 @@ class MLAOptions {
2343
  $tax_actions = array();
2344
 
2345
  foreach( $settings['taxonomy'] as $new_key => $new_value ) {
2346
- $iptc_value = ( isset( $iptc_metadata[ $new_value['iptc_value'] ] ) ) ? $iptc_metadata[ $new_value['iptc_value'] ] : '';
 
 
 
 
2347
  $exif_value = MLAData::mla_exif_metadata_value( $new_value['exif_value'], $metadata );
2348
 
2349
  $tax_action = ( $new_value['keep_existing'] ) ? 'add' : 'replace';
@@ -2395,7 +2402,11 @@ class MLAOptions {
2395
  $custom_updates = array();
2396
 
2397
  foreach( $settings['custom'] as $new_key => $new_value ) {
2398
- $iptc_value = ( isset( $iptc_metadata[ $new_value['iptc_value'] ] ) ) ? $iptc_metadata[ $new_value['iptc_value'] ] : '';
 
 
 
 
2399
  $exif_value = MLAData::mla_exif_metadata_value( $new_value['exif_value'], $metadata );
2400
 
2401
  if ( $new_value['iptc_first'] )
@@ -2450,7 +2461,7 @@ class MLAOptions {
2450
  );
2451
 
2452
  $iptc_options = MLAData::mla_parse_template( $option_template, $option_values );
2453
- foreach ( MLAShortcodes::$mla_iptc_keys as $iptc_name => $iptc_code ) {
2454
  $option_values = array (
2455
  'selected' => ( $iptc_code == $selection ) ? 'selected="selected"' : '',
2456
  'value' => $iptc_code,
2281
  */
2282
  public static function mla_evaluate_iptc_exif_mapping( $post, $category, $settings = NULL ) {
2283
  $metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
 
2284
  $updates = array();
2285
  $update_all = ( 'iptc_exif_mapping' == $category );
2286
  if ( NULL == $settings )
2288
 
2289
  if ( $update_all || ( 'iptc_exif_standard_mapping' == $category ) ) {
2290
  foreach( $settings['standard'] as $new_key => $new_value ) {
2291
+ if ( 'none' == $new_value['iptc_value'] )
2292
+ $iptc_value = '';
2293
+ else
2294
+ $iptc_value = MLAData::mla_iptc_metadata_value( $new_value['iptc_value'], $metadata );
2295
+
2296
  $exif_value = MLAData::mla_exif_metadata_value( $new_value['exif_value'], $metadata );
2297
  $keep_existing = (boolean) $new_value['keep_existing'];
2298
 
2346
  $tax_actions = array();
2347
 
2348
  foreach( $settings['taxonomy'] as $new_key => $new_value ) {
2349
+ if ( 'none' == $new_value['iptc_value'] )
2350
+ $iptc_value = '';
2351
+ else
2352
+ $iptc_value = MLAData::mla_iptc_metadata_value( $new_value['iptc_value'], $metadata );
2353
+
2354
  $exif_value = MLAData::mla_exif_metadata_value( $new_value['exif_value'], $metadata );
2355
 
2356
  $tax_action = ( $new_value['keep_existing'] ) ? 'add' : 'replace';
2402
  $custom_updates = array();
2403
 
2404
  foreach( $settings['custom'] as $new_key => $new_value ) {
2405
+ if ( 'none' == $new_value['iptc_value'] )
2406
+ $iptc_value = '';
2407
+ else
2408
+ $iptc_value = MLAData::mla_iptc_metadata_value( $new_value['iptc_value'], $metadata );
2409
+
2410
  $exif_value = MLAData::mla_exif_metadata_value( $new_value['exif_value'], $metadata );
2411
 
2412
  if ( $new_value['iptc_first'] )
2461
  );
2462
 
2463
  $iptc_options = MLAData::mla_parse_template( $option_template, $option_values );
2464
+ foreach ( MLAData::$mla_iptc_keys as $iptc_name => $iptc_code ) {
2465
  $option_values = array (
2466
  'selected' => ( $iptc_code == $selection ) ? 'selected="selected"' : '',
2467
  'value' => $iptc_code,
includes/class-mla-settings.php CHANGED
@@ -170,7 +170,7 @@ class MLASettings {
170
  }
171
 
172
  MLAOptions::mla_update_option( 'custom_field_mapping', $new_values );
173
- } // version is less than 1.30
174
 
175
  MLAOptions::mla_update_option( MLAOptions::MLA_VERSION_OPTION, MLA::CURRENT_MLA_VERSION );
176
  }
@@ -2657,7 +2657,7 @@ class MLASettings {
2657
  $examine_count = 0;
2658
  $update_count = 0;
2659
 
2660
- $query = array( 'orderby' => 'none', 'post_parent' => 'all' );
2661
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2662
 
2663
  if ( is_string( $posts ) )
@@ -2707,7 +2707,7 @@ class MLASettings {
2707
  $examine_count = 0;
2708
  $update_count = 0;
2709
 
2710
- $query = array( 'orderby' => 'none', 'post_parent' => 'all' );
2711
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2712
 
2713
  if ( is_string( $posts ) )
@@ -2768,7 +2768,7 @@ class MLASettings {
2768
  $examine_count = 0;
2769
  $update_count = 0;
2770
 
2771
- $query = array( 'orderby' => 'none', 'post_parent' => 'all' );
2772
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2773
 
2774
  if ( is_string( $posts ) )
170
  }
171
 
172
  MLAOptions::mla_update_option( 'custom_field_mapping', $new_values );
173
+ } // version is less than 1.40
174
 
175
  MLAOptions::mla_update_option( MLAOptions::MLA_VERSION_OPTION, MLA::CURRENT_MLA_VERSION );
176
  }
2657
  $examine_count = 0;
2658
  $update_count = 0;
2659
 
2660
+ $query = array( 'orderby' => 'none', 'post_parent' => 'all' ); //, 'post_mime_type' => 'image,application/*pdf*' );
2661
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2662
 
2663
  if ( is_string( $posts ) )
2707
  $examine_count = 0;
2708
  $update_count = 0;
2709
 
2710
+ $query = array( 'orderby' => 'none', 'post_parent' => 'all' ); //, 'post_mime_type' => 'image,application/*pdf*' );
2711
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2712
 
2713
  if ( is_string( $posts ) )
2768
  $examine_count = 0;
2769
  $update_count = 0;
2770
 
2771
+ $query = array( 'orderby' => 'none', 'post_parent' => 'all' ); //, 'post_mime_type' => 'image,application/*pdf*' );
2772
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2773
 
2774
  if ( is_string( $posts ) )
includes/class-mla-shortcodes.php CHANGED
@@ -168,6 +168,7 @@ class MLAShortcodes {
168
  * These are the parameters for gallery display
169
  */
170
  $mla_arguments = array(
 
171
  'mla_style' => MLAOptions::mla_get_option('default_style'),
172
  'mla_markup' => MLAOptions::mla_get_option('default_markup'),
173
  'mla_float' => is_rtl() ? 'right' : 'left',
@@ -214,6 +215,27 @@ class MLAShortcodes {
214
  $mla_arguments
215
  );
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  /*
218
  * Merge gallery arguments with defaults, pass the query arguments on to mla_get_shortcode_attachments.
219
  */
@@ -311,7 +333,10 @@ class MLAShortcodes {
311
  }
312
  else
313
  $show_icon = false;
314
-
 
 
 
315
  if ( is_feed() ) {
316
  $output = "\n";
317
  foreach ( $attachments as $att_id => $attachment )
@@ -379,7 +404,7 @@ class MLAShortcodes {
379
 
380
  if ( ! empty ( $style_template ) ) {
381
  /*
382
- * Look for 'query' substitution parameters
383
  */
384
  $placeholders = MLAData::mla_get_template_placeholders( $style_template );
385
  foreach ($placeholders as $key => $value ) {
@@ -389,6 +414,12 @@ class MLAShortcodes {
389
  else
390
  $style_values[ $key ] = '';
391
  }
 
 
 
 
 
 
392
  } // $placeholders
393
 
394
  $gallery_style = MLAData::mla_parse_template( $style_template, $style_values );
@@ -402,9 +433,10 @@ class MLAShortcodes {
402
  $markup_values['base_dir'] = $upload_dir['basedir'];
403
 
404
  /*
405
- * Variable 'query' placeholders can be anywhere in the markup template
406
  */
407
  $query_placeholders = array();
 
408
 
409
  /*
410
  * Variable item-level placeholders
@@ -454,6 +486,9 @@ class MLAShortcodes {
454
  case 'query':
455
  $query_placeholders[ $key ] = $value;
456
  break;
 
 
 
457
  case 'terms':
458
  $terms_placeholders[ $key ] = $value;
459
  break;
@@ -472,7 +507,7 @@ class MLAShortcodes {
472
  } // $placeholders
473
 
474
  /*
475
- * Add 'query' placeholders
476
  */
477
  foreach ( $query_placeholders as $key => $value ) {
478
  if ( isset( $attr[ $value['value'] ] ) )
@@ -480,6 +515,20 @@ class MLAShortcodes {
480
  else
481
  $markup_values[ $key ] = '';
482
  } // $query_placeholders
 
 
 
 
 
 
 
 
 
 
 
 
 
 
483
 
484
  if ( self::$mla_debug ) {
485
  $output = self::$mla_debug_messages;
@@ -488,13 +537,50 @@ class MLAShortcodes {
488
  else
489
  $output = '';
490
 
491
- if ( empty( $open_template ) )
492
- $gallery_div = '';
493
- else
494
- $gallery_div = MLAData::mla_parse_template( $open_template, $markup_values );
495
-
496
- $output .= apply_filters( 'mla_gallery_style', $gallery_style . $gallery_div, $style_values, $markup_values, $style_template, $open_template );
497
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  $i = 0;
499
  foreach ( $attachments as $id => $attachment ) {
500
  /*
@@ -580,10 +666,13 @@ class MLAShortcodes {
580
  } // $meta_placeholders */
581
 
582
  foreach ( $terms_placeholders as $key => $value ) {
583
- $text = '';
584
  $terms = wp_get_object_terms( $attachment->ID, $value['value'] );
585
 
586
- if ( ! ( is_wp_error( $terms ) || empty( $terms ) ) ) {
 
 
 
 
587
  if ( 'single' == $value['option'] || 1 == count( $terms ) )
588
  $text = sanitize_term_field( 'name', $terms[0]->name, $terms[0]->term_id, $value, 'display' );
589
  elseif ( 'export' == $value['option'] )
@@ -601,23 +690,24 @@ class MLAShortcodes {
601
  foreach ( $custom_placeholders as $key => $value ) {
602
  $record = get_metadata( 'post', $attachment->ID, $value['value'], 'single' == $value['option'] );
603
 
604
- if ( is_wp_error( $record ) || empty( $record ) )
605
- $text = '';
606
- elseif ( is_scalar( $record ) )
607
- $text = sanitize_text_field( (string) $record );
608
- elseif ( is_array( $record ) ) {
609
- if ( 'export' == $value['option'] )
610
- $text = sanitize_text_field( var_export( $haystack, true ) );
611
- else {
612
- $text = '';
613
- foreach ( $record as $term ) {
614
- $term_name = sanitize_text_field( $term );
615
- $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
 
 
 
616
  }
617
- }
618
- } // is_array
619
- else
620
- $text = '';
621
 
622
  $markup_values[ $key ] = $text;
623
  } // $custom_placeholders
@@ -627,34 +717,43 @@ class MLAShortcodes {
627
  }
628
 
629
  foreach ( $iptc_placeholders as $key => $value ) {
630
- // convert friendly name/slug to identifier
631
- if ( array_key_exists( $value['value'], self::$mla_iptc_keys ) ) {
632
- $value['value'] = self::$mla_iptc_keys[ $value['value'] ];
633
- }
634
-
635
  $text = '';
636
- if ( array_key_exists( $value['value'], $image_metadata['mla_iptc_metadata'] ) ) {
637
- $record = $image_metadata['mla_iptc_metadata'][ $value['value'] ];
638
- if ( is_array( $record ) ) {
639
- if ( 'single' == $value['option'] )
640
- $text = $record[0];
641
- elseif ( 'export' == $value['option'] )
642
- $text = sanitize_text_field( var_export( $record, true ) );
643
- else
644
- foreach ( $record as $term ) {
645
- $term_name = sanitize_text_field( $term );
646
- $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
647
- }
648
- } // is_array
649
  else
650
- $text = $record;
651
- }
 
 
 
 
 
652
 
653
  $markup_values[ $key ] = $text;
654
  } // $iptc_placeholders
655
 
656
  foreach ( $exif_placeholders as $key => $value ) {
657
- $markup_values[ $key ] = MLAData::mla_exif_metadata_value( $value['value'], $image_metadata );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
658
  } // $exif_placeholders
659
 
660
  unset(
@@ -688,67 +787,81 @@ class MLAShortcodes {
688
  $markup_values['filelink'] = wp_get_attachment_link($attachment->ID, $size, false, $show_icon, $link_text);
689
 
690
  /*
691
- * Apply the Gallery Display Content parameters
 
 
692
  */
693
  if ( ! empty( $arguments['mla_target'] ) )
694
- $attributes = 'target="' . $arguments['mla_target'] . '" ';
695
  else
696
- $attributes = '';
697
 
698
  if ( ! empty( $arguments['mla_link_attributes'] ) )
699
- $attributes .= self::_process_shortcode_parameter( $arguments['mla_link_attributes'], $markup_values );
700
 
701
- if ( ! empty( $attributes ) ) {
702
- $markup_values['pagelink'] = str_replace( '<a href=', '<a ' . $attributes . ' href=', $markup_values['pagelink'] );
703
- $markup_values['filelink'] = str_replace( '<a href=', '<a ' . $attributes . ' href=', $markup_values['filelink'] );
704
  }
705
 
706
  if ( ! empty( $arguments['mla_rollover_text'] ) ) {
707
- $new_text = esc_attr( self::_process_shortcode_parameter( $arguments['mla_rollover_text'], $markup_values ) );
708
 
709
  /*
710
  * Replace single- and double-quote delimited values
711
  */
712
- $markup_values['pagelink'] = preg_replace('# title=\'([^\']*)\'#', " title='{$new_text}'", $markup_values['pagelink'] );
713
- $markup_values['pagelink'] = preg_replace('# title=\"([^\"]*)\"#', " title=\"{$new_text}\"", $markup_values['pagelink'] );
714
- $markup_values['filelink'] = preg_replace('# title=\'([^\']*)\'#', " title='{$new_text}'", $markup_values['filelink'] );
715
- $markup_values['filelink'] = preg_replace('# title=\"([^\"]*)\"#', " title=\"{$new_text}\"", $markup_values['filelink'] );
716
  }
 
 
717
 
718
  /*
719
  * Process the <img> tag, if present
 
 
720
  */
721
- if ( false !== strpos( $markup_values['pagelink'], '<img ' ) ) {
722
- if ( ! empty( $arguments['mla_image_attributes'] ) )
723
- $attributes = self::_process_shortcode_parameter( $arguments['mla_image_attributes'], $markup_values );
 
 
 
 
 
 
724
 
725
- if ( ! empty( $attributes ) ) {
726
- $markup_values['pagelink'] = str_replace( '<img ', '<img ' . $attributes . ' ', $markup_values['pagelink'] );
727
- $markup_values['filelink'] = str_replace( '<img ', '<img ' . $attributes . ' ', $markup_values['filelink'] );
 
 
 
 
 
 
728
  }
729
 
730
  /*
731
  * Extract existing class values and add to them
732
  */
733
- if ( ! empty( $arguments['mla_image_class'] ) ) {
734
  $match_count = preg_match_all( '# class=\"([^\"]+)\" #', $markup_values['pagelink'], $matches, PREG_OFFSET_CAPTURE );
735
  if ( ! ( ( $match_count == false ) || ( $match_count == 0 ) ) ) {
736
- $class = $matches[1][0][0] . ' ';
737
  }
738
  else
739
- $class = '';
740
 
741
- $class .= $arguments['mla_image_class'];
742
-
743
  $markup_values['pagelink'] = preg_replace('# class=\"([^\"]*)\"#', " class=\"{$class}\"", $markup_values['pagelink'] );
744
  $markup_values['filelink'] = preg_replace('# class=\"([^\"]*)\"#', " class=\"{$class}\"", $markup_values['filelink'] );
745
  }
746
 
747
- if ( ! empty( $arguments['mla_image_alt'] ) ) {
748
- $new_text = esc_attr( self::_process_shortcode_parameter( $arguments['mla_image_alt'], $markup_values ) );
749
-
750
- $markup_values['pagelink'] = preg_replace('# alt=\"([^\"]*)\"#', " alt=\"{$new_text}\"", $markup_values['pagelink'] );
751
- $markup_values['filelink'] = preg_replace('# alt=\"([^\"]*)\"#', " alt=\"{$new_text}\"", $markup_values['filelink'] );
752
  }
753
  } // process <img> tag
754
 
@@ -799,16 +912,19 @@ class MLAShortcodes {
799
 
800
  /*
801
  * Override the link value; leave filelink and pagelink unchanged
 
802
  */
803
  if ( ! empty( $arguments['mla_link_href'] ) ) {
804
- $new_text = self::_process_shortcode_parameter( $arguments['mla_link_href'], $markup_values );
805
 
806
  /*
807
  * Replace single- and double-quote delimited values
808
  */
809
- $markup_values['link'] = preg_replace('# href=\'([^\']*)\'#', " href='{$new_text}'", $markup_values['link'] );
810
- $markup_values['link'] = preg_replace('# href=\"([^\"]*)\"#', " href=\"{$new_text}\"", $markup_values['link'] );
811
  }
 
 
812
 
813
  $match_count = preg_match_all( '#\<a [^\>]+\>(.*)\</a\>#', $markup_values['link'], $matches, PREG_OFFSET_CAPTURE );
814
  if ( ! ( ( $match_count == false ) || ( $match_count == 0 ) ) ) {
@@ -830,19 +946,37 @@ class MLAShortcodes {
830
  }
831
 
832
  /*
833
- * Check for Google file viewer substitution
 
 
834
  */
835
  if ( $arguments['mla_viewer'] && empty( $markup_values['thumbnail_url'] ) ) {
836
  $last_dot = strrpos( $markup_values['file'], '.' );
837
  if ( !( false === $last_dot) ) {
838
  $extension = substr( $markup_values['file'], $last_dot + 1 );
839
  if ( in_array( $extension, $arguments['mla_viewer_extensions'] ) ) {
840
- $markup_values['thumbnail_content'] = sprintf( '<img src="http://docs.google.com/viewer?url=%1$s&a=bi&pagenumber=%2$d&w=%3$d">', $markup_values['filelink_url'], $arguments['mla_viewer_page'], $arguments['mla_viewer_width'] );
841
- $target = !empty( $arguments['mla_target'] ) ? ' target= "' . $arguments['mla_target'] . '"' : '';
842
- $markup_values['pagelink'] = sprintf( '<a href="%1$s" title="%2$s"%3$s>%4$s</a>', $markup_values['pagelink_url'], $markup_values['title'], $target, $markup_values['thumbnail_content'] );
843
- $markup_values['filelink'] = sprintf( '<a href="%1$s" title="%2$s"%3$s>%4$s</a>', $markup_values['filelink_url'], $markup_values['title'], $target, $markup_values['thumbnail_content'] );
844
-
845
- if ( 'permalink' == $arguments['link'] )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
846
  $markup_values['link'] = $markup_values['pagelink'];
847
  else
848
  $markup_values['link'] = $markup_values['filelink'];
@@ -850,32 +984,38 @@ class MLAShortcodes {
850
  } // has extension
851
  } // mla_viewer
852
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
853
  /*
854
- * Start of row markup
855
- */
856
- if ( $markup_values['columns'] > 0 && $i % $markup_values['columns'] == 0 )
857
- $output .= MLAData::mla_parse_template( $row_open_template, $markup_values );
858
-
859
- /*
860
- * item markup
861
- */
862
- $output .= MLAData::mla_parse_template( $item_template, $markup_values );
863
-
864
- /*
865
- * End of row markup
866
  */
867
- $i++;
868
- if ( $markup_values['columns'] > 0 && $i % $markup_values['columns'] == 0 )
869
  $output .= MLAData::mla_parse_template( $row_close_template, $markup_values );
870
- }
871
-
872
- /*
873
- * Close out partial row
874
- */
875
- if ( ! ($markup_values['columns'] > 0 && $i % $markup_values['columns'] == 0 ) )
876
- $output .= MLAData::mla_parse_template( $row_close_template, $markup_values );
877
-
878
- $output .= MLAData::mla_parse_template( $close_template, $markup_values );
879
 
880
  return $output;
881
  }
@@ -1509,371 +1649,5 @@ class MLAShortcodes {
1509
 
1510
  return $pieces;
1511
  }
1512
-
1513
- /**
1514
- * IPTC Dataset identifiers and names
1515
- *
1516
- * This array contains the identifiers and names of Datasets defined in
1517
- * the "IPTC-NAA Information Interchange Model Version No. 4.1".
1518
- *
1519
- * @since 0.90
1520
- *
1521
- * @var array
1522
- */
1523
- private static $mla_iptc_records = array(
1524
- // Envelope Record
1525
- "1#000" => "Model Version",
1526
- "1#005" => "Destination",
1527
- "1#020" => "File Format",
1528
- "1#022" => "File Format Version",
1529
- "1#030" => "Service Identifier",
1530
- "1#040" => "Envelope Number",
1531
- "1#050" => "Product ID",
1532
- "1#060" => "Envelope Priority",
1533
- "1#070" => "Date Sent",
1534
- "1#080" => "Time Sent",
1535
- "1#090" => "Coded Character Set",
1536
- "1#100" => "UNO",
1537
- "1#120" => "ARM Identifier",
1538
- "1#122" => "ARM Version",
1539
-
1540
- // Application Record
1541
- "2#000" => "Record Version",
1542
- "2#003" => "Object Type Reference",
1543
- "2#004" => "Object Attribute Reference",
1544
- "2#005" => "Object Name",
1545
- "2#007" => "Edit Status",
1546
- "2#008" => "Editorial Update",
1547
- "2#010" => "Urgency",
1548
- "2#012" => "Subject Reference",
1549
- "2#015" => "Category",
1550
- "2#020" => "Supplemental Category",
1551
- "2#022" => "Fixture Identifier",
1552
- "2#025" => "Keywords",
1553
- "2#026" => "Content Location Code",
1554
- "2#027" => "Content Location Name",
1555
- "2#030" => "Release Date",
1556
- "2#035" => "Release Time",
1557
- "2#037" => "Expiration Date",
1558
- "2#038" => "Expiration Time",
1559
- "2#040" => "Special Instructions",
1560
- "2#042" => "Action Advised",
1561
- "2#045" => "Reference Service",
1562
- "2#047" => "Reference Date",
1563
- "2#050" => "Reference Number",
1564
- "2#055" => "Date Created",
1565
- "2#060" => "Time Created",
1566
- "2#062" => "Digital Creation Date",
1567
- "2#063" => "Digital Creation Time",
1568
- "2#065" => "Originating Program",
1569
- "2#070" => "Program Version",
1570
- "2#075" => "Object Cycle",
1571
- "2#080" => "By-line",
1572
- "2#085" => "By-line Title",
1573
- "2#090" => "City",
1574
- "2#092" => "Sub-location",
1575
- "2#095" => "Province or State",
1576
- "2#100" => "Country or Primary Location Code",
1577
- "2#101" => "Country or Primary Location Name",
1578
- "2#103" => "Original Transmission Reference",
1579
- "2#105" => "Headline",
1580
- "2#110" => "Credit",
1581
- "2#115" => "Source",
1582
- "2#116" => "Copyright Notice",
1583
- "2#118" => "Contact",
1584
- "2#120" => "Caption or Abstract",
1585
- "2#122" => "Caption Writer or Editor",
1586
- "2#125" => "Rasterized Caption",
1587
- "2#130" => "Image Type",
1588
- "2#131" => "Image Orientation",
1589
- "2#135" => "Language Identifier",
1590
- "2#150" => "Audio Type",
1591
- "2#151" => "Audio Sampling Rate",
1592
- "2#152" => "Audio Sampling Resolution",
1593
- "2#153" => "Audio Duration",
1594
- "2#154" => "Audio Outcue",
1595
- "2#200" => "ObjectData Preview File Format",
1596
- "2#201" => "ObjectData Preview File Format Version",
1597
- "2#202" => "ObjectData Preview Data",
1598
-
1599
- // Pre ObjectData Descriptor Record
1600
- "7#010" => "Size Mode",
1601
- "7#020" => "Max Subfile Size",
1602
- "7#090" => "ObjectData Size Announced",
1603
- "7#095" => "Maximum ObjectData Size",
1604
-
1605
- // ObjectData Record
1606
- "8#010" => "Subfile",
1607
-
1608
- // Post ObjectData Descriptor Record
1609
- "9#010" => "Confirmed ObjectData Size"
1610
- );
1611
-
1612
- /**
1613
- * IPTC Dataset friendly name/slug and identifiers
1614
- *
1615
- * This array contains the sanitized names and identifiers of Datasets defined in
1616
- * the "IPTC-NAA Information Interchange Model Version No. 4.1".
1617
- *
1618
- * @since 0.90
1619
- *
1620
- * @var array
1621
- */
1622
- public static $mla_iptc_keys = array(
1623
- // Envelope Record
1624
- 'model-version' => '1#000',
1625
- 'destination' => '1#005',
1626
- 'file-format' => '1#020',
1627
- 'file-format-version' => '1#022',
1628
- 'service-identifier' => '1#030',
1629
- 'envelope-number' => '1#040',
1630
- 'product-id' => '1#050',
1631
- 'envelope-priority' => '1#060',
1632
- 'date-sent' => '1#070',
1633
- 'time-sent' => '1#080',
1634
- 'coded-character-set' => '1#090',
1635
- 'uno' => '1#100',
1636
- 'arm-identifier' => '1#120',
1637
- 'arm-version' => '1#122',
1638
-
1639
- // Application Record
1640
- 'record-version' => '2#000',
1641
- 'object-type-reference' => '2#003',
1642
- 'object-attribute-reference' => '2#004',
1643
- 'object-name' => '2#005',
1644
- 'edit-status' => '2#007',
1645
- 'editorial-update' => '2#008',
1646
- 'urgency' => '2#010',
1647
- 'subject-reference' => '2#012',
1648
- 'category' => '2#015',
1649
- 'supplemental-category' => '2#020',
1650
- 'fixture-identifier' => '2#022',
1651
- 'keywords' => '2#025',
1652
- 'content-location-code' => '2#026',
1653
- 'content-location-name' => '2#027',
1654
- 'release-date' => '2#030',
1655
- 'release-time' => '2#035',
1656
- 'expiration-date' => '2#037',
1657
- 'expiration-time' => '2#038',
1658
- 'special-instructions' => '2#040',
1659
- 'action-advised' => '2#042',
1660
- 'reference-service' => '2#045',
1661
- 'reference-date' => '2#047',
1662
- 'reference-number' => '2#050',
1663
- 'date-created' => '2#055',
1664
- 'time-created' => '2#060',
1665
- 'digital-creation-date' => '2#062',
1666
- 'digital-creation-time' => '2#063',
1667
- 'originating-program' => '2#065',
1668
- 'program-version' => '2#070',
1669
- 'object-cycle' => '2#075',
1670
- 'by-line' => '2#080',
1671
- 'by-line-title' => '2#085',
1672
- 'city' => '2#090',
1673
- 'sub-location' => '2#092',
1674
- 'province-or-state' => '2#095',
1675
- 'country-or-primary-location-code' => '2#100',
1676
- 'country-or-primary-location-name' => '2#101',
1677
- 'original-transmission-reference' => '2#103',
1678
- 'headline' => '2#105',
1679
- 'credit' => '2#110',
1680
- 'source' => '2#115',
1681
- 'copyright-notice' => '2#116',
1682
- 'contact' => '2#118',
1683
- 'caption-or-abstract' => '2#120',
1684
- 'caption-writer-or-editor' => '2#122',
1685
- 'rasterized-caption' => '2#125',
1686
- 'image-type' => '2#130',
1687
- 'image-orientation' => '2#131',
1688
- 'language-identifier' => '2#135',
1689
- 'audio-type' => '2#150',
1690
- 'audio-sampling-rate' => '2#151',
1691
- 'audio-sampling-resolution' => '2#152',
1692
- 'audio-duration' => '2#153',
1693
- 'audio-outcue' => '2#154',
1694
- 'objectdata-preview-file-format' => '2#200',
1695
- 'objectdata-preview-file-format-version' => '2#201',
1696
- 'objectdata-preview-data' => '2#202',
1697
-
1698
- // Pre ObjectData Descriptor Record
1699
- 'size-mode' => '7#010',
1700
- 'max-subfile-size' => '7#020',
1701
- 'objectdata-size-announced' => '7#090',
1702
- 'maximum-objectdata-size' => '7#095',
1703
-
1704
- // ObjectData Record
1705
- 'subfile' => '8#010',
1706
-
1707
- // Post ObjectData Descriptor Record
1708
- 'confirmed-objectdata-size' => '9#010'
1709
- );
1710
-
1711
- /**
1712
- * IPTC Dataset descriptions
1713
- *
1714
- * This array contains the descriptions of Datasets defined in
1715
- * the "IPTC-NAA Information Interchange Model Version No. 4.1".
1716
- *
1717
- * @since 0.90
1718
- *
1719
- * @var array
1720
- */
1721
- private static $mla_iptc_descriptions = array(
1722
- // Envelope Record
1723
- "1#000" => "2 octet binary IIM version number",
1724
- "1#005" => "Max 1024 characters of Destination (ISO routing information); repeatable",
1725
- "1#020" => "2 octet binary file format number, see IPTC-NAA V4 Appendix A",
1726
- "1#022" => "2 octet binary file format version number",
1727
- "1#030" => "Max 10 characters of Service Identifier and product",
1728
- "1#040" => "8 Character Envelope Number",
1729
- "1#050" => "Max 32 characters subset of provider's overall service; repeatable",
1730
- "1#060" => "1 numeric character of envelope handling priority (not urgency)",
1731
- "1#070" => "8 numeric characters of Date Sent by service - CCYYMMDD",
1732
- "1#080" => "11 characters of Time Sent by service - HHMMSS±HHMM",
1733
- "1#090" => "Max 32 characters of control functions, etc.",
1734
- "1#100" => "14 to 80 characters of eternal, globally unique identification for objects",
1735
- "1#120" => "2 octet binary Abstract Relationship Model Identifier",
1736
- "1#122" => "2 octet binary Abstract Relationship Model Version",
1737
-
1738
- // Application Record
1739
- "2#000" => "2 octet binary Information Interchange Model, Part II version number",
1740
- "2#003" => "3 to 67 Characters of Object Type Reference number and optional text",
1741
- "2#004" => "3 to 67 Characters of Object Attribute Reference number and optional text; repeatable",
1742
- "2#005" => "Max 64 characters of the object name or shorthand reference",
1743
- "2#007" => "Max 64 characters of the status of the objectdata",
1744
- "2#008" => "2 numeric characters of the type of update this object provides",
1745
- "2#010" => "1 numeric character of the editorial urgency of content",
1746
- "2#012" => "13 to 236 characters of a structured definition of the subject matter; repeatable",
1747
- "2#015" => "Max 3 characters of the subject of the objectdata, DEPRECATED",
1748
- "2#020" => "Max 32 characters (each) of further refinement of subject, DEPRECATED; repeatable",
1749
- "2#022" => "Max 32 characters identifying recurring, predictable content",
1750
- "2#025" => "Max 64 characters (each) of tags; repeatable",
1751
- "2#026" => "3 characters of ISO3166 country code or IPTC-assigned code; repeatable",
1752
- "2#027" => "Max 64 characters of publishable country/geographical location name; repeatable",
1753
- "2#030" => "8 numeric characters of Release Date - CCYYMMDD",
1754
- "2#035" => "11 characters of Release Time (earliest use) - HHMMSS±HHMM",
1755
- "2#037" => "8 numeric characters of Expiration Date (latest use) - CCYYMDD",
1756
- "2#038" => "11 characters of Expiration Time (latest use) - HHMMSS±HHMM",
1757
- "2#040" => "Max 256 Characters of editorial instructions, e.g., embargoes and warnings",
1758
- "2#042" => "2 numeric characters of type of action this object provides to a previous object",
1759
- "2#045" => "Max 10 characters of the Service ID (1#030) of a prior envelope; repeatable",
1760
- "2#047" => "8 numeric characters of prior envelope Reference Date (1#070) - CCYYMMDD; repeatable",
1761
- "2#050" => "8 characters of prior envelope Reference Number (1#040); repeatable",
1762
- "2#055" => "8 numeric characters of intellectual content Date Created - CCYYMMDD",
1763
- "2#060" => "11 characters of intellectual content Time Created - HHMMSS±HHMM",
1764
- "2#062" => "8 numeric characters of digital representation creation date - CCYYMMDD",
1765
- "2#063" => "11 characters of digital representation creation time - HHMMSS±HHMM",
1766
- "2#065" => "Max 32 characters of the program used to create the objectdata",
1767
- "2#070" => "Program Version - Max 10 characters of the version of the program used to create the objectdata",
1768
- "2#075" => "1 character where a=morning, p=evening, b=both",
1769
- "2#080" => "Max 32 Characters of the name of the objectdata creator, e.g., the writer, photographer; repeatable",
1770
- "2#085" => "Max 32 characters of the title of the objectdata creator; repeatable",
1771
- "2#090" => "Max 32 Characters of the city of objectdata origin",
1772
- "2#092" => "Max 32 Characters of the location within the city of objectdata origin",
1773
- "2#095" => "Max 32 Characters of the objectdata origin Province or State",
1774
- "2#100" => "3 characters of ISO3166 or IPTC-assigned code for Country of objectdata origin",
1775
- "2#101" => "Max 64 characters of publishable country/geographical location name of objectdata origin",
1776
- "2#103" => "Max 32 characters of a code representing the location of original transmission",
1777
- "2#105" => "Max 256 Characters of a publishable entry providing a synopsis of the contents of the objectdata",
1778
- "2#110" => "Max 32 Characters that identifies the provider of the objectdata (Vs the owner/creator)",
1779
- "2#115" => "Max 32 Characters that identifies the original owner of the intellectual content",
1780
- "2#116" => "Max 128 Characters that contains any necessary copyright notice",
1781
- "2#118" => "Max 128 characters that identifies the person or organisation which can provide further background information; repeatable",
1782
- "2#120" => "Max 2000 Characters of a textual description of the objectdata",
1783
- "2#122" => "Max 32 Characters that the identifies the person involved in the writing, editing or correcting the objectdata or caption/abstract; repeatable",
1784
- "2#125" => "7360 binary octets of the rasterized caption - 1 bit per pixel, 460x128-pixel image",
1785
- "2#130" => "2 characters of color composition type and information",
1786
- "2#131" => "1 alphabetic character indicating the image area layout - P=portrait, L=landscape, S=square",
1787
- "2#135" => "2 or 3 aphabetic characters containing the major national language of the object, according to the ISO 639:1988 codes",
1788
- "2#150" => "2 characters identifying monaural/stereo and exact type of audio content",
1789
- "2#151" => "6 numeric characters representing the audio sampling rate in hertz (Hz)",
1790
- "2#152" => "2 numeric characters representing the number of bits in each audio sample",
1791
- "2#153" => "6 numeric characters of the Audio Duration - HHMMSS",
1792
- "2#154" => "Max 64 characters of the content of the end of an audio objectdata",
1793
- "2#200" => "2 octet binary file format of the ObjectData Preview",
1794
- "2#201" => "2 octet binary particular version of the ObjectData Preview File Format",
1795
- "2#202" => "Max 256000 binary octets containing the ObjectData Preview data",
1796
-
1797
- // Pre ObjectData Descriptor Record
1798
- "7#010" => "1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer",
1799
- "7#020" => "4 octet binary maximum subfile dataset(s) size",
1800
- "7#090" => "4 octet binary objectdata size if known at beginning of transfer",
1801
- "7#095" => "4 octet binary largest possible objectdata size",
1802
-
1803
- // ObjectData Record
1804
- "8#010" => "Subfile DataSet containing the objectdata itself; repeatable",
1805
-
1806
- // Post ObjectData Descriptor Record
1807
- "9#010" => "4 octet binary total objectdata size"
1808
- );
1809
-
1810
- /**
1811
- * IPTC file format identifiers and descriptions
1812
- *
1813
- * This array contains the file format identifiers and descriptions defined in
1814
- * the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.
1815
- *
1816
- * @since 0.90
1817
- *
1818
- * @var array
1819
- */
1820
- private static $mla_iptc_formats = array(
1821
- 00 => "No ObjectData",
1822
- 01 => "IPTC-NAA Digital Newsphoto Parameter Record",
1823
- 02 => "IPTC7901 Recommended Message Format",
1824
- 03 => "Tagged Image File Format (Adobe/Aldus Image data)",
1825
- 04 => "Illustrator (Adobe Graphics data)",
1826
- 05 => "AppleSingle (Apple Computer Inc)",
1827
- 06 => "NAA 89-3 (ANPA 1312)",
1828
- 07 => "MacBinary II",
1829
- 08 => "IPTC Unstructured Character Oriented File Format (UCOFF)",
1830
- 09 => "United Press International ANPA 1312 variant",
1831
- 10 => "United Press International Down-Load Message",
1832
- 11 => "JPEG File Interchange (JFIF)",
1833
- 12 => "Photo-CD Image-Pac (Eastman Kodak)",
1834
- 13 => "Microsoft Bit Mapped Graphics File [*.BMP]",
1835
- 14 => "Digital Audio File [*.WAV] (Microsoft & Creative Labs)",
1836
- 15 => "Audio plus Moving Video [*.AVI] (Microsoft)",
1837
- 16 => "PC DOS/Windows Executable Files [*.COM][*.EXE]",
1838
- 17 => "Compressed Binary File [*.ZIP] (PKWare Inc)",
1839
- 18 => "Audio Interchange File Format AIFF (Apple Computer Inc)",
1840
- 19 => "RIFF Wave (Microsoft Corporation)",
1841
- 20 => "Freehand (Macromedia/Aldus)",
1842
- 21 => "Hypertext Markup Language - HTML (The Internet Society)",
1843
- 22 => "MPEG 2 Audio Layer 2 (Musicom), ISO/IEC",
1844
- 23 => "MPEG 2 Audio Layer 3, ISO/IEC",
1845
- 24 => "Portable Document File (*.PDF) Adobe",
1846
- 25 => "News Industry Text Format (NITF)",
1847
- 26 => "Tape Archive (*.TAR)",
1848
- 27 => "Tidningarnas Telegrambyrå NITF version (TTNITF DTD)",
1849
- 28 => "Ritzaus Bureau NITF version (RBNITF DTD)",
1850
- 29 => "Corel Draw [*.CDR]"
1851
- );
1852
-
1853
- /**
1854
- * IPTC image type identifiers and descriptions
1855
- *
1856
- * This array contains the image type identifiers and descriptions defined in
1857
- * the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.
1858
- *
1859
- * @since 0.90
1860
- *
1861
- * @var array
1862
- */
1863
- private static $mla_iptc_image_types = array(
1864
- "M" => "Monochrome",
1865
- "Y" => "Yellow Component",
1866
- "M" => "Magenta Component",
1867
- "C" => "Cyan Component",
1868
- "K" => "Black Component",
1869
- "R" => "Red Component",
1870
- "G" => "Green Component",
1871
- "B" => "Blue Component",
1872
- "T" => "Text Only",
1873
- "F" => "Full colour composite, frame sequential",
1874
- "L" => "Full colour composite, line sequential",
1875
- "P" => "Full colour composite, pixel sequential",
1876
- "S" => "Full colour composite, special interleaving"
1877
- );
1878
  } // Class MLAShortcodes
1879
  ?>
168
  * These are the parameters for gallery display
169
  */
170
  $mla_arguments = array(
171
+ 'mla_output' => 'gallery',
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',
215
  $mla_arguments
216
  );
217
 
218
+ /*
219
+ * Look for 'request' substitution parameters,
220
+ * which can be added to any input parameter
221
+ */
222
+ foreach ( $attr as $attr_key => $attr_value ) {
223
+ $attr_value = str_replace( '{+', '[+', str_replace( '+}', '+]', $attr_value ) );
224
+ $replacement_values = array();
225
+ $placeholders = MLAData::mla_get_template_placeholders( $attr_value );
226
+ foreach ($placeholders as $key => $value ) {
227
+ if ( 'request' == $value['prefix'] ) {
228
+ if ( isset( $_REQUEST[ $value['value'] ] ) )
229
+ $replacement_values[ $key ] = $_REQUEST[ $value['value'] ];
230
+ else
231
+ $replacement_values[ $key ] = '';
232
+ }
233
+ } // $placeholders
234
+
235
+ if ( ! empty( $replacement_values ) )
236
+ $attr[ $attr_key ] = MLAData::mla_parse_template( $attr_value, $replacement_values );
237
+ }
238
+
239
  /*
240
  * Merge gallery arguments with defaults, pass the query arguments on to mla_get_shortcode_attachments.
241
  */
333
  }
334
  else
335
  $show_icon = false;
336
+
337
+ /*
338
+ * Feeds such as RSS, Atom or RDF do not require styled and formatted output
339
+ */
340
  if ( is_feed() ) {
341
  $output = "\n";
342
  foreach ( $attachments as $att_id => $attachment )
404
 
405
  if ( ! empty ( $style_template ) ) {
406
  /*
407
+ * Look for 'query' and 'request' substitution parameters
408
  */
409
  $placeholders = MLAData::mla_get_template_placeholders( $style_template );
410
  foreach ($placeholders as $key => $value ) {
414
  else
415
  $style_values[ $key ] = '';
416
  }
417
+ elseif ( 'request' == $value['prefix'] ) {
418
+ if ( isset( $_REQUEST[ $value['value'] ] ) )
419
+ $style_values[ $key ] = $_REQUEST[ $value['value'] ];
420
+ else
421
+ $style_values[ $key ] = '';
422
+ }
423
  } // $placeholders
424
 
425
  $gallery_style = MLAData::mla_parse_template( $style_template, $style_values );
433
  $markup_values['base_dir'] = $upload_dir['basedir'];
434
 
435
  /*
436
+ * Variable 'query' and 'request' placeholders can be anywhere in the markup template
437
  */
438
  $query_placeholders = array();
439
+ $request_placeholders = array();
440
 
441
  /*
442
  * Variable item-level placeholders
486
  case 'query':
487
  $query_placeholders[ $key ] = $value;
488
  break;
489
+ case 'request':
490
+ $request_placeholders[ $key ] = $value;
491
+ break;
492
  case 'terms':
493
  $terms_placeholders[ $key ] = $value;
494
  break;
507
  } // $placeholders
508
 
509
  /*
510
+ * Add 'query' and 'request' placeholders
511
  */
512
  foreach ( $query_placeholders as $key => $value ) {
513
  if ( isset( $attr[ $value['value'] ] ) )
515
  else
516
  $markup_values[ $key ] = '';
517
  } // $query_placeholders
518
+
519
+ foreach ( $request_placeholders as $key => $value ) {
520
+ if ( isset( $_REQUEST[ $value['value'] ] ) )
521
+ $markup_values[ $key ] = $_REQUEST[ $value['value'] ];
522
+ else
523
+ $markup_values[ $key ] = '';
524
+ } // $request_placeholders
525
+
526
+ /*
527
+ * Determine output type
528
+ */
529
+ $output = strtolower( trim( $arguments['mla_output'] ) );
530
+ if ( ! $is_gallery = 'gallery' == $output ) {
531
+ }
532
 
533
  if ( self::$mla_debug ) {
534
  $output = self::$mla_debug_messages;
537
  else
538
  $output = '';
539
 
540
+ if ($is_gallery ) {
541
+ if ( empty( $open_template ) )
542
+ $gallery_div = '';
543
+ else
544
+ $gallery_div = MLAData::mla_parse_template( $open_template, $markup_values );
545
+
546
+ $output .= apply_filters( 'mla_gallery_style', $gallery_style . $gallery_div, $style_values, $markup_values, $style_template, $open_template );
547
+ }
548
+
549
+ /*
550
+ * For "previous_link" and "next_link", discard all of the $attachments except the appropriate choice
551
+ */
552
+ if ( ! $is_gallery ) {
553
+ $output_parameters = explode( ',', $arguments['mla_output'] );
554
+ $output_type = strtolower( trim( $output_parameters[0] ) );
555
+
556
+ $is_previous = 'previous_link' == $output_type;
557
+ $is_next = 'next_link' == $output_type;
558
+
559
+ if ( ! ( $is_previous || $is_next ) )
560
+ return ''; // unknown outtput type
561
+
562
+ $is_wrap = isset( $output_parameters[1] ) && 'wrap' == strtolower( trim( $output_parameters[1] ) );
563
+ $current_id = empty( $arguments['id'] ) ? $markup_values['id'] : $arguments['id'];
564
+
565
+ foreach ( $attachments as $id => $attachment ) {
566
+ if ( $attachment->ID == $current_id )
567
+ break;
568
+ }
569
+
570
+ $target_id = $is_previous ? $id - 1 : $id + 1;
571
+ if ( isset( $attachments[ $target_id ] ) ) {
572
+ $attachments = array( $attachments[ $target_id ] );
573
+ }
574
+ elseif ( $is_wrap ) {
575
+ if ( $is_next )
576
+ $attachments = array( array_shift( $attachments ) );
577
+ else
578
+ $attachments = array( array_pop( $attachments ) );
579
+ } // is_wrap
580
+ else
581
+ return '';
582
+ } // ! is_gallery
583
+
584
  $i = 0;
585
  foreach ( $attachments as $id => $attachment ) {
586
  /*
666
  } // $meta_placeholders */
667
 
668
  foreach ( $terms_placeholders as $key => $value ) {
 
669
  $terms = wp_get_object_terms( $attachment->ID, $value['value'] );
670
 
671
+ $text = '';
672
+ if ( is_wp_error( $terms ) ) {
673
+ $text = implode( ',', $terms->get_error_messages() );
674
+ }
675
+ elseif ( ! empty( $terms ) ) {
676
  if ( 'single' == $value['option'] || 1 == count( $terms ) )
677
  $text = sanitize_term_field( 'name', $terms[0]->name, $terms[0]->term_id, $value, 'display' );
678
  elseif ( 'export' == $value['option'] )
690
  foreach ( $custom_placeholders as $key => $value ) {
691
  $record = get_metadata( 'post', $attachment->ID, $value['value'], 'single' == $value['option'] );
692
 
693
+ $text = '';
694
+ if ( is_wp_error( $record ) )
695
+ $text = implode( ',', $terms->get_error_messages() );
696
+ elseif ( ! empty( $record ) ) {
697
+ if ( is_scalar( $record ) )
698
+ $text = sanitize_text_field( (string) $record );
699
+ elseif ( is_array( $record ) ) {
700
+ if ( 'export' == $value['option'] )
701
+ $text = sanitize_text_field( var_export( $haystack, true ) );
702
+ else {
703
+ $text = '';
704
+ foreach ( $record as $term ) {
705
+ $term_name = sanitize_text_field( $term );
706
+ $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
707
+ }
708
  }
709
+ } // is_array
710
+ } // ! empty
 
 
711
 
712
  $markup_values[ $key ] = $text;
713
  } // $custom_placeholders
717
  }
718
 
719
  foreach ( $iptc_placeholders as $key => $value ) {
 
 
 
 
 
720
  $text = '';
721
+ $record = MLAData::mla_iptc_metadata_value( $value['value'], $image_metadata );
722
+ if ( is_array( $record ) ) {
723
+ if ( 'single' == $value['option'] )
724
+ $text = sanitize_text_field( array_shift( $record ) );
725
+ elseif ( 'export' == $value['option'] )
726
+ $text = sanitize_text_field( var_export( $record, true ) );
 
 
 
 
 
 
 
727
  else
728
+ foreach ( $record as $term ) {
729
+ $term_name = sanitize_text_field( $term );
730
+ $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
731
+ }
732
+ } // is_array
733
+ else
734
+ $text = $record;
735
 
736
  $markup_values[ $key ] = $text;
737
  } // $iptc_placeholders
738
 
739
  foreach ( $exif_placeholders as $key => $value ) {
740
+ $text = '';
741
+ $record = MLAData::mla_exif_metadata_value( $value['value'], $image_metadata );
742
+ if ( is_array( $record ) ) {
743
+ if ( 'single' == $value['option'] )
744
+ $text = sanitize_text_field( array_shift( $record ) );
745
+ elseif ( 'export' == $value['option'] )
746
+ $text = sanitize_text_field( var_export( $record, true ) );
747
+ else
748
+ foreach ( $record as $term ) {
749
+ $term_name = sanitize_text_field( $term );
750
+ $text .= strlen( $text ) ? ', ' . $term_name : $term_name;
751
+ }
752
+ } // is_array
753
+ else
754
+ $text = $record;
755
+
756
+ $markup_values[ $key ] = $text;
757
  } // $exif_placeholders
758
 
759
  unset(
787
  $markup_values['filelink'] = wp_get_attachment_link($attachment->ID, $size, false, $show_icon, $link_text);
788
 
789
  /*
790
+ * Apply the Gallery Display Content parameters.
791
+ * Note that $link_attributes and $rollover_text
792
+ * are used in the Google Viewer code below
793
  */
794
  if ( ! empty( $arguments['mla_target'] ) )
795
+ $link_attributes = 'target="' . $arguments['mla_target'] . '" ';
796
  else
797
+ $link_attributes = '';
798
 
799
  if ( ! empty( $arguments['mla_link_attributes'] ) )
800
+ $link_attributes .= self::_process_shortcode_parameter( $arguments['mla_link_attributes'], $markup_values ) . ' ';
801
 
802
+ if ( ! empty( $link_attributes ) ) {
803
+ $markup_values['pagelink'] = str_replace( '<a href=', '<a ' . $link_attributes . 'href=', $markup_values['pagelink'] );
804
+ $markup_values['filelink'] = str_replace( '<a href=', '<a ' . $link_attributes . 'href=', $markup_values['filelink'] );
805
  }
806
 
807
  if ( ! empty( $arguments['mla_rollover_text'] ) ) {
808
+ $rollover_text = esc_attr( self::_process_shortcode_parameter( $arguments['mla_rollover_text'], $markup_values ) );
809
 
810
  /*
811
  * Replace single- and double-quote delimited values
812
  */
813
+ $markup_values['pagelink'] = preg_replace('# title=\'([^\']*)\'#', " title='{$rollover_text}'", $markup_values['pagelink'] );
814
+ $markup_values['pagelink'] = preg_replace('# title=\"([^\"]*)\"#', " title=\"{$rollover_text}\"", $markup_values['pagelink'] );
815
+ $markup_values['filelink'] = preg_replace('# title=\'([^\']*)\'#', " title='{$rollover_text}'", $markup_values['filelink'] );
816
+ $markup_values['filelink'] = preg_replace('# title=\"([^\"]*)\"#', " title=\"{$rollover_text}\"", $markup_values['filelink'] );
817
  }
818
+ else
819
+ $rollover_text = $markup_values['title'];
820
 
821
  /*
822
  * Process the <img> tag, if present
823
+ * Note that $image_attributes, $image_class and $image_alt
824
+ * are used in the Google Viewer code below
825
  */
826
+ if ( ! empty( $arguments['mla_image_attributes'] ) )
827
+ $image_attributes = self::_process_shortcode_parameter( $arguments['mla_image_attributes'], $markup_values ) . ' ';
828
+ else
829
+ $image_attributes = '';
830
+
831
+ if ( ! empty( $arguments['mla_image_class'] ) )
832
+ $image_class = esc_attr( self::_process_shortcode_parameter( $arguments['mla_image_class'], $markup_values ) );
833
+ else
834
+ $image_class = '';
835
 
836
+ if ( ! empty( $arguments['mla_image_alt'] ) )
837
+ $image_alt = esc_attr( self::_process_shortcode_parameter( $arguments['mla_image_alt'], $markup_values ) );
838
+ else
839
+ $image_alt = '';
840
+
841
+ if ( false !== strpos( $markup_values['pagelink'], '<img ' ) ) {
842
+ if ( ! empty( $image_attributes ) ) {
843
+ $markup_values['pagelink'] = str_replace( '<img ', '<img ' . $image_attributes, $markup_values['pagelink'] );
844
+ $markup_values['filelink'] = str_replace( '<img ', '<img ' . $image_attributes, $markup_values['filelink'] );
845
  }
846
 
847
  /*
848
  * Extract existing class values and add to them
849
  */
850
+ if ( ! empty( $image_class ) ) {
851
  $match_count = preg_match_all( '# class=\"([^\"]+)\" #', $markup_values['pagelink'], $matches, PREG_OFFSET_CAPTURE );
852
  if ( ! ( ( $match_count == false ) || ( $match_count == 0 ) ) ) {
853
+ $class = $matches[1][0][0] . ' ' . $image_class;
854
  }
855
  else
856
+ $class = $image_class;
857
 
 
 
858
  $markup_values['pagelink'] = preg_replace('# class=\"([^\"]*)\"#', " class=\"{$class}\"", $markup_values['pagelink'] );
859
  $markup_values['filelink'] = preg_replace('# class=\"([^\"]*)\"#', " class=\"{$class}\"", $markup_values['filelink'] );
860
  }
861
 
862
+ if ( ! empty( $image_alt ) ) {
863
+ $markup_values['pagelink'] = preg_replace('# alt=\"([^\"]*)\"#', " alt=\"{$image_alt}\"", $markup_values['pagelink'] );
864
+ $markup_values['filelink'] = preg_replace('# alt=\"([^\"]*)\"#', " alt=\"{$image_alt}\"", $markup_values['filelink'] );
 
 
865
  }
866
  } // process <img> tag
867
 
912
 
913
  /*
914
  * Override the link value; leave filelink and pagelink unchanged
915
+ * Note that $link_href is used in the Google Viewer code below
916
  */
917
  if ( ! empty( $arguments['mla_link_href'] ) ) {
918
+ $link_href = self::_process_shortcode_parameter( $arguments['mla_link_href'], $markup_values );
919
 
920
  /*
921
  * Replace single- and double-quote delimited values
922
  */
923
+ $markup_values['link'] = preg_replace('# href=\'([^\']*)\'#', " href='{$link_href}'", $markup_values['link'] );
924
+ $markup_values['link'] = preg_replace('# href=\"([^\"]*)\"#', " href=\"{$link_href}\"", $markup_values['link'] );
925
  }
926
+ else
927
+ $link_href = '';
928
 
929
  $match_count = preg_match_all( '#\<a [^\>]+\>(.*)\</a\>#', $markup_values['link'], $matches, PREG_OFFSET_CAPTURE );
930
  if ( ! ( ( $match_count == false ) || ( $match_count == 0 ) ) ) {
946
  }
947
 
948
  /*
949
+ * Check for Google file viewer substitution, uses above-defined
950
+ * $link_attributes (includes target), $rollover_text, $link_href (link only),
951
+ * $image_attributes, $image_class, $image_alt
952
  */
953
  if ( $arguments['mla_viewer'] && empty( $markup_values['thumbnail_url'] ) ) {
954
  $last_dot = strrpos( $markup_values['file'], '.' );
955
  if ( !( false === $last_dot) ) {
956
  $extension = substr( $markup_values['file'], $last_dot + 1 );
957
  if ( in_array( $extension, $arguments['mla_viewer_extensions'] ) ) {
958
+ /*
959
+ * <img> tag (thumbnail_text)
960
+ */
961
+ if ( ! empty( $image_class ) )
962
+ $image_class = ' class="' . $image_class . '"';
963
+
964
+ if ( ! empty( $image_alt ) )
965
+ $image_alt = ' alt="' . $image_alt . '"';
966
+ elseif ( ! empty( $markup_values['caption'] ) )
967
+ $image_alt = ' alt="' . $markup_values['caption'] . '"';
968
+
969
+ $markup_values['thumbnail_content'] = sprintf( '<img %1$ssrc="http://docs.google.com/viewer?url=%2$s&a=bi&pagenumber=%3$d&w=%4$d"%5$s%6$s>', $image_attributes, $markup_values['filelink_url'], $arguments['mla_viewer_page'], $arguments['mla_viewer_width'], $image_class, $image_alt );
970
+
971
+ /*
972
+ * Filelink, pagelink and link
973
+ */
974
+ $markup_values['pagelink'] = sprintf( '<a %1$shref="%2$s" title="%3$s">%4$s</a>', $link_attributes, $markup_values['pagelink_url'], $rollover_text, $markup_values['thumbnail_content'] );
975
+ $markup_values['filelink'] = sprintf( '<a %1$shref="%2$s" title="%3$s">%4$s</a>', $link_attributes, $markup_values['filelink_url'], $rollover_text, $markup_values['thumbnail_content'] );
976
+
977
+ if ( ! empty( $link_href ) )
978
+ $markup_values['link'] = sprintf( '<a %1$shref="%2$s" title="%3$s">%4$s</a>', $link_attributes, $link_href, $rollover_text, $markup_values['thumbnail_content'] );
979
+ elseif ( 'permalink' == $arguments['link'] )
980
  $markup_values['link'] = $markup_values['pagelink'];
981
  else
982
  $markup_values['link'] = $markup_values['filelink'];
984
  } // has extension
985
  } // mla_viewer
986
 
987
+ if ($is_gallery ) {
988
+ /*
989
+ * Start of row markup
990
+ */
991
+ if ( $markup_values['columns'] > 0 && $i % $markup_values['columns'] == 0 )
992
+ $output .= MLAData::mla_parse_template( $row_open_template, $markup_values );
993
+
994
+ /*
995
+ * item markup
996
+ */
997
+ $output .= MLAData::mla_parse_template( $item_template, $markup_values );
998
+
999
+ /*
1000
+ * End of row markup
1001
+ */
1002
+ $i++;
1003
+ if ( $markup_values['columns'] > 0 && $i % $markup_values['columns'] == 0 )
1004
+ $output .= MLAData::mla_parse_template( $row_close_template, $markup_values );
1005
+ } // is_gallery
1006
+ elseif ( ( $is_previous || $is_next ) )
1007
+ return $markup_values['link'];
1008
+ }
1009
+
1010
+ if ($is_gallery ) {
1011
  /*
1012
+ * Close out partial row
 
 
 
 
 
 
 
 
 
 
 
1013
  */
1014
+ if ( ! ($markup_values['columns'] > 0 && $i % $markup_values['columns'] == 0 ) )
 
1015
  $output .= MLAData::mla_parse_template( $row_close_template, $markup_values );
1016
+
1017
+ $output .= MLAData::mla_parse_template( $close_template, $markup_values );
1018
+ } // is_gallery
 
 
 
 
 
 
1019
 
1020
  return $output;
1021
  }
1649
 
1650
  return $pieces;
1651
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1652
  } // Class MLAShortcodes
1653
  ?>
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 1.40
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: Enhances the Media Library; powerful[mla_gallery], taxonomy support, IPTC/EXIF processing, bulk & quick edit actions and where-used reporting.
16
  Author: David Lingren
17
- Version: 1.40
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.41
10
  */
11
 
12
  /*
14
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
15
  Description: Enhances the Media Library; powerful[mla_gallery], taxonomy support, IPTC/EXIF processing, bulk & quick edit actions and where-used reporting.
16
  Author: David Lingren
17
+ Version: 1.41
18
  Author URI: http://fairtradejudaica.org/our-story/staff/
19
  */
20
 
phpDocs/classes/MLA.html CHANGED
@@ -673,7 +673,7 @@ change the meta data for a single attachment.</h2>
673
  <div class="row"><footer class="span12">
674
  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>
675
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
676
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
677
  </div>
678
  </body>
679
  </html>
673
  <div class="row"><footer class="span12">
674
  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>
675
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
676
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
677
  </div>
678
  </body>
679
  </html>
phpDocs/classes/MLAData.html CHANGED
@@ -63,6 +63,7 @@
63
  <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>
64
  <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>
65
  <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>
 
66
  <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
  <li class="method public "><a href="#mla_parse_template" title="mla_parse_template :: Expand a template, replacing place holders with their values"><span class="description">Expand a template, replacing place holders with their values</span><pre>mla_parse_template()</pre></a></li>
68
  <li class="method public "><a href="#mla_query_list_table_items" title="mla_query_list_table_items :: Retrieve attachment objects for list table display"><span class="description">Retrieve attachment objects for list table display</span><pre>mla_query_list_table_items()</pre></a></li>
@@ -77,20 +78,31 @@
77
  for a single attachment."><span class="description">Update a single item; change the meta data
78
  for a single attachment.</span><pre>mla_update_single_item()</pre></a></li>
79
  <li class="nav-header private">» Private</li>
 
80
  <li class="method private "><a href="#_build_mla_galleries" title="_build_mla_galleries :: Builds the $mla_galleries or $galleries array"><span class="description">Builds the $mla_galleries or $galleries array</span><pre>_build_mla_galleries()</pre></a></li>
 
81
  <li class="method private "><a href="#_execute_list_table_query" title="_execute_list_table_query :: Add filters, run query, remove filters"><span class="description">Add filters, run query, remove filters</span><pre>_execute_list_table_query()</pre></a></li>
 
82
  <li class="method private "><a href="#_hex_dump" title="_hex_dump :: Format printable version of binary data"><span class="description">Format printable version of binary data</span><pre>_hex_dump()</pre></a></li>
 
83
  <li class="method private "><a href="#_prepare_list_table_query" title="_prepare_list_table_query :: Sanitize and expand query arguments from request variables"><span class="description">Sanitize and expand query arguments from request variables</span><pre>_prepare_list_table_query()</pre></a></li>
84
  <li class="method private "><a href="#_remove_tags" title="_remove_tags :: Remove tags from a term ids list"><span class="description">Remove tags from a term ids list</span><pre>_remove_tags()</pre></a></li>
85
  <li class="method private "><a href="#_search_mla_galleries" title="_search_mla_galleries :: Search the $mla_galleries or $galleries array"><span class="description">Search the $mla_galleries or $galleries array</span><pre>_search_mla_galleries()</pre></a></li>
86
  <li class="nav-header">
87
  <i class="icon-custom icon-property"></i> Properties</li>
 
88
  <li class="nav-header private">» Private</li>
89
  <li class="property private "><a href="#%24galleries" title="$galleries :: Objects containing [gallery] shortcodes"><span class="description">Objects containing [gallery] shortcodes</span><pre>$galleries</pre></a></li>
90
  <li class="property private "><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="property private "><a href="#%24mla_galleries" title="$mla_galleries :: Objects containing [mla_gallery] shortcodes"><span class="description">Objects containing [mla_gallery] shortcodes</span><pre>$mla_galleries</pre></a></li>
 
 
 
 
92
  <li class="property private "><a href="#%24mla_list_table_items" title="$mla_list_table_items :: Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items"><span class="description">Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items</span><pre>$mla_list_table_items</pre></a></li>
 
93
  <li class="property private "><a href="#%24query_parameters" title='$query_parameters :: WP_Query filter "parameters"'><span class="description">WP_Query filter "parameters"</span><pre>$query_parameters</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>
@@ -165,7 +177,7 @@ Templates separate HTML markup from PHP code for easier maintenance and localiza
165
  </div>
166
  <a name="mla_exif_metadata_value" id="mla_exif_metadata_value"></a><div class="element clickable method public mla_exif_metadata_value" data-toggle="collapse" data-target=".mla_exif_metadata_value .collapse">
167
  <h2>Parse one EXIF metadata field</h2>
168
- <pre>mla_exif_metadata_value(string $key, string $image_metadata) : string</pre>
169
  <div class="labels"></div>
170
  <div class="row collapse"><div class="detail-description">
171
  <p class="long_description"><p>Returns a string value, converting array data to a string as necessary.
@@ -176,7 +188,7 @@ Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p></p>
176
  </tr></table>
177
  <h3>Parameters</h3>
178
  <div class="subelement argument">
179
- <h4>$key</h4>
180
  <code>string</code><p>field name</p></div>
181
  <div class="subelement argument">
182
  <h4>$image_metadata</h4>
@@ -369,6 +381,30 @@ the posts and postmeta tables, and all references to the attachment.</p></p>
369
  <code>array</code>Placeholder information: each entry is an array with ['prefix'] => string, ['value'] => string, ['option'] => string 'single'|'export'</div>
370
  </div></div>
371
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
  <a name="mla_load_template" id="mla_load_template"></a><div class="element clickable method public mla_load_template" data-toggle="collapse" data-target=".mla_load_template .collapse">
373
  <h2>Load an HTML template from a file</h2>
374
  <pre>mla_load_template(string $source, string $type) : string | array | false | NULL</pre>
@@ -622,6 +658,25 @@ for a single attachment.</h2>
622
  <code>array</code>success/failure message and NULL content</div>
623
  </div></div>
624
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
625
  <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">
626
  <h2>Builds the $mla_galleries or $galleries array</h2>
627
  <pre>_build_mla_galleries(string $option_name, array $galleries_array, string $shortcode, boolean $exclude_revisions) : boolean</pre>
@@ -651,6 +706,22 @@ for a single attachment.</h2>
651
  <code>boolean</code>true if the galleries array is not empty</div>
652
  </div></div>
653
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
654
  <a name="_execute_list_table_query" id="_execute_list_table_query"></a><div class="element clickable method private _execute_list_table_query" data-toggle="collapse" data-target="._execute_list_table_query .collapse">
655
  <h2>Add filters, run query, remove filters</h2>
656
  <pre>_execute_list_table_query(array $request) : object</pre>
@@ -671,6 +742,25 @@ for a single attachment.</h2>
671
  <code>object</code>WP_Query object with query results</div>
672
  </div></div>
673
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
674
  <a name="_hex_dump" id="_hex_dump"></a><div class="element clickable method private _hex_dump" data-toggle="collapse" data-target="._hex_dump .collapse">
675
  <h2>Format printable version of binary data</h2>
676
  <pre>_hex_dump(string $data, integer $limit, \intger $bytes_per_row) : string</pre>
@@ -697,6 +787,26 @@ for a single attachment.</h2>
697
  <code>string</code>Printable representation of $data</div>
698
  </div></div>
699
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
700
  <a name="_prepare_list_table_query" id="_prepare_list_table_query"></a><div class="element clickable method private _prepare_list_table_query" data-toggle="collapse" data-target="._prepare_list_table_query .collapse">
701
  <h2>Sanitize and expand query arguments from request variables</h2>
702
  <pre>_prepare_list_table_query(array $raw_request, int $offset, int $count) : array</pre>
@@ -776,6 +886,19 @@ Modeled after wp_edit_attachments_query in wp-admin/post.php</p></p>
776
  </div>
777
  <h3>
778
  <i class="icon-custom icon-property"></i> Properties</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
779
  <a name="%24galleries" id="$galleries"> </a><div class="element clickable property private $galleries" data-toggle="collapse" data-target=".$galleries .collapse">
780
  <h2>Objects containing [gallery] shortcodes</h2>
781
  <pre>$galleries : array</pre>
@@ -824,6 +947,58 @@ each page load and cached for subsequent calls.</p></p>
824
  </tr></table>
825
  </div></div>
826
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
827
  <a name="%24mla_list_table_items" id="$mla_list_table_items"> </a><div class="element clickable property private $mla_list_table_items" data-toggle="collapse" data-target=".$mla_list_table_items .collapse">
828
  <h2>Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items</h2>
829
  <pre>$mla_list_table_items : array</pre>
@@ -836,6 +1011,18 @@ each page load and cached for subsequent calls.</p></p>
836
  </tr></table>
837
  </div></div>
838
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
839
  <a name="%24query_parameters" id="$query_parameters"> </a><div class="element clickable property private $query_parameters" data-toggle="collapse" data-target=".$query_parameters .collapse">
840
  <h2>WP_Query filter "parameters"</h2>
841
  <pre>$query_parameters : array</pre>
@@ -852,6 +1039,18 @@ any further logic required to translate those values is contained in the filters
852
  </tr></table>
853
  </div></div>
854
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
855
  <h3>
856
  <i class="icon-custom icon-constant"></i> Constants</h3>
857
  <a name="MLA_ALT_TEXT_VIEW_SUFFIX" id="MLA_ALT_TEXT_VIEW_SUFFIX"> </a><div class="element clickable constant MLA_ALT_TEXT_VIEW_SUFFIX" data-toggle="collapse" data-target=".MLA_ALT_TEXT_VIEW_SUFFIX .collapse">
@@ -873,7 +1072,7 @@ any further logic required to translate those values is contained in the filters
873
  <div class="row"><footer class="span12">
874
  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>
875
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
876
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
877
  </div>
878
  </body>
879
  </html>
63
  <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>
64
  <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>
65
  <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>
66
+ <li class="method public "><a href="#mla_iptc_metadata_value" title="mla_iptc_metadata_value :: Parse one IPTC metadata field"><span class="description">Parse one IPTC metadata field</span><pre>mla_iptc_metadata_value()</pre></a></li>
67
  <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_parse_template" title="mla_parse_template :: Expand a template, replacing place holders with their values"><span class="description">Expand a template, replacing place holders with their values</span><pre>mla_parse_template()</pre></a></li>
69
  <li class="method public "><a href="#mla_query_list_table_items" title="mla_query_list_table_items :: Retrieve attachment objects for list table display"><span class="description">Retrieve attachment objects for list table display</span><pre>mla_query_list_table_items()</pre></a></li>
78
  for a single attachment."><span class="description">Update a single item; change the meta data
79
  for a single attachment.</span><pre>mla_update_single_item()</pre></a></li>
80
  <li class="nav-header private">» Private</li>
81
+ <li class="method private "><a href="#_bin_to_utf8" title="_bin_to_utf8 :: Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents"><span class="description">Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents</span><pre>_bin_to_utf8()</pre></a></li>
82
  <li class="method private "><a href="#_build_mla_galleries" title="_build_mla_galleries :: Builds the $mla_galleries or $galleries array"><span class="description">Builds the $mla_galleries or $galleries array</span><pre>_build_mla_galleries()</pre></a></li>
83
+ <li class="method private "><a href="#_build_pdf_indirect_objects" title="_build_pdf_indirect_objects :: Build an array of indirect object definitions"><span class="description">Build an array of indirect object definitions</span><pre>_build_pdf_indirect_objects()</pre></a></li>
84
  <li class="method private "><a href="#_execute_list_table_query" title="_execute_list_table_query :: Add filters, run query, remove filters"><span class="description">Add filters, run query, remove filters</span><pre>_execute_list_table_query()</pre></a></li>
85
+ <li class="method private "><a href="#_extract_pdf_metadata" title="_extract_pdf_metadata :: Extract Metadata from a PDF file"><span class="description">Extract Metadata from a PDF file</span><pre>_extract_pdf_metadata()</pre></a></li>
86
  <li class="method private "><a href="#_hex_dump" title="_hex_dump :: Format printable version of binary data"><span class="description">Format printable version of binary data</span><pre>_hex_dump()</pre></a></li>
87
+ <li class="method private "><a href="#_parse_pdf_dictionary" title="_parse_pdf_dictionary :: Parse a PDF dictionary object"><span class="description">Parse a PDF dictionary object</span><pre>_parse_pdf_dictionary()</pre></a></li>
88
  <li class="method private "><a href="#_prepare_list_table_query" title="_prepare_list_table_query :: Sanitize and expand query arguments from request variables"><span class="description">Sanitize and expand query arguments from request variables</span><pre>_prepare_list_table_query()</pre></a></li>
89
  <li class="method private "><a href="#_remove_tags" title="_remove_tags :: Remove tags from a term ids list"><span class="description">Remove tags from a term ids list</span><pre>_remove_tags()</pre></a></li>
90
  <li class="method private "><a href="#_search_mla_galleries" title="_search_mla_galleries :: Search the $mla_galleries or $galleries array"><span class="description">Search the $mla_galleries or $galleries array</span><pre>_search_mla_galleries()</pre></a></li>
91
  <li class="nav-header">
92
  <i class="icon-custom icon-property"></i> Properties</li>
93
+ <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>
94
  <li class="nav-header private">» Private</li>
95
  <li class="property private "><a href="#%24galleries" title="$galleries :: Objects containing [gallery] shortcodes"><span class="description">Objects containing [gallery] shortcodes</span><pre>$galleries</pre></a></li>
96
  <li class="property private "><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>
97
  <li class="property private "><a href="#%24mla_galleries" title="$mla_galleries :: Objects containing [mla_gallery] shortcodes"><span class="description">Objects containing [mla_gallery] shortcodes</span><pre>$mla_galleries</pre></a></li>
98
+ <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>
99
+ <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>
100
+ <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>
101
+ <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>
102
  <li class="property private "><a href="#%24mla_list_table_items" title="$mla_list_table_items :: Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items"><span class="description">Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items</span><pre>$mla_list_table_items</pre></a></li>
103
+ <li class="property private "><a href="#%24pdf_indirect_objects" title="$pdf_indirect_objects :: Array of PDF indirect objects"><span class="description">Array of PDF indirect objects</span><pre>$pdf_indirect_objects</pre></a></li>
104
  <li class="property private "><a href="#%24query_parameters" title='$query_parameters :: WP_Query filter "parameters"'><span class="description">WP_Query filter "parameters"</span><pre>$query_parameters</pre></a></li>
105
+ <li class="property private "><a href="#%24utf8_chars" title="$utf8_chars :: UTF-8 replacements for invalid SQL characters"><span class="description">UTF-8 replacements for invalid SQL characters</span><pre>$utf8_chars</pre></a></li>
106
  <li class="nav-header">
107
  <i class="icon-custom icon-constant"></i> Constants</li>
108
  <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>
177
  </div>
178
  <a name="mla_exif_metadata_value" id="mla_exif_metadata_value"></a><div class="element clickable method public mla_exif_metadata_value" data-toggle="collapse" data-target=".mla_exif_metadata_value .collapse">
179
  <h2>Parse one EXIF metadata field</h2>
180
+ <pre>mla_exif_metadata_value(string $exif_key, string $image_metadata) : string</pre>
181
  <div class="labels"></div>
182
  <div class="row collapse"><div class="detail-description">
183
  <p class="long_description"><p>Returns a string value, converting array data to a string as necessary.
188
  </tr></table>
189
  <h3>Parameters</h3>
190
  <div class="subelement argument">
191
+ <h4>$exif_key</h4>
192
  <code>string</code><p>field name</p></div>
193
  <div class="subelement argument">
194
  <h4>$image_metadata</h4>
381
  <code>array</code>Placeholder information: each entry is an array with ['prefix'] => string, ['value'] => string, ['option'] => string 'single'|'export'</div>
382
  </div></div>
383
  </div>
384
+ <a name="mla_iptc_metadata_value" id="mla_iptc_metadata_value"></a><div class="element clickable method public mla_iptc_metadata_value" data-toggle="collapse" data-target=".mla_iptc_metadata_value .collapse">
385
+ <h2>Parse one IPTC metadata field</h2>
386
+ <pre>mla_iptc_metadata_value(string $iptc_key, string $image_metadata) : mixed</pre>
387
+ <div class="labels"></div>
388
+ <div class="row collapse"><div class="detail-description">
389
+ <p class="long_description"><p>Returns a string value, converting array data to a string as necessary.</p></p>
390
+ <table class="table table-bordered"><tr>
391
+ <th>since</th>
392
+ <td>1.41</td>
393
+ </tr></table>
394
+ <h3>Parameters</h3>
395
+ <div class="subelement argument">
396
+ <h4>$iptc_key</h4>
397
+ <code>string</code><p>field name - IPTC Identifier or friendly name/slug</p>
398
+ </div>
399
+ <div class="subelement argument">
400
+ <h4>$image_metadata</h4>
401
+ <code>string</code><p>metadata array containing 'mla_iptc_metadata' array</p>
402
+ </div>
403
+ <h3>Returns</h3>
404
+ <div class="subelement response">
405
+ <code>mixed</code>string/array representation of metadata value or an empty string</div>
406
+ </div></div>
407
+ </div>
408
  <a name="mla_load_template" id="mla_load_template"></a><div class="element clickable method public mla_load_template" data-toggle="collapse" data-target=".mla_load_template .collapse">
409
  <h2>Load an HTML template from a file</h2>
410
  <pre>mla_load_template(string $source, string $type) : string | array | false | NULL</pre>
658
  <code>array</code>success/failure message and NULL content</div>
659
  </div></div>
660
  </div>
661
+ <a name="_bin_to_utf8" id="_bin_to_utf8"></a><div class="element clickable method private _bin_to_utf8" data-toggle="collapse" data-target="._bin_to_utf8 .collapse">
662
+ <h2>Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents</h2>
663
+ <pre>_bin_to_utf8(string $string) : string</pre>
664
+ <div class="labels"></div>
665
+ <div class="row collapse"><div class="detail-description">
666
+ <p class="long_description"></p>
667
+ <table class="table table-bordered"><tr>
668
+ <th>since</th>
669
+ <td>1.41</td>
670
+ </tr></table>
671
+ <h3>Parameters</h3>
672
+ <div class="subelement argument">
673
+ <h4>$string</h4>
674
+ <code>string</code><p>unencoded string</p></div>
675
+ <h3>Returns</h3>
676
+ <div class="subelement response">
677
+ <code>string</code>UTF-8 encoded string</div>
678
+ </div></div>
679
+ </div>
680
  <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">
681
  <h2>Builds the $mla_galleries or $galleries array</h2>
682
  <pre>_build_mla_galleries(string $option_name, array $galleries_array, string $shortcode, boolean $exclude_revisions) : boolean</pre>
706
  <code>boolean</code>true if the galleries array is not empty</div>
707
  </div></div>
708
  </div>
709
+ <a name="_build_pdf_indirect_objects" id="_build_pdf_indirect_objects"></a><div class="element clickable method private _build_pdf_indirect_objects" data-toggle="collapse" data-target="._build_pdf_indirect_objects .collapse">
710
+ <h2>Build an array of indirect object definitions</h2>
711
+ <pre>_build_pdf_indirect_objects(string $string) : void</pre>
712
+ <div class="labels"></div>
713
+ <div class="row collapse"><div class="detail-description">
714
+ <p class="long_description"><p>Creates the array of indirect object offsets and lengths</p></p>
715
+ <table class="table table-bordered"><tr>
716
+ <th>since</th>
717
+ <td>1.4x</td>
718
+ </tr></table>
719
+ <h3>Parameters</h3>
720
+ <div class="subelement argument">
721
+ <h4>$string</h4>
722
+ <code>string</code><p>The entire PDF document, passsed by reference</p></div>
723
+ </div></div>
724
+ </div>
725
  <a name="_execute_list_table_query" id="_execute_list_table_query"></a><div class="element clickable method private _execute_list_table_query" data-toggle="collapse" data-target="._execute_list_table_query .collapse">
726
  <h2>Add filters, run query, remove filters</h2>
727
  <pre>_execute_list_table_query(array $request) : object</pre>
742
  <code>object</code>WP_Query object with query results</div>
743
  </div></div>
744
  </div>
745
+ <a name="_extract_pdf_metadata" id="_extract_pdf_metadata"></a><div class="element clickable method private _extract_pdf_metadata" data-toggle="collapse" data-target="._extract_pdf_metadata .collapse">
746
+ <h2>Extract Metadata from a PDF file</h2>
747
+ <pre>_extract_pdf_metadata(string $string) : array</pre>
748
+ <div class="labels"></div>
749
+ <div class="row collapse"><div class="detail-description">
750
+ <p class="long_description"></p>
751
+ <table class="table table-bordered"><tr>
752
+ <th>since</th>
753
+ <td>1.4x</td>
754
+ </tr></table>
755
+ <h3>Parameters</h3>
756
+ <div class="subelement argument">
757
+ <h4>$string</h4>
758
+ <code>string</code><p>full path to the desired file</p></div>
759
+ <h3>Returns</h3>
760
+ <div class="subelement response">
761
+ <code>array</code>( key => value ) for each metadata field, in string format</div>
762
+ </div></div>
763
+ </div>
764
  <a name="_hex_dump" id="_hex_dump"></a><div class="element clickable method private _hex_dump" data-toggle="collapse" data-target="._hex_dump .collapse">
765
  <h2>Format printable version of binary data</h2>
766
  <pre>_hex_dump(string $data, integer $limit, \intger $bytes_per_row) : string</pre>
787
  <code>string</code>Printable representation of $data</div>
788
  </div></div>
789
  </div>
790
+ <a name="_parse_pdf_dictionary" id="_parse_pdf_dictionary"></a><div class="element clickable method private _parse_pdf_dictionary" data-toggle="collapse" data-target="._parse_pdf_dictionary .collapse">
791
+ <h2>Parse a PDF dictionary object</h2>
792
+ <pre>_parse_pdf_dictionary(string $string) : array</pre>
793
+ <div class="labels"></div>
794
+ <div class="row collapse"><div class="detail-description">
795
+ <p class="long_description"><p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string), indirect (object), name, array, dictionary, stream, and null.</p></p>
796
+ <table class="table table-bordered"><tr>
797
+ <th>since</th>
798
+ <td>1.4x</td>
799
+ </tr></table>
800
+ <h3>Parameters</h3>
801
+ <div class="subelement argument">
802
+ <h4>$string</h4>
803
+ <code>string</code><p>dictionary content, without enclosing << and >> delimiters</p>
804
+ </div>
805
+ <h3>Returns</h3>
806
+ <div class="subelement response">
807
+ <code>array</code>( key => array( 'type' => type, 'value' => value ) ) for each dictionary field</div>
808
+ </div></div>
809
+ </div>
810
  <a name="_prepare_list_table_query" id="_prepare_list_table_query"></a><div class="element clickable method private _prepare_list_table_query" data-toggle="collapse" data-target="._prepare_list_table_query .collapse">
811
  <h2>Sanitize and expand query arguments from request variables</h2>
812
  <pre>_prepare_list_table_query(array $raw_request, int $offset, int $count) : array</pre>
886
  </div>
887
  <h3>
888
  <i class="icon-custom icon-property"></i> Properties</h3>
889
+ <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">
890
+ <h2>IPTC Dataset friendly name/slug and identifiers</h2>
891
+ <pre>$mla_iptc_keys : array</pre>
892
+ <div class="labels"></div>
893
+ <div class="row collapse"><div class="detail-description">
894
+ <p class="long_description"><p>This array contains the sanitized names and identifiers of Datasets defined in
895
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
896
+ <table class="table table-bordered"><tr>
897
+ <th>since</th>
898
+ <td>0.90</td>
899
+ </tr></table>
900
+ </div></div>
901
+ </div>
902
  <a name="%24galleries" id="$galleries"> </a><div class="element clickable property private $galleries" data-toggle="collapse" data-target=".$galleries .collapse">
903
  <h2>Objects containing [gallery] shortcodes</h2>
904
  <pre>$galleries : array</pre>
947
  </tr></table>
948
  </div></div>
949
  </div>
950
+ <a name="%24mla_iptc_descriptions" id="$mla_iptc_descriptions"> </a><div class="element clickable property private $mla_iptc_descriptions" data-toggle="collapse" data-target=".$mla_iptc_descriptions .collapse">
951
+ <h2>IPTC Dataset descriptions</h2>
952
+ <pre>$mla_iptc_descriptions : array</pre>
953
+ <div class="labels"></div>
954
+ <div class="row collapse"><div class="detail-description">
955
+ <p class="long_description"><p>This array contains the descriptions of Datasets defined in
956
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
957
+ <table class="table table-bordered"><tr>
958
+ <th>since</th>
959
+ <td>0.90</td>
960
+ </tr></table>
961
+ </div></div>
962
+ </div>
963
+ <a name="%24mla_iptc_formats" id="$mla_iptc_formats"> </a><div class="element clickable property private $mla_iptc_formats" data-toggle="collapse" data-target=".$mla_iptc_formats .collapse">
964
+ <h2>IPTC file format identifiers and descriptions</h2>
965
+ <pre>$mla_iptc_formats : array</pre>
966
+ <div class="labels"></div>
967
+ <div class="row collapse"><div class="detail-description">
968
+ <p class="long_description"><p>This array contains the file format identifiers and descriptions defined in
969
+ the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p></p>
970
+ <table class="table table-bordered"><tr>
971
+ <th>since</th>
972
+ <td>0.90</td>
973
+ </tr></table>
974
+ </div></div>
975
+ </div>
976
+ <a name="%24mla_iptc_image_types" id="$mla_iptc_image_types"> </a><div class="element clickable property private $mla_iptc_image_types" data-toggle="collapse" data-target=".$mla_iptc_image_types .collapse">
977
+ <h2>IPTC image type identifiers and descriptions</h2>
978
+ <pre>$mla_iptc_image_types : array</pre>
979
+ <div class="labels"></div>
980
+ <div class="row collapse"><div class="detail-description">
981
+ <p class="long_description"><p>This array contains the image type identifiers and descriptions defined in
982
+ the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p></p>
983
+ <table class="table table-bordered"><tr>
984
+ <th>since</th>
985
+ <td>0.90</td>
986
+ </tr></table>
987
+ </div></div>
988
+ </div>
989
+ <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">
990
+ <h2>IPTC Dataset identifiers and names</h2>
991
+ <pre>$mla_iptc_records : array</pre>
992
+ <div class="labels"></div>
993
+ <div class="row collapse"><div class="detail-description">
994
+ <p class="long_description"><p>This array contains the identifiers and names of Datasets defined in
995
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
996
+ <table class="table table-bordered"><tr>
997
+ <th>since</th>
998
+ <td>0.90</td>
999
+ </tr></table>
1000
+ </div></div>
1001
+ </div>
1002
  <a name="%24mla_list_table_items" id="$mla_list_table_items"> </a><div class="element clickable property private $mla_list_table_items" data-toggle="collapse" data-target=".$mla_list_table_items .collapse">
1003
  <h2>Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items</h2>
1004
  <pre>$mla_list_table_items : array</pre>
1011
  </tr></table>
1012
  </div></div>
1013
  </div>
1014
+ <a name="%24pdf_indirect_objects" id="$pdf_indirect_objects"> </a><div class="element clickable property private $pdf_indirect_objects" data-toggle="collapse" data-target=".$pdf_indirect_objects .collapse">
1015
+ <h2>Array of PDF indirect objects</h2>
1016
+ <pre>$pdf_indirect_objects : array</pre>
1017
+ <div class="labels"></div>
1018
+ <div class="row collapse"><div class="detail-description">
1019
+ <p class="long_description"><p>This array contains all of the indirect object offsets and lengths</p></p>
1020
+ <table class="table table-bordered"><tr>
1021
+ <th>since</th>
1022
+ <td>1.4x</td>
1023
+ </tr></table>
1024
+ </div></div>
1025
+ </div>
1026
  <a name="%24query_parameters" id="$query_parameters"> </a><div class="element clickable property private $query_parameters" data-toggle="collapse" data-target=".$query_parameters .collapse">
1027
  <h2>WP_Query filter "parameters"</h2>
1028
  <pre>$query_parameters : array</pre>
1039
  </tr></table>
1040
  </div></div>
1041
  </div>
1042
+ <a name="%24utf8_chars" id="$utf8_chars"> </a><div class="element clickable property private $utf8_chars" data-toggle="collapse" data-target=".$utf8_chars .collapse">
1043
+ <h2>UTF-8 replacements for invalid SQL characters</h2>
1044
+ <pre>$utf8_chars : array</pre>
1045
+ <div class="labels"></div>
1046
+ <div class="row collapse"><div class="detail-description">
1047
+ <p class="long_description"></p>
1048
+ <table class="table table-bordered"><tr>
1049
+ <th>since</th>
1050
+ <td>1.41</td>
1051
+ </tr></table>
1052
+ </div></div>
1053
+ </div>
1054
  <h3>
1055
  <i class="icon-custom icon-constant"></i> Constants</h3>
1056
  <a name="MLA_ALT_TEXT_VIEW_SUFFIX" id="MLA_ALT_TEXT_VIEW_SUFFIX"> </a><div class="element clickable constant MLA_ALT_TEXT_VIEW_SUFFIX" data-toggle="collapse" data-target=".MLA_ALT_TEXT_VIEW_SUFFIX .collapse">
1072
  <div class="row"><footer class="span12">
1073
  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>
1074
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1075
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
1076
  </div>
1077
  </body>
1078
  </html>
phpDocs/classes/MLAEdit.html CHANGED
@@ -343,7 +343,7 @@ The array is built once each page load and cached for subsequent calls.</p></p>
343
  <div class="row"><footer class="span12">
344
  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>
345
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
346
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
347
  </div>
348
  </body>
349
  </html>
343
  <div class="row"><footer class="span12">
344
  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>
345
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
346
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
347
  </div>
348
  </body>
349
  </html>
phpDocs/classes/MLAMime.html CHANGED
@@ -1263,7 +1263,7 @@ Defined as public because it's a filter.</p></p>
1263
  <div class="row"><footer class="span12">
1264
  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>
1265
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1266
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
1267
  </div>
1268
  </body>
1269
  </html>
1263
  <div class="row"><footer class="span12">
1264
  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>
1265
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1266
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
1267
  </div>
1268
  </body>
1269
  </html>
phpDocs/classes/MLAModal.html CHANGED
@@ -307,7 +307,7 @@ and mla_print_media_templates_action</h2>
307
  <div class="row"><footer class="span12">
308
  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>
309
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
310
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
311
  </div>
312
  </body>
313
  </html>
307
  <div class="row"><footer class="span12">
308
  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>
309
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
310
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
311
  </div>
312
  </body>
313
  </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 2013-06-18T20:19:59-07: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 2013-06-30T13:10:24-07:00.<br></footer></div>
171
  </div>
172
  </body>
173
  </html>
phpDocs/classes/MLAOptions.html CHANGED
@@ -1140,7 +1140,7 @@ reset => reset function for 'custom' options; returns nothing. Usage:
1140
  <div class="row"><footer class="span12">
1141
  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>
1142
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1143
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
1144
  </div>
1145
  </body>
1146
  </html>
1140
  <div class="row"><footer class="span12">
1141
  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>
1142
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1143
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
1144
  </div>
1145
  </body>
1146
  </html>
phpDocs/classes/MLASettings.html CHANGED
@@ -1102,7 +1102,7 @@ each page load and cached for subsequent use.</p></p>
1102
  <div class="row"><footer class="span12">
1103
  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>
1104
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1105
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
1106
  </div>
1107
  </body>
1108
  </html>
1102
  <div class="row"><footer class="span12">
1103
  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>
1104
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1105
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
1106
  </div>
1107
  </body>
1108
  </html>
phpDocs/classes/MLAShortcodes.html CHANGED
@@ -67,14 +67,9 @@
67
  <li class="nav-header">
68
  <i class="icon-custom icon-property"></i> Properties</li>
69
  <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>
70
- <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>
71
  <li class="nav-header private">» Private</li>
72
  <li class="property private "><a href="#%24data_selection_parameters" title="$data_selection_parameters :: Data selection parameters for the WP_Query in [mla_gallery]"><span class="description">Data selection parameters for the WP_Query in [mla_gallery]</span><pre>$data_selection_parameters</pre></a></li>
73
  <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>
74
- <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>
75
- <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>
76
- <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>
77
- <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>
78
  <li class="property private "><a href="#%24query_parameters" title='$query_parameters :: WP_Query filter "parameters"'><span class="description">WP_Query filter "parameters"</span><pre>$query_parameters</pre></a></li>
79
  </ul>
80
  </div>
@@ -330,19 +325,6 @@ Enhanced version of /wp-includes/formatting.php function sanitize_sql_orderby().
330
  </tr></table>
331
  </div></div>
332
  </div>
333
- <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">
334
- <h2>IPTC Dataset friendly name/slug and identifiers</h2>
335
- <pre>$mla_iptc_keys : array</pre>
336
- <div class="labels"></div>
337
- <div class="row collapse"><div class="detail-description">
338
- <p class="long_description"><p>This array contains the sanitized names and identifiers of Datasets defined in
339
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
340
- <table class="table table-bordered"><tr>
341
- <th>since</th>
342
- <td>0.90</td>
343
- </tr></table>
344
- </div></div>
345
- </div>
346
  <a name="%24data_selection_parameters" id="$data_selection_parameters"> </a><div class="element clickable property private $data_selection_parameters" data-toggle="collapse" data-target=".$data_selection_parameters .collapse">
347
  <h2>Data selection parameters for the WP_Query in [mla_gallery]</h2>
348
  <pre>$data_selection_parameters : array</pre>
@@ -367,58 +349,6 @@ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
367
  </tr></table>
368
  </div></div>
369
  </div>
370
- <a name="%24mla_iptc_descriptions" id="$mla_iptc_descriptions"> </a><div class="element clickable property private $mla_iptc_descriptions" data-toggle="collapse" data-target=".$mla_iptc_descriptions .collapse">
371
- <h2>IPTC Dataset descriptions</h2>
372
- <pre>$mla_iptc_descriptions : array</pre>
373
- <div class="labels"></div>
374
- <div class="row collapse"><div class="detail-description">
375
- <p class="long_description"><p>This array contains the descriptions of Datasets defined in
376
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
377
- <table class="table table-bordered"><tr>
378
- <th>since</th>
379
- <td>0.90</td>
380
- </tr></table>
381
- </div></div>
382
- </div>
383
- <a name="%24mla_iptc_formats" id="$mla_iptc_formats"> </a><div class="element clickable property private $mla_iptc_formats" data-toggle="collapse" data-target=".$mla_iptc_formats .collapse">
384
- <h2>IPTC file format identifiers and descriptions</h2>
385
- <pre>$mla_iptc_formats : array</pre>
386
- <div class="labels"></div>
387
- <div class="row collapse"><div class="detail-description">
388
- <p class="long_description"><p>This array contains the file format identifiers and descriptions defined in
389
- the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p></p>
390
- <table class="table table-bordered"><tr>
391
- <th>since</th>
392
- <td>0.90</td>
393
- </tr></table>
394
- </div></div>
395
- </div>
396
- <a name="%24mla_iptc_image_types" id="$mla_iptc_image_types"> </a><div class="element clickable property private $mla_iptc_image_types" data-toggle="collapse" data-target=".$mla_iptc_image_types .collapse">
397
- <h2>IPTC image type identifiers and descriptions</h2>
398
- <pre>$mla_iptc_image_types : array</pre>
399
- <div class="labels"></div>
400
- <div class="row collapse"><div class="detail-description">
401
- <p class="long_description"><p>This array contains the image type identifiers and descriptions defined in
402
- the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p></p>
403
- <table class="table table-bordered"><tr>
404
- <th>since</th>
405
- <td>0.90</td>
406
- </tr></table>
407
- </div></div>
408
- </div>
409
- <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">
410
- <h2>IPTC Dataset identifiers and names</h2>
411
- <pre>$mla_iptc_records : array</pre>
412
- <div class="labels"></div>
413
- <div class="row collapse"><div class="detail-description">
414
- <p class="long_description"><p>This array contains the identifiers and names of Datasets defined in
415
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
416
- <table class="table table-bordered"><tr>
417
- <th>since</th>
418
- <td>0.90</td>
419
- </tr></table>
420
- </div></div>
421
- </div>
422
  <a name="%24query_parameters" id="$query_parameters"> </a><div class="element clickable property private $query_parameters" data-toggle="collapse" data-target=".$query_parameters .collapse">
423
  <h2>WP_Query filter "parameters"</h2>
424
  <pre>$query_parameters : array</pre>
@@ -443,7 +373,7 @@ any further logic required to translate those values is contained in the filter.
443
  <div class="row"><footer class="span12">
444
  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>
445
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
446
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
447
  </div>
448
  </body>
449
  </html>
67
  <li class="nav-header">
68
  <i class="icon-custom icon-property"></i> Properties</li>
69
  <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>
 
70
  <li class="nav-header private">» Private</li>
71
  <li class="property private "><a href="#%24data_selection_parameters" title="$data_selection_parameters :: Data selection parameters for the WP_Query in [mla_gallery]"><span class="description">Data selection parameters for the WP_Query in [mla_gallery]</span><pre>$data_selection_parameters</pre></a></li>
72
  <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>
 
 
 
 
73
  <li class="property private "><a href="#%24query_parameters" title='$query_parameters :: WP_Query filter "parameters"'><span class="description">WP_Query filter "parameters"</span><pre>$query_parameters</pre></a></li>
74
  </ul>
75
  </div>
325
  </tr></table>
326
  </div></div>
327
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  <a name="%24data_selection_parameters" id="$data_selection_parameters"> </a><div class="element clickable property private $data_selection_parameters" data-toggle="collapse" data-target=".$data_selection_parameters .collapse">
329
  <h2>Data selection parameters for the WP_Query in [mla_gallery]</h2>
330
  <pre>$data_selection_parameters : array</pre>
349
  </tr></table>
350
  </div></div>
351
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
352
  <a name="%24query_parameters" id="$query_parameters"> </a><div class="element clickable property private $query_parameters" data-toggle="collapse" data-target=".$query_parameters .collapse">
353
  <h2>WP_Query filter "parameters"</h2>
354
  <pre>$query_parameters : array</pre>
373
  <div class="row"><footer class="span12">
374
  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>
375
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
376
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
377
  </div>
378
  </body>
379
  </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 2013-06-18T20:20:00-07: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 2013-06-30T13:10:25-07:00.<br></footer></div>
164
  </div>
165
  </body>
166
  </html>
phpDocs/classes/MLA_List_Table.html CHANGED
@@ -1018,7 +1018,7 @@ Custom field columns are added to this array by mla_admin_init_action.</p></p>
1018
  <div class="row"><footer class="span12">
1019
  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>
1020
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1021
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
1022
  </div>
1023
  </body>
1024
  </html>
1018
  <div class="row"><footer class="span12">
1019
  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>
1020
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1021
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
1022
  </div>
1023
  </body>
1024
  </html>
phpDocs/classes/MLA_Upload_List_Table.html CHANGED
@@ -715,7 +715,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
715
  <div class="row"><footer class="span12">
716
  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>
717
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
718
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
719
  </div>
720
  </body>
721
  </html>
715
  <div class="row"><footer class="span12">
716
  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>
717
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
718
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
719
  </div>
720
  </body>
721
  </html>
phpDocs/classes/MLA_Upload_Optional_List_Table.html CHANGED
@@ -533,7 +533,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
533
  <div class="row"><footer class="span12">
534
  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>
535
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
536
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
537
  </div>
538
  </body>
539
  </html>
533
  <div class="row"><footer class="span12">
534
  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>
535
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
536
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
537
  </div>
538
  </body>
539
  </html>
phpDocs/classes/MLA_View_List_Table.html CHANGED
@@ -612,7 +612,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
612
  <div class="row"><footer class="span12">
613
  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>
614
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
615
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
616
  </div>
617
  </body>
618
  </html>
612
  <div class="row"><footer class="span12">
613
  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>
614
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
615
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
616
  </div>
617
  </body>
618
  </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 2013-06-18T20:20:00-07: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 2013-06-30T13:10:25-07:00.<br></footer></div>
66
  </div>
67
  </body>
68
  </html>
phpDocs/errors.html CHANGED
@@ -81,7 +81,7 @@
81
  <div class="row"><footer class="span12">
82
  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>
83
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
84
- generated on 2013-06-18T20:20:00-07:00.<br></footer></div>
85
  </div>
86
  </body>
87
  </html>
81
  <div class="row"><footer class="span12">
82
  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>
83
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
84
+ generated on 2013-06-30T13:10:25-07:00.<br></footer></div>
85
  </div>
86
  </body>
87
  </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 2013-06-18T20:20:00-07: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 2013-06-30T13:10:25-07: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 2013-06-18T20:19:59-07: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 2013-06-30T13:10:24-07: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 2013-06-18T20:20:00-07: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 2013-06-30T13:10:25-07:00.<br></footer></div>
68
  </div>
69
  </body>
70
  </html>
phpDocs/namespaces/global.html CHANGED
@@ -222,7 +222,7 @@ searchable database of exension/type associations for the "Uploads" admin settin
222
  <div class="row"><footer class="span12">
223
  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>
224
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
225
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
226
  </div>
227
  </body>
228
  </html>
222
  <div class="row"><footer class="span12">
223
  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>
224
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
225
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
226
  </div>
227
  </body>
228
  </html>
phpDocs/packages/Media Library Assistant.html CHANGED
@@ -252,7 +252,7 @@ searchable database of exension/type associations for the "Uploads" admin settin
252
  <div class="row"><footer class="span12">
253
  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>
254
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
255
- generated on 2013-06-18T20:19:59-07:00.<br></footer></div>
256
  </div>
257
  </body>
258
  </html>
252
  <div class="row"><footer class="span12">
253
  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>
254
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
255
+ generated on 2013-06-30T13:10:24-07:00.<br></footer></div>
256
  </div>
257
  </body>
258
  </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="21e54174f3e874840d71e7fb231c8f18" 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>
@@ -68,10 +68,10 @@ any further logic required to translate those values is contained in the filters
68
  </tag>
69
  </docblock>
70
  </property>
71
- <property final="false" static="true" visibility="private" line="1439" namespace="global" package="Media Library Assistant">
72
  <name>$galleries</name>
73
  <default><![CDATA[null]]></default>
74
- <docblock line="1420">
75
  <description><![CDATA[Objects containing [gallery] shortcodes]]></description>
76
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [gallery] shortcodes
77
  and array(s) of which attachments each [gallery] contains. The arrays are built once
@@ -84,22 +84,111 @@ each page load and cached for subsequent calls.</p>
84
  ['galleries'] array of [gallery] entries numbered from one (1), containing:
85
  galleries[X]['query'] contains a string with the arguments of the [gallery],
86
  galleries[X]['results'] contains an array ( ID ) of post_ids for the objects in the gallery.</p>]]></long-description>
87
- <tag line="1420" name="since" description="0.70"/>
88
- <tag line="1420" name="var" description="" type="array">
89
  <type by_reference="false">array</type>
90
  </tag>
91
  </docblock>
92
  </property>
93
- <property final="false" static="true" visibility="private" line="1452" namespace="global" package="Media Library Assistant">
94
  <name>$mla_galleries</name>
95
  <default><![CDATA[null]]></default>
96
- <docblock line="1441">
97
  <description><![CDATA[Objects containing [mla_gallery] shortcodes]]></description>
98
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [mla_gallery] shortcodes
99
  and array(s) of which attachments each [mla_gallery] contains. The arrays are built once
100
  each page load and cached for subsequent calls.</p>]]></long-description>
101
- <tag line="1441" name="since" description="0.70"/>
102
- <tag line="1441" name="var" description="" type="array">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  <type by_reference="false">array</type>
104
  </tag>
105
  </docblock>
@@ -340,564 +429,672 @@ Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-descri
340
  <type/>
341
  </argument>
342
  </method>
343
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="643" package="Media Library Assistant">
344
  <name>_execute_list_table_query</name>
345
  <full_name>_execute_list_table_query</full_name>
346
- <docblock line="634">
347
  <description><![CDATA[Add filters, run query, remove filters]]></description>
348
  <long-description><![CDATA[]]></long-description>
349
- <tag line="634" name="since" description="0.30"/>
350
- <tag line="634" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
351
  <type by_reference="false">array</type>
352
  </tag>
353
- <tag line="634" name="return" description="WP_Query object with query results" type="object">
354
  <type by_reference="false">object</type>
355
  </tag>
356
  </docblock>
357
- <argument line="643">
358
  <name>$request</name>
359
  <default><![CDATA[]]></default>
360
  <type/>
361
  </argument>
362
  </method>
363
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="714" package="Media Library Assistant">
364
  <name>mla_query_posts_search_filter</name>
365
  <full_name>mla_query_posts_search_filter</full_name>
366
- <docblock line="702">
367
  <description><![CDATA[Adds a keyword search to the WHERE clause, if required]]></description>
368
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
369
- <tag line="702" name="since" description="0.60"/>
370
- <tag line="702" name="param" description="query clause before modification" type="string" variable="$search_string">
371
  <type by_reference="false">string</type>
372
  </tag>
373
- <tag line="702" name="param" description="WP_Query object" type="object" variable="$query_object">
374
  <type by_reference="false">object</type>
375
  </tag>
376
- <tag line="702" name="return" description="query clause after keyword search addition" type="string">
377
  <type by_reference="false">string</type>
378
  </tag>
379
  </docblock>
380
- <argument line="714">
381
  <name>$search_string</name>
382
  <default><![CDATA[]]></default>
383
  <type/>
384
  </argument>
385
- <argument line="714">
386
  <name>$query_object</name>
387
  <default><![CDATA[]]></default>
388
  <type/>
389
  </argument>
390
  </method>
391
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="815" package="Media Library Assistant">
392
  <name>mla_query_posts_join_filter</name>
393
  <full_name>mla_query_posts_join_filter</full_name>
394
- <docblock line="804">
395
  <description><![CDATA[Adds a JOIN clause, if required, to handle sorting/searching on custom fields or ALT Text]]></description>
396
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
397
- <tag line="804" name="since" description="0.30"/>
398
- <tag line="804" name="param" description="query clause before modification" type="string" variable="$join_clause">
399
  <type by_reference="false">string</type>
400
  </tag>
401
- <tag line="804" name="return" description="query clause after &quot;LEFT JOIN view ON post_id&quot; item modification" type="string">
402
  <type by_reference="false">string</type>
403
  </tag>
404
  </docblock>
405
- <argument line="815">
406
  <name>$join_clause</name>
407
  <default><![CDATA[]]></default>
408
  <type/>
409
  </argument>
410
  </method>
411
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="842" package="Media Library Assistant">
412
  <name>mla_query_posts_where_filter</name>
413
  <full_name>mla_query_posts_where_filter</full_name>
414
- <docblock line="830">
415
  <description><![CDATA[Adds a WHERE clause for detached items]]></description>
416
  <long-description><![CDATA[<p>Modeled after _edit_attachments_query_helper in wp-admin/post.php.
417
  Defined as public because it's a filter.</p>]]></long-description>
418
- <tag line="830" name="since" description="0.1"/>
419
- <tag line="830" name="param" description="query clause before modification" type="string" variable="$where_clause">
420
  <type by_reference="false">string</type>
421
  </tag>
422
- <tag line="830" name="return" description="query clause after &quot;detached&quot; item modification" type="string">
423
  <type by_reference="false">string</type>
424
  </tag>
425
  </docblock>
426
- <argument line="842">
427
  <name>$where_clause</name>
428
  <default><![CDATA[]]></default>
429
  <type/>
430
  </argument>
431
  </method>
432
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="890" package="Media Library Assistant">
433
  <name>mla_query_posts_orderby_filter</name>
434
  <full_name>mla_query_posts_orderby_filter</full_name>
435
- <docblock line="878">
436
  <description><![CDATA[Adds a ORDERBY clause, if required]]></description>
437
  <long-description><![CDATA[<p>Expands the range of sort options because the logic in WP_Query is limited.
438
  Defined as public because it's a filter.</p>]]></long-description>
439
- <tag line="878" name="since" description="0.30"/>
440
- <tag line="878" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
441
  <type by_reference="false">string</type>
442
  </tag>
443
- <tag line="878" name="return" description="updated query clause" type="string">
444
  <type by_reference="false">string</type>
445
  </tag>
446
  </docblock>
447
- <argument line="890">
448
  <name>$orderby_clause</name>
449
  <default><![CDATA[]]></default>
450
  <type/>
451
  </argument>
452
  </method>
453
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="949" package="Media Library Assistant">
454
  <name>mla_get_attachment_by_id</name>
455
  <full_name>mla_get_attachment_by_id</full_name>
456
- <docblock line="937">
457
  <description><![CDATA[Retrieve an Attachment array given a $post_id]]></description>
458
  <long-description><![CDATA[<p>The (associative) array will contain every field that can be found in
459
  the posts and postmeta tables, and all references to the attachment.</p>]]></long-description>
460
- <tag line="937" name="since" description="0.1"/>
461
- <tag line="937" name="uses" description="\global\$post" refers="\global\$post"/>
462
- <tag line="937" name="param" description="The ID of the attachment post" type="int" variable="$post_id">
463
  <type by_reference="false">int</type>
464
  </tag>
465
- <tag line="937" name="return" description="NULL on failure else associative array" type="NULL|array">
466
  <type by_reference="false">NULL</type>
467
  <type by_reference="false">array</type>
468
  </tag>
469
  </docblock>
470
- <argument line="949">
471
  <name>$post_id</name>
472
  <default><![CDATA[]]></default>
473
  <type/>
474
  </argument>
475
  </method>
476
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="999" package="Media Library Assistant">
477
  <name>mla_fetch_attachment_parent_data</name>
478
  <full_name>mla_fetch_attachment_parent_data</full_name>
479
- <docblock line="990">
480
  <description><![CDATA[Returns information about an attachment's parent, if found]]></description>
481
  <long-description><![CDATA[]]></long-description>
482
- <tag line="990" name="since" description="0.1"/>
483
- <tag line="990" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent_id">
484
  <type by_reference="false">int</type>
485
  </tag>
486
- <tag line="990" name="return" description="Parent information; post_date, post_title and post_type" type="array">
487
  <type by_reference="false">array</type>
488
  </tag>
489
  </docblock>
490
- <argument line="999">
491
  <name>$parent_id</name>
492
  <default><![CDATA[]]></default>
493
  <type/>
494
  </argument>
495
  </method>
496
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1035" package="Media Library Assistant">
497
  <name>mla_find_array_element</name>
498
  <full_name>mla_find_array_element</full_name>
499
- <docblock line="1020">
500
  <description><![CDATA[Finds the value of a key in a possibily nested array structure]]></description>
501
  <long-description><![CDATA[<p>Used primarily to extract fields from the _wp_attachment_metadata custom field.
502
  Could also be used with the ID3 metadata exposed in WordPress 3.6 and later.</p>]]></long-description>
503
- <tag line="1020" name="since" description="1.30"/>
504
- <tag line="1020" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
505
  <type by_reference="false">string</type>
506
  </tag>
507
- <tag line="1020" name="param" description="PHP nested arrays" type="array" variable="$haystack">
508
  <type by_reference="false">array</type>
509
  </tag>
510
- <tag line="1020" name="param" description="format option 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
511
  <type by_reference="false">string</type>
512
  </tag>
513
- <tag line="1020" name="param" description="keep existing values - for 'multi' option" type="boolean" variable="$keep_existing">
514
  <type by_reference="false">boolean</type>
515
  </tag>
516
- <tag line="1020" name="return" description="value matching key(.key ...) or ''" type="string">
517
  <type by_reference="false">string</type>
518
  </tag>
519
  </docblock>
520
- <argument line="1035">
521
  <name>$needle</name>
522
  <default><![CDATA[]]></default>
523
  <type/>
524
  </argument>
525
- <argument line="1035">
526
  <name>$haystack</name>
527
  <default><![CDATA[]]></default>
528
  <type/>
529
  </argument>
530
- <argument line="1035">
531
  <name>$option</name>
532
  <default><![CDATA[]]></default>
533
  <type/>
534
  </argument>
535
- <argument line="1035">
536
  <name>$keep_existing</name>
537
  <default><![CDATA[false]]></default>
538
  <type/>
539
  </argument>
540
  </method>
541
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1087" package="Media Library Assistant">
542
  <name>mla_fetch_attachment_metadata</name>
543
  <full_name>mla_fetch_attachment_metadata</full_name>
544
- <docblock line="1074">
545
  <description><![CDATA[Fetch and filter meta data for an attachment]]></description>
546
  <long-description><![CDATA[<p>Returns a filtered array of a post's meta data. Internal values beginning with '<em>'
547
  are stripped out or converted to an 'mla</em>' equivalent. Array data is replaced with
548
  a string containing the first array element.</p>]]></long-description>
549
- <tag line="1074" name="since" description="0.1"/>
550
- <tag line="1074" name="param" description="post ID of attachment" type="int" variable="$post_id">
551
  <type by_reference="false">int</type>
552
  </tag>
553
- <tag line="1074" name="return" description="Meta data variables" type="array">
554
  <type by_reference="false">array</type>
555
  </tag>
556
  </docblock>
557
- <argument line="1087">
558
  <name>$post_id</name>
559
  <default><![CDATA[]]></default>
560
  <type/>
561
  </argument>
562
  </method>
563
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1159" package="Media Library Assistant">
564
  <name>mla_fetch_attachment_references</name>
565
  <full_name>mla_fetch_attachment_references</full_name>
566
- <docblock line="1146">
567
  <description><![CDATA[Find Featured Image and inserted image/link references to an attachment]]></description>
568
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachment is used
569
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
570
- <tag line="1146" name="since" description="0.1"/>
571
- <tag line="1146" name="param" description="post ID of attachment" type="int" variable="$ID">
572
  <type by_reference="false">int</type>
573
  </tag>
574
- <tag line="1146" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent">
575
  <type by_reference="false">int</type>
576
  </tag>
577
- <tag line="1146" name="return" description="Reference information; see $references array comments" type="array">
578
  <type by_reference="false">array</type>
579
  </tag>
580
  </docblock>
581
- <argument line="1159">
582
  <name>$ID</name>
583
  <default><![CDATA[]]></default>
584
  <type/>
585
  </argument>
586
- <argument line="1159">
587
  <name>$parent</name>
588
  <default><![CDATA[]]></default>
589
  <type/>
590
  </argument>
591
  </method>
592
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1463" package="Media Library Assistant">
593
  <name>mla_flush_mla_galleries</name>
594
  <full_name>mla_flush_mla_galleries</full_name>
595
- <docblock line="1454">
596
  <description><![CDATA[Invalidates the $mla_galleries or $galleries array and cached values]]></description>
597
  <long-description><![CDATA[]]></long-description>
598
- <tag line="1454" name="since" description="1.00"/>
599
- <tag line="1454" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
600
  <type by_reference="false">string</type>
601
  </tag>
602
- <tag line="1454" name="return" description="" type="void">
603
  <type by_reference="false">void</type>
604
  </tag>
605
  </docblock>
606
- <argument line="1463">
607
  <name>$option_name</name>
608
  <default><![CDATA[]]></default>
609
  <type/>
610
  </argument>
611
  </method>
612
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1487" package="Media Library Assistant">
613
  <name>mla_save_post_action</name>
614
  <full_name>mla_save_post_action</full_name>
615
- <docblock line="1478">
616
  <description><![CDATA[Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates]]></description>
617
  <long-description><![CDATA[]]></long-description>
618
- <tag line="1478" name="since" description="1.00"/>
619
- <tag line="1478" name="param" description="ID of post/page/attachment; not used at this time" type="integer" variable="$post_id">
620
  <type by_reference="false">integer</type>
621
  </tag>
622
- <tag line="1478" name="return" description="" type="void">
623
  <type by_reference="false">void</type>
624
  </tag>
625
  </docblock>
626
- <argument line="1487">
627
  <name>$post_id</name>
628
  <default><![CDATA[]]></default>
629
  <type/>
630
  </argument>
631
  </method>
632
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1504" package="Media Library Assistant">
633
  <name>_build_mla_galleries</name>
634
  <full_name>_build_mla_galleries</full_name>
635
- <docblock line="1492">
636
  <description><![CDATA[Builds the $mla_galleries or $galleries array]]></description>
637
  <long-description><![CDATA[]]></long-description>
638
- <tag line="1492" name="since" description="0.70"/>
639
- <tag line="1492" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
640
  <type by_reference="false">string</type>
641
  </tag>
642
- <tag line="1492" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
643
  <type by_reference="false">array</type>
644
  </tag>
645
- <tag line="1492" name="param" description="the shortcode to be searched for and processed" type="string" variable="$shortcode">
646
  <type by_reference="false">string</type>
647
  </tag>
648
- <tag line="1492" name="param" description="true to exclude revisions from the search" type="boolean" variable="$exclude_revisions">
649
  <type by_reference="false">boolean</type>
650
  </tag>
651
- <tag line="1492" name="return" description="true if the galleries array is not empty" type="boolean">
652
  <type by_reference="false">boolean</type>
653
  </tag>
654
  </docblock>
655
- <argument line="1504">
656
  <name>$option_name</name>
657
  <default><![CDATA[]]></default>
658
  <type/>
659
  </argument>
660
- <argument line="1504">
661
  <name>$galleries_array</name>
662
  <default><![CDATA[]]></default>
663
  <type/>
664
  </argument>
665
- <argument line="1504">
666
  <name>$shortcode</name>
667
  <default><![CDATA[]]></default>
668
  <type/>
669
  </argument>
670
- <argument line="1504">
671
  <name>$exclude_revisions</name>
672
  <default><![CDATA[]]></default>
673
  <type/>
674
  </argument>
675
  </method>
676
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1613" package="Media Library Assistant">
677
  <name>_search_mla_galleries</name>
678
  <full_name>_search_mla_galleries</full_name>
679
- <docblock line="1602">
680
  <description><![CDATA[Search the $mla_galleries or $galleries array]]></description>
681
  <long-description><![CDATA[]]></long-description>
682
- <tag line="1602" name="since" description="0.70"/>
683
- <tag line="1602" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
684
  <type by_reference="false">array</type>
685
  </tag>
686
- <tag line="1602" name="param" description="the attachment ID to be searched for and processed" type="int" variable="$attachment_id">
687
  <type by_reference="false">int</type>
688
  </tag>
689
- <tag line="1602" 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">
690
  <type by_reference="false">array</type>
691
  </tag>
692
  </docblock>
693
- <argument line="1613">
694
  <name>$galleries_array</name>
695
  <default><![CDATA[]]></default>
696
  <type/>
697
  </argument>
698
- <argument line="1613">
699
  <name>$attachment_id</name>
700
  <default><![CDATA[]]></default>
701
  <type/>
702
  </argument>
703
  </method>
704
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1639" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
705
  <name>mla_exif_metadata_value</name>
706
  <full_name>mla_exif_metadata_value</full_name>
707
- <docblock line="1626">
708
  <description><![CDATA[Parse one EXIF metadata field]]></description>
709
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.
710
  Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p>]]></long-description>
711
- <tag line="1626" name="since" description="1.13"/>
712
- <tag line="1626" name="param" description="field name" type="string" variable="$key">
713
  <type by_reference="false">string</type>
714
  </tag>
715
- <tag line="1626" name="param" description="metadata array containing 'mla_exif_metadata' and 'mla_iptc_metadata' arrays" type="string" variable="$image_metadata">
716
  <type by_reference="false">string</type>
717
  </tag>
718
- <tag line="1626" name="return" description="string representation of metadata value or an empty string" type="string">
719
  <type by_reference="false">string</type>
720
  </tag>
721
  </docblock>
722
- <argument line="1639">
723
- <name>$key</name>
724
  <default><![CDATA[]]></default>
725
  <type/>
726
  </argument>
727
- <argument line="1639">
728
  <name>$image_metadata</name>
729
  <default><![CDATA[]]></default>
730
  <type/>
731
  </argument>
732
  </method>
733
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1669" package="Media Library Assistant">
734
  <name>mla_fetch_attachment_image_metadata</name>
735
  <full_name>mla_fetch_attachment_image_metadata</full_name>
736
- <docblock line="1657">
737
  <description><![CDATA[Fetch and filter IPTC and EXIF meta data for an image attachment]]></description>
738
  <long-description><![CDATA[<p>Returns</p>]]></long-description>
739
- <tag line="1657" name="since" description="0.90"/>
740
- <tag line="1657" name="param" description="post ID of attachment" type="int" variable="$post_id">
741
  <type by_reference="false">int</type>
742
  </tag>
743
- <tag line="1657" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
744
  <type by_reference="false">string</type>
745
  </tag>
746
- <tag line="1657" name="return" description="Meta data variables" type="array">
747
  <type by_reference="false">array</type>
748
  </tag>
749
  </docblock>
750
- <argument line="1669">
751
  <name>$post_id</name>
752
  <default><![CDATA[]]></default>
753
  <type/>
754
  </argument>
755
- <argument line="1669">
756
  <name>$path</name>
757
  <default><![CDATA['']]></default>
758
  <type/>
759
  </argument>
760
  </method>
761
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1732" package="Media Library Assistant">
762
  <name>mla_update_item_postmeta</name>
763
  <full_name>mla_update_item_postmeta</full_name>
764
- <docblock line="1722">
765
  <description><![CDATA[Update custom field data for a single attachment.]]></description>
766
  <long-description><![CDATA[]]></long-description>
767
- <tag line="1722" name="since" description="1.40"/>
768
- <tag line="1722" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
769
  <type by_reference="false">int</type>
770
  </tag>
771
- <tag line="1722" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
772
  <type by_reference="false">array</type>
773
  </tag>
774
- <tag line="1722" name="return" description="success/failure message(s)" type="string">
775
  <type by_reference="false">string</type>
776
  </tag>
777
  </docblock>
778
- <argument line="1732">
779
  <name>$post_id</name>
780
  <default><![CDATA[]]></default>
781
  <type/>
782
  </argument>
783
- <argument line="1732">
784
  <name>$new_meta</name>
785
  <default><![CDATA[]]></default>
786
  <type/>
787
  </argument>
788
  </method>
789
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1860" package="Media Library Assistant">
790
  <name>mla_update_single_item</name>
791
  <full_name>mla_update_single_item</full_name>
792
- <docblock line="1847">
793
  <description><![CDATA[Update a single item; change the meta data
794
  for a single attachment.]]></description>
795
  <long-description><![CDATA[]]></long-description>
796
- <tag line="1847" name="since" description="0.1"/>
797
- <tag line="1847" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
798
  <type by_reference="false">int</type>
799
  </tag>
800
- <tag line="1847" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
801
  <type by_reference="false">array</type>
802
  </tag>
803
- <tag line="1847" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
804
  <type by_reference="false">array</type>
805
  </tag>
806
- <tag line="1847" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
807
  <type by_reference="false">array</type>
808
  </tag>
809
- <tag line="1847" name="return" description="success/failure message and NULL content" type="array">
810
  <type by_reference="false">array</type>
811
  </tag>
812
  </docblock>
813
- <argument line="1860">
814
  <name>$post_id</name>
815
  <default><![CDATA[]]></default>
816
  <type/>
817
  </argument>
818
- <argument line="1860">
819
  <name>$new_data</name>
820
  <default><![CDATA[]]></default>
821
  <type/>
822
  </argument>
823
- <argument line="1860">
824
  <name>$tax_input</name>
825
  <default><![CDATA[NULL]]></default>
826
  <type/>
827
  </argument>
828
- <argument line="1860">
829
  <name>$tax_actions</name>
830
  <default><![CDATA[NULL]]></default>
831
  <type/>
832
  </argument>
833
  </method>
834
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2072" package="Media Library Assistant">
835
  <name>_remove_tags</name>
836
  <full_name>_remove_tags</full_name>
837
- <docblock line="2061">
838
  <description><![CDATA[Remove tags from a term ids list]]></description>
839
  <long-description><![CDATA[]]></long-description>
840
- <tag line="2061" name="since" description="0.40"/>
841
- <tag line="2061" name="param" description="The term ids currently assigned" type="array" variable="$terms_before">
842
  <type by_reference="false">array</type>
843
  </tag>
844
- <tag line="2061" name="param" description="| string The term ids (array) or names (string) to remove" type="array" variable="$tags">
845
  <type by_reference="false">array</type>
846
  </tag>
847
- <tag line="2061" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
848
  <type by_reference="false">object</type>
849
  </tag>
850
- <tag line="2061" name="return" description="Term ids of the surviving tags" type="array">
851
  <type by_reference="false">array</type>
852
  </tag>
853
  </docblock>
854
- <argument line="2072">
855
  <name>$terms_before</name>
856
  <default><![CDATA[]]></default>
857
  <type/>
858
  </argument>
859
- <argument line="2072">
860
  <name>$tags</name>
861
  <default><![CDATA[]]></default>
862
  <type/>
863
  </argument>
864
- <argument line="2072">
865
  <name>$taxonomy_obj</name>
866
  <default><![CDATA[]]></default>
867
  <type/>
868
  </argument>
869
  </method>
870
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2115" package="Media Library Assistant">
871
  <name>_hex_dump</name>
872
  <full_name>_hex_dump</full_name>
873
- <docblock line="2104">
874
  <description><![CDATA[Format printable version of binary data]]></description>
875
  <long-description><![CDATA[]]></long-description>
876
- <tag line="2104" name="since" description="0.90"/>
877
- <tag line="2104" name="param" description="Binary data" type="string" variable="$data">
878
  <type by_reference="false">string</type>
879
  </tag>
880
- <tag line="2104" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
881
  <type by_reference="false">integer</type>
882
  </tag>
883
- <tag line="2104" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
884
  <type by_reference="false">\intger</type>
885
  </tag>
886
- <tag line="2104" name="return" description="Printable representation of $data" type="string">
887
  <type by_reference="false">string</type>
888
  </tag>
889
  </docblock>
890
- <argument line="2115">
891
  <name>$data</name>
892
  <default><![CDATA[]]></default>
893
  <type/>
894
  </argument>
895
- <argument line="2115">
896
  <name>$limit</name>
897
  <default><![CDATA[0]]></default>
898
  <type/>
899
  </argument>
900
- <argument line="2115">
901
  <name>$bytes_per_row</name>
902
  <default><![CDATA[16]]></default>
903
  <type/>
@@ -1209,7 +1406,7 @@ The array is built once each page load and cached for subsequent calls.</p>]]></
1209
  </method>
1210
  </class>
1211
  </file>
1212
- <file path="includes\class-mla-list-table.php" hash="3da5a64259a4e9c58a5e52fd3dcac7e2" package="Media Library Assistant">
1213
  <docblock line="2">
1214
  <description><![CDATA[Media Library Assistant extended List Table class]]></description>
1215
  <long-description><![CDATA[]]></long-description>
@@ -1487,618 +1684,618 @@ a specific method, so this function returns a troubleshooting message.</p>]]></l
1487
  <type/>
1488
  </argument>
1489
  </method>
1490
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="456" package="Media Library Assistant">
1491
  <name>column_cb</name>
1492
  <full_name>column_cb</full_name>
1493
- <docblock line="447">
1494
  <description><![CDATA[Displays checkboxes for using bulk actions.]]></description>
1495
  <long-description><![CDATA[<p>The 'cb' column
1496
  is given special treatment when columns are processed.</p>]]></long-description>
1497
- <tag line="447" name="since" description="0.1"/>
1498
- <tag line="447" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1499
  <type by_reference="false">array</type>
1500
  </tag>
1501
- <tag line="447" name="return" description="HTML markup to be placed inside the column" type="string">
1502
  <type by_reference="false">string</type>
1503
  </tag>
1504
  </docblock>
1505
- <argument line="456">
1506
  <name>$item</name>
1507
  <default><![CDATA[]]></default>
1508
  <type/>
1509
  </argument>
1510
  </method>
1511
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="472" package="Media Library Assistant">
1512
  <name>column_icon</name>
1513
  <full_name>column_icon</full_name>
1514
- <docblock line="464">
1515
  <description><![CDATA[Supply the content for a custom column]]></description>
1516
  <long-description><![CDATA[]]></long-description>
1517
- <tag line="464" name="since" description="0.1"/>
1518
- <tag line="464" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1519
  <type by_reference="false">array</type>
1520
  </tag>
1521
- <tag line="464" name="return" description="HTML markup to be placed inside the column" type="string">
1522
  <type by_reference="false">string</type>
1523
  </tag>
1524
  </docblock>
1525
- <argument line="472">
1526
  <name>$item</name>
1527
  <default><![CDATA[]]></default>
1528
  <type/>
1529
  </argument>
1530
  </method>
1531
- <method final="false" abstract="false" static="false" visibility="private" namespace="global" line="491" package="Media Library Assistant">
1532
  <name>_build_rollover_actions</name>
1533
  <full_name>_build_rollover_actions</full_name>
1534
- <docblock line="480">
1535
  <description><![CDATA[Add rollover actions to exactly one of the following displayed columns:
1536
  'ID_parent', 'title_name', 'post_title', 'post_name']]></description>
1537
  <long-description><![CDATA[]]></long-description>
1538
- <tag line="480" name="since" description="0.1"/>
1539
- <tag line="480" name="param" description="A singular attachment (post) object" type="object" variable="$item">
1540
  <type by_reference="false">object</type>
1541
  </tag>
1542
- <tag line="480" name="param" description="Current column name" type="string" variable="$column">
1543
  <type by_reference="false">string</type>
1544
  </tag>
1545
- <tag line="480" name="return" description="Names and URLs of row-level actions" type="array">
1546
  <type by_reference="false">array</type>
1547
  </tag>
1548
  </docblock>
1549
- <argument line="491">
1550
  <name>$item</name>
1551
  <default><![CDATA[]]></default>
1552
  <type/>
1553
  </argument>
1554
- <argument line="491">
1555
  <name>$column</name>
1556
  <default><![CDATA[]]></default>
1557
  <type/>
1558
  </argument>
1559
  </method>
1560
- <method final="false" abstract="false" static="false" visibility="private" namespace="global" line="569" package="Media Library Assistant">
1561
  <name>_build_inline_data</name>
1562
  <full_name>_build_inline_data</full_name>
1563
- <docblock line="560">
1564
  <description><![CDATA[Add hidden fields with the data for use in the inline editor]]></description>
1565
  <long-description><![CDATA[]]></long-description>
1566
- <tag line="560" name="since" description="0.20"/>
1567
- <tag line="560" name="param" description="A singular attachment (post) object" type="object" variable="$item">
1568
  <type by_reference="false">object</type>
1569
  </tag>
1570
- <tag line="560" name="return" description="HTML &lt;div&gt; with row data" type="string">
1571
  <type by_reference="false">string</type>
1572
  </tag>
1573
  </docblock>
1574
- <argument line="569">
1575
  <name>$item</name>
1576
  <default><![CDATA[]]></default>
1577
  <type/>
1578
  </argument>
1579
  </method>
1580
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="617" package="Media Library Assistant">
1581
  <name>column_ID_parent</name>
1582
  <full_name>column_ID_parent</full_name>
1583
- <docblock line="609">
1584
  <description><![CDATA[Supply the content for a custom column]]></description>
1585
  <long-description><![CDATA[]]></long-description>
1586
- <tag line="609" name="since" description="0.1"/>
1587
- <tag line="609" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1588
  <type by_reference="false">array</type>
1589
  </tag>
1590
- <tag line="609" name="return" description="HTML markup to be placed inside the column" type="string">
1591
  <type by_reference="false">string</type>
1592
  </tag>
1593
  </docblock>
1594
- <argument line="617">
1595
  <name>$item</name>
1596
  <default><![CDATA[]]></default>
1597
  <type/>
1598
  </argument>
1599
  </method>
1600
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="649" package="Media Library Assistant">
1601
  <name>column_title_name</name>
1602
  <full_name>column_title_name</full_name>
1603
- <docblock line="641">
1604
  <description><![CDATA[Supply the content for a custom column]]></description>
1605
  <long-description><![CDATA[]]></long-description>
1606
- <tag line="641" name="since" description="0.1"/>
1607
- <tag line="641" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1608
  <type by_reference="false">array</type>
1609
  </tag>
1610
- <tag line="641" name="return" description="HTML markup to be placed inside the column" type="string">
1611
  <type by_reference="false">string</type>
1612
  </tag>
1613
  </docblock>
1614
- <argument line="649">
1615
  <name>$item</name>
1616
  <default><![CDATA[]]></default>
1617
  <type/>
1618
  </argument>
1619
  </method>
1620
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="672" package="Media Library Assistant">
1621
  <name>column_post_title</name>
1622
  <full_name>column_post_title</full_name>
1623
- <docblock line="664">
1624
  <description><![CDATA[Supply the content for a custom column]]></description>
1625
  <long-description><![CDATA[]]></long-description>
1626
- <tag line="664" name="since" description="0.1"/>
1627
- <tag line="664" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1628
  <type by_reference="false">array</type>
1629
  </tag>
1630
- <tag line="664" name="return" description="HTML markup to be placed inside the column" type="string">
1631
  <type by_reference="false">string</type>
1632
  </tag>
1633
  </docblock>
1634
- <argument line="672">
1635
  <name>$item</name>
1636
  <default><![CDATA[]]></default>
1637
  <type/>
1638
  </argument>
1639
  </method>
1640
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="690" package="Media Library Assistant">
1641
  <name>column_post_name</name>
1642
  <full_name>column_post_name</full_name>
1643
- <docblock line="682">
1644
  <description><![CDATA[Supply the content for a custom column]]></description>
1645
  <long-description><![CDATA[]]></long-description>
1646
- <tag line="682" name="since" description="0.1"/>
1647
- <tag line="682" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1648
  <type by_reference="false">array</type>
1649
  </tag>
1650
- <tag line="682" name="return" description="HTML markup to be placed inside the column" type="string">
1651
  <type by_reference="false">string</type>
1652
  </tag>
1653
  </docblock>
1654
- <argument line="690">
1655
  <name>$item</name>
1656
  <default><![CDATA[]]></default>
1657
  <type/>
1658
  </argument>
1659
  </method>
1660
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="708" package="Media Library Assistant">
1661
  <name>column_parent</name>
1662
  <full_name>column_parent</full_name>
1663
- <docblock line="700">
1664
  <description><![CDATA[Supply the content for a custom column]]></description>
1665
  <long-description><![CDATA[]]></long-description>
1666
- <tag line="700" name="since" description="0.1"/>
1667
- <tag line="700" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1668
  <type by_reference="false">array</type>
1669
  </tag>
1670
- <tag line="700" name="return" description="HTML markup to be placed inside the column" type="string">
1671
  <type by_reference="false">string</type>
1672
  </tag>
1673
  </docblock>
1674
- <argument line="708">
1675
  <name>$item</name>
1676
  <default><![CDATA[]]></default>
1677
  <type/>
1678
  </argument>
1679
  </method>
1680
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="733" package="Media Library Assistant">
1681
  <name>column_menu_order</name>
1682
  <full_name>column_menu_order</full_name>
1683
- <docblock line="725">
1684
  <description><![CDATA[Supply the content for a custom column]]></description>
1685
  <long-description><![CDATA[]]></long-description>
1686
- <tag line="725" name="since" description="0.60"/>
1687
- <tag line="725" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1688
  <type by_reference="false">array</type>
1689
  </tag>
1690
- <tag line="725" name="return" description="HTML markup to be placed inside the column" type="string">
1691
  <type by_reference="false">string</type>
1692
  </tag>
1693
  </docblock>
1694
- <argument line="733">
1695
  <name>$item</name>
1696
  <default><![CDATA[]]></default>
1697
  <type/>
1698
  </argument>
1699
  </method>
1700
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="745" package="Media Library Assistant">
1701
  <name>column_featured</name>
1702
  <full_name>column_featured</full_name>
1703
- <docblock line="737">
1704
  <description><![CDATA[Supply the content for a custom column]]></description>
1705
  <long-description><![CDATA[]]></long-description>
1706
- <tag line="737" name="since" description="0.1"/>
1707
- <tag line="737" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1708
  <type by_reference="false">array</type>
1709
  </tag>
1710
- <tag line="737" name="return" description="HTML markup to be placed inside the column" type="string">
1711
  <type by_reference="false">string</type>
1712
  </tag>
1713
  </docblock>
1714
- <argument line="745">
1715
  <name>$item</name>
1716
  <default><![CDATA[]]></default>
1717
  <type/>
1718
  </argument>
1719
  </method>
1720
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="776" package="Media Library Assistant">
1721
  <name>column_inserted</name>
1722
  <full_name>column_inserted</full_name>
1723
- <docblock line="768">
1724
  <description><![CDATA[Supply the content for a custom column]]></description>
1725
  <long-description><![CDATA[]]></long-description>
1726
- <tag line="768" name="since" description="0.1"/>
1727
- <tag line="768" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1728
  <type by_reference="false">array</type>
1729
  </tag>
1730
- <tag line="768" name="return" description="HTML markup to be placed inside the column" type="string">
1731
  <type by_reference="false">string</type>
1732
  </tag>
1733
  </docblock>
1734
- <argument line="776">
1735
  <name>$item</name>
1736
  <default><![CDATA[]]></default>
1737
  <type/>
1738
  </argument>
1739
  </method>
1740
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="811" package="Media Library Assistant">
1741
  <name>column_galleries</name>
1742
  <full_name>column_galleries</full_name>
1743
- <docblock line="803">
1744
  <description><![CDATA[Supply the content for a custom column]]></description>
1745
  <long-description><![CDATA[]]></long-description>
1746
- <tag line="803" name="since" description="0.70"/>
1747
- <tag line="803" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1748
  <type by_reference="false">array</type>
1749
  </tag>
1750
- <tag line="803" name="return" description="HTML markup to be placed inside the column" type="string">
1751
  <type by_reference="false">string</type>
1752
  </tag>
1753
  </docblock>
1754
- <argument line="811">
1755
  <name>$item</name>
1756
  <default><![CDATA[]]></default>
1757
  <type/>
1758
  </argument>
1759
  </method>
1760
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="842" package="Media Library Assistant">
1761
  <name>column_mla_galleries</name>
1762
  <full_name>column_mla_galleries</full_name>
1763
- <docblock line="834">
1764
  <description><![CDATA[Supply the content for a custom column]]></description>
1765
  <long-description><![CDATA[]]></long-description>
1766
- <tag line="834" name="since" description="0.70"/>
1767
- <tag line="834" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1768
  <type by_reference="false">array</type>
1769
  </tag>
1770
- <tag line="834" name="return" description="HTML markup to be placed inside the column" type="string">
1771
  <type by_reference="false">string</type>
1772
  </tag>
1773
  </docblock>
1774
- <argument line="842">
1775
  <name>$item</name>
1776
  <default><![CDATA[]]></default>
1777
  <type/>
1778
  </argument>
1779
  </method>
1780
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="873" package="Media Library Assistant">
1781
  <name>column_alt_text</name>
1782
  <full_name>column_alt_text</full_name>
1783
- <docblock line="865">
1784
  <description><![CDATA[Supply the content for a custom column]]></description>
1785
  <long-description><![CDATA[]]></long-description>
1786
- <tag line="865" name="since" description="0.1"/>
1787
- <tag line="865" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1788
  <type by_reference="false">array</type>
1789
  </tag>
1790
- <tag line="865" name="return" description="HTML markup to be placed inside the column" type="string">
1791
  <type by_reference="false">string</type>
1792
  </tag>
1793
  </docblock>
1794
- <argument line="873">
1795
  <name>$item</name>
1796
  <default><![CDATA[]]></default>
1797
  <type/>
1798
  </argument>
1799
  </method>
1800
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="893" package="Media Library Assistant">
1801
  <name>column_caption</name>
1802
  <full_name>column_caption</full_name>
1803
- <docblock line="885">
1804
  <description><![CDATA[Supply the content for a custom column]]></description>
1805
  <long-description><![CDATA[]]></long-description>
1806
- <tag line="885" name="since" description="0.1"/>
1807
- <tag line="885" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1808
  <type by_reference="false">array</type>
1809
  </tag>
1810
- <tag line="885" name="return" description="HTML markup to be placed inside the column" type="string">
1811
  <type by_reference="false">string</type>
1812
  </tag>
1813
  </docblock>
1814
- <argument line="893">
1815
  <name>$item</name>
1816
  <default><![CDATA[]]></default>
1817
  <type/>
1818
  </argument>
1819
  </method>
1820
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="905" package="Media Library Assistant">
1821
  <name>column_description</name>
1822
  <full_name>column_description</full_name>
1823
- <docblock line="897">
1824
  <description><![CDATA[Supply the content for a custom column]]></description>
1825
  <long-description><![CDATA[]]></long-description>
1826
- <tag line="897" name="since" description="0.1"/>
1827
- <tag line="897" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1828
  <type by_reference="false">array</type>
1829
  </tag>
1830
- <tag line="897" name="return" description="HTML markup to be placed inside the column" type="string">
1831
  <type by_reference="false">string</type>
1832
  </tag>
1833
  </docblock>
1834
- <argument line="905">
1835
  <name>$item</name>
1836
  <default><![CDATA[]]></default>
1837
  <type/>
1838
  </argument>
1839
  </method>
1840
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="917" package="Media Library Assistant">
1841
  <name>column_post_mime_type</name>
1842
  <full_name>column_post_mime_type</full_name>
1843
- <docblock line="909">
1844
  <description><![CDATA[Supply the content for a custom column]]></description>
1845
  <long-description><![CDATA[]]></long-description>
1846
- <tag line="909" name="since" description="0.30"/>
1847
- <tag line="909" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1848
  <type by_reference="false">array</type>
1849
  </tag>
1850
- <tag line="909" name="return" description="HTML markup to be placed inside the column" type="string">
1851
  <type by_reference="false">string</type>
1852
  </tag>
1853
  </docblock>
1854
- <argument line="917">
1855
  <name>$item</name>
1856
  <default><![CDATA[]]></default>
1857
  <type/>
1858
  </argument>
1859
  </method>
1860
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="933" package="Media Library Assistant">
1861
  <name>column_base_file</name>
1862
  <full_name>column_base_file</full_name>
1863
- <docblock line="925">
1864
  <description><![CDATA[Supply the content for a custom column]]></description>
1865
  <long-description><![CDATA[]]></long-description>
1866
- <tag line="925" name="since" description="0.1"/>
1867
- <tag line="925" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1868
  <type by_reference="false">array</type>
1869
  </tag>
1870
- <tag line="925" name="return" description="HTML markup to be placed inside the column" type="string">
1871
  <type by_reference="false">string</type>
1872
  </tag>
1873
  </docblock>
1874
- <argument line="933">
1875
  <name>$item</name>
1876
  <default><![CDATA[]]></default>
1877
  <type/>
1878
  </argument>
1879
  </method>
1880
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="945" package="Media Library Assistant">
1881
  <name>column_date</name>
1882
  <full_name>column_date</full_name>
1883
- <docblock line="937">
1884
  <description><![CDATA[Supply the content for a custom column]]></description>
1885
  <long-description><![CDATA[]]></long-description>
1886
- <tag line="937" name="since" description="0.1"/>
1887
- <tag line="937" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1888
  <type by_reference="false">array</type>
1889
  </tag>
1890
- <tag line="937" name="return" description="HTML markup to be placed inside the column" type="string">
1891
  <type by_reference="false">string</type>
1892
  </tag>
1893
  </docblock>
1894
- <argument line="945">
1895
  <name>$item</name>
1896
  <default><![CDATA[]]></default>
1897
  <type/>
1898
  </argument>
1899
  </method>
1900
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="974" package="Media Library Assistant">
1901
  <name>column_modified</name>
1902
  <full_name>column_modified</full_name>
1903
- <docblock line="966">
1904
  <description><![CDATA[Supply the content for a custom column]]></description>
1905
  <long-description><![CDATA[]]></long-description>
1906
- <tag line="966" name="since" description="0.30"/>
1907
- <tag line="966" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1908
  <type by_reference="false">array</type>
1909
  </tag>
1910
- <tag line="966" name="return" description="HTML markup to be placed inside the column" type="string">
1911
  <type by_reference="false">string</type>
1912
  </tag>
1913
  </docblock>
1914
- <argument line="974">
1915
  <name>$item</name>
1916
  <default><![CDATA[]]></default>
1917
  <type/>
1918
  </argument>
1919
  </method>
1920
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1003" package="Media Library Assistant">
1921
  <name>column_author</name>
1922
  <full_name>column_author</full_name>
1923
- <docblock line="995">
1924
  <description><![CDATA[Supply the content for a custom column]]></description>
1925
  <long-description><![CDATA[]]></long-description>
1926
- <tag line="995" name="since" description="0.30"/>
1927
- <tag line="995" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1928
  <type by_reference="false">array</type>
1929
  </tag>
1930
- <tag line="995" name="return" description="HTML markup to be placed inside the column" type="string">
1931
  <type by_reference="false">string</type>
1932
  </tag>
1933
  </docblock>
1934
- <argument line="1003">
1935
  <name>$item</name>
1936
  <default><![CDATA[]]></default>
1937
  <type/>
1938
  </argument>
1939
  </method>
1940
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1024" package="Media Library Assistant">
1941
  <name>column_attached_to</name>
1942
  <full_name>column_attached_to</full_name>
1943
- <docblock line="1016">
1944
  <description><![CDATA[Supply the content for a custom column]]></description>
1945
  <long-description><![CDATA[]]></long-description>
1946
- <tag line="1016" name="since" description="0.1"/>
1947
- <tag line="1016" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1948
  <type by_reference="false">array</type>
1949
  </tag>
1950
- <tag line="1016" name="return" description="HTML markup to be placed inside the column" type="string">
1951
  <type by_reference="false">string</type>
1952
  </tag>
1953
  </docblock>
1954
- <argument line="1024">
1955
  <name>$item</name>
1956
  <default><![CDATA[]]></default>
1957
  <type/>
1958
  </argument>
1959
  </method>
1960
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1053" package="Media Library Assistant">
1961
  <name>get_columns</name>
1962
  <full_name>get_columns</full_name>
1963
- <docblock line="1046">
1964
  <description><![CDATA[This method dictates the table's columns and titles]]></description>
1965
  <long-description><![CDATA[]]></long-description>
1966
- <tag line="1046" name="since" description="0.1"/>
1967
- <tag line="1046" name="return" description="Column information: 'slugs'=&gt;'Visible Titles'" type="array">
1968
  <type by_reference="false">array</type>
1969
  </tag>
1970
  </docblock>
1971
  </method>
1972
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1065" package="Media Library Assistant">
1973
  <name>get_hidden_columns</name>
1974
  <full_name>get_hidden_columns</full_name>
1975
- <docblock line="1057">
1976
  <description><![CDATA[Returns the list of currently hidden columns from a user option or
1977
  from default values if the option is not set]]></description>
1978
  <long-description><![CDATA[]]></long-description>
1979
- <tag line="1057" name="since" description="0.1"/>
1980
- <tag line="1057" name="return" description="Column information,e.g., array(0 =&gt; 'ID_parent, 1 =&gt; 'title_name')" type="array">
1981
  <type by_reference="false">array</type>
1982
  </tag>
1983
  </docblock>
1984
  </method>
1985
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1085" package="Media Library Assistant">
1986
  <name>get_sortable_columns</name>
1987
  <full_name>get_sortable_columns</full_name>
1988
- <docblock line="1075">
1989
  <description><![CDATA[Returns an array where the key is the column that needs to be sortable
1990
  and the value is db column to sort by.]]></description>
1991
  <long-description><![CDATA[<p>Also notes the current sort column,
1992
  if set.</p>]]></long-description>
1993
- <tag line="1075" name="since" description="0.1"/>
1994
- <tag line="1075" name="return" description="Sortable column information,e.g., 'slugs'=&gt;array('data_values',boolean)" type="array">
1995
  <type by_reference="false">array</type>
1996
  </tag>
1997
  </docblock>
1998
  </method>
1999
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1114" package="Media Library Assistant">
2000
  <name>_get_view</name>
2001
  <full_name>_get_view</full_name>
2002
- <docblock line="1104">
2003
  <description><![CDATA[Returns HTML markup for one view that can be used with this table]]></description>
2004
  <long-description><![CDATA[]]></long-description>
2005
- <tag line="1104" name="since" description="1.40"/>
2006
- <tag line="1104" name="param" description="View slug, key to MLA_POST_MIME_TYPES array" type="string" variable="$view_slug">
2007
  <type by_reference="false">string</type>
2008
  </tag>
2009
- <tag line="1104" name="param" description="Slug for current view" type="string" variable="$current_view">
2010
  <type by_reference="false">string</type>
2011
  </tag>
2012
- <tag line="1104" name="return" description="| false HTML for link to display the view, false if count = zero" type="string">
2013
  <type by_reference="false">string</type>
2014
  </tag>
2015
  </docblock>
2016
- <argument line="1114">
2017
  <name>$view_slug</name>
2018
  <default><![CDATA[]]></default>
2019
  <type/>
2020
  </argument>
2021
- <argument line="1114">
2022
  <name>$current_view</name>
2023
  <default><![CDATA[]]></default>
2024
  <type/>
2025
  </argument>
2026
  </method>
2027
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1238" package="Media Library Assistant">
2028
  <name>get_views</name>
2029
  <full_name>get_views</full_name>
2030
- <docblock line="1230">
2031
  <description><![CDATA[Returns an associative array listing all the views that can be used with this table.]]></description>
2032
  <long-description><![CDATA[<p>These are listed across the top of the page and managed by WordPress.</p>]]></long-description>
2033
- <tag line="1230" name="since" description="0.1"/>
2034
- <tag line="1230" name="return" description="View information,e.g., array ( id =&gt; link )" type="array">
2035
  <type by_reference="false">array</type>
2036
  </tag>
2037
  </docblock>
2038
  </method>
2039
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1275" package="Media Library Assistant">
2040
  <name>get_bulk_actions</name>
2041
  <full_name>get_bulk_actions</full_name>
2042
- <docblock line="1267">
2043
  <description><![CDATA[Get an associative array ( option_name => option_title ) with the list
2044
  of bulk actions available on this table.]]></description>
2045
  <long-description><![CDATA[]]></long-description>
2046
- <tag line="1267" name="since" description="0.1"/>
2047
- <tag line="1267" name="return" description="Contains all the bulk actions: 'slugs'=&gt;'Visible Titles'" type="array">
2048
  <type by_reference="false">array</type>
2049
  </tag>
2050
  </docblock>
2051
  </method>
2052
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1306" package="Media Library Assistant">
2053
  <name>extra_tablenav</name>
2054
  <full_name>extra_tablenav</full_name>
2055
- <docblock line="1295">
2056
  <description><![CDATA[Extra controls to be displayed between bulk actions and pagination]]></description>
2057
  <long-description><![CDATA[<p>Modeled after class-wp-posts-list-table.php in wp-admin/includes.</p>]]></long-description>
2058
- <tag line="1295" name="since" description="0.1"/>
2059
- <tag line="1295" name="param" description="'top' or 'bottom', i.e., above or below the table rows" type="string" variable="$which">
2060
  <type by_reference="false">string</type>
2061
  </tag>
2062
- <tag line="1295" name="return" description="Contains all the bulk actions: 'slugs'=&gt;'Visible Titles'" type="array">
2063
  <type by_reference="false">array</type>
2064
  </tag>
2065
  </docblock>
2066
- <argument line="1306">
2067
  <name>$which</name>
2068
  <default><![CDATA[]]></default>
2069
  <type/>
2070
  </argument>
2071
  </method>
2072
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1339" package="Media Library Assistant">
2073
  <name>prepare_items</name>
2074
  <full_name>prepare_items</full_name>
2075
- <docblock line="1327">
2076
  <description><![CDATA[Prepares the list of items for displaying]]></description>
2077
  <long-description><![CDATA[<p>This is where you prepare your data for display. This method will usually
2078
  be used to query the database, sort and filter the data, and generally
2079
  get it ready to be displayed. At a minimum, we should set $this->items and
2080
  $this->set_pagination_args().</p>]]></long-description>
2081
- <tag line="1327" name="since" description="0.1"/>
2082
- <tag line="1327" name="return" description="" type="void">
2083
  <type by_reference="false">void</type>
2084
  </tag>
2085
  </docblock>
2086
  </method>
2087
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1386" package="Media Library Assistant">
2088
  <name>single_row</name>
2089
  <full_name>single_row</full_name>
2090
- <docblock line="1377">
2091
  <description><![CDATA[Generates (echoes) content for a single row of the table]]></description>
2092
  <long-description><![CDATA[]]></long-description>
2093
- <tag line="1377" name="since" description=".20"/>
2094
- <tag line="1377" name="param" description="the current item" type="object" variable="$item">
2095
  <type by_reference="false">object</type>
2096
  </tag>
2097
- <tag line="1377" name="return" description="Echoes the row HTML" type="void">
2098
  <type by_reference="false">void</type>
2099
  </tag>
2100
  </docblock>
2101
- <argument line="1386">
2102
  <name>$item</name>
2103
  <default><![CDATA[]]></default>
2104
  <type/>
@@ -2106,7 +2303,7 @@ $this->set_pagination_args().</p>]]></long-description>
2106
  </method>
2107
  </class>
2108
  </file>
2109
- <file path="includes\class-mla-main.php" hash="6583aa87c2aacec45e4251d52bcfaa4c" package="Media Library Assistant">
2110
  <docblock line="2">
2111
  <description><![CDATA[Top-level functions for the Media Library Assistant]]></description>
2112
  <long-description><![CDATA[]]></long-description>
@@ -2143,7 +2340,7 @@ of images and files held in the WordPress Media Library.]]></description>
2143
  <constant namespace="global" line="41" package="Media Library Assistant">
2144
  <name>CURRENT_MLA_VERSION</name>
2145
  <full_name>CURRENT_MLA_VERSION</full_name>
2146
- <value><![CDATA['1.40']]></value>
2147
  <docblock line="34">
2148
  <description><![CDATA[Current version number]]></description>
2149
  <long-description><![CDATA[]]></long-description>
@@ -2551,164 +2748,164 @@ going to the Edit Media screen.</p>]]></long-description>
2551
  </tag>
2552
  </docblock>
2553
  </method>
2554
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="893" package="Media Library Assistant">
2555
  <name>mla_inline_edit_action</name>
2556
  <full_name>mla_inline_edit_action</full_name>
2557
- <docblock line="884">
2558
  <description><![CDATA[Ajax handler for inline editing (quick and bulk edit)]]></description>
2559
  <long-description><![CDATA[<p>Adapted from wp_ajax_inline_save in /wp-admin/includes/ajax-actions.php</p>]]></long-description>
2560
- <tag line="884" name="since" description="0.20"/>
2561
- <tag line="884" name="return" description="echo HTML &lt;tr&gt; markup for updated row or error message, then die()" type="void">
2562
  <type by_reference="false">void</type>
2563
  </tag>
2564
  </docblock>
2565
  </method>
2566
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="988" package="Media Library Assistant">
2567
  <name>_build_inline_edit_form</name>
2568
  <full_name>_build_inline_edit_form</full_name>
2569
- <docblock line="977">
2570
  <description><![CDATA[Build the hidden row templates for inline editing (quick and bulk edit)]]></description>
2571
  <long-description><![CDATA[<p>inspired by inline_edit() in wp-admin\includes\class-wp-posts-list-table.php.</p>]]></long-description>
2572
- <tag line="977" name="since" description="0.20"/>
2573
- <tag line="977" name="param" description="MLA List Table object" type="object" variable="$MLAListTable">
2574
  <type by_reference="false">object</type>
2575
  </tag>
2576
- <tag line="977" name="return" description="HTML &lt;form&gt; markup for hidden rows" type="string">
2577
  <type by_reference="false">string</type>
2578
  </tag>
2579
  </docblock>
2580
- <argument line="988">
2581
  <name>$MLAListTable</name>
2582
  <default><![CDATA[]]></default>
2583
  <type/>
2584
  </argument>
2585
  </method>
2586
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1145" package="Media Library Assistant">
2587
  <name>_authors_dropdown</name>
2588
  <full_name>_authors_dropdown</full_name>
2589
- <docblock line="1134">
2590
  <description><![CDATA[Get the edit Authors dropdown box, if user has suitable permissions]]></description>
2591
  <long-description><![CDATA[]]></long-description>
2592
- <tag line="1134" name="since" description="0.20"/>
2593
- <tag line="1134" name="param" description="Optional User ID of the current author, default 0" type="integer" variable="$author">
2594
  <type by_reference="false">integer</type>
2595
  </tag>
2596
- <tag line="1134" name="param" description="Optional HTML name attribute, default 'post_author'" type="string" variable="$name">
2597
  <type by_reference="false">string</type>
2598
  </tag>
2599
- <tag line="1134" name="param" description="Optional HTML class attribute, default 'authors'" type="string" variable="$class">
2600
  <type by_reference="false">string</type>
2601
  </tag>
2602
- <tag line="1134" name="return" description="HTML markup for the dropdown field or False" type="string|false">
2603
  <type by_reference="false">string</type>
2604
  <type by_reference="false">false</type>
2605
  </tag>
2606
  </docblock>
2607
- <argument line="1145">
2608
  <name>$author</name>
2609
  <default><![CDATA[0]]></default>
2610
  <type/>
2611
  </argument>
2612
- <argument line="1145">
2613
  <name>$name</name>
2614
  <default><![CDATA['post_author']]></default>
2615
  <type/>
2616
  </argument>
2617
- <argument line="1145">
2618
  <name>$class</name>
2619
  <default><![CDATA['authors']]></default>
2620
  <type/>
2621
  </argument>
2622
  </method>
2623
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1179" package="Media Library Assistant">
2624
  <name>_current_bulk_action</name>
2625
  <full_name>_current_bulk_action</full_name>
2626
- <docblock line="1172">
2627
  <description><![CDATA[Get the current action selected from the bulk actions dropdown]]></description>
2628
  <long-description><![CDATA[]]></long-description>
2629
- <tag line="1172" name="since" description="0.1"/>
2630
- <tag line="1172" name="return" description="The action name or False if no action was selected" type="string|false">
2631
  <type by_reference="false">string</type>
2632
  <type by_reference="false">false</type>
2633
  </tag>
2634
  </docblock>
2635
  </method>
2636
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1208" package="Media Library Assistant">
2637
  <name>_delete_single_item</name>
2638
  <full_name>_delete_single_item</full_name>
2639
- <docblock line="1199">
2640
  <description><![CDATA[Delete a single item permanently]]></description>
2641
  <long-description><![CDATA[]]></long-description>
2642
- <tag line="1199" name="since" description="0.1"/>
2643
- <tag line="1199" name="param" description="The form POST data" type="array" variable="$post_id">
2644
  <type by_reference="false">array</type>
2645
  </tag>
2646
- <tag line="1199" name="return" description="success/failure message and NULL content" type="array">
2647
  <type by_reference="false">array</type>
2648
  </tag>
2649
  </docblock>
2650
- <argument line="1208">
2651
  <name>$post_id</name>
2652
  <default><![CDATA[]]></default>
2653
  <type/>
2654
  </argument>
2655
  </method>
2656
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1239" package="Media Library Assistant">
2657
  <name>_display_single_item</name>
2658
  <full_name>_display_single_item</full_name>
2659
- <docblock line="1227">
2660
  <description><![CDATA[Display a single item sub page; prepare the form to
2661
  change the meta data for a single attachment.]]></description>
2662
  <long-description><![CDATA[<p>This function is not used in WordPress 3.5 and later.</p>]]></long-description>
2663
- <tag line="1227" name="since" description="0.1"/>
2664
- <tag line="1227" name="param" description="The WordPress Post ID of the attachment item" type="int" variable="$post_id">
2665
  <type by_reference="false">int</type>
2666
  </tag>
2667
- <tag line="1227" name="return" description="message and/or HTML content" type="array">
2668
  <type by_reference="false">array</type>
2669
  </tag>
2670
  </docblock>
2671
- <argument line="1239">
2672
  <name>$post_id</name>
2673
  <default><![CDATA[]]></default>
2674
  <type/>
2675
  </argument>
2676
  </method>
2677
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1479" package="Media Library Assistant">
2678
  <name>_restore_single_item</name>
2679
  <full_name>_restore_single_item</full_name>
2680
- <docblock line="1470">
2681
  <description><![CDATA[Restore a single item from the Trash]]></description>
2682
  <long-description><![CDATA[]]></long-description>
2683
- <tag line="1470" name="since" description="0.1"/>
2684
- <tag line="1470" name="param" description="The form POST data" type="array" variable="$post_id">
2685
  <type by_reference="false">array</type>
2686
  </tag>
2687
- <tag line="1470" name="return" description="success/failure message and NULL content" type="array">
2688
  <type by_reference="false">array</type>
2689
  </tag>
2690
  </docblock>
2691
- <argument line="1479">
2692
  <name>$post_id</name>
2693
  <default><![CDATA[]]></default>
2694
  <type/>
2695
  </argument>
2696
  </method>
2697
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1515" package="Media Library Assistant">
2698
  <name>_trash_single_item</name>
2699
  <full_name>_trash_single_item</full_name>
2700
- <docblock line="1506">
2701
  <description><![CDATA[Move a single item to Trash]]></description>
2702
  <long-description><![CDATA[]]></long-description>
2703
- <tag line="1506" name="since" description="0.1"/>
2704
- <tag line="1506" name="param" description="The form POST data" type="array" variable="$post_id">
2705
  <type by_reference="false">array</type>
2706
  </tag>
2707
- <tag line="1506" name="return" description="success/failure message and NULL content" type="array">
2708
  <type by_reference="false">array</type>
2709
  </tag>
2710
  </docblock>
2711
- <argument line="1515">
2712
  <name>$post_id</name>
2713
  <default><![CDATA[]]></default>
2714
  <type/>
@@ -4262,7 +4459,7 @@ which returns a count of the attachments assigned a given term]]></description>
4262
  </method>
4263
  </class>
4264
  </file>
4265
- <file path="includes\class-mla-options.php" hash="66c58efc9f53a443835cf98dd7d2bb19" package="Media Library Assistant">
4266
  <docblock line="2">
4267
  <description><![CDATA[Manages the plugin option settings]]></description>
4268
  <long-description><![CDATA[]]></long-description>
@@ -5264,192 +5461,192 @@ settings are being updated or reset.]]></description>
5264
  <type/>
5265
  </argument>
5266
  </method>
5267
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2444" package="Media Library Assistant">
5268
  <name>_compose_iptc_option_list</name>
5269
  <full_name>_compose_iptc_option_list</full_name>
5270
- <docblock line="2434">
5271
  <description><![CDATA[Compose an IPTC Options list with current selection]]></description>
5272
  <long-description><![CDATA[]]></long-description>
5273
- <tag line="2434" name="since" description="1.00"/>
5274
- <tag line="2434" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
5275
- <tag line="2434" name="param" description="current selection or 'none' (default)" type="string" variable="$selection">
5276
  <type by_reference="false">string</type>
5277
  </tag>
5278
- <tag line="2434" name="return" description="HTML markup with select field options" type="string">
5279
  <type by_reference="false">string</type>
5280
  </tag>
5281
  </docblock>
5282
- <argument line="2444">
5283
  <name>$selection</name>
5284
  <default><![CDATA['none']]></default>
5285
  <type/>
5286
  </argument>
5287
  </method>
5288
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2477" package="Media Library Assistant">
5289
  <name>_compose_parent_option_list</name>
5290
  <full_name>_compose_parent_option_list</full_name>
5291
- <docblock line="2466">
5292
  <description><![CDATA[Compose an hierarchical taxonomy Parent options list with current selection]]></description>
5293
  <long-description><![CDATA[]]></long-description>
5294
- <tag line="2466" name="since" description="1.00"/>
5295
- <tag line="2466" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
5296
- <tag line="2466" name="param" description="taxonomy slug" type="string" variable="$taxonomy">
5297
  <type by_reference="false">string</type>
5298
  </tag>
5299
- <tag line="2466" name="param" description="current selection or 0 (zero, default)" type="integer" variable="$selection">
5300
  <type by_reference="false">integer</type>
5301
  </tag>
5302
- <tag line="2466" name="return" description="HTML markup with select field options" type="string">
5303
  <type by_reference="false">string</type>
5304
  </tag>
5305
  </docblock>
5306
- <argument line="2477">
5307
  <name>$taxonomy</name>
5308
  <default><![CDATA[]]></default>
5309
  <type/>
5310
  </argument>
5311
- <argument line="2477">
5312
  <name>$selection</name>
5313
  <default><![CDATA[0]]></default>
5314
  <type/>
5315
  </argument>
5316
  </method>
5317
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2511" package="Media Library Assistant">
5318
  <name>_update_iptc_exif_standard_mapping</name>
5319
  <full_name>_update_iptc_exif_standard_mapping</full_name>
5320
- <docblock line="2501">
5321
  <description><![CDATA[Update Standard field portion of IPTC/EXIF mappings]]></description>
5322
  <long-description><![CDATA[]]></long-description>
5323
- <tag line="2501" name="since" description="1.00"/>
5324
- <tag line="2501" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
5325
  <type by_reference="false">array</type>
5326
  </tag>
5327
- <tag line="2501" name="param" description="new values" type="array" variable="$new_values">
5328
  <type by_reference="false">array</type>
5329
  </tag>
5330
- <tag line="2501" 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">
5331
  <type by_reference="false">array</type>
5332
  </tag>
5333
  </docblock>
5334
- <argument line="2511">
5335
  <name>$current_values</name>
5336
  <default><![CDATA[]]></default>
5337
  <type/>
5338
  </argument>
5339
- <argument line="2511">
5340
  <name>$new_values</name>
5341
  <default><![CDATA[]]></default>
5342
  <type/>
5343
  </argument>
5344
  </method>
5345
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2590" package="Media Library Assistant">
5346
  <name>_update_iptc_exif_taxonomy_mapping</name>
5347
  <full_name>_update_iptc_exif_taxonomy_mapping</full_name>
5348
- <docblock line="2580">
5349
  <description><![CDATA[Update Taxonomy term portion of IPTC/EXIF mappings]]></description>
5350
  <long-description><![CDATA[]]></long-description>
5351
- <tag line="2580" name="since" description="1.00"/>
5352
- <tag line="2580" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
5353
  <type by_reference="false">array</type>
5354
  </tag>
5355
- <tag line="2580" name="param" description="new values" type="array" variable="$new_values">
5356
  <type by_reference="false">array</type>
5357
  </tag>
5358
- <tag line="2580" 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">
5359
  <type by_reference="false">array</type>
5360
  </tag>
5361
  </docblock>
5362
- <argument line="2590">
5363
  <name>$current_values</name>
5364
  <default><![CDATA[]]></default>
5365
  <type/>
5366
  </argument>
5367
- <argument line="2590">
5368
  <name>$new_values</name>
5369
  <default><![CDATA[]]></default>
5370
  <type/>
5371
  </argument>
5372
  </method>
5373
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2682" package="Media Library Assistant">
5374
  <name>_update_iptc_exif_custom_mapping</name>
5375
  <full_name>_update_iptc_exif_custom_mapping</full_name>
5376
- <docblock line="2672">
5377
  <description><![CDATA[Update Custom field portion of IPTC/EXIF mappings]]></description>
5378
  <long-description><![CDATA[]]></long-description>
5379
- <tag line="2672" name="since" description="1.00"/>
5380
- <tag line="2672" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
5381
  <type by_reference="false">array</type>
5382
  </tag>
5383
- <tag line="2672" name="param" description="new values" type="array" variable="$new_values">
5384
  <type by_reference="false">array</type>
5385
  </tag>
5386
- <tag line="2672" 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">
5387
  <type by_reference="false">array</type>
5388
  </tag>
5389
  </docblock>
5390
- <argument line="2682">
5391
  <name>$current_values</name>
5392
  <default><![CDATA[]]></default>
5393
  <type/>
5394
  </argument>
5395
- <argument line="2682">
5396
  <name>$new_values</name>
5397
  <default><![CDATA[]]></default>
5398
  <type/>
5399
  </argument>
5400
  </method>
5401
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2803" package="Media Library Assistant">
5402
  <name>_get_custom_field_names</name>
5403
  <full_name>_get_custom_field_names</full_name>
5404
- <docblock line="2796">
5405
  <description><![CDATA[Generate a list of all (post) Custom Field names]]></description>
5406
  <long-description><![CDATA[]]></long-description>
5407
- <tag line="2796" name="since" description="1.00"/>
5408
- <tag line="2796" name="return" description="Custom field names from the postmeta table" type="array">
5409
  <type by_reference="false">array</type>
5410
  </tag>
5411
  </docblock>
5412
  </method>
5413
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2832" package="Media Library Assistant">
5414
  <name>mla_iptc_exif_option_handler</name>
5415
  <full_name>mla_iptc_exif_option_handler</full_name>
5416
- <docblock line="2819">
5417
  <description><![CDATA[Render and manage iptc/exif support options]]></description>
5418
  <long-description><![CDATA[]]></long-description>
5419
- <tag line="2819" name="since" description="1.00"/>
5420
- <tag line="2819" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
5421
- <tag line="2819" name="param" description="'render', 'update', 'delete', or 'reset'" type="string" variable="$action">
5422
  <type by_reference="false">string</type>
5423
  </tag>
5424
- <tag line="2819" name="param" description="option name, e.g., 'iptc_exif_mapping'" type="string" variable="$key">
5425
  <type by_reference="false">string</type>
5426
  </tag>
5427
- <tag line="2819" name="param" description="option parameters" type="array" variable="$value">
5428
  <type by_reference="false">array</type>
5429
  </tag>
5430
- <tag line="2819" name="param" description="Optional. null (default) for 'render' else option data, e.g., $_REQUEST" type="array" variable="$args">
5431
  <type by_reference="false">array</type>
5432
  </tag>
5433
- <tag line="2819" name="return" description="HTML table row markup for 'render' else message(s) reflecting the results of the operation." type="string">
5434
  <type by_reference="false">string</type>
5435
  </tag>
5436
  </docblock>
5437
- <argument line="2832">
5438
  <name>$action</name>
5439
  <default><![CDATA[]]></default>
5440
  <type/>
5441
  </argument>
5442
- <argument line="2832">
5443
  <name>$key</name>
5444
  <default><![CDATA[]]></default>
5445
  <type/>
5446
  </argument>
5447
- <argument line="2832">
5448
  <name>$value</name>
5449
  <default><![CDATA[]]></default>
5450
  <type/>
5451
  </argument>
5452
- <argument line="2832">
5453
  <name>$args</name>
5454
  <default><![CDATA[null]]></default>
5455
  <type/>
@@ -5457,7 +5654,7 @@ settings are being updated or reset.]]></description>
5457
  </method>
5458
  </class>
5459
  </file>
5460
- <file path="includes\class-mla-settings.php" hash="f2463931f3f569d283cc45ea7c6f6817" package="Media Library Assistant">
5461
  <docblock line="2">
5462
  <description><![CDATA[Manages the settings page to edit the plugin option settings]]></description>
5463
  <long-description><![CDATA[]]></long-description>
@@ -6349,7 +6546,7 @@ without saving the settings to the mla_option]]></description>
6349
  </method>
6350
  </class>
6351
  </file>
6352
- <file path="includes\class-mla-shortcodes.php" hash="24af3b206f1da9617a99a3a9c2e42e69" package="Media Library Assistant">
6353
  <docblock line="2">
6354
  <description><![CDATA[Media Library Assistant Shortcode handler(s)]]></description>
6355
  <long-description><![CDATA[]]></long-description>
@@ -6390,10 +6587,10 @@ without saving the settings to the mla_option]]></description>
6390
  </tag>
6391
  </docblock>
6392
  </property>
6393
- <property final="false" static="true" visibility="private" line="913" namespace="global" package="Media Library Assistant">
6394
  <name>$query_parameters</name>
6395
  <default><![CDATA[array()]]></default>
6396
- <docblock line="899">
6397
  <description><![CDATA[WP_Query filter "parameters"]]></description>
6398
  <long-description><![CDATA[<p>This array defines parameters for the query's where and orderby filters,
6399
  mla_shortcode_query_posts_where_filter and mla_shortcode_query_posts_orderby_filter.
@@ -6401,85 +6598,20 @@ The parameters are set up in the mla_get_shortcode_attachments function, and
6401
  any further logic required to translate those values is contained in the filter.</p>
6402
 
6403
  <p>Array index values are: orderby, post_parent</p>]]></long-description>
6404
- <tag line="899" name="since" description="1.13"/>
6405
- <tag line="899" name="var" description="" type="array">
6406
  <type by_reference="false">array</type>
6407
  </tag>
6408
  </docblock>
6409
  </property>
6410
- <property final="false" static="true" visibility="private" line="1022" namespace="global" package="Media Library Assistant">
6411
  <name>$data_selection_parameters</name>
6412
  <default><![CDATA[array('order' => 'ASC', 'orderby' => 'menu_order,ID', 'id' => NULL, 'ids' => array(), 'include' => array(), 'exclude' => array(), 'post_parent' => NULL, 'author' => NULL, 'author_name' => '', 'cat' => 0, 'category_name' => '', 'category__and' => array(), 'category__in' => array(), 'category__not_in' => array(), 'tag' => '', 'tag_id' => 0, 'tag__and' => array(), 'tag__in' => array(), 'tag__not_in' => array(), 'tag_slug__and' => array(), 'tag_slug__in' => array(), 'tax_operator' => '', 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_mime_type' => 'image', 'nopaging' => true, 'numberposts' => 0, 'posts_per_page' => 0, 'posts_per_archive_page' => 0, 'paged' => NULL, 'offset' => NULL, 'meta_key' => '', 'meta_value' => '', 'meta_value_num' => NULL, 'meta_compare' => '', 'meta_query' => '', 's' => '')]]></default>
6413
- <docblock line="1015">
6414
  <description><![CDATA[Data selection parameters for the WP_Query in [mla_gallery]]]></description>
6415
  <long-description><![CDATA[]]></long-description>
6416
- <tag line="1015" name="since" description="1.30"/>
6417
- <tag line="1015" name="var" description="" type="array">
6418
- <type by_reference="false">array</type>
6419
- </tag>
6420
- </docblock>
6421
- </property>
6422
- <property final="false" static="true" visibility="private" line="1516" namespace="global" package="Media Library Assistant">
6423
- <name>$mla_iptc_records</name>
6424
- <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>
6425
- <docblock line="1506">
6426
- <description><![CDATA[IPTC Dataset identifiers and names]]></description>
6427
- <long-description><![CDATA[<p>This array contains the identifiers and names of Datasets defined in
6428
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
6429
- <tag line="1506" name="since" description="0.90"/>
6430
- <tag line="1506" name="var" description="" type="array">
6431
- <type by_reference="false">array</type>
6432
- </tag>
6433
- </docblock>
6434
- </property>
6435
- <property final="false" static="true" visibility="public" line="1615" namespace="global" package="Media Library Assistant">
6436
- <name>$mla_iptc_keys</name>
6437
- <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>
6438
- <docblock line="1605">
6439
- <description><![CDATA[IPTC Dataset friendly name/slug and identifiers]]></description>
6440
- <long-description><![CDATA[<p>This array contains the sanitized names and identifiers of Datasets defined in
6441
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
6442
- <tag line="1605" name="since" description="0.90"/>
6443
- <tag line="1605" name="var" description="" type="array">
6444
- <type by_reference="false">array</type>
6445
- </tag>
6446
- </docblock>
6447
- </property>
6448
- <property final="false" static="true" visibility="private" line="1714" namespace="global" package="Media Library Assistant">
6449
- <name>$mla_iptc_descriptions</name>
6450
- <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>
6451
- <docblock line="1704">
6452
- <description><![CDATA[IPTC Dataset descriptions]]></description>
6453
- <long-description><![CDATA[<p>This array contains the descriptions of Datasets defined in
6454
- the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
6455
- <tag line="1704" name="since" description="0.90"/>
6456
- <tag line="1704" name="var" description="" type="array">
6457
- <type by_reference="false">array</type>
6458
- </tag>
6459
- </docblock>
6460
- </property>
6461
- <property final="false" static="true" visibility="private" line="1813" namespace="global" package="Media Library Assistant">
6462
- <name>$mla_iptc_formats</name>
6463
- <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>
6464
- <docblock line="1803">
6465
- <description><![CDATA[IPTC file format identifiers and descriptions]]></description>
6466
- <long-description><![CDATA[<p>This array contains the file format identifiers and descriptions defined in
6467
- the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p>]]></long-description>
6468
- <tag line="1803" name="since" description="0.90"/>
6469
- <tag line="1803" name="var" description="" type="array">
6470
- <type by_reference="false">array</type>
6471
- </tag>
6472
- </docblock>
6473
- </property>
6474
- <property final="false" static="true" visibility="private" line="1856" namespace="global" package="Media Library Assistant">
6475
- <name>$mla_iptc_image_types</name>
6476
- <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>
6477
- <docblock line="1846">
6478
- <description><![CDATA[IPTC image type identifiers and descriptions]]></description>
6479
- <long-description><![CDATA[<p>This array contains the image type identifiers and descriptions defined in
6480
- the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p>]]></long-description>
6481
- <tag line="1846" name="since" description="0.90"/>
6482
- <tag line="1846" name="var" description="" type="array">
6483
  <type by_reference="false">array</type>
6484
  </tag>
6485
  </docblock>
@@ -6530,185 +6662,185 @@ Enhancements include many additional selection parameters and full taxonomy supp
6530
  <type/>
6531
  </argument>
6532
  </method>
6533
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="893" package="Media Library Assistant">
6534
  <name>_process_shortcode_parameter</name>
6535
  <full_name>_process_shortcode_parameter</full_name>
6536
- <docblock line="883">
6537
  <description><![CDATA[Handles brace/bracket escaping and parses template for a shortcode parameter]]></description>
6538
  <long-description><![CDATA[]]></long-description>
6539
- <tag line="883" name="since" description="1.14"/>
6540
- <tag line="883" name="param" description="raw shortcode parameter, e.g., &quot;text {+field+} {brackets} \\{braces\\}&quot;" type="string" variable="$text">
6541
  <type by_reference="false">string</type>
6542
  </tag>
6543
- <tag line="883" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
6544
  <type by_reference="false">string</type>
6545
  </tag>
6546
- <tag line="883" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6547
  <type by_reference="false">string</type>
6548
  </tag>
6549
  </docblock>
6550
- <argument line="893">
6551
  <name>$text</name>
6552
  <default><![CDATA[]]></default>
6553
  <type/>
6554
  </argument>
6555
- <argument line="893">
6556
  <name>$markup_values</name>
6557
  <default><![CDATA[]]></default>
6558
  <type/>
6559
  </argument>
6560
  </method>
6561
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="924" package="Media Library Assistant">
6562
  <name>_sanitize_query_specification</name>
6563
  <full_name>_sanitize_query_specification</full_name>
6564
- <docblock line="915">
6565
  <description><![CDATA[Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications]]></description>
6566
  <long-description><![CDATA[]]></long-description>
6567
- <tag line="915" name="since" description="1.14"/>
6568
- <tag line="915" name="param" description="query specification; PHP nested arrays" type="string" variable="$specification">
6569
  <type by_reference="false">string</type>
6570
  </tag>
6571
- <tag line="915" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6572
  <type by_reference="false">string</type>
6573
  </tag>
6574
  </docblock>
6575
- <argument line="924">
6576
  <name>$specification</name>
6577
  <default><![CDATA[]]></default>
6578
  <type/>
6579
  </argument>
6580
  </method>
6581
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="941" package="Media Library Assistant">
6582
  <name>_validate_sql_orderby</name>
6583
  <full_name>_validate_sql_orderby</full_name>
6584
- <docblock line="930">
6585
  <description><![CDATA[Translates query parameters to a valid SQL order by clause.]]></description>
6586
  <long-description><![CDATA[<p>Accepts one or more valid columns, with or without ASC/DESC.
6587
  Enhanced version of /wp-includes/formatting.php function sanitize_sql_orderby().</p>]]></long-description>
6588
- <tag line="930" name="since" description="1.20"/>
6589
- <tag line="930" name="param" description="Validated query parameters" type="array" variable="$query_parameters">
6590
  <type by_reference="false">array</type>
6591
  </tag>
6592
- <tag line="930" name="return" description="Returns the orderby clause if present, false otherwise." type="string|bool">
6593
  <type by_reference="false">string</type>
6594
  <type by_reference="false">bool</type>
6595
  </tag>
6596
  </docblock>
6597
- <argument line="941">
6598
  <name>$query_parameters</name>
6599
  <default><![CDATA[]]></default>
6600
  <type/>
6601
  </argument>
6602
  </method>
6603
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1085" package="Media Library Assistant">
6604
  <name>mla_get_shortcode_attachments</name>
6605
  <full_name>mla_get_shortcode_attachments</full_name>
6606
- <docblock line="1075">
6607
  <description><![CDATA[Parses shortcode parameters and returns the gallery objects]]></description>
6608
  <long-description><![CDATA[]]></long-description>
6609
- <tag line="1075" name="since" description=".50"/>
6610
- <tag line="1075" name="param" description="Post ID of the parent" type="int" variable="$post_parent">
6611
  <type by_reference="false">int</type>
6612
  </tag>
6613
- <tag line="1075" name="param" description="Attributes of the shortcode" type="array" variable="$attr">
6614
  <type by_reference="false">array</type>
6615
  </tag>
6616
- <tag line="1075" name="return" description="List of attachments returned from WP_Query" type="array">
6617
  <type by_reference="false">array</type>
6618
  </tag>
6619
  </docblock>
6620
- <argument line="1085">
6621
  <name>$post_parent</name>
6622
  <default><![CDATA[]]></default>
6623
  <type/>
6624
  </argument>
6625
- <argument line="1085">
6626
  <name>$attr</name>
6627
  <default><![CDATA[]]></default>
6628
  <type/>
6629
  </argument>
6630
  </method>
6631
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1416" package="Media Library Assistant">
6632
  <name>mla_shortcode_query_posts_where_filter</name>
6633
  <full_name>mla_shortcode_query_posts_where_filter</full_name>
6634
- <docblock line="1402">
6635
  <description><![CDATA[Filters the WHERE clause for shortcode queries]]></description>
6636
  <long-description><![CDATA[<p>Captures debug information. Adds whitespace to the post_type = 'attachment'
6637
  phrase to circumvent subsequent Role Scoper modification of the clause.
6638
  Handles post_parent "any" and "none" cases.
6639
  Defined as public because it's a filter.</p>]]></long-description>
6640
- <tag line="1402" name="since" description="0.70"/>
6641
- <tag line="1402" name="param" description="query clause before modification" type="string" variable="$where_clause">
6642
  <type by_reference="false">string</type>
6643
  </tag>
6644
- <tag line="1402" name="return" description="query clause after modification" type="string">
6645
  <type by_reference="false">string</type>
6646
  </tag>
6647
  </docblock>
6648
- <argument line="1416">
6649
  <name>$where_clause</name>
6650
  <default><![CDATA[]]></default>
6651
  <type/>
6652
  </argument>
6653
  </method>
6654
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1457" package="Media Library Assistant">
6655
  <name>mla_shortcode_query_posts_orderby_filter</name>
6656
  <full_name>mla_shortcode_query_posts_orderby_filter</full_name>
6657
- <docblock line="1445">
6658
  <description><![CDATA[Filters the ORDERBY clause for shortcode queries]]></description>
6659
  <long-description><![CDATA[<p>This is an enhanced version of the code found in wp-includes/query.php, function get_posts.
6660
  Defined as public because it's a filter.</p>]]></long-description>
6661
- <tag line="1445" name="since" description="1.20"/>
6662
- <tag line="1445" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
6663
  <type by_reference="false">string</type>
6664
  </tag>
6665
- <tag line="1445" name="return" description="query clause after modification" type="string">
6666
  <type by_reference="false">string</type>
6667
  </tag>
6668
  </docblock>
6669
- <argument line="1457">
6670
  <name>$orderby_clause</name>
6671
  <default><![CDATA[]]></default>
6672
  <type/>
6673
  </argument>
6674
  </method>
6675
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1482" package="Media Library Assistant">
6676
  <name>mla_shortcode_query_posts_clauses_filter</name>
6677
  <full_name>mla_shortcode_query_posts_clauses_filter</full_name>
6678
- <docblock line="1470">
6679
  <description><![CDATA[Filters all clauses for shortcode queries, pre caching plugins]]></description>
6680
  <long-description><![CDATA[<p>This is for debug purposes only.
6681
  Defined as public because it's a filter.</p>]]></long-description>
6682
- <tag line="1470" name="since" description="1.30"/>
6683
- <tag line="1470" name="param" description="query clauses before modification" type="array" variable="$pieces">
6684
  <type by_reference="false">array</type>
6685
  </tag>
6686
- <tag line="1470" name="return" description="query clauses after modification (none)" type="array">
6687
  <type by_reference="false">array</type>
6688
  </tag>
6689
  </docblock>
6690
- <argument line="1482">
6691
  <name>$pieces</name>
6692
  <default><![CDATA[]]></default>
6693
  <type/>
6694
  </argument>
6695
  </method>
6696
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1500" package="Media Library Assistant">
6697
  <name>mla_shortcode_query_posts_clauses_request_filter</name>
6698
  <full_name>mla_shortcode_query_posts_clauses_request_filter</full_name>
6699
- <docblock line="1488">
6700
  <description><![CDATA[Filters all clauses for shortcode queries, post caching plugins]]></description>
6701
  <long-description><![CDATA[<p>This is for debug purposes only.
6702
  Defined as public because it's a filter.</p>]]></long-description>
6703
- <tag line="1488" name="since" description="1.30"/>
6704
- <tag line="1488" name="param" description="query clauses before modification" type="array" variable="$pieces">
6705
  <type by_reference="false">array</type>
6706
  </tag>
6707
- <tag line="1488" name="return" description="query clauses after modification (none)" type="array">
6708
  <type by_reference="false">array</type>
6709
  </tag>
6710
  </docblock>
6711
- <argument line="1500">
6712
  <name>$pieces</name>
6713
  <default><![CDATA[]]></default>
6714
  <type/>
@@ -8365,13 +8497,13 @@ This file is only loaded if the naming conflict tests in index.php are passed.</
8365
  </docblock>
8366
  </function>
8367
  </file>
8368
- <file path="index.php" hash="fde43b7b99c5aebe462b8b6c8769601d" package="Media Library Assistant">
8369
  <docblock line="2">
8370
  <description><![CDATA[Provides several enhancements to the handling of images and files held in the WordPress Media Library]]></description>
8371
  <long-description><![CDATA[<p>This file contains several tests for name conflicts with other plugins. Only if the tests are passed
8372
  will the rest of the plugin be loaded and run.</p>]]></long-description>
8373
  <tag line="2" name="package" description="Media Library Assistant"/>
8374
- <tag line="2" name="version" description="1.32"/>
8375
  </docblock>
8376
  <include line="109" type="Require Once" package="Media Library Assistant">
8377
  <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="03a3dfce019a73f10b56b8824d7c6da8" 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>
68
  </tag>
69
  </docblock>
70
  </property>
71
+ <property final="false" static="true" visibility="private" line="1466" namespace="global" package="Media Library Assistant">
72
  <name>$galleries</name>
73
  <default><![CDATA[null]]></default>
74
+ <docblock line="1447">
75
  <description><![CDATA[Objects containing [gallery] shortcodes]]></description>
76
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [gallery] shortcodes
77
  and array(s) of which attachments each [gallery] contains. The arrays are built once
84
  ['galleries'] array of [gallery] entries numbered from one (1), containing:
85
  galleries[X]['query'] contains a string with the arguments of the [gallery],
86
  galleries[X]['results'] contains an array ( ID ) of post_ids for the objects in the gallery.</p>]]></long-description>
87
+ <tag line="1447" name="since" description="0.70"/>
88
+ <tag line="1447" name="var" description="" type="array">
89
  <type by_reference="false">array</type>
90
  </tag>
91
  </docblock>
92
  </property>
93
+ <property final="false" static="true" visibility="private" line="1479" namespace="global" package="Media Library Assistant">
94
  <name>$mla_galleries</name>
95
  <default><![CDATA[null]]></default>
96
+ <docblock line="1468">
97
  <description><![CDATA[Objects containing [mla_gallery] shortcodes]]></description>
98
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [mla_gallery] shortcodes
99
  and array(s) of which attachments each [mla_gallery] contains. The arrays are built once
100
  each page load and cached for subsequent calls.</p>]]></long-description>
101
+ <tag line="1468" name="since" description="0.70"/>
102
+ <tag line="1468" name="var" description="" type="array">
103
+ <type by_reference="false">array</type>
104
+ </tag>
105
+ </docblock>
106
+ </property>
107
+ <property final="false" static="true" visibility="private" line="1662" namespace="global" package="Media Library Assistant">
108
+ <name>$pdf_indirect_objects</name>
109
+ <default><![CDATA[NULL]]></default>
110
+ <docblock line="1653">
111
+ <description><![CDATA[Array of PDF indirect objects]]></description>
112
+ <long-description><![CDATA[<p>This array contains all of the indirect object offsets and lengths</p>]]></long-description>
113
+ <tag line="1653" name="since" description="1.4x"/>
114
+ <tag line="1653" name="var" description="" type="array">
115
+ <type by_reference="false">array</type>
116
+ </tag>
117
+ </docblock>
118
+ </property>
119
+ <property final="false" static="true" visibility="private" line="1874" namespace="global" package="Media Library Assistant">
120
+ <name>$utf8_chars</name>
121
+ <default><![CDATA[array("\xC2\x80", "\xC2\x81", "\xC2\x82", "\xC2\x83", "\xC2\x84", "\xC2\x85", "\xC2\x86", "\xC2\x87", "\xC2\x88", "\xC2\x89", "\xC2\x8A", "\xC2\x8B", "\xC2\x8C", "\xC2\x8D", "\xC2\x8E", "\xC2\x8F", "\xC2\x90", "\xC2\x91", "\xC2\x92", "\xC2\x93", "\xC2\x94", "\xC2\x95", "\xC2\x96", "\xC2\x97", "\xC2\x98", "\xC2\x99", "\xC2\x9A", "\xC2\x9B", "\xC2\x9C", "\xC2\x9D", "\xC2\x9E", "\xC2\x9F", "\xC2\xA0", "\xC2\xA1", "\xC2\xA2", "\xC2\xA3", "\xC2\xA4", "\xC2\xA5", "\xC2\xA6", "\xC2\xA7", "\xC2\xA8", "\xC2\xA9", "\xC2\xAA", "\xC2\xAB", "\xC2\xAC", "\xC2\xAD", "\xC2\xAE", "\xC2\xAF", "\xC2\xB0", "\xC2\xB1", "\xC2\xB2", "\xC2\xB3", "\xC2\xB4", "\xC2\xB5", "\xC2\xB6", "\xC2\xB7", "\xC2\xB8", "\xC2\xB9", "\xC2\xBA", "\xC2\xBB", "\xC2\xBC", "\xC2\xBD", "\xC2\xBE", "\xC2\xBF", "\xC3\x80", "\xC3\x81", "\xC3\x82", "\xC3\x83", "\xC3\x84", "\xC3\x85", "\xC3\x86", "\xC3\x87", "\xC3\x88", "\xC3\x89", "\xC3\x8A", "\xC3\x8B", "\xC3\x8C", "\xC3\x8D", "\xC3\x8E", "\xC3\x8F", "\xC3\x90", "\xC3\x91", "\xC3\x92", "\xC3\x93", "\xC3\x94", "\xC3\x95", "\xC3\x96", "\xC3\x97", "\xC3\x98", "\xC3\x99", "\xC3\x9A", "\xC3\x9B", "\xC3\x9C", "\xC3\x9D", "\xC3\x9E", "\xC3\x9F", "\xC3\xA0", "\xC3\xA1", "\xC3\xA2", "\xC3\xA3", "\xC3\xA4", "\xC3\xA5", "\xC3\xA6", "\xC3\xA7", "\xC3\xA8", "\xC3\xA9", "\xC3\xAA", "\xC3\xAB", "\xC3\xAC", "\xC3\xAD", "\xC3\xAE", "\xC3\xAF", "\xC3\xB0", "\xC3\xB1", "\xC3\xB2", "\xC3\xB3", "\xC3\xB4", "\xC3\xB5", "\xC3\xB6", "\xC3\xB7", "\xC3\xB8", "\xC3\xB9", "\xC3\xBA", "\xC3\xBB", "\xC3\xBC", "\xC3\xBD", "\xC3\xBE", "\xC3\xBF")]]></default>
122
+ <docblock line="1867">
123
+ <description><![CDATA[UTF-8 replacements for invalid SQL characters]]></description>
124
+ <long-description><![CDATA[]]></long-description>
125
+ <tag line="1867" name="since" description="1.41"/>
126
+ <tag line="1867" name="var" description="" type="array">
127
+ <type by_reference="false">array</type>
128
+ </tag>
129
+ </docblock>
130
+ </property>
131
+ <property final="false" static="true" visibility="private" line="1931" namespace="global" package="Media Library Assistant">
132
+ <name>$mla_iptc_records</name>
133
+ <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>
134
+ <docblock line="1921">
135
+ <description><![CDATA[IPTC Dataset identifiers and names]]></description>
136
+ <long-description><![CDATA[<p>This array contains the identifiers and names of Datasets defined in
137
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
138
+ <tag line="1921" name="since" description="0.90"/>
139
+ <tag line="1921" name="var" description="" type="array">
140
+ <type by_reference="false">array</type>
141
+ </tag>
142
+ </docblock>
143
+ </property>
144
+ <property final="false" static="true" visibility="public" line="2030" namespace="global" package="Media Library Assistant">
145
+ <name>$mla_iptc_keys</name>
146
+ <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>
147
+ <docblock line="2020">
148
+ <description><![CDATA[IPTC Dataset friendly name/slug and identifiers]]></description>
149
+ <long-description><![CDATA[<p>This array contains the sanitized names and identifiers of Datasets defined in
150
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
151
+ <tag line="2020" name="since" description="0.90"/>
152
+ <tag line="2020" name="var" description="" type="array">
153
+ <type by_reference="false">array</type>
154
+ </tag>
155
+ </docblock>
156
+ </property>
157
+ <property final="false" static="true" visibility="private" line="2129" namespace="global" package="Media Library Assistant">
158
+ <name>$mla_iptc_descriptions</name>
159
+ <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>
160
+ <docblock line="2119">
161
+ <description><![CDATA[IPTC Dataset descriptions]]></description>
162
+ <long-description><![CDATA[<p>This array contains the descriptions of Datasets defined in
163
+ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
164
+ <tag line="2119" name="since" description="0.90"/>
165
+ <tag line="2119" name="var" description="" type="array">
166
+ <type by_reference="false">array</type>
167
+ </tag>
168
+ </docblock>
169
+ </property>
170
+ <property final="false" static="true" visibility="private" line="2228" namespace="global" package="Media Library Assistant">
171
+ <name>$mla_iptc_formats</name>
172
+ <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>
173
+ <docblock line="2218">
174
+ <description><![CDATA[IPTC file format identifiers and descriptions]]></description>
175
+ <long-description><![CDATA[<p>This array contains the file format identifiers and descriptions defined in
176
+ the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p>]]></long-description>
177
+ <tag line="2218" name="since" description="0.90"/>
178
+ <tag line="2218" name="var" description="" type="array">
179
+ <type by_reference="false">array</type>
180
+ </tag>
181
+ </docblock>
182
+ </property>
183
+ <property final="false" static="true" visibility="private" line="2271" namespace="global" package="Media Library Assistant">
184
+ <name>$mla_iptc_image_types</name>
185
+ <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>
186
+ <docblock line="2261">
187
+ <description><![CDATA[IPTC image type identifiers and descriptions]]></description>
188
+ <long-description><![CDATA[<p>This array contains the image type identifiers and descriptions defined in
189
+ the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p>]]></long-description>
190
+ <tag line="2261" name="since" description="0.90"/>
191
+ <tag line="2261" name="var" description="" type="array">
192
  <type by_reference="false">array</type>
193
  </tag>
194
  </docblock>
429
  <type/>
430
  </argument>
431
  </method>
432
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="650" package="Media Library Assistant">
433
  <name>_execute_list_table_query</name>
434
  <full_name>_execute_list_table_query</full_name>
435
+ <docblock line="641">
436
  <description><![CDATA[Add filters, run query, remove filters]]></description>
437
  <long-description><![CDATA[]]></long-description>
438
+ <tag line="641" name="since" description="0.30"/>
439
+ <tag line="641" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
440
  <type by_reference="false">array</type>
441
  </tag>
442
+ <tag line="641" name="return" description="WP_Query object with query results" type="object">
443
  <type by_reference="false">object</type>
444
  </tag>
445
  </docblock>
446
+ <argument line="650">
447
  <name>$request</name>
448
  <default><![CDATA[]]></default>
449
  <type/>
450
  </argument>
451
  </method>
452
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="727" package="Media Library Assistant">
453
  <name>mla_query_posts_search_filter</name>
454
  <full_name>mla_query_posts_search_filter</full_name>
455
+ <docblock line="715">
456
  <description><![CDATA[Adds a keyword search to the WHERE clause, if required]]></description>
457
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
458
+ <tag line="715" name="since" description="0.60"/>
459
+ <tag line="715" name="param" description="query clause before modification" type="string" variable="$search_string">
460
  <type by_reference="false">string</type>
461
  </tag>
462
+ <tag line="715" name="param" description="WP_Query object" type="object" variable="$query_object">
463
  <type by_reference="false">object</type>
464
  </tag>
465
+ <tag line="715" name="return" description="query clause after keyword search addition" type="string">
466
  <type by_reference="false">string</type>
467
  </tag>
468
  </docblock>
469
+ <argument line="727">
470
  <name>$search_string</name>
471
  <default><![CDATA[]]></default>
472
  <type/>
473
  </argument>
474
+ <argument line="727">
475
  <name>$query_object</name>
476
  <default><![CDATA[]]></default>
477
  <type/>
478
  </argument>
479
  </method>
480
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="838" package="Media Library Assistant">
481
  <name>mla_query_posts_join_filter</name>
482
  <full_name>mla_query_posts_join_filter</full_name>
483
+ <docblock line="827">
484
  <description><![CDATA[Adds a JOIN clause, if required, to handle sorting/searching on custom fields or ALT Text]]></description>
485
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
486
+ <tag line="827" name="since" description="0.30"/>
487
+ <tag line="827" name="param" description="query clause before modification" type="string" variable="$join_clause">
488
  <type by_reference="false">string</type>
489
  </tag>
490
+ <tag line="827" name="return" description="query clause after &quot;LEFT JOIN view ON post_id&quot; item modification" type="string">
491
  <type by_reference="false">string</type>
492
  </tag>
493
  </docblock>
494
+ <argument line="838">
495
  <name>$join_clause</name>
496
  <default><![CDATA[]]></default>
497
  <type/>
498
  </argument>
499
  </method>
500
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="865" package="Media Library Assistant">
501
  <name>mla_query_posts_where_filter</name>
502
  <full_name>mla_query_posts_where_filter</full_name>
503
+ <docblock line="853">
504
  <description><![CDATA[Adds a WHERE clause for detached items]]></description>
505
  <long-description><![CDATA[<p>Modeled after _edit_attachments_query_helper in wp-admin/post.php.
506
  Defined as public because it's a filter.</p>]]></long-description>
507
+ <tag line="853" name="since" description="0.1"/>
508
+ <tag line="853" name="param" description="query clause before modification" type="string" variable="$where_clause">
509
  <type by_reference="false">string</type>
510
  </tag>
511
+ <tag line="853" name="return" description="query clause after &quot;detached&quot; item modification" type="string">
512
  <type by_reference="false">string</type>
513
  </tag>
514
  </docblock>
515
+ <argument line="865">
516
  <name>$where_clause</name>
517
  <default><![CDATA[]]></default>
518
  <type/>
519
  </argument>
520
  </method>
521
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="913" package="Media Library Assistant">
522
  <name>mla_query_posts_orderby_filter</name>
523
  <full_name>mla_query_posts_orderby_filter</full_name>
524
+ <docblock line="901">
525
  <description><![CDATA[Adds a ORDERBY clause, if required]]></description>
526
  <long-description><![CDATA[<p>Expands the range of sort options because the logic in WP_Query is limited.
527
  Defined as public because it's a filter.</p>]]></long-description>
528
+ <tag line="901" name="since" description="0.30"/>
529
+ <tag line="901" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
530
  <type by_reference="false">string</type>
531
  </tag>
532
+ <tag line="901" name="return" description="updated query clause" type="string">
533
  <type by_reference="false">string</type>
534
  </tag>
535
  </docblock>
536
+ <argument line="913">
537
  <name>$orderby_clause</name>
538
  <default><![CDATA[]]></default>
539
  <type/>
540
  </argument>
541
  </method>
542
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="972" package="Media Library Assistant">
543
  <name>mla_get_attachment_by_id</name>
544
  <full_name>mla_get_attachment_by_id</full_name>
545
+ <docblock line="960">
546
  <description><![CDATA[Retrieve an Attachment array given a $post_id]]></description>
547
  <long-description><![CDATA[<p>The (associative) array will contain every field that can be found in
548
  the posts and postmeta tables, and all references to the attachment.</p>]]></long-description>
549
+ <tag line="960" name="since" description="0.1"/>
550
+ <tag line="960" name="uses" description="\global\$post" refers="\global\$post"/>
551
+ <tag line="960" name="param" description="The ID of the attachment post" type="int" variable="$post_id">
552
  <type by_reference="false">int</type>
553
  </tag>
554
+ <tag line="960" name="return" description="NULL on failure else associative array" type="NULL|array">
555
  <type by_reference="false">NULL</type>
556
  <type by_reference="false">array</type>
557
  </tag>
558
  </docblock>
559
+ <argument line="972">
560
  <name>$post_id</name>
561
  <default><![CDATA[]]></default>
562
  <type/>
563
  </argument>
564
  </method>
565
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1026" package="Media Library Assistant">
566
  <name>mla_fetch_attachment_parent_data</name>
567
  <full_name>mla_fetch_attachment_parent_data</full_name>
568
+ <docblock line="1017">
569
  <description><![CDATA[Returns information about an attachment's parent, if found]]></description>
570
  <long-description><![CDATA[]]></long-description>
571
+ <tag line="1017" name="since" description="0.1"/>
572
+ <tag line="1017" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent_id">
573
  <type by_reference="false">int</type>
574
  </tag>
575
+ <tag line="1017" name="return" description="Parent information; post_date, post_title and post_type" type="array">
576
  <type by_reference="false">array</type>
577
  </tag>
578
  </docblock>
579
+ <argument line="1026">
580
  <name>$parent_id</name>
581
  <default><![CDATA[]]></default>
582
  <type/>
583
  </argument>
584
  </method>
585
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1062" package="Media Library Assistant">
586
  <name>mla_find_array_element</name>
587
  <full_name>mla_find_array_element</full_name>
588
+ <docblock line="1047">
589
  <description><![CDATA[Finds the value of a key in a possibily nested array structure]]></description>
590
  <long-description><![CDATA[<p>Used primarily to extract fields from the _wp_attachment_metadata custom field.
591
  Could also be used with the ID3 metadata exposed in WordPress 3.6 and later.</p>]]></long-description>
592
+ <tag line="1047" name="since" description="1.30"/>
593
+ <tag line="1047" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
594
  <type by_reference="false">string</type>
595
  </tag>
596
+ <tag line="1047" name="param" description="PHP nested arrays" type="array" variable="$haystack">
597
  <type by_reference="false">array</type>
598
  </tag>
599
+ <tag line="1047" name="param" description="format option 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
600
  <type by_reference="false">string</type>
601
  </tag>
602
+ <tag line="1047" name="param" description="keep existing values - for 'multi' option" type="boolean" variable="$keep_existing">
603
  <type by_reference="false">boolean</type>
604
  </tag>
605
+ <tag line="1047" name="return" description="value matching key(.key ...) or ''" type="string">
606
  <type by_reference="false">string</type>
607
  </tag>
608
  </docblock>
609
+ <argument line="1062">
610
  <name>$needle</name>
611
  <default><![CDATA[]]></default>
612
  <type/>
613
  </argument>
614
+ <argument line="1062">
615
  <name>$haystack</name>
616
  <default><![CDATA[]]></default>
617
  <type/>
618
  </argument>
619
+ <argument line="1062">
620
  <name>$option</name>
621
  <default><![CDATA[]]></default>
622
  <type/>
623
  </argument>
624
+ <argument line="1062">
625
  <name>$keep_existing</name>
626
  <default><![CDATA[false]]></default>
627
  <type/>
628
  </argument>
629
  </method>
630
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1114" package="Media Library Assistant">
631
  <name>mla_fetch_attachment_metadata</name>
632
  <full_name>mla_fetch_attachment_metadata</full_name>
633
+ <docblock line="1101">
634
  <description><![CDATA[Fetch and filter meta data for an attachment]]></description>
635
  <long-description><![CDATA[<p>Returns a filtered array of a post's meta data. Internal values beginning with '<em>'
636
  are stripped out or converted to an 'mla</em>' equivalent. Array data is replaced with
637
  a string containing the first array element.</p>]]></long-description>
638
+ <tag line="1101" name="since" description="0.1"/>
639
+ <tag line="1101" name="param" description="post ID of attachment" type="int" variable="$post_id">
640
  <type by_reference="false">int</type>
641
  </tag>
642
+ <tag line="1101" name="return" description="Meta data variables" type="array">
643
  <type by_reference="false">array</type>
644
  </tag>
645
  </docblock>
646
+ <argument line="1114">
647
  <name>$post_id</name>
648
  <default><![CDATA[]]></default>
649
  <type/>
650
  </argument>
651
  </method>
652
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1186" package="Media Library Assistant">
653
  <name>mla_fetch_attachment_references</name>
654
  <full_name>mla_fetch_attachment_references</full_name>
655
+ <docblock line="1173">
656
  <description><![CDATA[Find Featured Image and inserted image/link references to an attachment]]></description>
657
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachment is used
658
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
659
+ <tag line="1173" name="since" description="0.1"/>
660
+ <tag line="1173" name="param" description="post ID of attachment" type="int" variable="$ID">
661
  <type by_reference="false">int</type>
662
  </tag>
663
+ <tag line="1173" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent">
664
  <type by_reference="false">int</type>
665
  </tag>
666
+ <tag line="1173" name="return" description="Reference information; see $references array comments" type="array">
667
  <type by_reference="false">array</type>
668
  </tag>
669
  </docblock>
670
+ <argument line="1186">
671
  <name>$ID</name>
672
  <default><![CDATA[]]></default>
673
  <type/>
674
  </argument>
675
+ <argument line="1186">
676
  <name>$parent</name>
677
  <default><![CDATA[]]></default>
678
  <type/>
679
  </argument>
680
  </method>
681
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1490" package="Media Library Assistant">
682
  <name>mla_flush_mla_galleries</name>
683
  <full_name>mla_flush_mla_galleries</full_name>
684
+ <docblock line="1481">
685
  <description><![CDATA[Invalidates the $mla_galleries or $galleries array and cached values]]></description>
686
  <long-description><![CDATA[]]></long-description>
687
+ <tag line="1481" name="since" description="1.00"/>
688
+ <tag line="1481" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
689
  <type by_reference="false">string</type>
690
  </tag>
691
+ <tag line="1481" name="return" description="" type="void">
692
  <type by_reference="false">void</type>
693
  </tag>
694
  </docblock>
695
+ <argument line="1490">
696
  <name>$option_name</name>
697
  <default><![CDATA[]]></default>
698
  <type/>
699
  </argument>
700
  </method>
701
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1514" package="Media Library Assistant">
702
  <name>mla_save_post_action</name>
703
  <full_name>mla_save_post_action</full_name>
704
+ <docblock line="1505">
705
  <description><![CDATA[Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates]]></description>
706
  <long-description><![CDATA[]]></long-description>
707
+ <tag line="1505" name="since" description="1.00"/>
708
+ <tag line="1505" name="param" description="ID of post/page/attachment; not used at this time" type="integer" variable="$post_id">
709
  <type by_reference="false">integer</type>
710
  </tag>
711
+ <tag line="1505" name="return" description="" type="void">
712
  <type by_reference="false">void</type>
713
  </tag>
714
  </docblock>
715
+ <argument line="1514">
716
  <name>$post_id</name>
717
  <default><![CDATA[]]></default>
718
  <type/>
719
  </argument>
720
  </method>
721
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1531" package="Media Library Assistant">
722
  <name>_build_mla_galleries</name>
723
  <full_name>_build_mla_galleries</full_name>
724
+ <docblock line="1519">
725
  <description><![CDATA[Builds the $mla_galleries or $galleries array]]></description>
726
  <long-description><![CDATA[]]></long-description>
727
+ <tag line="1519" name="since" description="0.70"/>
728
+ <tag line="1519" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
729
  <type by_reference="false">string</type>
730
  </tag>
731
+ <tag line="1519" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
732
  <type by_reference="false">array</type>
733
  </tag>
734
+ <tag line="1519" name="param" description="the shortcode to be searched for and processed" type="string" variable="$shortcode">
735
  <type by_reference="false">string</type>
736
  </tag>
737
+ <tag line="1519" name="param" description="true to exclude revisions from the search" type="boolean" variable="$exclude_revisions">
738
  <type by_reference="false">boolean</type>
739
  </tag>
740
+ <tag line="1519" name="return" description="true if the galleries array is not empty" type="boolean">
741
  <type by_reference="false">boolean</type>
742
  </tag>
743
  </docblock>
744
+ <argument line="1531">
745
  <name>$option_name</name>
746
  <default><![CDATA[]]></default>
747
  <type/>
748
  </argument>
749
+ <argument line="1531">
750
  <name>$galleries_array</name>
751
  <default><![CDATA[]]></default>
752
  <type/>
753
  </argument>
754
+ <argument line="1531">
755
  <name>$shortcode</name>
756
  <default><![CDATA[]]></default>
757
  <type/>
758
  </argument>
759
+ <argument line="1531">
760
  <name>$exclude_revisions</name>
761
  <default><![CDATA[]]></default>
762
  <type/>
763
  </argument>
764
  </method>
765
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1640" package="Media Library Assistant">
766
  <name>_search_mla_galleries</name>
767
  <full_name>_search_mla_galleries</full_name>
768
+ <docblock line="1629">
769
  <description><![CDATA[Search the $mla_galleries or $galleries array]]></description>
770
  <long-description><![CDATA[]]></long-description>
771
+ <tag line="1629" name="since" description="0.70"/>
772
+ <tag line="1629" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
773
  <type by_reference="false">array</type>
774
  </tag>
775
+ <tag line="1629" name="param" description="the attachment ID to be searched for and processed" type="int" variable="$attachment_id">
776
  <type by_reference="false">int</type>
777
  </tag>
778
+ <tag line="1629" 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">
779
  <type by_reference="false">array</type>
780
  </tag>
781
  </docblock>
782
+ <argument line="1640">
783
  <name>$galleries_array</name>
784
  <default><![CDATA[]]></default>
785
  <type/>
786
  </argument>
787
+ <argument line="1640">
788
  <name>$attachment_id</name>
789
  <default><![CDATA[]]></default>
790
  <type/>
791
  </argument>
792
  </method>
793
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1674" package="Media Library Assistant">
794
+ <name>_build_pdf_indirect_objects</name>
795
+ <full_name>_build_pdf_indirect_objects</full_name>
796
+ <docblock line="1664">
797
+ <description><![CDATA[Build an array of indirect object definitions]]></description>
798
+ <long-description><![CDATA[<p>Creates the array of indirect object offsets and lengths</p>]]></long-description>
799
+ <tag line="1664" name="since" description="1.4x"/>
800
+ <tag line="1664" name="param" description="The entire PDF document, passsed by reference" type="string" variable="$string">
801
+ <type by_reference="false">string</type>
802
+ </tag>
803
+ <tag line="1664" name="return" description="" type="void">
804
+ <type by_reference="false">void</type>
805
+ </tag>
806
+ </docblock>
807
+ <argument line="1674">
808
+ <name>$string</name>
809
+ <default><![CDATA[]]></default>
810
+ <type/>
811
+ </argument>
812
+ </method>
813
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1728" package="Media Library Assistant">
814
+ <name>_parse_pdf_dictionary</name>
815
+ <full_name>_parse_pdf_dictionary</full_name>
816
+ <docblock line="1718">
817
+ <description><![CDATA[Parse a PDF dictionary object]]></description>
818
+ <long-description><![CDATA[<p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string), indirect (object), name, array, dictionary, stream, and null.</p>]]></long-description>
819
+ <tag line="1718" name="since" description="1.4x"/>
820
+ <tag line="1718" name="param" description="dictionary content, without enclosing &lt;&lt; and &gt;&gt; delimiters" type="string" variable="$string">
821
+ <type by_reference="false">string</type>
822
+ </tag>
823
+ <tag line="1718" name="return" description="( key =&gt; array( 'type' =&gt; type, 'value' =&gt; value ) ) for each dictionary field" type="array">
824
+ <type by_reference="false">array</type>
825
+ </tag>
826
+ </docblock>
827
+ <argument line="1728">
828
+ <name>$string</name>
829
+ <default><![CDATA[]]></default>
830
+ <type/>
831
+ </argument>
832
+ </method>
833
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1817" package="Media Library Assistant">
834
+ <name>_extract_pdf_metadata</name>
835
+ <full_name>_extract_pdf_metadata</full_name>
836
+ <docblock line="1808">
837
+ <description><![CDATA[Extract Metadata from a PDF file]]></description>
838
+ <long-description><![CDATA[]]></long-description>
839
+ <tag line="1808" name="since" description="1.4x"/>
840
+ <tag line="1808" name="param" description="full path to the desired file" type="string" variable="$string">
841
+ <type by_reference="false">string</type>
842
+ </tag>
843
+ <tag line="1808" name="return" description="( key =&gt; value ) for each metadata field, in string format" type="array">
844
+ <type by_reference="false">array</type>
845
+ </tag>
846
+ </docblock>
847
+ <argument line="1817">
848
+ <name>$string</name>
849
+ <default><![CDATA[]]></default>
850
+ <type/>
851
+ </argument>
852
+ </method>
853
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1902" package="Media Library Assistant">
854
+ <name>_bin_to_utf8</name>
855
+ <full_name>_bin_to_utf8</full_name>
856
+ <docblock line="1893">
857
+ <description><![CDATA[Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents]]></description>
858
+ <long-description><![CDATA[]]></long-description>
859
+ <tag line="1893" name="since" description="1.41"/>
860
+ <tag line="1893" name="param" description="unencoded string" type="string" variable="$string">
861
+ <type by_reference="false">string</type>
862
+ </tag>
863
+ <tag line="1893" name="return" description="UTF-8 encoded string" type="string">
864
+ <type by_reference="false">string</type>
865
+ </tag>
866
+ </docblock>
867
+ <argument line="1902">
868
+ <name>$string</name>
869
+ <default><![CDATA[]]></default>
870
+ <type/>
871
+ </argument>
872
+ </method>
873
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2299" package="Media Library Assistant">
874
+ <name>mla_iptc_metadata_value</name>
875
+ <full_name>mla_iptc_metadata_value</full_name>
876
+ <docblock line="2287">
877
+ <description><![CDATA[Parse one IPTC metadata field]]></description>
878
+ <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.</p>]]></long-description>
879
+ <tag line="2287" name="since" description="1.41"/>
880
+ <tag line="2287" name="param" description="field name - IPTC Identifier or friendly name/slug" type="string" variable="$iptc_key">
881
+ <type by_reference="false">string</type>
882
+ </tag>
883
+ <tag line="2287" name="param" description="metadata array containing 'mla_iptc_metadata' array" type="string" variable="$image_metadata">
884
+ <type by_reference="false">string</type>
885
+ </tag>
886
+ <tag line="2287" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
887
+ <type by_reference="false">mixed</type>
888
+ </tag>
889
+ </docblock>
890
+ <argument line="2299">
891
+ <name>$iptc_key</name>
892
+ <default><![CDATA[]]></default>
893
+ <type/>
894
+ </argument>
895
+ <argument line="2299">
896
+ <name>$image_metadata</name>
897
+ <default><![CDATA[]]></default>
898
+ <type/>
899
+ </argument>
900
+ </method>
901
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2332" package="Media Library Assistant">
902
  <name>mla_exif_metadata_value</name>
903
  <full_name>mla_exif_metadata_value</full_name>
904
+ <docblock line="2319">
905
  <description><![CDATA[Parse one EXIF metadata field]]></description>
906
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.
907
  Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p>]]></long-description>
908
+ <tag line="2319" name="since" description="1.13"/>
909
+ <tag line="2319" name="param" description="field name" type="string" variable="$exif_key">
910
  <type by_reference="false">string</type>
911
  </tag>
912
+ <tag line="2319" name="param" description="metadata array containing 'mla_exif_metadata' and 'mla_iptc_metadata' arrays" type="string" variable="$image_metadata">
913
  <type by_reference="false">string</type>
914
  </tag>
915
+ <tag line="2319" name="return" description="string representation of metadata value or an empty string" type="string">
916
  <type by_reference="false">string</type>
917
  </tag>
918
  </docblock>
919
+ <argument line="2332">
920
+ <name>$exif_key</name>
921
  <default><![CDATA[]]></default>
922
  <type/>
923
  </argument>
924
+ <argument line="2332">
925
  <name>$image_metadata</name>
926
  <default><![CDATA[]]></default>
927
  <type/>
928
  </argument>
929
  </method>
930
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2391" package="Media Library Assistant">
931
  <name>mla_fetch_attachment_image_metadata</name>
932
  <full_name>mla_fetch_attachment_image_metadata</full_name>
933
+ <docblock line="2379">
934
  <description><![CDATA[Fetch and filter IPTC and EXIF meta data for an image attachment]]></description>
935
  <long-description><![CDATA[<p>Returns</p>]]></long-description>
936
+ <tag line="2379" name="since" description="0.90"/>
937
+ <tag line="2379" name="param" description="post ID of attachment" type="int" variable="$post_id">
938
  <type by_reference="false">int</type>
939
  </tag>
940
+ <tag line="2379" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
941
  <type by_reference="false">string</type>
942
  </tag>
943
+ <tag line="2379" name="return" description="Meta data variables" type="array">
944
  <type by_reference="false">array</type>
945
  </tag>
946
  </docblock>
947
+ <argument line="2391">
948
  <name>$post_id</name>
949
  <default><![CDATA[]]></default>
950
  <type/>
951
  </argument>
952
+ <argument line="2391">
953
  <name>$path</name>
954
  <default><![CDATA['']]></default>
955
  <type/>
956
  </argument>
957
  </method>
958
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2459" package="Media Library Assistant">
959
  <name>mla_update_item_postmeta</name>
960
  <full_name>mla_update_item_postmeta</full_name>
961
+ <docblock line="2449">
962
  <description><![CDATA[Update custom field data for a single attachment.]]></description>
963
  <long-description><![CDATA[]]></long-description>
964
+ <tag line="2449" name="since" description="1.40"/>
965
+ <tag line="2449" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
966
  <type by_reference="false">int</type>
967
  </tag>
968
+ <tag line="2449" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
969
  <type by_reference="false">array</type>
970
  </tag>
971
+ <tag line="2449" name="return" description="success/failure message(s)" type="string">
972
  <type by_reference="false">string</type>
973
  </tag>
974
  </docblock>
975
+ <argument line="2459">
976
  <name>$post_id</name>
977
  <default><![CDATA[]]></default>
978
  <type/>
979
  </argument>
980
+ <argument line="2459">
981
  <name>$new_meta</name>
982
  <default><![CDATA[]]></default>
983
  <type/>
984
  </argument>
985
  </method>
986
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2587" package="Media Library Assistant">
987
  <name>mla_update_single_item</name>
988
  <full_name>mla_update_single_item</full_name>
989
+ <docblock line="2574">
990
  <description><![CDATA[Update a single item; change the meta data
991
  for a single attachment.]]></description>
992
  <long-description><![CDATA[]]></long-description>
993
+ <tag line="2574" name="since" description="0.1"/>
994
+ <tag line="2574" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
995
  <type by_reference="false">int</type>
996
  </tag>
997
+ <tag line="2574" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
998
  <type by_reference="false">array</type>
999
  </tag>
1000
+ <tag line="2574" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
1001
  <type by_reference="false">array</type>
1002
  </tag>
1003
+ <tag line="2574" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
1004
  <type by_reference="false">array</type>
1005
  </tag>
1006
+ <tag line="2574" name="return" description="success/failure message and NULL content" type="array">
1007
  <type by_reference="false">array</type>
1008
  </tag>
1009
  </docblock>
1010
+ <argument line="2587">
1011
  <name>$post_id</name>
1012
  <default><![CDATA[]]></default>
1013
  <type/>
1014
  </argument>
1015
+ <argument line="2587">
1016
  <name>$new_data</name>
1017
  <default><![CDATA[]]></default>
1018
  <type/>
1019
  </argument>
1020
+ <argument line="2587">
1021
  <name>$tax_input</name>
1022
  <default><![CDATA[NULL]]></default>
1023
  <type/>
1024
  </argument>
1025
+ <argument line="2587">
1026
  <name>$tax_actions</name>
1027
  <default><![CDATA[NULL]]></default>
1028
  <type/>
1029
  </argument>
1030
  </method>
1031
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2801" package="Media Library Assistant">
1032
  <name>_remove_tags</name>
1033
  <full_name>_remove_tags</full_name>
1034
+ <docblock line="2790">
1035
  <description><![CDATA[Remove tags from a term ids list]]></description>
1036
  <long-description><![CDATA[]]></long-description>
1037
+ <tag line="2790" name="since" description="0.40"/>
1038
+ <tag line="2790" name="param" description="The term ids currently assigned" type="array" variable="$terms_before">
1039
  <type by_reference="false">array</type>
1040
  </tag>
1041
+ <tag line="2790" name="param" description="| string The term ids (array) or names (string) to remove" type="array" variable="$tags">
1042
  <type by_reference="false">array</type>
1043
  </tag>
1044
+ <tag line="2790" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
1045
  <type by_reference="false">object</type>
1046
  </tag>
1047
+ <tag line="2790" name="return" description="Term ids of the surviving tags" type="array">
1048
  <type by_reference="false">array</type>
1049
  </tag>
1050
  </docblock>
1051
+ <argument line="2801">
1052
  <name>$terms_before</name>
1053
  <default><![CDATA[]]></default>
1054
  <type/>
1055
  </argument>
1056
+ <argument line="2801">
1057
  <name>$tags</name>
1058
  <default><![CDATA[]]></default>
1059
  <type/>
1060
  </argument>
1061
+ <argument line="2801">
1062
  <name>$taxonomy_obj</name>
1063
  <default><![CDATA[]]></default>
1064
  <type/>
1065
  </argument>
1066
  </method>
1067
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2844" package="Media Library Assistant">
1068
  <name>_hex_dump</name>
1069
  <full_name>_hex_dump</full_name>
1070
+ <docblock line="2833">
1071
  <description><![CDATA[Format printable version of binary data]]></description>
1072
  <long-description><![CDATA[]]></long-description>
1073
+ <tag line="2833" name="since" description="0.90"/>
1074
+ <tag line="2833" name="param" description="Binary data" type="string" variable="$data">
1075
  <type by_reference="false">string</type>
1076
  </tag>
1077
+ <tag line="2833" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
1078
  <type by_reference="false">integer</type>
1079
  </tag>
1080
+ <tag line="2833" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
1081
  <type by_reference="false">\intger</type>
1082
  </tag>
1083
+ <tag line="2833" name="return" description="Printable representation of $data" type="string">
1084
  <type by_reference="false">string</type>
1085
  </tag>
1086
  </docblock>
1087
+ <argument line="2844">
1088
  <name>$data</name>
1089
  <default><![CDATA[]]></default>
1090
  <type/>
1091
  </argument>
1092
+ <argument line="2844">
1093
  <name>$limit</name>
1094
  <default><![CDATA[0]]></default>
1095
  <type/>
1096
  </argument>
1097
+ <argument line="2844">
1098
  <name>$bytes_per_row</name>
1099
  <default><![CDATA[16]]></default>
1100
  <type/>
1406
  </method>
1407
  </class>
1408
  </file>
1409
+ <file path="includes\class-mla-list-table.php" hash="b2a45827f60c65bfcde5d3295760bf97" package="Media Library Assistant">
1410
  <docblock line="2">
1411
  <description><![CDATA[Media Library Assistant extended List Table class]]></description>
1412
  <long-description><![CDATA[]]></long-description>
1684
  <type/>
1685
  </argument>
1686
  </method>
1687
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="457" package="Media Library Assistant">
1688
  <name>column_cb</name>
1689
  <full_name>column_cb</full_name>
1690
+ <docblock line="448">
1691
  <description><![CDATA[Displays checkboxes for using bulk actions.]]></description>
1692
  <long-description><![CDATA[<p>The 'cb' column
1693
  is given special treatment when columns are processed.</p>]]></long-description>
1694
+ <tag line="448" name="since" description="0.1"/>
1695
+ <tag line="448" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1696
  <type by_reference="false">array</type>
1697
  </tag>
1698
+ <tag line="448" name="return" description="HTML markup to be placed inside the column" type="string">
1699
  <type by_reference="false">string</type>
1700
  </tag>
1701
  </docblock>
1702
+ <argument line="457">
1703
  <name>$item</name>
1704
  <default><![CDATA[]]></default>
1705
  <type/>
1706
  </argument>
1707
  </method>
1708
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="473" package="Media Library Assistant">
1709
  <name>column_icon</name>
1710
  <full_name>column_icon</full_name>
1711
+ <docblock line="465">
1712
  <description><![CDATA[Supply the content for a custom column]]></description>
1713
  <long-description><![CDATA[]]></long-description>
1714
+ <tag line="465" name="since" description="0.1"/>
1715
+ <tag line="465" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1716
  <type by_reference="false">array</type>
1717
  </tag>
1718
+ <tag line="465" name="return" description="HTML markup to be placed inside the column" type="string">
1719
  <type by_reference="false">string</type>
1720
  </tag>
1721
  </docblock>
1722
+ <argument line="473">
1723
  <name>$item</name>
1724
  <default><![CDATA[]]></default>
1725
  <type/>
1726
  </argument>
1727
  </method>
1728
+ <method final="false" abstract="false" static="false" visibility="private" namespace="global" line="497" package="Media Library Assistant">
1729
  <name>_build_rollover_actions</name>
1730
  <full_name>_build_rollover_actions</full_name>
1731
+ <docblock line="486">
1732
  <description><![CDATA[Add rollover actions to exactly one of the following displayed columns:
1733
  'ID_parent', 'title_name', 'post_title', 'post_name']]></description>
1734
  <long-description><![CDATA[]]></long-description>
1735
+ <tag line="486" name="since" description="0.1"/>
1736
+ <tag line="486" name="param" description="A singular attachment (post) object" type="object" variable="$item">
1737
  <type by_reference="false">object</type>
1738
  </tag>
1739
+ <tag line="486" name="param" description="Current column name" type="string" variable="$column">
1740
  <type by_reference="false">string</type>
1741
  </tag>
1742
+ <tag line="486" name="return" description="Names and URLs of row-level actions" type="array">
1743
  <type by_reference="false">array</type>
1744
  </tag>
1745
  </docblock>
1746
+ <argument line="497">
1747
  <name>$item</name>
1748
  <default><![CDATA[]]></default>
1749
  <type/>
1750
  </argument>
1751
+ <argument line="497">
1752
  <name>$column</name>
1753
  <default><![CDATA[]]></default>
1754
  <type/>
1755
  </argument>
1756
  </method>
1757
+ <method final="false" abstract="false" static="false" visibility="private" namespace="global" line="575" package="Media Library Assistant">
1758
  <name>_build_inline_data</name>
1759
  <full_name>_build_inline_data</full_name>
1760
+ <docblock line="566">
1761
  <description><![CDATA[Add hidden fields with the data for use in the inline editor]]></description>
1762
  <long-description><![CDATA[]]></long-description>
1763
+ <tag line="566" name="since" description="0.20"/>
1764
+ <tag line="566" name="param" description="A singular attachment (post) object" type="object" variable="$item">
1765
  <type by_reference="false">object</type>
1766
  </tag>
1767
+ <tag line="566" name="return" description="HTML &lt;div&gt; with row data" type="string">
1768
  <type by_reference="false">string</type>
1769
  </tag>
1770
  </docblock>
1771
+ <argument line="575">
1772
  <name>$item</name>
1773
  <default><![CDATA[]]></default>
1774
  <type/>
1775
  </argument>
1776
  </method>
1777
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="623" package="Media Library Assistant">
1778
  <name>column_ID_parent</name>
1779
  <full_name>column_ID_parent</full_name>
1780
+ <docblock line="615">
1781
  <description><![CDATA[Supply the content for a custom column]]></description>
1782
  <long-description><![CDATA[]]></long-description>
1783
+ <tag line="615" name="since" description="0.1"/>
1784
+ <tag line="615" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1785
  <type by_reference="false">array</type>
1786
  </tag>
1787
+ <tag line="615" name="return" description="HTML markup to be placed inside the column" type="string">
1788
  <type by_reference="false">string</type>
1789
  </tag>
1790
  </docblock>
1791
+ <argument line="623">
1792
  <name>$item</name>
1793
  <default><![CDATA[]]></default>
1794
  <type/>
1795
  </argument>
1796
  </method>
1797
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="655" package="Media Library Assistant">
1798
  <name>column_title_name</name>
1799
  <full_name>column_title_name</full_name>
1800
+ <docblock line="647">
1801
  <description><![CDATA[Supply the content for a custom column]]></description>
1802
  <long-description><![CDATA[]]></long-description>
1803
+ <tag line="647" name="since" description="0.1"/>
1804
+ <tag line="647" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1805
  <type by_reference="false">array</type>
1806
  </tag>
1807
+ <tag line="647" name="return" description="HTML markup to be placed inside the column" type="string">
1808
  <type by_reference="false">string</type>
1809
  </tag>
1810
  </docblock>
1811
+ <argument line="655">
1812
  <name>$item</name>
1813
  <default><![CDATA[]]></default>
1814
  <type/>
1815
  </argument>
1816
  </method>
1817
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="678" package="Media Library Assistant">
1818
  <name>column_post_title</name>
1819
  <full_name>column_post_title</full_name>
1820
+ <docblock line="670">
1821
  <description><![CDATA[Supply the content for a custom column]]></description>
1822
  <long-description><![CDATA[]]></long-description>
1823
+ <tag line="670" name="since" description="0.1"/>
1824
+ <tag line="670" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1825
  <type by_reference="false">array</type>
1826
  </tag>
1827
+ <tag line="670" name="return" description="HTML markup to be placed inside the column" type="string">
1828
  <type by_reference="false">string</type>
1829
  </tag>
1830
  </docblock>
1831
+ <argument line="678">
1832
  <name>$item</name>
1833
  <default><![CDATA[]]></default>
1834
  <type/>
1835
  </argument>
1836
  </method>
1837
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="696" package="Media Library Assistant">
1838
  <name>column_post_name</name>
1839
  <full_name>column_post_name</full_name>
1840
+ <docblock line="688">
1841
  <description><![CDATA[Supply the content for a custom column]]></description>
1842
  <long-description><![CDATA[]]></long-description>
1843
+ <tag line="688" name="since" description="0.1"/>
1844
+ <tag line="688" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1845
  <type by_reference="false">array</type>
1846
  </tag>
1847
+ <tag line="688" name="return" description="HTML markup to be placed inside the column" type="string">
1848
  <type by_reference="false">string</type>
1849
  </tag>
1850
  </docblock>
1851
+ <argument line="696">
1852
  <name>$item</name>
1853
  <default><![CDATA[]]></default>
1854
  <type/>
1855
  </argument>
1856
  </method>
1857
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="714" package="Media Library Assistant">
1858
  <name>column_parent</name>
1859
  <full_name>column_parent</full_name>
1860
+ <docblock line="706">
1861
  <description><![CDATA[Supply the content for a custom column]]></description>
1862
  <long-description><![CDATA[]]></long-description>
1863
+ <tag line="706" name="since" description="0.1"/>
1864
+ <tag line="706" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1865
  <type by_reference="false">array</type>
1866
  </tag>
1867
+ <tag line="706" name="return" description="HTML markup to be placed inside the column" type="string">
1868
  <type by_reference="false">string</type>
1869
  </tag>
1870
  </docblock>
1871
+ <argument line="714">
1872
  <name>$item</name>
1873
  <default><![CDATA[]]></default>
1874
  <type/>
1875
  </argument>
1876
  </method>
1877
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="739" package="Media Library Assistant">
1878
  <name>column_menu_order</name>
1879
  <full_name>column_menu_order</full_name>
1880
+ <docblock line="731">
1881
  <description><![CDATA[Supply the content for a custom column]]></description>
1882
  <long-description><![CDATA[]]></long-description>
1883
+ <tag line="731" name="since" description="0.60"/>
1884
+ <tag line="731" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1885
  <type by_reference="false">array</type>
1886
  </tag>
1887
+ <tag line="731" name="return" description="HTML markup to be placed inside the column" type="string">
1888
  <type by_reference="false">string</type>
1889
  </tag>
1890
  </docblock>
1891
+ <argument line="739">
1892
  <name>$item</name>
1893
  <default><![CDATA[]]></default>
1894
  <type/>
1895
  </argument>
1896
  </method>
1897
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="751" package="Media Library Assistant">
1898
  <name>column_featured</name>
1899
  <full_name>column_featured</full_name>
1900
+ <docblock line="743">
1901
  <description><![CDATA[Supply the content for a custom column]]></description>
1902
  <long-description><![CDATA[]]></long-description>
1903
+ <tag line="743" name="since" description="0.1"/>
1904
+ <tag line="743" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1905
  <type by_reference="false">array</type>
1906
  </tag>
1907
+ <tag line="743" name="return" description="HTML markup to be placed inside the column" type="string">
1908
  <type by_reference="false">string</type>
1909
  </tag>
1910
  </docblock>
1911
+ <argument line="751">
1912
  <name>$item</name>
1913
  <default><![CDATA[]]></default>
1914
  <type/>
1915
  </argument>
1916
  </method>
1917
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="783" package="Media Library Assistant">
1918
  <name>column_inserted</name>
1919
  <full_name>column_inserted</full_name>
1920
+ <docblock line="775">
1921
  <description><![CDATA[Supply the content for a custom column]]></description>
1922
  <long-description><![CDATA[]]></long-description>
1923
+ <tag line="775" name="since" description="0.1"/>
1924
+ <tag line="775" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1925
  <type by_reference="false">array</type>
1926
  </tag>
1927
+ <tag line="775" name="return" description="HTML markup to be placed inside the column" type="string">
1928
  <type by_reference="false">string</type>
1929
  </tag>
1930
  </docblock>
1931
+ <argument line="783">
1932
  <name>$item</name>
1933
  <default><![CDATA[]]></default>
1934
  <type/>
1935
  </argument>
1936
  </method>
1937
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="819" package="Media Library Assistant">
1938
  <name>column_galleries</name>
1939
  <full_name>column_galleries</full_name>
1940
+ <docblock line="811">
1941
  <description><![CDATA[Supply the content for a custom column]]></description>
1942
  <long-description><![CDATA[]]></long-description>
1943
+ <tag line="811" name="since" description="0.70"/>
1944
+ <tag line="811" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1945
  <type by_reference="false">array</type>
1946
  </tag>
1947
+ <tag line="811" name="return" description="HTML markup to be placed inside the column" type="string">
1948
  <type by_reference="false">string</type>
1949
  </tag>
1950
  </docblock>
1951
+ <argument line="819">
1952
  <name>$item</name>
1953
  <default><![CDATA[]]></default>
1954
  <type/>
1955
  </argument>
1956
  </method>
1957
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="851" package="Media Library Assistant">
1958
  <name>column_mla_galleries</name>
1959
  <full_name>column_mla_galleries</full_name>
1960
+ <docblock line="843">
1961
  <description><![CDATA[Supply the content for a custom column]]></description>
1962
  <long-description><![CDATA[]]></long-description>
1963
+ <tag line="843" name="since" description="0.70"/>
1964
+ <tag line="843" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1965
  <type by_reference="false">array</type>
1966
  </tag>
1967
+ <tag line="843" name="return" description="HTML markup to be placed inside the column" type="string">
1968
  <type by_reference="false">string</type>
1969
  </tag>
1970
  </docblock>
1971
+ <argument line="851">
1972
  <name>$item</name>
1973
  <default><![CDATA[]]></default>
1974
  <type/>
1975
  </argument>
1976
  </method>
1977
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="883" package="Media Library Assistant">
1978
  <name>column_alt_text</name>
1979
  <full_name>column_alt_text</full_name>
1980
+ <docblock line="875">
1981
  <description><![CDATA[Supply the content for a custom column]]></description>
1982
  <long-description><![CDATA[]]></long-description>
1983
+ <tag line="875" name="since" description="0.1"/>
1984
+ <tag line="875" name="param" description="A singular attachment (post) object" type="array" variable="$item">
1985
  <type by_reference="false">array</type>
1986
  </tag>
1987
+ <tag line="875" name="return" description="HTML markup to be placed inside the column" type="string">
1988
  <type by_reference="false">string</type>
1989
  </tag>
1990
  </docblock>
1991
+ <argument line="883">
1992
  <name>$item</name>
1993
  <default><![CDATA[]]></default>
1994
  <type/>
1995
  </argument>
1996
  </method>
1997
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="903" package="Media Library Assistant">
1998
  <name>column_caption</name>
1999
  <full_name>column_caption</full_name>
2000
+ <docblock line="895">
2001
  <description><![CDATA[Supply the content for a custom column]]></description>
2002
  <long-description><![CDATA[]]></long-description>
2003
+ <tag line="895" name="since" description="0.1"/>
2004
+ <tag line="895" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2005
  <type by_reference="false">array</type>
2006
  </tag>
2007
+ <tag line="895" name="return" description="HTML markup to be placed inside the column" type="string">
2008
  <type by_reference="false">string</type>
2009
  </tag>
2010
  </docblock>
2011
+ <argument line="903">
2012
  <name>$item</name>
2013
  <default><![CDATA[]]></default>
2014
  <type/>
2015
  </argument>
2016
  </method>
2017
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="915" package="Media Library Assistant">
2018
  <name>column_description</name>
2019
  <full_name>column_description</full_name>
2020
+ <docblock line="907">
2021
  <description><![CDATA[Supply the content for a custom column]]></description>
2022
  <long-description><![CDATA[]]></long-description>
2023
+ <tag line="907" name="since" description="0.1"/>
2024
+ <tag line="907" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2025
  <type by_reference="false">array</type>
2026
  </tag>
2027
+ <tag line="907" name="return" description="HTML markup to be placed inside the column" type="string">
2028
  <type by_reference="false">string</type>
2029
  </tag>
2030
  </docblock>
2031
+ <argument line="915">
2032
  <name>$item</name>
2033
  <default><![CDATA[]]></default>
2034
  <type/>
2035
  </argument>
2036
  </method>
2037
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="927" package="Media Library Assistant">
2038
  <name>column_post_mime_type</name>
2039
  <full_name>column_post_mime_type</full_name>
2040
+ <docblock line="919">
2041
  <description><![CDATA[Supply the content for a custom column]]></description>
2042
  <long-description><![CDATA[]]></long-description>
2043
+ <tag line="919" name="since" description="0.30"/>
2044
+ <tag line="919" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2045
  <type by_reference="false">array</type>
2046
  </tag>
2047
+ <tag line="919" name="return" description="HTML markup to be placed inside the column" type="string">
2048
  <type by_reference="false">string</type>
2049
  </tag>
2050
  </docblock>
2051
+ <argument line="927">
2052
  <name>$item</name>
2053
  <default><![CDATA[]]></default>
2054
  <type/>
2055
  </argument>
2056
  </method>
2057
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="943" package="Media Library Assistant">
2058
  <name>column_base_file</name>
2059
  <full_name>column_base_file</full_name>
2060
+ <docblock line="935">
2061
  <description><![CDATA[Supply the content for a custom column]]></description>
2062
  <long-description><![CDATA[]]></long-description>
2063
+ <tag line="935" name="since" description="0.1"/>
2064
+ <tag line="935" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2065
  <type by_reference="false">array</type>
2066
  </tag>
2067
+ <tag line="935" name="return" description="HTML markup to be placed inside the column" type="string">
2068
  <type by_reference="false">string</type>
2069
  </tag>
2070
  </docblock>
2071
+ <argument line="943">
2072
  <name>$item</name>
2073
  <default><![CDATA[]]></default>
2074
  <type/>
2075
  </argument>
2076
  </method>
2077
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="955" package="Media Library Assistant">
2078
  <name>column_date</name>
2079
  <full_name>column_date</full_name>
2080
+ <docblock line="947">
2081
  <description><![CDATA[Supply the content for a custom column]]></description>
2082
  <long-description><![CDATA[]]></long-description>
2083
+ <tag line="947" name="since" description="0.1"/>
2084
+ <tag line="947" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2085
  <type by_reference="false">array</type>
2086
  </tag>
2087
+ <tag line="947" name="return" description="HTML markup to be placed inside the column" type="string">
2088
  <type by_reference="false">string</type>
2089
  </tag>
2090
  </docblock>
2091
+ <argument line="955">
2092
  <name>$item</name>
2093
  <default><![CDATA[]]></default>
2094
  <type/>
2095
  </argument>
2096
  </method>
2097
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="984" package="Media Library Assistant">
2098
  <name>column_modified</name>
2099
  <full_name>column_modified</full_name>
2100
+ <docblock line="976">
2101
  <description><![CDATA[Supply the content for a custom column]]></description>
2102
  <long-description><![CDATA[]]></long-description>
2103
+ <tag line="976" name="since" description="0.30"/>
2104
+ <tag line="976" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2105
  <type by_reference="false">array</type>
2106
  </tag>
2107
+ <tag line="976" name="return" description="HTML markup to be placed inside the column" type="string">
2108
  <type by_reference="false">string</type>
2109
  </tag>
2110
  </docblock>
2111
+ <argument line="984">
2112
  <name>$item</name>
2113
  <default><![CDATA[]]></default>
2114
  <type/>
2115
  </argument>
2116
  </method>
2117
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1013" package="Media Library Assistant">
2118
  <name>column_author</name>
2119
  <full_name>column_author</full_name>
2120
+ <docblock line="1005">
2121
  <description><![CDATA[Supply the content for a custom column]]></description>
2122
  <long-description><![CDATA[]]></long-description>
2123
+ <tag line="1005" name="since" description="0.30"/>
2124
+ <tag line="1005" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2125
  <type by_reference="false">array</type>
2126
  </tag>
2127
+ <tag line="1005" name="return" description="HTML markup to be placed inside the column" type="string">
2128
  <type by_reference="false">string</type>
2129
  </tag>
2130
  </docblock>
2131
+ <argument line="1013">
2132
  <name>$item</name>
2133
  <default><![CDATA[]]></default>
2134
  <type/>
2135
  </argument>
2136
  </method>
2137
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1034" package="Media Library Assistant">
2138
  <name>column_attached_to</name>
2139
  <full_name>column_attached_to</full_name>
2140
+ <docblock line="1026">
2141
  <description><![CDATA[Supply the content for a custom column]]></description>
2142
  <long-description><![CDATA[]]></long-description>
2143
+ <tag line="1026" name="since" description="0.1"/>
2144
+ <tag line="1026" name="param" description="A singular attachment (post) object" type="array" variable="$item">
2145
  <type by_reference="false">array</type>
2146
  </tag>
2147
+ <tag line="1026" name="return" description="HTML markup to be placed inside the column" type="string">
2148
  <type by_reference="false">string</type>
2149
  </tag>
2150
  </docblock>
2151
+ <argument line="1034">
2152
  <name>$item</name>
2153
  <default><![CDATA[]]></default>
2154
  <type/>
2155
  </argument>
2156
  </method>
2157
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1063" package="Media Library Assistant">
2158
  <name>get_columns</name>
2159
  <full_name>get_columns</full_name>
2160
+ <docblock line="1056">
2161
  <description><![CDATA[This method dictates the table's columns and titles]]></description>
2162
  <long-description><![CDATA[]]></long-description>
2163
+ <tag line="1056" name="since" description="0.1"/>
2164
+ <tag line="1056" name="return" description="Column information: 'slugs'=&gt;'Visible Titles'" type="array">
2165
  <type by_reference="false">array</type>
2166
  </tag>
2167
  </docblock>
2168
  </method>
2169
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1075" package="Media Library Assistant">
2170
  <name>get_hidden_columns</name>
2171
  <full_name>get_hidden_columns</full_name>
2172
+ <docblock line="1067">
2173
  <description><![CDATA[Returns the list of currently hidden columns from a user option or
2174
  from default values if the option is not set]]></description>
2175
  <long-description><![CDATA[]]></long-description>
2176
+ <tag line="1067" name="since" description="0.1"/>
2177
+ <tag line="1067" name="return" description="Column information,e.g., array(0 =&gt; 'ID_parent, 1 =&gt; 'title_name')" type="array">
2178
  <type by_reference="false">array</type>
2179
  </tag>
2180
  </docblock>
2181
  </method>
2182
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1095" package="Media Library Assistant">
2183
  <name>get_sortable_columns</name>
2184
  <full_name>get_sortable_columns</full_name>
2185
+ <docblock line="1085">
2186
  <description><![CDATA[Returns an array where the key is the column that needs to be sortable
2187
  and the value is db column to sort by.]]></description>
2188
  <long-description><![CDATA[<p>Also notes the current sort column,
2189
  if set.</p>]]></long-description>
2190
+ <tag line="1085" name="since" description="0.1"/>
2191
+ <tag line="1085" name="return" description="Sortable column information,e.g., 'slugs'=&gt;array('data_values',boolean)" type="array">
2192
  <type by_reference="false">array</type>
2193
  </tag>
2194
  </docblock>
2195
  </method>
2196
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1124" package="Media Library Assistant">
2197
  <name>_get_view</name>
2198
  <full_name>_get_view</full_name>
2199
+ <docblock line="1114">
2200
  <description><![CDATA[Returns HTML markup for one view that can be used with this table]]></description>
2201
  <long-description><![CDATA[]]></long-description>
2202
+ <tag line="1114" name="since" description="1.40"/>
2203
+ <tag line="1114" name="param" description="View slug, key to MLA_POST_MIME_TYPES array" type="string" variable="$view_slug">
2204
  <type by_reference="false">string</type>
2205
  </tag>
2206
+ <tag line="1114" name="param" description="Slug for current view" type="string" variable="$current_view">
2207
  <type by_reference="false">string</type>
2208
  </tag>
2209
+ <tag line="1114" name="return" description="| false HTML for link to display the view, false if count = zero" type="string">
2210
  <type by_reference="false">string</type>
2211
  </tag>
2212
  </docblock>
2213
+ <argument line="1124">
2214
  <name>$view_slug</name>
2215
  <default><![CDATA[]]></default>
2216
  <type/>
2217
  </argument>
2218
+ <argument line="1124">
2219
  <name>$current_view</name>
2220
  <default><![CDATA[]]></default>
2221
  <type/>
2222
  </argument>
2223
  </method>
2224
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1248" package="Media Library Assistant">
2225
  <name>get_views</name>
2226
  <full_name>get_views</full_name>
2227
+ <docblock line="1240">
2228
  <description><![CDATA[Returns an associative array listing all the views that can be used with this table.]]></description>
2229
  <long-description><![CDATA[<p>These are listed across the top of the page and managed by WordPress.</p>]]></long-description>
2230
+ <tag line="1240" name="since" description="0.1"/>
2231
+ <tag line="1240" name="return" description="View information,e.g., array ( id =&gt; link )" type="array">
2232
  <type by_reference="false">array</type>
2233
  </tag>
2234
  </docblock>
2235
  </method>
2236
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1285" package="Media Library Assistant">
2237
  <name>get_bulk_actions</name>
2238
  <full_name>get_bulk_actions</full_name>
2239
+ <docblock line="1277">
2240
  <description><![CDATA[Get an associative array ( option_name => option_title ) with the list
2241
  of bulk actions available on this table.]]></description>
2242
  <long-description><![CDATA[]]></long-description>
2243
+ <tag line="1277" name="since" description="0.1"/>
2244
+ <tag line="1277" name="return" description="Contains all the bulk actions: 'slugs'=&gt;'Visible Titles'" type="array">
2245
  <type by_reference="false">array</type>
2246
  </tag>
2247
  </docblock>
2248
  </method>
2249
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1316" package="Media Library Assistant">
2250
  <name>extra_tablenav</name>
2251
  <full_name>extra_tablenav</full_name>
2252
+ <docblock line="1305">
2253
  <description><![CDATA[Extra controls to be displayed between bulk actions and pagination]]></description>
2254
  <long-description><![CDATA[<p>Modeled after class-wp-posts-list-table.php in wp-admin/includes.</p>]]></long-description>
2255
+ <tag line="1305" name="since" description="0.1"/>
2256
+ <tag line="1305" name="param" description="'top' or 'bottom', i.e., above or below the table rows" type="string" variable="$which">
2257
  <type by_reference="false">string</type>
2258
  </tag>
2259
+ <tag line="1305" name="return" description="Contains all the bulk actions: 'slugs'=&gt;'Visible Titles'" type="array">
2260
  <type by_reference="false">array</type>
2261
  </tag>
2262
  </docblock>
2263
+ <argument line="1316">
2264
  <name>$which</name>
2265
  <default><![CDATA[]]></default>
2266
  <type/>
2267
  </argument>
2268
  </method>
2269
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1349" package="Media Library Assistant">
2270
  <name>prepare_items</name>
2271
  <full_name>prepare_items</full_name>
2272
+ <docblock line="1337">
2273
  <description><![CDATA[Prepares the list of items for displaying]]></description>
2274
  <long-description><![CDATA[<p>This is where you prepare your data for display. This method will usually
2275
  be used to query the database, sort and filter the data, and generally
2276
  get it ready to be displayed. At a minimum, we should set $this->items and
2277
  $this->set_pagination_args().</p>]]></long-description>
2278
+ <tag line="1337" name="since" description="0.1"/>
2279
+ <tag line="1337" name="return" description="" type="void">
2280
  <type by_reference="false">void</type>
2281
  </tag>
2282
  </docblock>
2283
  </method>
2284
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1396" package="Media Library Assistant">
2285
  <name>single_row</name>
2286
  <full_name>single_row</full_name>
2287
+ <docblock line="1387">
2288
  <description><![CDATA[Generates (echoes) content for a single row of the table]]></description>
2289
  <long-description><![CDATA[]]></long-description>
2290
+ <tag line="1387" name="since" description=".20"/>
2291
+ <tag line="1387" name="param" description="the current item" type="object" variable="$item">
2292
  <type by_reference="false">object</type>
2293
  </tag>
2294
+ <tag line="1387" name="return" description="Echoes the row HTML" type="void">
2295
  <type by_reference="false">void</type>
2296
  </tag>
2297
  </docblock>
2298
+ <argument line="1396">
2299
  <name>$item</name>
2300
  <default><![CDATA[]]></default>
2301
  <type/>
2303
  </method>
2304
  </class>
2305
  </file>
2306
+ <file path="includes\class-mla-main.php" hash="a0c161c9e231102af6c7557668a713ea" package="Media Library Assistant">
2307
  <docblock line="2">
2308
  <description><![CDATA[Top-level functions for the Media Library Assistant]]></description>
2309
  <long-description><![CDATA[]]></long-description>
2340
  <constant namespace="global" line="41" package="Media Library Assistant">
2341
  <name>CURRENT_MLA_VERSION</name>
2342
  <full_name>CURRENT_MLA_VERSION</full_name>
2343
+ <value><![CDATA['1.41']]></value>
2344
  <docblock line="34">
2345
  <description><![CDATA[Current version number]]></description>
2346
  <long-description><![CDATA[]]></long-description>
2748
  </tag>
2749
  </docblock>
2750
  </method>
2751
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="918" package="Media Library Assistant">
2752
  <name>mla_inline_edit_action</name>
2753
  <full_name>mla_inline_edit_action</full_name>
2754
+ <docblock line="909">
2755
  <description><![CDATA[Ajax handler for inline editing (quick and bulk edit)]]></description>
2756
  <long-description><![CDATA[<p>Adapted from wp_ajax_inline_save in /wp-admin/includes/ajax-actions.php</p>]]></long-description>
2757
+ <tag line="909" name="since" description="0.20"/>
2758
+ <tag line="909" name="return" description="echo HTML &lt;tr&gt; markup for updated row or error message, then die()" type="void">
2759
  <type by_reference="false">void</type>
2760
  </tag>
2761
  </docblock>
2762
  </method>
2763
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1013" package="Media Library Assistant">
2764
  <name>_build_inline_edit_form</name>
2765
  <full_name>_build_inline_edit_form</full_name>
2766
+ <docblock line="1002">
2767
  <description><![CDATA[Build the hidden row templates for inline editing (quick and bulk edit)]]></description>
2768
  <long-description><![CDATA[<p>inspired by inline_edit() in wp-admin\includes\class-wp-posts-list-table.php.</p>]]></long-description>
2769
+ <tag line="1002" name="since" description="0.20"/>
2770
+ <tag line="1002" name="param" description="MLA List Table object" type="object" variable="$MLAListTable">
2771
  <type by_reference="false">object</type>
2772
  </tag>
2773
+ <tag line="1002" name="return" description="HTML &lt;form&gt; markup for hidden rows" type="string">
2774
  <type by_reference="false">string</type>
2775
  </tag>
2776
  </docblock>
2777
+ <argument line="1013">
2778
  <name>$MLAListTable</name>
2779
  <default><![CDATA[]]></default>
2780
  <type/>
2781
  </argument>
2782
  </method>
2783
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1170" package="Media Library Assistant">
2784
  <name>_authors_dropdown</name>
2785
  <full_name>_authors_dropdown</full_name>
2786
+ <docblock line="1159">
2787
  <description><![CDATA[Get the edit Authors dropdown box, if user has suitable permissions]]></description>
2788
  <long-description><![CDATA[]]></long-description>
2789
+ <tag line="1159" name="since" description="0.20"/>
2790
+ <tag line="1159" name="param" description="Optional User ID of the current author, default 0" type="integer" variable="$author">
2791
  <type by_reference="false">integer</type>
2792
  </tag>
2793
+ <tag line="1159" name="param" description="Optional HTML name attribute, default 'post_author'" type="string" variable="$name">
2794
  <type by_reference="false">string</type>
2795
  </tag>
2796
+ <tag line="1159" name="param" description="Optional HTML class attribute, default 'authors'" type="string" variable="$class">
2797
  <type by_reference="false">string</type>
2798
  </tag>
2799
+ <tag line="1159" name="return" description="HTML markup for the dropdown field or False" type="string|false">
2800
  <type by_reference="false">string</type>
2801
  <type by_reference="false">false</type>
2802
  </tag>
2803
  </docblock>
2804
+ <argument line="1170">
2805
  <name>$author</name>
2806
  <default><![CDATA[0]]></default>
2807
  <type/>
2808
  </argument>
2809
+ <argument line="1170">
2810
  <name>$name</name>
2811
  <default><![CDATA['post_author']]></default>
2812
  <type/>
2813
  </argument>
2814
+ <argument line="1170">
2815
  <name>$class</name>
2816
  <default><![CDATA['authors']]></default>
2817
  <type/>
2818
  </argument>
2819
  </method>
2820
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1204" package="Media Library Assistant">
2821
  <name>_current_bulk_action</name>
2822
  <full_name>_current_bulk_action</full_name>
2823
+ <docblock line="1197">
2824
  <description><![CDATA[Get the current action selected from the bulk actions dropdown]]></description>
2825
  <long-description><![CDATA[]]></long-description>
2826
+ <tag line="1197" name="since" description="0.1"/>
2827
+ <tag line="1197" name="return" description="The action name or False if no action was selected" type="string|false">
2828
  <type by_reference="false">string</type>
2829
  <type by_reference="false">false</type>
2830
  </tag>
2831
  </docblock>
2832
  </method>
2833
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1233" package="Media Library Assistant">
2834
  <name>_delete_single_item</name>
2835
  <full_name>_delete_single_item</full_name>
2836
+ <docblock line="1224">
2837
  <description><![CDATA[Delete a single item permanently]]></description>
2838
  <long-description><![CDATA[]]></long-description>
2839
+ <tag line="1224" name="since" description="0.1"/>
2840
+ <tag line="1224" name="param" description="The form POST data" type="array" variable="$post_id">
2841
  <type by_reference="false">array</type>
2842
  </tag>
2843
+ <tag line="1224" name="return" description="success/failure message and NULL content" type="array">
2844
  <type by_reference="false">array</type>
2845
  </tag>
2846
  </docblock>
2847
+ <argument line="1233">
2848
  <name>$post_id</name>
2849
  <default><![CDATA[]]></default>
2850
  <type/>
2851
  </argument>
2852
  </method>
2853
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1264" package="Media Library Assistant">
2854
  <name>_display_single_item</name>
2855
  <full_name>_display_single_item</full_name>
2856
+ <docblock line="1252">
2857
  <description><![CDATA[Display a single item sub page; prepare the form to
2858
  change the meta data for a single attachment.]]></description>
2859
  <long-description><![CDATA[<p>This function is not used in WordPress 3.5 and later.</p>]]></long-description>
2860
+ <tag line="1252" name="since" description="0.1"/>
2861
+ <tag line="1252" name="param" description="The WordPress Post ID of the attachment item" type="int" variable="$post_id">
2862
  <type by_reference="false">int</type>
2863
  </tag>
2864
+ <tag line="1252" name="return" description="message and/or HTML content" type="array">
2865
  <type by_reference="false">array</type>
2866
  </tag>
2867
  </docblock>
2868
+ <argument line="1264">
2869
  <name>$post_id</name>
2870
  <default><![CDATA[]]></default>
2871
  <type/>
2872
  </argument>
2873
  </method>
2874
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1504" package="Media Library Assistant">
2875
  <name>_restore_single_item</name>
2876
  <full_name>_restore_single_item</full_name>
2877
+ <docblock line="1495">
2878
  <description><![CDATA[Restore a single item from the Trash]]></description>
2879
  <long-description><![CDATA[]]></long-description>
2880
+ <tag line="1495" name="since" description="0.1"/>
2881
+ <tag line="1495" name="param" description="The form POST data" type="array" variable="$post_id">
2882
  <type by_reference="false">array</type>
2883
  </tag>
2884
+ <tag line="1495" name="return" description="success/failure message and NULL content" type="array">
2885
  <type by_reference="false">array</type>
2886
  </tag>
2887
  </docblock>
2888
+ <argument line="1504">
2889
  <name>$post_id</name>
2890
  <default><![CDATA[]]></default>
2891
  <type/>
2892
  </argument>
2893
  </method>
2894
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1540" package="Media Library Assistant">
2895
  <name>_trash_single_item</name>
2896
  <full_name>_trash_single_item</full_name>
2897
+ <docblock line="1531">
2898
  <description><![CDATA[Move a single item to Trash]]></description>
2899
  <long-description><![CDATA[]]></long-description>
2900
+ <tag line="1531" name="since" description="0.1"/>
2901
+ <tag line="1531" name="param" description="The form POST data" type="array" variable="$post_id">
2902
  <type by_reference="false">array</type>
2903
  </tag>
2904
+ <tag line="1531" name="return" description="success/failure message and NULL content" type="array">
2905
  <type by_reference="false">array</type>
2906
  </tag>
2907
  </docblock>
2908
+ <argument line="1540">
2909
  <name>$post_id</name>
2910
  <default><![CDATA[]]></default>
2911
  <type/>
4459
  </method>
4460
  </class>
4461
  </file>
4462
+ <file path="includes\class-mla-options.php" hash="cf5437042ae758b119570384adb41cb6" package="Media Library Assistant">
4463
  <docblock line="2">
4464
  <description><![CDATA[Manages the plugin option settings]]></description>
4465
  <long-description><![CDATA[]]></long-description>
5461
  <type/>
5462
  </argument>
5463
  </method>
5464
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2455" package="Media Library Assistant">
5465
  <name>_compose_iptc_option_list</name>
5466
  <full_name>_compose_iptc_option_list</full_name>
5467
+ <docblock line="2445">
5468
  <description><![CDATA[Compose an IPTC Options list with current selection]]></description>
5469
  <long-description><![CDATA[]]></long-description>
5470
+ <tag line="2445" name="since" description="1.00"/>
5471
+ <tag line="2445" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
5472
+ <tag line="2445" name="param" description="current selection or 'none' (default)" type="string" variable="$selection">
5473
  <type by_reference="false">string</type>
5474
  </tag>
5475
+ <tag line="2445" name="return" description="HTML markup with select field options" type="string">
5476
  <type by_reference="false">string</type>
5477
  </tag>
5478
  </docblock>
5479
+ <argument line="2455">
5480
  <name>$selection</name>
5481
  <default><![CDATA['none']]></default>
5482
  <type/>
5483
  </argument>
5484
  </method>
5485
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2488" package="Media Library Assistant">
5486
  <name>_compose_parent_option_list</name>
5487
  <full_name>_compose_parent_option_list</full_name>
5488
+ <docblock line="2477">
5489
  <description><![CDATA[Compose an hierarchical taxonomy Parent options list with current selection]]></description>
5490
  <long-description><![CDATA[]]></long-description>
5491
+ <tag line="2477" name="since" description="1.00"/>
5492
+ <tag line="2477" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
5493
+ <tag line="2477" name="param" description="taxonomy slug" type="string" variable="$taxonomy">
5494
  <type by_reference="false">string</type>
5495
  </tag>
5496
+ <tag line="2477" name="param" description="current selection or 0 (zero, default)" type="integer" variable="$selection">
5497
  <type by_reference="false">integer</type>
5498
  </tag>
5499
+ <tag line="2477" name="return" description="HTML markup with select field options" type="string">
5500
  <type by_reference="false">string</type>
5501
  </tag>
5502
  </docblock>
5503
+ <argument line="2488">
5504
  <name>$taxonomy</name>
5505
  <default><![CDATA[]]></default>
5506
  <type/>
5507
  </argument>
5508
+ <argument line="2488">
5509
  <name>$selection</name>
5510
  <default><![CDATA[0]]></default>
5511
  <type/>
5512
  </argument>
5513
  </method>
5514
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2522" package="Media Library Assistant">
5515
  <name>_update_iptc_exif_standard_mapping</name>
5516
  <full_name>_update_iptc_exif_standard_mapping</full_name>
5517
+ <docblock line="2512">
5518
  <description><![CDATA[Update Standard field portion of IPTC/EXIF mappings]]></description>
5519
  <long-description><![CDATA[]]></long-description>
5520
+ <tag line="2512" name="since" description="1.00"/>
5521
+ <tag line="2512" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
5522
  <type by_reference="false">array</type>
5523
  </tag>
5524
+ <tag line="2512" name="param" description="new values" type="array" variable="$new_values">
5525
  <type by_reference="false">array</type>
5526
  </tag>
5527
+ <tag line="2512" 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">
5528
  <type by_reference="false">array</type>
5529
  </tag>
5530
  </docblock>
5531
+ <argument line="2522">
5532
  <name>$current_values</name>
5533
  <default><![CDATA[]]></default>
5534
  <type/>
5535
  </argument>
5536
+ <argument line="2522">
5537
  <name>$new_values</name>
5538
  <default><![CDATA[]]></default>
5539
  <type/>
5540
  </argument>
5541
  </method>
5542
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2601" package="Media Library Assistant">
5543
  <name>_update_iptc_exif_taxonomy_mapping</name>
5544
  <full_name>_update_iptc_exif_taxonomy_mapping</full_name>
5545
+ <docblock line="2591">
5546
  <description><![CDATA[Update Taxonomy term portion of IPTC/EXIF mappings]]></description>
5547
  <long-description><![CDATA[]]></long-description>
5548
+ <tag line="2591" name="since" description="1.00"/>
5549
+ <tag line="2591" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
5550
  <type by_reference="false">array</type>
5551
  </tag>
5552
+ <tag line="2591" name="param" description="new values" type="array" variable="$new_values">
5553
  <type by_reference="false">array</type>
5554
  </tag>
5555
+ <tag line="2591" 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">
5556
  <type by_reference="false">array</type>
5557
  </tag>
5558
  </docblock>
5559
+ <argument line="2601">
5560
  <name>$current_values</name>
5561
  <default><![CDATA[]]></default>
5562
  <type/>
5563
  </argument>
5564
+ <argument line="2601">
5565
  <name>$new_values</name>
5566
  <default><![CDATA[]]></default>
5567
  <type/>
5568
  </argument>
5569
  </method>
5570
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2693" package="Media Library Assistant">
5571
  <name>_update_iptc_exif_custom_mapping</name>
5572
  <full_name>_update_iptc_exif_custom_mapping</full_name>
5573
+ <docblock line="2683">
5574
  <description><![CDATA[Update Custom field portion of IPTC/EXIF mappings]]></description>
5575
  <long-description><![CDATA[]]></long-description>
5576
+ <tag line="2683" name="since" description="1.00"/>
5577
+ <tag line="2683" name="param" description="current iptc_exif_mapping values" type="array" variable="$current_values">
5578
  <type by_reference="false">array</type>
5579
  </tag>
5580
+ <tag line="2683" name="param" description="new values" type="array" variable="$new_values">
5581
  <type by_reference="false">array</type>
5582
  </tag>
5583
+ <tag line="2683" 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">
5584
  <type by_reference="false">array</type>
5585
  </tag>
5586
  </docblock>
5587
+ <argument line="2693">
5588
  <name>$current_values</name>
5589
  <default><![CDATA[]]></default>
5590
  <type/>
5591
  </argument>
5592
+ <argument line="2693">
5593
  <name>$new_values</name>
5594
  <default><![CDATA[]]></default>
5595
  <type/>
5596
  </argument>
5597
  </method>
5598
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2814" package="Media Library Assistant">
5599
  <name>_get_custom_field_names</name>
5600
  <full_name>_get_custom_field_names</full_name>
5601
+ <docblock line="2807">
5602
  <description><![CDATA[Generate a list of all (post) Custom Field names]]></description>
5603
  <long-description><![CDATA[]]></long-description>
5604
+ <tag line="2807" name="since" description="1.00"/>
5605
+ <tag line="2807" name="return" description="Custom field names from the postmeta table" type="array">
5606
  <type by_reference="false">array</type>
5607
  </tag>
5608
  </docblock>
5609
  </method>
5610
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2843" package="Media Library Assistant">
5611
  <name>mla_iptc_exif_option_handler</name>
5612
  <full_name>mla_iptc_exif_option_handler</full_name>
5613
+ <docblock line="2830">
5614
  <description><![CDATA[Render and manage iptc/exif support options]]></description>
5615
  <long-description><![CDATA[]]></long-description>
5616
+ <tag line="2830" name="since" description="1.00"/>
5617
+ <tag line="2830" name="uses" description="\global\$mla_option_templates" refers="\global\$mla_option_templates"/>
5618
+ <tag line="2830" name="param" description="'render', 'update', 'delete', or 'reset'" type="string" variable="$action">
5619
  <type by_reference="false">string</type>
5620
  </tag>
5621
+ <tag line="2830" name="param" description="option name, e.g., 'iptc_exif_mapping'" type="string" variable="$key">
5622
  <type by_reference="false">string</type>
5623
  </tag>
5624
+ <tag line="2830" name="param" description="option parameters" type="array" variable="$value">
5625
  <type by_reference="false">array</type>
5626
  </tag>
5627
+ <tag line="2830" name="param" description="Optional. null (default) for 'render' else option data, e.g., $_REQUEST" type="array" variable="$args">
5628
  <type by_reference="false">array</type>
5629
  </tag>
5630
+ <tag line="2830" name="return" description="HTML table row markup for 'render' else message(s) reflecting the results of the operation." type="string">
5631
  <type by_reference="false">string</type>
5632
  </tag>
5633
  </docblock>
5634
+ <argument line="2843">
5635
  <name>$action</name>
5636
  <default><![CDATA[]]></default>
5637
  <type/>
5638
  </argument>
5639
+ <argument line="2843">
5640
  <name>$key</name>
5641
  <default><![CDATA[]]></default>
5642
  <type/>
5643
  </argument>
5644
+ <argument line="2843">
5645
  <name>$value</name>
5646
  <default><![CDATA[]]></default>
5647
  <type/>
5648
  </argument>
5649
+ <argument line="2843">
5650
  <name>$args</name>
5651
  <default><![CDATA[null]]></default>
5652
  <type/>
5654
  </method>
5655
  </class>
5656
  </file>
5657
+ <file path="includes\class-mla-settings.php" hash="fd58e06d80dc0905f5da8e52b33d3983" package="Media Library Assistant">
5658
  <docblock line="2">
5659
  <description><![CDATA[Manages the settings page to edit the plugin option settings]]></description>
5660
  <long-description><![CDATA[]]></long-description>
6546
  </method>
6547
  </class>
6548
  </file>
6549
+ <file path="includes\class-mla-shortcodes.php" hash="99723b81ab78a1df150450b6ad58a610" package="Media Library Assistant">
6550
  <docblock line="2">
6551
  <description><![CDATA[Media Library Assistant Shortcode handler(s)]]></description>
6552
  <long-description><![CDATA[]]></long-description>
6587
  </tag>
6588
  </docblock>
6589
  </property>
6590
+ <property final="false" static="true" visibility="private" line="1053" namespace="global" package="Media Library Assistant">
6591
  <name>$query_parameters</name>
6592
  <default><![CDATA[array()]]></default>
6593
+ <docblock line="1039">
6594
  <description><![CDATA[WP_Query filter "parameters"]]></description>
6595
  <long-description><![CDATA[<p>This array defines parameters for the query's where and orderby filters,
6596
  mla_shortcode_query_posts_where_filter and mla_shortcode_query_posts_orderby_filter.
6598
  any further logic required to translate those values is contained in the filter.</p>
6599
 
6600
  <p>Array index values are: orderby, post_parent</p>]]></long-description>
6601
+ <tag line="1039" name="since" description="1.13"/>
6602
+ <tag line="1039" name="var" description="" type="array">
6603
  <type by_reference="false">array</type>
6604
  </tag>
6605
  </docblock>
6606
  </property>
6607
+ <property final="false" static="true" visibility="private" line="1162" namespace="global" package="Media Library Assistant">
6608
  <name>$data_selection_parameters</name>
6609
  <default><![CDATA[array('order' => 'ASC', 'orderby' => 'menu_order,ID', 'id' => NULL, 'ids' => array(), 'include' => array(), 'exclude' => array(), 'post_parent' => NULL, 'author' => NULL, 'author_name' => '', 'cat' => 0, 'category_name' => '', 'category__and' => array(), 'category__in' => array(), 'category__not_in' => array(), 'tag' => '', 'tag_id' => 0, 'tag__and' => array(), 'tag__in' => array(), 'tag__not_in' => array(), 'tag_slug__and' => array(), 'tag_slug__in' => array(), 'tax_operator' => '', 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_mime_type' => 'image', 'nopaging' => true, 'numberposts' => 0, 'posts_per_page' => 0, 'posts_per_archive_page' => 0, 'paged' => NULL, 'offset' => NULL, 'meta_key' => '', 'meta_value' => '', 'meta_value_num' => NULL, 'meta_compare' => '', 'meta_query' => '', 's' => '')]]></default>
6610
+ <docblock line="1155">
6611
  <description><![CDATA[Data selection parameters for the WP_Query in [mla_gallery]]]></description>
6612
  <long-description><![CDATA[]]></long-description>
6613
+ <tag line="1155" name="since" description="1.30"/>
6614
+ <tag line="1155" name="var" description="" type="array">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6615
  <type by_reference="false">array</type>
6616
  </tag>
6617
  </docblock>
6662
  <type/>
6663
  </argument>
6664
  </method>
6665
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1033" package="Media Library Assistant">
6666
  <name>_process_shortcode_parameter</name>
6667
  <full_name>_process_shortcode_parameter</full_name>
6668
+ <docblock line="1023">
6669
  <description><![CDATA[Handles brace/bracket escaping and parses template for a shortcode parameter]]></description>
6670
  <long-description><![CDATA[]]></long-description>
6671
+ <tag line="1023" name="since" description="1.14"/>
6672
+ <tag line="1023" name="param" description="raw shortcode parameter, e.g., &quot;text {+field+} {brackets} \\{braces\\}&quot;" type="string" variable="$text">
6673
  <type by_reference="false">string</type>
6674
  </tag>
6675
+ <tag line="1023" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
6676
  <type by_reference="false">string</type>
6677
  </tag>
6678
+ <tag line="1023" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6679
  <type by_reference="false">string</type>
6680
  </tag>
6681
  </docblock>
6682
+ <argument line="1033">
6683
  <name>$text</name>
6684
  <default><![CDATA[]]></default>
6685
  <type/>
6686
  </argument>
6687
+ <argument line="1033">
6688
  <name>$markup_values</name>
6689
  <default><![CDATA[]]></default>
6690
  <type/>
6691
  </argument>
6692
  </method>
6693
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1064" package="Media Library Assistant">
6694
  <name>_sanitize_query_specification</name>
6695
  <full_name>_sanitize_query_specification</full_name>
6696
+ <docblock line="1055">
6697
  <description><![CDATA[Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications]]></description>
6698
  <long-description><![CDATA[]]></long-description>
6699
+ <tag line="1055" name="since" description="1.14"/>
6700
+ <tag line="1055" name="param" description="query specification; PHP nested arrays" type="string" variable="$specification">
6701
  <type by_reference="false">string</type>
6702
  </tag>
6703
+ <tag line="1055" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6704
  <type by_reference="false">string</type>
6705
  </tag>
6706
  </docblock>
6707
+ <argument line="1064">
6708
  <name>$specification</name>
6709
  <default><![CDATA[]]></default>
6710
  <type/>
6711
  </argument>
6712
  </method>
6713
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1081" package="Media Library Assistant">
6714
  <name>_validate_sql_orderby</name>
6715
  <full_name>_validate_sql_orderby</full_name>
6716
+ <docblock line="1070">
6717
  <description><![CDATA[Translates query parameters to a valid SQL order by clause.]]></description>
6718
  <long-description><![CDATA[<p>Accepts one or more valid columns, with or without ASC/DESC.
6719
  Enhanced version of /wp-includes/formatting.php function sanitize_sql_orderby().</p>]]></long-description>
6720
+ <tag line="1070" name="since" description="1.20"/>
6721
+ <tag line="1070" name="param" description="Validated query parameters" type="array" variable="$query_parameters">
6722
  <type by_reference="false">array</type>
6723
  </tag>
6724
+ <tag line="1070" name="return" description="Returns the orderby clause if present, false otherwise." type="string|bool">
6725
  <type by_reference="false">string</type>
6726
  <type by_reference="false">bool</type>
6727
  </tag>
6728
  </docblock>
6729
+ <argument line="1081">
6730
  <name>$query_parameters</name>
6731
  <default><![CDATA[]]></default>
6732
  <type/>
6733
  </argument>
6734
  </method>
6735
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1225" package="Media Library Assistant">
6736
  <name>mla_get_shortcode_attachments</name>
6737
  <full_name>mla_get_shortcode_attachments</full_name>
6738
+ <docblock line="1215">
6739
  <description><![CDATA[Parses shortcode parameters and returns the gallery objects]]></description>
6740
  <long-description><![CDATA[]]></long-description>
6741
+ <tag line="1215" name="since" description=".50"/>
6742
+ <tag line="1215" name="param" description="Post ID of the parent" type="int" variable="$post_parent">
6743
  <type by_reference="false">int</type>
6744
  </tag>
6745
+ <tag line="1215" name="param" description="Attributes of the shortcode" type="array" variable="$attr">
6746
  <type by_reference="false">array</type>
6747
  </tag>
6748
+ <tag line="1215" name="return" description="List of attachments returned from WP_Query" type="array">
6749
  <type by_reference="false">array</type>
6750
  </tag>
6751
  </docblock>
6752
+ <argument line="1225">
6753
  <name>$post_parent</name>
6754
  <default><![CDATA[]]></default>
6755
  <type/>
6756
  </argument>
6757
+ <argument line="1225">
6758
  <name>$attr</name>
6759
  <default><![CDATA[]]></default>
6760
  <type/>
6761
  </argument>
6762
  </method>
6763
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1563" package="Media Library Assistant">
6764
  <name>mla_shortcode_query_posts_where_filter</name>
6765
  <full_name>mla_shortcode_query_posts_where_filter</full_name>
6766
+ <docblock line="1549">
6767
  <description><![CDATA[Filters the WHERE clause for shortcode queries]]></description>
6768
  <long-description><![CDATA[<p>Captures debug information. Adds whitespace to the post_type = 'attachment'
6769
  phrase to circumvent subsequent Role Scoper modification of the clause.
6770
  Handles post_parent "any" and "none" cases.
6771
  Defined as public because it's a filter.</p>]]></long-description>
6772
+ <tag line="1549" name="since" description="0.70"/>
6773
+ <tag line="1549" name="param" description="query clause before modification" type="string" variable="$where_clause">
6774
  <type by_reference="false">string</type>
6775
  </tag>
6776
+ <tag line="1549" name="return" description="query clause after modification" type="string">
6777
  <type by_reference="false">string</type>
6778
  </tag>
6779
  </docblock>
6780
+ <argument line="1563">
6781
  <name>$where_clause</name>
6782
  <default><![CDATA[]]></default>
6783
  <type/>
6784
  </argument>
6785
  </method>
6786
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1604" package="Media Library Assistant">
6787
  <name>mla_shortcode_query_posts_orderby_filter</name>
6788
  <full_name>mla_shortcode_query_posts_orderby_filter</full_name>
6789
+ <docblock line="1592">
6790
  <description><![CDATA[Filters the ORDERBY clause for shortcode queries]]></description>
6791
  <long-description><![CDATA[<p>This is an enhanced version of the code found in wp-includes/query.php, function get_posts.
6792
  Defined as public because it's a filter.</p>]]></long-description>
6793
+ <tag line="1592" name="since" description="1.20"/>
6794
+ <tag line="1592" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
6795
  <type by_reference="false">string</type>
6796
  </tag>
6797
+ <tag line="1592" name="return" description="query clause after modification" type="string">
6798
  <type by_reference="false">string</type>
6799
  </tag>
6800
  </docblock>
6801
+ <argument line="1604">
6802
  <name>$orderby_clause</name>
6803
  <default><![CDATA[]]></default>
6804
  <type/>
6805
  </argument>
6806
  </method>
6807
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1629" package="Media Library Assistant">
6808
  <name>mla_shortcode_query_posts_clauses_filter</name>
6809
  <full_name>mla_shortcode_query_posts_clauses_filter</full_name>
6810
+ <docblock line="1617">
6811
  <description><![CDATA[Filters all clauses for shortcode queries, pre caching plugins]]></description>
6812
  <long-description><![CDATA[<p>This is for debug purposes only.
6813
  Defined as public because it's a filter.</p>]]></long-description>
6814
+ <tag line="1617" name="since" description="1.30"/>
6815
+ <tag line="1617" name="param" description="query clauses before modification" type="array" variable="$pieces">
6816
  <type by_reference="false">array</type>
6817
  </tag>
6818
+ <tag line="1617" name="return" description="query clauses after modification (none)" type="array">
6819
  <type by_reference="false">array</type>
6820
  </tag>
6821
  </docblock>
6822
+ <argument line="1629">
6823
  <name>$pieces</name>
6824
  <default><![CDATA[]]></default>
6825
  <type/>
6826
  </argument>
6827
  </method>
6828
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1647" package="Media Library Assistant">
6829
  <name>mla_shortcode_query_posts_clauses_request_filter</name>
6830
  <full_name>mla_shortcode_query_posts_clauses_request_filter</full_name>
6831
+ <docblock line="1635">
6832
  <description><![CDATA[Filters all clauses for shortcode queries, post caching plugins]]></description>
6833
  <long-description><![CDATA[<p>This is for debug purposes only.
6834
  Defined as public because it's a filter.</p>]]></long-description>
6835
+ <tag line="1635" name="since" description="1.30"/>
6836
+ <tag line="1635" name="param" description="query clauses before modification" type="array" variable="$pieces">
6837
  <type by_reference="false">array</type>
6838
  </tag>
6839
+ <tag line="1635" name="return" description="query clauses after modification (none)" type="array">
6840
  <type by_reference="false">array</type>
6841
  </tag>
6842
  </docblock>
6843
+ <argument line="1647">
6844
  <name>$pieces</name>
6845
  <default><![CDATA[]]></default>
6846
  <type/>
8497
  </docblock>
8498
  </function>
8499
  </file>
8500
+ <file path="index.php" hash="984eea0f669aa25facb067b5cfd74557" package="Media Library Assistant">
8501
  <docblock line="2">
8502
  <description><![CDATA[Provides several enhancements to the handling of images and files held in the WordPress Media Library]]></description>
8503
  <long-description><![CDATA[<p>This file contains several tests for name conflicts with other plugins. Only if the tests are passed
8504
  will the rest of the plugin be loaded and run.</p>]]></long-description>
8505
  <tag line="2" name="package" description="Media Library Assistant"/>
8506
+ <tag line="2" name="version" description="1.41"/>
8507
  </docblock>
8508
  <include line="109" type="Require Once" package="Media Library Assistant">
8509
  <name>includes/mla-plugin-loader.php</name>
readme.txt CHANGED
@@ -4,7 +4,7 @@ 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, lightroom, photoshop, MIME, mime-type, icon, upload, file extensions
5
  Requires at least: 3.3
6
  Tested up to: 3.5.1
7
- Stable tag: 1.40
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -119,6 +119,20 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
119
 
120
  == Changelog ==
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  = 1.40 =
123
  * New: **"base" selection** for the where-used database access tuning "Inserted in" option **can significantly improve performance** while retaining the most useful part of the where-used information. It's on the Settings/Media Library Assistant screen, General tab.
124
  * New: **Add Post MIME Types and define new views** for the Media/Library screen and the Media Manager/Add Media "media items" drop down list.
@@ -317,8 +331,8 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
317
 
318
  == Upgrade Notice ==
319
 
320
- = 1.40 =
321
- Better performance! New custom table views, Post MIME Type and Upload file/MIMEs control; 112 file type icons to choose from. Four new Gallery Display Content parameters. four other enhancements, twelve fixes.
322
 
323
  == Other Notes ==
324
 
@@ -453,6 +467,41 @@ If you are working with a template that supports pagination you can use specific
453
 
454
  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.
455
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  == Support for Other Gallery-generating Shortcodes ==
457
 
458
  The [mla_gallery] shortcode can be used in combination with other gallery-generating shortcodes to give you the data selection power of [mla_gallery] and the formatting/display power of popular alternatives such as the WordPress.com Jetpack Carousel and Tiled Galleries modules. Any shortcode that accepts "ids=" or a similar parameter listing the attachment ID values for the gallery can be used. Two parameters implement this feature:
@@ -524,8 +573,9 @@ The <strong>",single" option</strong> defines how to handle fields with multiple
524
 
525
  The <strong>",export" option</strong> changed the display of array fields with multiple values. If this option is present, the PHP `var_export` function is used to return a string representation of all the elements in an array field.
526
 
527
- There are six prefix values for field-level data. Prefix values must be coded as shown; all lowercase letters.
528
 
 
529
  * `query`: The parameters defined in the `[mla_gallery]` shortcode. For example, if your shortcode is `[mla gallery attachment_tag=my-tag div-class=some_class]` you can access the parameters as `[+query:attachment_tag+]` and `[+query:div-class+]` respectively. Only the parameters actually coded in the shortcode are accessible; default values for parameters not actually coded are not available. You can define your own parameters, e.g., `div-class`; they will be accessible as field-level data but will otherwise be ignored.
530
  * `custom`: 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 `[mla_gallery]`. Custom field names are case-sensitive; "client" and "Client" are not the same.
531
  * `terms`: 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 `[mla_gallery]`. 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".
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, lightroom, photoshop, MIME, mime-type, icon, upload, file extensions
5
  Requires at least: 3.3
6
  Tested up to: 3.5.1
7
+ Stable tag: 1.41
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
119
 
120
  == Changelog ==
121
 
122
+ = 1.41 =
123
+ * New: For `[mla_gallery]`, the new `mla_output` parameter lets you get "previous_link" and "next_link" values to support moving through an `[mla_gallery]` one item at a time. Look for **Support for Alternative Gallery Output** in the Other Notes section or the Settings/Media Library Assistant Documentation tab for complete information.
124
+ * New: For `[mla_gallery]`, field-level substitution parameters now include $_REQUEST arguments. You can pass any values you need from HTML form or hyperlink variables to the Gallery Display Content parameters and to your custom style and markup templates.
125
+ * New: Hover text/tool tips, e.g., "Filter by...", "Edit..." added to most links on the Media/Assistant submenu table.
126
+ * New: The ALL_EXIF and ALL_IPTC pseudo variables now limit each field value to 256 bytes or less. Array values are included once, at their most expanded level.
127
+ * New: For `[mla_gallery]`, EXIF values containing arrays now use the ",single" and ",export" qualifiers.
128
+ * Fix: Intermittent "full height" display of attachment thumbnails has been eliminated. Attachment thumbnail is now a link to the Edit Media screen.
129
+ * Fix: EXIF and IPTC values containing invalid UTF8 characters are converted to valid UTF8 equivalents.
130
+ * Fix: When editing `[gallery]` shortcodes in the Media Manager the proper gallery contents (image thumbnails) are now returned.
131
+ * Fix: Better handling of Media/Assistant submenu table listing when returning from a Bulk Action, especially Bulk Edit. Display filters for date, category/tag and the search box are retained.
132
+ * Fix: For `[mla_gallery]`, Gallery Content Display parameters are now processed when `mla_viewer=true`.
133
+ * Fix: For `[mla_gallery]`, the default "alt" attribute (item caption) is processed when `mla_viewer=true`.
134
+ * Fix: For `[mla_gallery]`, error messages are displayed for invalid "terms:" and "custom:" substitution parameters.
135
+
136
  = 1.40 =
137
  * New: **"base" selection** for the where-used database access tuning "Inserted in" option **can significantly improve performance** while retaining the most useful part of the where-used information. It's on the Settings/Media Library Assistant screen, General tab.
138
  * New: **Add Post MIME Types and define new views** for the Media/Library screen and the Media Manager/Add Media "media items" drop down list.
331
 
332
  == Upgrade Notice ==
333
 
334
+ = 1.41 =
335
+ New [mla_gallery] "previous link" and "next link" output for gallery navigation. New "request" substitution parameter to access $_REQUEST variables. Three other enhancements, seven fixes.
336
 
337
  == Other Notes ==
338
 
467
 
468
  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.
469
 
470
+ == Support for Alternative Gallery Output ==
471
+ The [mla_gallery] shortcode can be used to provide "Previous" and "Next" links that support moving among the individual items in a gallery. Two parameters implement this feature:
472
+
473
+ * `mla_output` - the type of output the shortcode will return. The default value, "gallery", returns the traditional gallery of image thumbnails, etc. The "next_link" value returns a link to the next gallery item, and "previous_link" returns a link to the previous gallery item.
474
+ * `id` - (optional) the ID of the "current" gallery item.
475
+
476
+ The link returned is drawn from the attachment-specific "link" substitution parameter for the next or previous gallery item. This means you can use all of the **Gallery Display Content** parameters to control each element of the link. For example, you can code `mla_rollover_text='&larr; Previous'` to replace the thumbnail image with a generic text link to the "previous_link" item. You can also add HTML arguments to the link to pass values along from one page to the next.
477
+
478
+ For example, you can select images using the MLA Att. Tag taxonomy and have each gallery item link to a page (page_id=893 in this case) that displays a larger version of the single image:
479
+
480
+ `
481
+ [mla_gallery attachment_tag="sample" mla_caption="{+title+}" mla_link_href="{+site_url+}?page_id=893&current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]
482
+ `
483
+
484
+ Note the use of `attachment_tag={+query:attachment_tag+}` in the href to pass the tag value from the gallery page to the single-image page. The single-image page would have three [mla+gallery] shortcodes; one to display the image and two for the "Previous Sample" and "Next Sample" links:
485
+
486
+ `
487
+ [mla_gallery columns=1 ids="{+request:current_id+}" size=medium]
488
+
489
+ <div style="clear: both; float: left">
490
+ [mla_gallery mla_output="previous_link,wrap" mla_link_text='← Previous Sample' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_caption="{+title+}" mla_link_href="{+site_url+}?page_id=893&current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]
491
+ </div>
492
+ <div style="float: right">
493
+ [mla_gallery mla_output="next_link,wrap" mla_link_text='Next Sample →' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_caption="{+title+}" mla_link_href="{+site_url+}?page_id=893&current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]
494
+ </div>
495
+ `
496
+
497
+ Note the following points:
498
+
499
+ 1.The "ids" parameter in the first [mla_gallery] takes the "current_id" value (for the single image to be displayed) from the HTML $_REQUEST array.
500
+ 2.The "id" parameters in the second and third [mla_gallery] take the "current_id" value from the HTML $_REQUEST array. In these "galleries" the "current_id" is the item from which "previous" and "next" are calculated.
501
+ 3.The "attachment_tag" parameters in the second and third [mla_gallery] take the their value from the HTML $_REQUEST array as well. The Att. Tag value is used to reconstruct the original gallery for the previous/next calculation.
502
+
503
+ This example shows the power of the substitution parameters and in particular the "query" and "request" prefixes that can be used to pass information into an [mla_gallery] and from one page to the next. All of this without modifying PHP templates or requiring other code modifications!
504
+
505
  == Support for Other Gallery-generating Shortcodes ==
506
 
507
  The [mla_gallery] shortcode can be used in combination with other gallery-generating shortcodes to give you the data selection power of [mla_gallery] and the formatting/display power of popular alternatives such as the WordPress.com Jetpack Carousel and Tiled Galleries modules. Any shortcode that accepts "ids=" or a similar parameter listing the attachment ID values for the gallery can be used. Two parameters implement this feature:
573
 
574
  The <strong>",export" option</strong> changed the display of array fields with multiple values. If this option is present, the PHP `var_export` function is used to return a string representation of all the elements in an array field.
575
 
576
+ There are seven prefix values for field-level data. Prefix values must be coded as shown; all lowercase letters.
577
 
578
+ * `request`: The parameters defined in the `$_REQUEST` array; the "query strings" sent from the browser. The PHP $_REQUEST variable is a superglobal Array that contains the contents of both $_GET, $_POST, and $_COOKIE arrays. It can be used to collect data sent with both the GET and POST methods. For example, if the URL is `http://www.mysite.com/mypage?myarg=myvalue` you can access the query string as `[+request:myarg+]`, which has the value "myvalue".
579
  * `query`: The parameters defined in the `[mla_gallery]` shortcode. For example, if your shortcode is `[mla gallery attachment_tag=my-tag div-class=some_class]` you can access the parameters as `[+query:attachment_tag+]` and `[+query:div-class+]` respectively. Only the parameters actually coded in the shortcode are accessible; default values for parameters not actually coded are not available. You can define your own parameters, e.g., `div-class`; they will be accessible as field-level data but will otherwise be ignored.
580
  * `custom`: 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 `[mla_gallery]`. Custom field names are case-sensitive; "client" and "Client" are not the same.
581
  * `terms`: 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 `[mla_gallery]`. 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".
tpls/documentation-settings-tab.tpl CHANGED
@@ -4,6 +4,30 @@
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="#alt_shortcode"><strong>Support for Other Gallery-generating Shortcodes</strong></a>
@@ -75,6 +99,7 @@ The <code>[mla_gallery]</code> shortcode is used in a post, page or custom post
75
  </ul>
76
  <p>
77
  All of the options/parameters documented for the <code>[gallery]</code> shortcode are supported by the <code>[mla_gallery]</code> shortcode; you can find them in the <a href="http://codex.wordpress.org/Gallery_Shortcode" title="WordPress Codex link" target="_blank">WordPress Codex</a>. Most of the parameters documented for the WP_Query class are also supported; see the <a href="http://codex.wordpress.org/Class_Reference/WP_Query" title="WordPress Codex link" target="_blank">Codex WP_Query class reference</a>. Because the <code>[mla_gallery]</code> shortcode is designed to work with Media Library items, there are some parameter differences and extensions; these are documented below.
 
78
  </p>
79
  <h4>Gallery Display Style</h4>
80
  <p>
@@ -109,6 +134,7 @@ Three <code>[mla_gallery]</code> parameters provide control over the placement,
109
  </table>
110
  <p>
111
  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 <code>[mla_gallery size=full]</code>, 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.
 
112
  </p>
113
  <h4>Gallery Display Content</h4>
114
  <p>
@@ -116,6 +142,10 @@ Nine <code>[mla_gallery]</code> parameters provide an easy way to control the co
116
  </p>
117
  <table>
118
  <tr>
 
 
 
 
119
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_link_attributes</td>
120
  <td>adds one or more HTML attributes to the hyperlink for each gallery item; see below</td>
121
  </tr>
@@ -163,6 +193,7 @@ The "mla_link_attributes" and "mla_image_attributes" parameters accept any value
163
  </p>
164
  <p>
165
  The "mla_target" parameter accepts any value and adds an HTML "target" attribute to the hyperlink with that value. For example, if you code <code>mla_target="_blank"</code> the item will open in a new window or tab. You can also use "_self", "_parent", "_top" or the "<em>framename</em>" of a named frame.
 
166
  </p>
167
  <h4>Google File Viewer Support</h4>
168
  <p>
@@ -187,7 +218,9 @@ Four <code>[mla_gallery]</code> parameters provide an easy way to generate thumb
187
  </tr>
188
  </table>
189
  <p>
190
- When this feature is active, gallery items for which WordPress can generate a thumbnail image are not altered. If WordPress generation fails, the gallery thumbnail is replaced by an "img" html tag whose "src" attribute contains a url reference to the Google File Viewer. The Google File Viewer arguments include the url of the source file, the page number and the width. Note that the source file must be Internet accessible; files behind firewalls and on local servers will not generate a thumbnail image.</p>
 
 
191
  <h4>Order, Orderby</h4>
192
  <p>
193
  The Orderby parameter specifies which database field(s) are used to sort the gallery. You can sort the gallery by one or more of these values (there is additional information on some of these values in the <a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" title="WordPress Codex link" target="_blank">Codex WP_Query class reference</a>):
@@ -262,6 +295,7 @@ The Orderby parameter specifies which database field(s) are used to sort the gal
262
  You can sort on more than one value, e.g., <code>orderby="author, date DESC"</code> and you can specify ASC/DESC on a value by value basis. <strong>NOTE: multiple orderby values are separated by commas, not spaces.</strong> This is a change from WP_Query. </p>
263
  <p>
264
  The order parameter (default ASC) can give an ASC/DESC default for any value that doesn't have a specific choice. For example, <code>orderby="author, date DESC, mime_type" order=ASC</code> is the same as <code>orderby="author ASC, date DESC, mime_type ASC"</code>.
 
265
  </p>
266
  <h4>Size</h4>
267
  <p>
@@ -269,6 +303,7 @@ The Size parameter specifies the image size to use for the thumbnail display. Va
269
  </p>
270
  <p>
271
  The <code>[mla_gallery]</code> shortcode supports an additional Size value, "icon", which shows a 60x60 (or 64x64) pixel thumbnail for image items and an appropriate icon for non-image items such as PDF or text files.
 
272
  </p>
273
  <h4>Link</h4>
274
  <p>
@@ -276,10 +311,12 @@ The Link parameter specifies the target for the link from the gallery to the att
276
  </p>
277
  <p>
278
  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.
 
279
  </p>
280
  <h4>Include, Exclude</h4>
281
  <p>
282
  You can use <code>post_parent=all</code> to include or exclude attachments regardless of which post or page they are attached to. You can use <code>post_mime_type=all</code> to include or exclude attachments of all MIME types, not just images.
 
283
  </p>
284
  <h4>Post ID, "ids", Post Parent</h4>
285
  <p>
@@ -296,14 +333,17 @@ Two other "post_parent" values let you restrict the gallery to attached or unatt
296
  </p>
297
  <p>
298
  For example, <code>[mla_gallery tag="artisan"]</code> will display all images having the specified tag value, regardless of which post (if any) they are attached to. If you use <code>[mla_gallery tag="artisan" post_parent="current"]</code> it will display images having the specified tag value only if they are attached to the current post.
 
299
  </p>
300
  <h4>Author, Author Name</h4>
301
  <p>
302
  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.
 
303
  </p>
304
  <h4>Category Parameters</h4>
305
  <p>
306
  The Category parameters search in the WordPress core &quot;Categories&quot; taxonomy. Remember to use <code>post_parent=current</code> if you want to restrict your query to items attached to the current post.
 
307
  </p>
308
  <h4>Tag Parameters</h4>
309
  <p>
@@ -311,6 +351,7 @@ The Tag parameters search in the WordPress core &quot;Tags&quot; taxonomy. Remem
311
  </p>
312
  <p>
313
  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.
 
314
  </p>
315
  <h4>Taxonomy Parameters, "tax_operator"</h4>
316
  <p>
@@ -352,22 +393,27 @@ When embedding the shortcode in the body of a post, be very careful when coding
352
  </p>
353
  <p>
354
  Remember to use <code>post_parent=current</code> if you want to restrict your query to items attached to the current post.
 
355
  </p>
356
  <h4>Post MIME Type</h4>
357
  <p>
358
  For compatibility with the WordPress <code>[gallery]</code> shortcode, this parameter defaults to <code>post_mime_type=image</code>. You can override the default to, for example, display PDF documents (<code>post_mime_type=application/pdf</code>) or all MIME types (<code>post_mime_type=all</code>). You can select several MIME types with a comma-separated list, e.g., <code>post_mime_type='audio,video'</code>. Wildcard specifications are also supported. For example, <code>post_mime_type='*/mpeg'</code> to select audio and video mpeg formats or <code>post_mime_type='application/*ms*'</code> to select all Microsoft application formats (Word, Excel, etc.).
 
359
  </p>
360
  <h4>Post Type, Post Status</h4>
361
  <p>
362
  For compatibility with the WordPress <code>[gallery]</code> shortcode, these parameters default to <code>post_type=attachment</code>, <code>post_status=inherit</code>. You can override the defaults to, for example, display items in the trash (<code>post_status=trash</code>). 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.
 
363
  </p>
364
  <h4>Pagination Parameters</h4>
365
  <p>
366
  The <code>[mla_gallery]</code> shortcode supplies <code>nopaging=true</code> as a default parameter. If you are working with a template that supports pagination you can replace this with specific values for "numberposts", "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')).
 
367
  </p>
368
  <h4>Time Parameters</h4>
369
  <p>
370
  Support for time parameters is not included in the current version. I may add it later - let me know if you need it.
 
371
  </p>
372
  <h4>Custom Field Parameters</h4>
373
  <p>
@@ -378,15 +424,72 @@ When embedding the shortcode in the body of a post, be very careful when coding
378
  </p>
379
  <p>
380
  Remember to use <code>post_parent=current</code> if you want to restrict your query to items attached to the current post.
 
381
  </p>
382
  <h4>Search Keywords</h4>
383
  <p>
384
  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.
 
385
  </p>
386
  <h4>Debugging Output</h4>
387
  <p>
388
  The "mla_debug" parameter controls the display of information about the query parameters and SQL statements used to retrieve gallery items. If you code <code>mla_debug=true</code> you will see a lot of information added to the post or page containing the gallery. Of course, this parameter should <strong><em>ONLY</em></strong> be used in a development/debugging environment; it's quite ugly.
389
  </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
390
  <a name="alt_shortcode"></a>
391
  &nbsp;
392
  <p>
@@ -773,9 +876,13 @@ The <strong>",single" option</strong> defines how to handle fields with multiple
773
  The <strong>",export" option</strong> changes the display of array fields with multiple values. If this option is present, the PHP <code>var_export</code> function is used to return a string representation of all the elements in an array field. For example, if you code <code>[+meta:sizes.thumbnail,export+]</code> the result will be "array ('file' => '20120313-ASK_5605-150x150.jpg', 'width' => 150, 'height' => 150, 'mime-type' => 'image/jpeg'".
774
  </p>
775
  <p>
776
- There are six prefix values for field-level data. Prefix values must be coded as shown; all lowercase letters.
777
  </p>
778
  <table>
 
 
 
 
779
  <tr>
780
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">query</td>
781
  <td>The parameters defined in the <code>[mla_gallery]</code> shortcode. For example, if your shortcode is <code>[mla gallery attachment_tag=my-tag div-class=some_class]</code> you can access the parameters as <code>[+query:attachment_tag+]</code> and <code>[+query:div-class+]</code> respectively. Only the parameters actually coded in the shortcode are accessible; default values for parameters not actually coded are not available. You can define your own parameters, e.g., "div-class"; they will be accessible as field-level data but will otherwise be ignored.</td>
@@ -786,7 +893,7 @@ There are six prefix values for field-level data. Prefix values must be coded as
786
  </tr>
787
  <tr>
788
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">terms</td>
789
- <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>
790
  </tr>
791
  <tr>
792
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">meta</td>
@@ -810,7 +917,9 @@ There are six prefix values for field-level data. Prefix values must be coded as
810
  <br />&nbsp;<br />
811
  MLA uses a standard PHP function, <a href="http://php.net/manual/en/function.exif-read-data.php" title="PHP Manual page for exif_read_data" target="_blank">exif_read_data</a>, to extract EXIF data from images. The function returns three arrays in addition to the raw EXIF data; COMPUTED, THUMBNAIL and COMMENT. You can access the array elements by prefacing the element you want with the array name. For example, the user comment text is available as "COMPUTED.UserComment" and "COMPUTED.UserCommentEncoding". You can also get "COMPUTED.Copyright" and its two parts (if present), "COMPUTED.Copyright.Photographer" and "COMPUTED.Copyright.Editor". The THUMBNAIL and COMMENT arrays work in a similar fashion.
812
  <br />&nbsp;<br />
813
- Two special exif "pseudo-values" are available; <strong>ALL_IPTC</strong> (<code>[+exif:ALL_IPTC+]</code>) and <strong>ALL_EXIF</strong> (<code>[+exif:ALL_EXIF+]</code>). These return a string representation of all IPTC or EXIF data respectively. You can use these pseudo-values to examine the metadata in an image, find field names and see what values are embedded in the image.</td>
 
 
814
  </tr>
815
  </table>
816
 
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
+ <ul style="list-style-position:inside; list-style:disc; line-height: 15px; padding-left: 20px">
8
+ <li><a href="#gallery_display_style">Gallery Display Style</a></li>
9
+ <li><a href="#gallery_display_content">Gallery Display Content</a></li>
10
+ <li><a href="#google_file_viewer_support">Google File Viewer Support</a></li>
11
+ <li><a href="#order_orderby">Order, Orderby</a></li>
12
+ <li><a href="#size">Size</a></li>
13
+ <li><a href="#link">Link</a></li>
14
+ <li><a href="#include_exclude">Include, Exclude</a></li>
15
+ <li><a href="#post_id_ids_post_parent">Post ID, "ids", Post Parent</a></li>
16
+ <li><a href="#author_author_name">Author, Author Name</a></li>
17
+ <li><a href="#category_parameters">Category Parameters</a></li>
18
+ <li><a href="#tag_parameters">Tag Parameters</a></li>
19
+ <li><a href="#taxonomy_parameters_tax_operator">Taxonomy Parameters, "tax_operator"</a></li>
20
+ <li><a href="#post_mime_type">Post MIME Type</a></li>
21
+ <li><a href="#post_type_post_status">Post Type, Post Status</a></li>
22
+ <li><a href="#pagination_parameters">Pagination Parameters</a></li>
23
+ <li><a href="#time_parameters">Time Parameters</a></li>
24
+ <li><a href="#custom_field_parameters">Custom Field Parameters</a></li>
25
+ <li><a href="#search_keywords">Search Keywords</a></li>
26
+ <li><a href="#debugging_output">Debugging Output</a></li>
27
+ </ul>
28
+ </li>
29
+ <li>
30
+ <a href="#mla_output"><strong>Support for Alternative Gallery Output</strong></a>
31
  </li>
32
  <li>
33
  <a href="#alt_shortcode"><strong>Support for Other Gallery-generating Shortcodes</strong></a>
99
  </ul>
100
  <p>
101
  All of the options/parameters documented for the <code>[gallery]</code> shortcode are supported by the <code>[mla_gallery]</code> shortcode; you can find them in the <a href="http://codex.wordpress.org/Gallery_Shortcode" title="WordPress Codex link" target="_blank">WordPress Codex</a>. Most of the parameters documented for the WP_Query class are also supported; see the <a href="http://codex.wordpress.org/Class_Reference/WP_Query" title="WordPress Codex link" target="_blank">Codex WP_Query class reference</a>. Because the <code>[mla_gallery]</code> shortcode is designed to work with Media Library items, there are some parameter differences and extensions; these are documented below.
102
+ <a name="gallery_display_style"></a>
103
  </p>
104
  <h4>Gallery Display Style</h4>
105
  <p>
134
  </table>
135
  <p>
136
  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 <code>[mla_gallery size=full]</code>, 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.
137
+ <a name="gallery_display_content"></a>
138
  </p>
139
  <h4>Gallery Display Content</h4>
140
  <p>
142
  </p>
143
  <table>
144
  <tr>
145
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_output</td>
146
+ <td>completely replaces gallery output with links to the "previous" or "next" item. Complete documentation is in the <a href="#mla_output"><strong>Support for Alternative Gallery Output</strong></a> section below.</td>
147
+ </tr>
148
+ <tr>
149
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_link_attributes</td>
150
  <td>adds one or more HTML attributes to the hyperlink for each gallery item; see below</td>
151
  </tr>
193
  </p>
194
  <p>
195
  The "mla_target" parameter accepts any value and adds an HTML "target" attribute to the hyperlink with that value. For example, if you code <code>mla_target="_blank"</code> the item will open in a new window or tab. You can also use "_self", "_parent", "_top" or the "<em>framename</em>" of a named frame.
196
+ <a name="google_file_viewer_support"></a>
197
  </p>
198
  <h4>Google File Viewer Support</h4>
199
  <p>
218
  </tr>
219
  </table>
220
  <p>
221
+ When this feature is active, gallery items for which WordPress can generate a thumbnail image are not altered. If WordPress generation fails, the gallery thumbnail is replaced by an "img" html tag whose "src" attribute contains a url reference to the Google File Viewer. The Google File Viewer arguments include the url of the source file, the page number and the width. Note that the source file must be Internet accessible; files behind firewalls and on local servers will not generate a thumbnail image.
222
+ <a name="order_orderby"></a>
223
+ </p>
224
  <h4>Order, Orderby</h4>
225
  <p>
226
  The Orderby parameter specifies which database field(s) are used to sort the gallery. You can sort the gallery by one or more of these values (there is additional information on some of these values in the <a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" title="WordPress Codex link" target="_blank">Codex WP_Query class reference</a>):
295
  You can sort on more than one value, e.g., <code>orderby="author, date DESC"</code> and you can specify ASC/DESC on a value by value basis. <strong>NOTE: multiple orderby values are separated by commas, not spaces.</strong> This is a change from WP_Query. </p>
296
  <p>
297
  The order parameter (default ASC) can give an ASC/DESC default for any value that doesn't have a specific choice. For example, <code>orderby="author, date DESC, mime_type" order=ASC</code> is the same as <code>orderby="author ASC, date DESC, mime_type ASC"</code>.
298
+ <a name="size"></a>
299
  </p>
300
  <h4>Size</h4>
301
  <p>
303
  </p>
304
  <p>
305
  The <code>[mla_gallery]</code> shortcode supports an additional Size value, "icon", which shows a 60x60 (or 64x64) pixel thumbnail for image items and an appropriate icon for non-image items such as PDF or text files.
306
+ <a name="link"></a>
307
  </p>
308
  <h4>Link</h4>
309
  <p>
311
  </p>
312
  <p>
313
  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.
314
+ <a name="include_exclude"></a>
315
  </p>
316
  <h4>Include, Exclude</h4>
317
  <p>
318
  You can use <code>post_parent=all</code> to include or exclude attachments regardless of which post or page they are attached to. You can use <code>post_mime_type=all</code> to include or exclude attachments of all MIME types, not just images.
319
+ <a name="post_id_ids_post_parent"></a>
320
  </p>
321
  <h4>Post ID, "ids", Post Parent</h4>
322
  <p>
333
  </p>
334
  <p>
335
  For example, <code>[mla_gallery tag="artisan"]</code> will display all images having the specified tag value, regardless of which post (if any) they are attached to. If you use <code>[mla_gallery tag="artisan" post_parent="current"]</code> it will display images having the specified tag value only if they are attached to the current post.
336
+ <a name="author_author_name"></a>
337
  </p>
338
  <h4>Author, Author Name</h4>
339
  <p>
340
  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.
341
+ <a name="category_parameters"></a>
342
  </p>
343
  <h4>Category Parameters</h4>
344
  <p>
345
  The Category parameters search in the WordPress core &quot;Categories&quot; taxonomy. Remember to use <code>post_parent=current</code> if you want to restrict your query to items attached to the current post.
346
+ <a name="tag_parameters"></a>
347
  </p>
348
  <h4>Tag Parameters</h4>
349
  <p>
351
  </p>
352
  <p>
353
  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.
354
+ <a name="taxonomy_parameters_tax_operator"></a>
355
  </p>
356
  <h4>Taxonomy Parameters, "tax_operator"</h4>
357
  <p>
393
  </p>
394
  <p>
395
  Remember to use <code>post_parent=current</code> if you want to restrict your query to items attached to the current post.
396
+ <a name="post_mime_type"></a>
397
  </p>
398
  <h4>Post MIME Type</h4>
399
  <p>
400
  For compatibility with the WordPress <code>[gallery]</code> shortcode, this parameter defaults to <code>post_mime_type=image</code>. You can override the default to, for example, display PDF documents (<code>post_mime_type=application/pdf</code>) or all MIME types (<code>post_mime_type=all</code>). You can select several MIME types with a comma-separated list, e.g., <code>post_mime_type='audio,video'</code>. Wildcard specifications are also supported. For example, <code>post_mime_type='*/mpeg'</code> to select audio and video mpeg formats or <code>post_mime_type='application/*ms*'</code> to select all Microsoft application formats (Word, Excel, etc.).
401
+ <a name="post_type_post_status"></a>
402
  </p>
403
  <h4>Post Type, Post Status</h4>
404
  <p>
405
  For compatibility with the WordPress <code>[gallery]</code> shortcode, these parameters default to <code>post_type=attachment</code>, <code>post_status=inherit</code>. You can override the defaults to, for example, display items in the trash (<code>post_status=trash</code>). 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.
406
+ <a name="pagination_parameters"></a>
407
  </p>
408
  <h4>Pagination Parameters</h4>
409
  <p>
410
  The <code>[mla_gallery]</code> shortcode supplies <code>nopaging=true</code> as a default parameter. If you are working with a template that supports pagination you can replace this with specific values for "numberposts", "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')).
411
+ <a name="time_parameters"></a>
412
  </p>
413
  <h4>Time Parameters</h4>
414
  <p>
415
  Support for time parameters is not included in the current version. I may add it later - let me know if you need it.
416
+ <a name="custom_field_parameters"></a>
417
  </p>
418
  <h4>Custom Field Parameters</h4>
419
  <p>
424
  </p>
425
  <p>
426
  Remember to use <code>post_parent=current</code> if you want to restrict your query to items attached to the current post.
427
+ <a name="search_keywords"></a>
428
  </p>
429
  <h4>Search Keywords</h4>
430
  <p>
431
  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.
432
+ <a name="debugging_output"></a>
433
  </p>
434
  <h4>Debugging Output</h4>
435
  <p>
436
  The "mla_debug" parameter controls the display of information about the query parameters and SQL statements used to retrieve gallery items. If you code <code>mla_debug=true</code> you will see a lot of information added to the post or page containing the gallery. Of course, this parameter should <strong><em>ONLY</em></strong> be used in a development/debugging environment; it's quite ugly.
437
  </p>
438
+ <a name="mla_output"></a>
439
+ &nbsp;
440
+ <p>
441
+ <a href="#backtotop">Go to Top</a>
442
+ </p>
443
+ <h3>Support for Alternative Gallery Output</h3>
444
+ <p>
445
+ The <code>[mla_gallery]</code> shortcode can be used to provide "Previous" and "Next" links that support moving among the individual items in a gallery.
446
+ </p>
447
+ <table>
448
+ <tr>
449
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_output</td>
450
+ <td>the type of output the shortcode will return. The default value, "gallery", returns the traditional gallery of image thumbnails, etc. The "next_link" value returns a link to the next gallery item, and "previous_link" returns a link to the previous gallery item. The optional ",wrap" qualifier determines what happens at each end of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first gallery item, and for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, "previous_link" from the first gallery item will be to the last gallery item and the "next_link" from the last item will be to the first gallery item.</td>
451
+ </tr>
452
+ <tr>
453
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">id</td>
454
+ <td>(optional) the ID of the "current" gallery item. If you omit this parameter, the default value is the ID of the current "post". The default value is only useful if you are enhancing the PHP code of the "image.php" template for the "Attachment Page" associated with a Media Library item.</td>
455
+ </tr>
456
+ </table>
457
+ <p>
458
+ The link returned is drawn from the attachment-specific "link" substitution parameter for the next or previous gallery item. This means you can use all of the <a href="#gallery_display_content">Gallery Display Content</a> parameters to control each element of the link. For example, you can code <code>mla_rollover_text='&amp;larr; Previous'</code> to replace the thumbnail image with a generic text link to the "previous_link" item. You can also add HTML arguments to the link to pass values along from one page to the next.
459
+ </p>
460
+ <p>
461
+ For example, you can select images using the MLA Att. Tag taxonomy and have each gallery item link to a page (page_id=893 in this case) that displays a larger version of the single image:
462
+ </p>
463
+ <code>
464
+ [mla_gallery attachment_tag="sample" mla_caption="{+title+}" mla_link_href="{+site_url+}?page_id=893&amp;current_id={+attachment_ID+}&amp;attachment_tag={+query:attachment_tag+}"]
465
+ </code>
466
+ <p>
467
+ Note the use of <code>attachment_tag={+query:attachment_tag+}</code> in the href to pass the tag value from the gallery page to the single-image page. The single-image page would have three <code>[mla+gallery]</code> shortcodes; one to display the image and two for the "Previous Sample" and "Next Sample" links:
468
+ </p>
469
+ <code>
470
+ [mla_gallery columns=1 ids="{+request:current_id+}" size=medium]
471
+ <br />&nbsp;<br>
472
+ &lt;div style="clear: both; float: left"&gt;<br />
473
+ [mla_gallery mla_output="previous_link,wrap" mla_link_text='&larr; Previous Sample' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_caption="{+title+}" mla_link_href="{+site_url+}?page_id=893&amp;current_id={+attachment_ID+}&amp;attachment_tag={+query:attachment_tag+}"]<br>
474
+ &lt;/div&gt;<br>
475
+ &lt;div style="float: right"&gt;<br>
476
+ [mla_gallery mla_output="next_link,wrap" mla_link_text='Next Sample &rarr;' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_caption="{+title+}" mla_link_href="{+site_url+}?page_id=893&amp;current_id={+attachment_ID+}&amp;attachment_tag={+query:attachment_tag+}"]<br>
477
+ &lt;/div&gt;
478
+ </code>
479
+ <p>
480
+ Note the following points:
481
+ </p>
482
+ <ol>
483
+ <li>The "ids" parameter in the first <code>[mla_gallery]</code> takes the "current_id" value (for the single image to be displayed) from the HTML $_REQUEST array.
484
+ </li>
485
+ <li>The "id" parameters in the second and third <code>[mla_gallery]</code> take the "current_id" value from the HTML $_REQUEST array. In these "galleries" the "current_id" is the item from which "previous" and "next" are calculated.
486
+ </li>
487
+ <li>The "attachment_tag" parameters in the second and third <code>[mla_gallery]</code> take the their value from the HTML $_REQUEST array as well. The Att. Tag value is used to reconstruct the original gallery for the previous/next calculation.
488
+ </li>
489
+ </ol>
490
+ <p>
491
+ This example shows the power of the substitution parameters and in particular the "query" and "request" prefixes that can be used to pass information into an <code>[mla_gallery]</code> and from one page to the next. All of this without modifying PHP templates or requiring other code modifications!
492
+ </p>
493
  <a name="alt_shortcode"></a>
494
  &nbsp;
495
  <p>
876
  The <strong>",export" option</strong> changes the display of array fields with multiple values. If this option is present, the PHP <code>var_export</code> function is used to return a string representation of all the elements in an array field. For example, if you code <code>[+meta:sizes.thumbnail,export+]</code> the result will be "array ('file' => '20120313-ASK_5605-150x150.jpg', 'width' => 150, 'height' => 150, 'mime-type' => 'image/jpeg'".
877
  </p>
878
  <p>
879
+ There are seven prefix values for field-level data. Prefix values must be coded as shown; all lowercase letters.
880
  </p>
881
  <table>
882
+ <tr>
883
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">request</td>
884
+ <td>The parameters defined in the <code>$_REQUEST</code> array; the "query strings" sent from the browser. The PHP $_REQUEST variable is a superglobal Array that contains the contents of both $_GET, $_POST, and $_COOKIE arrays. It can be used to collect data sent with both the GET and POST methods. For example, if the URL is <code>http://www.mysite.com/mypage?myarg=myvalue</code> you can access the query string as <code>[+request:myarg+]</code>, which has the value "myvalue".</td>
885
+ </tr>
886
  <tr>
887
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">query</td>
888
  <td>The parameters defined in the <code>[mla_gallery]</code> shortcode. For example, if your shortcode is <code>[mla gallery attachment_tag=my-tag div-class=some_class]</code> you can access the parameters as <code>[+query:attachment_tag+]</code> and <code>[+query:div-class+]</code> respectively. Only the parameters actually coded in the shortcode are accessible; default values for parameters not actually coded are not available. You can define your own parameters, e.g., "div-class"; they will be accessible as field-level data but will otherwise be ignored.</td>
893
  </tr>
894
  <tr>
895
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">terms</td>
896
+ <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>
897
  </tr>
898
  <tr>
899
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">meta</td>
917
  <br />&nbsp;<br />
918
  MLA uses a standard PHP function, <a href="http://php.net/manual/en/function.exif-read-data.php" title="PHP Manual page for exif_read_data" target="_blank">exif_read_data</a>, to extract EXIF data from images. The function returns three arrays in addition to the raw EXIF data; COMPUTED, THUMBNAIL and COMMENT. You can access the array elements by prefacing the element you want with the array name. For example, the user comment text is available as "COMPUTED.UserComment" and "COMPUTED.UserCommentEncoding". You can also get "COMPUTED.Copyright" and its two parts (if present), "COMPUTED.Copyright.Photographer" and "COMPUTED.Copyright.Editor". The THUMBNAIL and COMMENT arrays work in a similar fashion.
919
  <br />&nbsp;<br />
920
+ Two special exif "pseudo-values" are available; <strong>ALL_IPTC</strong> (<code>[+exif:ALL_IPTC+]</code>) and <strong>ALL_EXIF</strong> (<code>[+exif:ALL_EXIF+]</code>). These return a string representation of all IPTC or EXIF data respectively. You can use these pseudo-values to examine the metadata in an image, find field names and see what values are embedded in the image.
921
+ <br />&nbsp;<br />
922
+ The ALL_EXIF value is altered in two ways. First, values of more than 256 characters are truncated to 256 characters. This prevents large fields such as image thumbnails from dominating the display. Second, array values are shown once, at their expanded level. For example the "COMPUTED" array is displayed as 'COMPUTED' => '(ARRAY)' and then 'COMPUTED.Width' => "2816", etc.</td>
923
  </tr>
924
  </table>
925