Media Library Assistant - Version 1.43

Version Description

  • New: For [mla_gallery], a new mla_output=paginate_links parameter creates a paginated link list for galleries with multiple "gallery pages" ( e.g.: < Prev 1 3 4 5 6 7 9 Next > ). See the Settings/Media Library Assistant Documentation tab for complete information and examples.
  • New: For [mla_gallery], mla_prev_text and mla_next_text can be used in place of mla_link_text with the previous_link and next_link output types.
  • Fix: When resetting Settings/Media Library Assistant General tab options, a Fatal PHP error no longer occurs.
  • Fix: PHP Warning message removed for [mla_gallery] shortcodes with no parameters at all.
  • Fix: For WordPress version 3.6, the Media Manager taxonomy dropdown box is indented with dashes; it no longer shows plaintext version of HTML non-breaking spaces.
  • Fix: For [mla_gallery], "Next" and "Previous" text default values now use acute quotes, not arrows, conforming to the WordPress values.
  • Fix: Example for the previous_page/next_page output types has been corrected, showing posts_per_page in all three shortcodes.
Download this release

Release Info

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

Code changes from version 1.42 to 1.43

includes/class-mla-data.php CHANGED
@@ -1121,7 +1121,6 @@ class MLAData {
1121
  $attached_file = NULL;
1122
  $results = array();
1123
  $post_meta = get_metadata( 'post', $post_id );
1124
-
1125
  if ( is_array( $post_meta ) ) {
1126
  foreach ( $post_meta as $post_meta_key => $post_meta_value ) {
1127
  if ( empty( $post_meta_key ) )
@@ -1146,8 +1145,9 @@ class MLAData {
1146
  $key = 'mla_item_' . $post_meta_key;
1147
  }
1148
 
 
1149
  if ( is_array( $post_meta_value ) && count( $post_meta_value ) == 1 )
1150
- $value = $post_meta_value[0];
1151
  else
1152
  $value = $post_meta_value;
1153
 
@@ -1673,12 +1673,20 @@ class MLAData {
1673
  * @return void
1674
  */
1675
  private static function _build_pdf_indirect_objects( &$string ) {
1676
- $match_count = preg_match_all( '!(\d+)\h+(\d+)\h+obj\x0D|endobj\x0D|stream(\x0D\x0A|\x0A)|endstream!', $string, $matches, PREG_OFFSET_CAPTURE );
 
 
 
 
 
 
1677
 
1678
  self::$pdf_indirect_objects = array();
1679
  $object_level = 0;
1680
  $is_stream = false;
1681
  for ( $index = 0; $index < $match_count; $index++ ) {
 
 
1682
  if ( $is_stream ) {
1683
  if ( 'endstream' == substr( $matches[0][ $index ][0], 0, 9 ) ) {
1684
  $is_stream = false;
@@ -1689,7 +1697,7 @@ class MLAData {
1689
  $object_entry['/length'] = $matches[0][ $index ][1] - $object_entry['start'];
1690
  self::$pdf_indirect_objects[ ($object_entry['number'] * 1000) + $object_entry['generation'] ] = $object_entry;
1691
  }
1692
- elseif ( 'obj' == substr( $matches[0][ $index ][0], -4, 3 ) ) {
1693
  $object_level++;
1694
  $object_entry = array(
1695
  'number' => $matches[1][ $index ][0],
@@ -1703,10 +1711,77 @@ class MLAData {
1703
  else
1704
  error_log( 'ERROR: _build_pdf_indirect_objects bad value $index = ' . $index, 0 );
1705
  } // for each match
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1706
  }
1707
 
1708
  /**
1709
- * Parse a PDF date string object
1710
  *
1711
  * @since 1.4x
1712
  *
@@ -1714,14 +1789,17 @@ class MLAData {
1714
  *
1715
  * @return string formatted date string YYYY-MM-DD HH:mm:SS
1716
  */
1717
- private static function _parse_pdf_date( &$source_string ) {
1718
- return sprintf( '%1$s-%2$s-%3$s %4$s:%5$s:%6$s',
1719
- substr( $source_string, 2, 2),
1720
- substr( $source_string, 4, 2),
1721
- substr( $source_string, 6, 2),
1722
- substr( $source_string, 8, 2),
1723
- substr( $source_string, 10, 2),
1724
- substr( $source_string, 12, 2) );
 
 
 
1725
  }
1726
 
1727
  /**
@@ -1847,26 +1925,29 @@ class MLAData {
1847
  * Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
1848
  * indirect (object), name, array, dictionary, stream, and null.
1849
  * The array also has a '/length' element containing the number of bytes occupied by the
1850
- * dictionary in the source string, including the enclosing parentheses.
1851
  * @since 1.4x
1852
  *
1853
  * @param string data within which the string occurs
1854
- * @param integer offset within the source string of the opening '<<' characters.
1855
  *
1856
  * @return array ( '/length' => length, key => array( 'type' => type, 'value' => value ) ) for each dictionary field
1857
  */
1858
  private static function _parse_pdf_dictionary( &$source_string, $offset ) {
 
1859
  if ( '<<' == substr( $source_string, $offset, 2 ) ) {
1860
  $offset += 2;
1861
  $delimiter_length = 4;
1862
  }
1863
  else
1864
  $delimiter_length = 0;
 
1865
 
1866
  $dictionary = array();
1867
  // \x00-\x20 for whitespace
1868
  // \(|\)|\<|\>|\[|\]|\{|\}|\/|\% for delimiters
1869
  $match_count = preg_match_all( '!/([^\x00-\x20|\(|\)|\<|\>|\[|\]|\{|\}|\/|\%]*)([\x00-\x20]*)!', substr( $source_string, $offset ), $matches, PREG_OFFSET_CAPTURE );
 
1870
 
1871
  $end_data = -1;
1872
  for ( $match_index = 0; $match_index < $match_count; $match_index++ ) {
@@ -1945,10 +2026,199 @@ class MLAData {
1945
  }
1946
  } // foreach match
1947
 
1948
- $dictionary['/length'] = $value_start + $length + $delimiter_length;
 
 
1949
  return $dictionary;
1950
  }
1951
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1952
  /**
1953
  * Extract Metadata from a PDF file
1954
  *
@@ -1958,18 +2228,20 @@ class MLAData {
1958
  *
1959
  * @return array ( key => value ) for each metadata field, in string format
1960
  */
1961
- private static function _extract_pdf_metadata( $string ) {
1962
- //error_log( '_extract_pdf_metadata $string = '. var_export( $string, true ), 0 );
1963
  $metadata = array();
1964
- $pdf = file_get_contents( $string, true );
 
 
1965
  if ( $pdf == false ) {
1966
  error_log( 'ERROR: PDF file not found ' . var_export( $path, true ), 0 );
1967
  return $metadata;
1968
  }
1969
-
1970
- //error_log( '_extract_pdf_metadata $pdf start = ' . "\r\n" . var_export( self::_hex_dump( $pdf, 2048, 32 ), true ) . "\r\n", 0 );
1971
 
1972
- self::_build_pdf_indirect_objects( $pdf );
 
 
1973
 
1974
  $header = substr( $pdf, 0, 8 );
1975
  if ( '%PDF-' == substr( $header, 0, 5 ) ) {
@@ -1978,51 +2250,94 @@ class MLAData {
1978
  }
1979
 
1980
  $match_count = preg_match_all( '/[\r|\n]+trailer[\r|\n]+/', $pdf, $matches, PREG_OFFSET_CAPTURE );
1981
- if ( 0 < $match_count ) {
1982
- $tail = substr( $pdf, (integer) $matches[0][ $match_count - 1 ][1] );
1983
- $match_count = preg_match_all( '/[\r|\n]+<<(.*)>>[\r|\n]+/', $tail, $matches ); //, PREG_OFFSET_CAPTURE );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1984
 
1985
  if ( 0 < $match_count ) {
1986
- $dictionary = self::_parse_pdf_dictionary( $matches[1][ $match_count - 1 ], 0 );
1987
- //error_log( "_extract_pdf_metadata trailer dictionary {$match_count} = ". var_export( $dictionary, true ), 0 );
 
1988
 
1989
- if ( isset( $dictionary['Info'] ) ) {
1990
- $info_ref = ($dictionary['Info']['object'] * 1000) + $dictionary['Info']['generation'];
1991
-
1992
- if ( isset( self::$pdf_indirect_objects[ $info_ref ] ) ) {
1993
- $info_dictionary = self::_parse_pdf_dictionary( substr( $pdf, self::$pdf_indirect_objects[ $info_ref ]['start'], self::$pdf_indirect_objects[ $info_ref ]['/length'] ), 0 );
1994
- unset( $info_dictionary['/length'] );
1995
-
1996
- foreach( $info_dictionary as $name => $value ) {
1997
- if ( 'string' == $value['type'] ) {
1998
- $prefix = substr( $value['value'], 0, 2 );
1999
- if ( 'D:' == $prefix )
2000
- $metadata[ $name ] = self::_parse_pdf_date( $value['value'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2001
  elseif ( ( chr(0xFE) . chr(0xFF) ) == $prefix )
2002
- $metadata[ $name ] = self::_parse_pdf_UTF16BE( $value['value'] );
2003
  else
2004
- $metadata[ $name ] = $value['value'];
2005
  }
2006
  else
2007
- $metadata[ $name ] = $value['value'];
2008
- } // each info entry
2009
- } // found Info object
2010
- } // found Info ref
2011
- elseif ( isset( $dictionary['Root'] ) ) {
2012
- //error_log( '_extract_pdf_metadata trailer dictionary Root = ' . var_export( $dictionary['Root'], true ), 0 );
2013
- $info_ref = ($dictionary['Root']['object'] * 1000) + $dictionary['Root']['generation'];
2014
- //error_log( '_extract_pdf_metadata trailer dictionary $info_ref = ' . var_export( $info_ref, true ), 0 );
2015
- if ( isset( self::$pdf_indirect_objects[ $info_ref ] ) ) {
2016
- //error_log( '_extract_pdf_metadata Root dictionary ref = ' . var_export( self::$pdf_indirect_objects[ $info_ref ], true ), 0 );
2017
- //error_log( '_extract_pdf_metadata Root 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 );
2018
- $root_dictionary = self::_parse_pdf_dictionary( substr( $pdf, self::$pdf_indirect_objects[ $info_ref ]['start'], self::$pdf_indirect_objects[ $info_ref ]['/length'] ), 0 );
2019
- unset( $root_dictionary['/length'] );
2020
- //error_log( "_extract_pdf_metadata Root dictionary = ". var_export( $root_dictionary, true ), 0 );
2021
- } // found Root object
 
 
 
 
 
2022
  } // found Root ref
2023
  } // found dictionary
2024
- } // found trailer
2025
 
 
 
 
 
 
 
2026
  //error_log( "_extract_pdf_metadata metadata = ". var_export( $metadata, true ), 0 );
2027
  return $metadata;
2028
  }
1121
  $attached_file = NULL;
1122
  $results = array();
1123
  $post_meta = get_metadata( 'post', $post_id );
 
1124
  if ( is_array( $post_meta ) ) {
1125
  foreach ( $post_meta as $post_meta_key => $post_meta_value ) {
1126
  if ( empty( $post_meta_key ) )
1145
  $key = 'mla_item_' . $post_meta_key;
1146
  }
1147
 
1148
+ // if ( is_array( $post_meta_value ) && count( $post_meta_value ) == 1 && isset( $post_meta_value[0] ) )
1149
  if ( is_array( $post_meta_value ) && count( $post_meta_value ) == 1 )
1150
+ $value = array_shift( $post_meta_value );
1151
  else
1152
  $value = $post_meta_value;
1153
 
1673
  * @return void
1674
  */
1675
  private static function _build_pdf_indirect_objects( &$string ) {
1676
+ if ( ! is_null( self::$pdf_indirect_objects ) )
1677
+ return;
1678
+
1679
+ $match_count = preg_match_all( '!(\d+)\\h+(\d+)\\h+obj|endobj|stream(\x0D\x0A|\x0A)|endstream!', $string, $matches, PREG_OFFSET_CAPTURE );
1680
+ error_log( '_build_pdf_indirect_objects $match_count = ' . var_export( $match_count, true), 0 );
1681
+ //error_log( '_build_pdf_indirect_objects $matches = ' . var_export( $matches, true), 0 );
1682
+ //if( 100 < $match_count ) $match_count = 100;
1683
 
1684
  self::$pdf_indirect_objects = array();
1685
  $object_level = 0;
1686
  $is_stream = false;
1687
  for ( $index = 0; $index < $match_count; $index++ ) {
1688
+ //error_log( "_build_pdf_indirect_objects \$matches[0][ {$index} ][0] = " . var_export( $matches[0][ $index ][0], true), 0 );
1689
+ //error_log( "_build_pdf_indirect_objects \$matches[0][ {$index} ][1] = " . var_export( $matches[0][ $index ][1], true), 0 );
1690
  if ( $is_stream ) {
1691
  if ( 'endstream' == substr( $matches[0][ $index ][0], 0, 9 ) ) {
1692
  $is_stream = false;
1697
  $object_entry['/length'] = $matches[0][ $index ][1] - $object_entry['start'];
1698
  self::$pdf_indirect_objects[ ($object_entry['number'] * 1000) + $object_entry['generation'] ] = $object_entry;
1699
  }
1700
+ elseif ( 'obj' == substr( $matches[0][ $index ][0], -3 ) ) {
1701
  $object_level++;
1702
  $object_entry = array(
1703
  'number' => $matches[1][ $index ][0],
1711
  else
1712
  error_log( 'ERROR: _build_pdf_indirect_objects bad value $index = ' . $index, 0 );
1713
  } // for each match
1714
+ //error_log( '_build_pdf_indirect_objects self::$pdf_indirect_objects = ' . var_export( self::$pdf_indirect_objects, true), 0 );
1715
+ }
1716
+
1717
+ /**
1718
+ * Find the offset, length and contents of an indirect object containing a dictionary
1719
+ *
1720
+ * @since 1.4x
1721
+ *
1722
+ * @param string The entire PDF document, passsed by reference
1723
+ * @param integer The object number
1724
+ * @param integer The object generation number; default zero (0)
1725
+ *
1726
+ * @return mixed NULL on failure else array( 'start' => offset in the file, 'length' => object length, 'content' => dictionary contents )
1727
+ */
1728
+ private static function _find_pdf_indirect_dictionary( &$string, $object, $generation = 0 ) {
1729
+ //error_log( '_find_pdf_indirect_dictionary $object = ' . var_export( $object, true), 0 );
1730
+ /*
1731
+ * Match the object header
1732
+ */
1733
+ // $pattern = sprintf( '![\\x00-\\x20]+%1$d\\h+%2$d\\h+obj[\\x00-\\x20]+(<<)!', $object, $generation );
1734
+ $pattern = sprintf( '![\\x00-\\x20]+%1$d\\h+%2$d\\h+obj[\\x00-\\x20]*(<<)!', $object, $generation );
1735
+ $match_count = preg_match( $pattern, $string, $matches, PREG_OFFSET_CAPTURE );
1736
+ //error_log( '_find_pdf_indirect_dictionary header $match_count = ' . var_export( $match_count, true), 0 );
1737
+ //error_log( '_find_pdf_indirect_dictionary header $matches = ' . var_export( $matches, true), 0 );
1738
+
1739
+ if ($match_count) {
1740
+ $start = $matches[1][1];
1741
+ /*
1742
+ * Match the object trailer
1743
+ */
1744
+ $pattern = '!>>[\\x00-\\x20]+endobj!';
1745
+ $match_count = preg_match( $pattern, $string, $matches, PREG_OFFSET_CAPTURE, $start );
1746
+ //error_log( '_find_pdf_indirect_dictionary trailer $match_count = ' . var_export( $match_count, true), 0 );
1747
+ //error_log( '_find_pdf_indirect_dictionary trailer $matches = ' . var_export( $matches, true), 0 );
1748
+
1749
+ if ($match_count) {
1750
+ $results = array( 'start' => $start, 'length' => ($matches[0][1] + 2) - $start );
1751
+ //error_log( '_find_pdf_indirect_dictionary $results = ' . var_export( $results, true), 0 );
1752
+ $results['content'] = substr( $string, $results['start'], $results['length'] );
1753
+ //error_log( '_find_pdf_indirect_dictionary content = ' . "\r\n" . var_export( self::_hex_dump( $results['content'], $results['length'], 32 ), true), 0 );
1754
+ return $results;
1755
+ } // found trailer
1756
+ } // found header
1757
+
1758
+ return NULL;
1759
+ }
1760
+
1761
+ /**
1762
+ * Parse a ISO 8601 Timestamp
1763
+ *
1764
+ * @since 1.4x
1765
+ *
1766
+ * @param string ISO string of the form YYYY-MM-DDTHH:MM:SS-HH:MM (inc time zone)
1767
+ *
1768
+ * @return string formatted date string YYYY-MM-DD HH:mm:SS
1769
+ */
1770
+ private static function _parse_iso8601_date( $source_string ) {
1771
+ if ( 1 == preg_match( '/^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d-\\d\\d:\\d\\d/', $source_string ) )
1772
+ return sprintf( '%1$s-%2$s-%3$s %4$s:%5$s:%6$s',
1773
+ substr( $source_string, 0, 4),
1774
+ substr( $source_string, 5, 2),
1775
+ substr( $source_string, 8, 2),
1776
+ substr( $source_string, 11, 2),
1777
+ substr( $source_string, 14, 2),
1778
+ substr( $source_string, 17, 2) );
1779
+ else
1780
+ return $source_string;
1781
  }
1782
 
1783
  /**
1784
+ * Parse a PDF date string
1785
  *
1786
  * @since 1.4x
1787
  *
1789
  *
1790
  * @return string formatted date string YYYY-MM-DD HH:mm:SS
1791
  */
1792
+ private static function _parse_pdf_date( $source_string ) {
1793
+ if ( 'D:' == substr( $source_string, 0, 2) && ctype_digit( substr( $source_string, 2, 12 ) ) )
1794
+ return sprintf( '%1$s-%2$s-%3$s %4$s:%5$s:%6$s',
1795
+ substr( $source_string, 2, 4),
1796
+ substr( $source_string, 6, 2),
1797
+ substr( $source_string, 8, 2),
1798
+ substr( $source_string, 10, 2),
1799
+ substr( $source_string, 12, 2),
1800
+ substr( $source_string, 14, 2) );
1801
+ else
1802
+ return $source_string;
1803
  }
1804
 
1805
  /**
1925
  * Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
1926
  * indirect (object), name, array, dictionary, stream, and null.
1927
  * The array also has a '/length' element containing the number of bytes occupied by the
1928
+ * dictionary in the source string, excluding the enclosing delimiters, if passed in.
1929
  * @since 1.4x
1930
  *
1931
  * @param string data within which the string occurs
1932
+ * @param integer offset within the source string of the opening '<<' characters or the first content character.
1933
  *
1934
  * @return array ( '/length' => length, key => array( 'type' => type, 'value' => value ) ) for each dictionary field
1935
  */
1936
  private static function _parse_pdf_dictionary( &$source_string, $offset ) {
1937
+ //error_log( '_parse_pdf_dictionary $source_string = '. var_export( $source_string, true ), 0 );
1938
  if ( '<<' == substr( $source_string, $offset, 2 ) ) {
1939
  $offset += 2;
1940
  $delimiter_length = 4;
1941
  }
1942
  else
1943
  $delimiter_length = 0;
1944
+
1945
 
1946
  $dictionary = array();
1947
  // \x00-\x20 for whitespace
1948
  // \(|\)|\<|\>|\[|\]|\{|\}|\/|\% for delimiters
1949
  $match_count = preg_match_all( '!/([^\x00-\x20|\(|\)|\<|\>|\[|\]|\{|\}|\/|\%]*)([\x00-\x20]*)!', substr( $source_string, $offset ), $matches, PREG_OFFSET_CAPTURE );
1950
+ //error_log( '_parse_pdf_dictionary $matches = '. var_export( $matches, true ), 0 );
1951
 
1952
  $end_data = -1;
1953
  for ( $match_index = 0; $match_index < $match_count; $match_index++ ) {
2026
  }
2027
  } // foreach match
2028
 
2029
+ $dictionary['/length'] = $value_start + $length - $delimiter_length;
2030
+ //$tail = substr( $source_string, $offset );
2031
+ //error_log( '_parse_pdf_dictionary content = ' . "\r\n" . var_export( self::_hex_dump( $tail, $dictionary['/length'], 32 ), true), 0 );
2032
  return $dictionary;
2033
  }
2034
 
2035
+ /**
2036
+ * Parse an XMP object
2037
+ *
2038
+ * Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
2039
+ * indirect (object), name, array, dictionary, stream, and null.
2040
+ * The array also has a '/length' element containing the number of bytes occupied by the
2041
+ * dictionary in the source string, excluding the enclosing delimiters, if passed in.
2042
+ * @since 1.4x
2043
+ *
2044
+ * @param string data within which the string occurs
2045
+ * @param integer offset within the source string of the opening '<<' characters or the first content character.
2046
+ *
2047
+ * @return array ( '/length' => length, key => array( 'type' => type, 'value' => value ) ) for each dictionary field
2048
+ */
2049
+ private static function _parse_xmp_metadata( &$source_string, $offset ) {
2050
+ $start_tag = strpos( $source_string, '<x:xmpmeta', $offset );
2051
+ if ( false === $start_tag )
2052
+ return NULL;
2053
+
2054
+ $end_tag = strpos( $source_string, '</x:xmpmeta>', $offset + $start_tag );
2055
+ if ( false === $start_tag )
2056
+ return NULL;
2057
+
2058
+ //error_log( '_parse_xmp_metadata XMP = ' . var_export( "<?xml version='1.0'? >\n" . substr($source_string, $start_tag, ( $end_tag + 12 ) - $start_tag ), true ), 0 );
2059
+ $xmp_string = "<?xml version='1.0'?>\n" . substr($source_string, $start_tag, ( $end_tag + 12 ) - $start_tag );
2060
+ $xmp_values = array();
2061
+ $xml_parser = xml_parser_create('UTF-8');
2062
+ if ( xml_parser_set_option( $xml_parser, XML_OPTION_SKIP_WHITE, 0 ) && xml_parser_set_option( $xml_parser, XML_OPTION_CASE_FOLDING, 0 ) ) {
2063
+ if (xml_parse_into_struct( $xml_parser, $xmp_string, $xmp_values ) == 0)
2064
+ error_log( 'ERROR: _parse_xmp_metadata xml_parse_into_struct failed.' );
2065
+ }
2066
+ else
2067
+ error_log( 'ERROR: _parse_xmp_metadata set option failed.' );
2068
+
2069
+ xml_parser_free($xml_parser);
2070
+ //error_log( '_parse_xmp_metadata $xmp_string = ' . var_export( $xmp_string, true ), 0 );
2071
+ //error_log( '_parse_xmp_metadata $xml_parser xmp_values = ' . var_export( $xmp_values, true ), 0 );
2072
+
2073
+ if ( empty( $xmp_values ) )
2074
+ return NULL;
2075
+
2076
+ $results = array();
2077
+ $xmlns = array();
2078
+ $array_name = '';
2079
+ $array_index = -1;
2080
+ foreach ( $xmp_values as $value ) {
2081
+ $language = 'x-default';
2082
+ if ( isset( $value['attributes'] ) ) {
2083
+ foreach( $value['attributes'] as $att_tag => $att_value ) {
2084
+ if ( 'xmlns:' == substr( $att_tag, 0, 6 ) )
2085
+ $xmlns[ substr( $att_tag, 6 ) ] = $att_value;
2086
+ elseif ( 'x:xmptk' == $att_tag )
2087
+ $results['xmptk'] = $att_value;
2088
+ elseif ( 'xml:lang' == $att_tag )
2089
+ $language = $att_value;
2090
+ }
2091
+ } // attributes
2092
+
2093
+ switch ( $value['tag'] ) {
2094
+ case 'x:xmpmeta':
2095
+ case 'rdf:RDF':
2096
+ case 'rdf:Description':
2097
+ case 'rdf:ID':
2098
+ case 'rdf:nodeID':
2099
+ break;
2100
+ case 'rdf:li':
2101
+ if ( $value['type'] == 'complete' ) {
2102
+ if ( 'x-default' != $language )
2103
+ break;
2104
+
2105
+ if ( ! empty ( $array_name ) ) {
2106
+ if ( isset( $value['value'] ) )
2107
+ $results[ $array_name ][ $array_index++ ] = $value['value'];
2108
+ else
2109
+ $results[ $array_name ][ $array_index++ ] = '';
2110
+ }
2111
+ } // complete
2112
+
2113
+ break;
2114
+ case 'rdf:Seq':
2115
+ case 'rdf:Bag':
2116
+ case 'rdf:Alt':
2117
+ switch ( $value['type'] ) {
2118
+ case 'open':
2119
+ $array_index = 0;
2120
+ break;
2121
+ case 'close':
2122
+ $array_index = -1;
2123
+ }
2124
+
2125
+ break;
2126
+ default:
2127
+ switch ( $value['type'] ) {
2128
+ case 'open':
2129
+ $array_name = $value['tag'];
2130
+ break;
2131
+ case 'close':
2132
+ $array_name = '';
2133
+ break;
2134
+ case 'complete':
2135
+ if ( isset( $value['attributes'] ) )
2136
+ $results[ $value['tag'] ] = $value['attributes'];
2137
+ elseif ( isset( $value['value'] ) )
2138
+ $results[ $value['tag'] ] = $value['value'];
2139
+ else
2140
+ $results[ $value['tag'] ] = '';
2141
+ } // type
2142
+ } // switch tag
2143
+ } // foreach value
2144
+
2145
+ /*
2146
+ * Parse "namespace:name" names into arrays of simple names
2147
+ */
2148
+ $namespace_arrays = array();
2149
+ foreach ( $results as $key => $value ) {
2150
+ if ( is_string( $value ) )
2151
+ $value = self::_parse_iso8601_date( self::_parse_pdf_date( $value ) );
2152
+
2153
+ if ( false !== ($colon = strpos( $key, ':' ) ) ) {
2154
+ $array_name = substr( $key, 0, $colon );
2155
+ $array_index = substr( $key, $colon + 1 );
2156
+ $namespace_arrays[ $array_name ][ $array_index ] = $value;
2157
+
2158
+ if ( ! isset( $results[ $array_index ] ) ) {
2159
+ if ( is_array( $value ) && 1 == count( $value ) && isset( $value[0] ) )
2160
+ $results[ $array_index ] = $value[0];
2161
+ else
2162
+ $results[ $array_index ] = $value;
2163
+ }
2164
+
2165
+ unset( $results[ $key ] );
2166
+ }
2167
+ }
2168
+
2169
+ /*
2170
+ * Try to populate all the PDF-standard keys (except Trapped)
2171
+ * Title - The document's title
2172
+ * Author - The name of the person who created the document
2173
+ * Subject - The subject of the document
2174
+ * Keywords - Keywords associated with the document
2175
+ * Creator - the name of the conforming product that created the original document
2176
+ * Producer - the name of the conforming product that converted it to PDF
2177
+ * CreationDate - The date and time the document was created
2178
+ * ModDate - The date and time the document was most recently modified
2179
+ */
2180
+ if ( ! isset( $results['Title'] ) ) {
2181
+ if ( isset( $namespace_arrays['dc']['title'] ) ) // HANDLE ARRAY
2182
+ $results['Title'] = implode( ',', $namespace_arrays['dc']['title'] );
2183
+ }
2184
+
2185
+ if ( ! isset( $results['Author'] ) ) {
2186
+ if ( isset( $namespace_arrays['dc']['creator'] ) ) // HANDLE ARRAY
2187
+ $results['Author'] = implode( ',', $namespace_arrays['dc']['creator'] );
2188
+ }
2189
+
2190
+ if ( ! isset( $results['Subject'] ) ) {
2191
+ }
2192
+
2193
+ if ( ! isset( $results['Keywords'] ) ) {
2194
+ }
2195
+
2196
+ if ( ! isset( $results['Creator'] ) ) {
2197
+ if ( isset( $namespace_arrays['xmp']['CreatorTool'] ) )
2198
+ $results['Creator'] = $namespace_arrays['xmp']['CreatorTool'];
2199
+ }
2200
+
2201
+ if ( ! isset( $value['Producer'] ) ) {
2202
+ }
2203
+
2204
+ if ( ! isset( $results['CreationDate'] ) ) {
2205
+ if ( isset( $namespace_arrays['xmp']['CreateDate'] ) )
2206
+ $results['CreationDate'] = $namespace_arrays['xmp']['CreateDate'];
2207
+ }
2208
+
2209
+ if ( ! isset( $results['ModDate'] ) ) {
2210
+ if ( isset( $namespace_arrays['xmp']['ModifyDate'] ) )
2211
+ $results['ModDate'] = $namespace_arrays['xmp']['ModifyDate'];
2212
+ }
2213
+
2214
+ if ( ! empty( $xmlns ) )
2215
+ $results['xmlns'] = $xmlns;
2216
+
2217
+ $results = array_merge( $results, $namespace_arrays );
2218
+ error_log( '_parse_xmp_metadata $results = ' . var_export( $results, true ), 0 );
2219
+ return $results;
2220
+ }
2221
+
2222
  /**
2223
  * Extract Metadata from a PDF file
2224
  *
2228
  *
2229
  * @return array ( key => value ) for each metadata field, in string format
2230
  */
2231
+ private static function _extract_pdf_metadata( $file_name ) {
2232
+ $microtime_start = microtime( true );
2233
  $metadata = array();
2234
+ self::$pdf_indirect_objects = NULL;
2235
+
2236
+ $pdf = file_get_contents( $file_name, true );
2237
  if ( $pdf == false ) {
2238
  error_log( 'ERROR: PDF file not found ' . var_export( $path, true ), 0 );
2239
  return $metadata;
2240
  }
 
 
2241
 
2242
+ //self::_parse_xmp_metadata( $pdf, 0);
2243
+ //self::_build_pdf_indirect_objects( $pdf );
2244
+ //error_log( '_extract_pdf_metadata start = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, 0, strlen( $pdf ) ), strlen( $pdf ), 32 ), true ) . "\r\n", 0 );
2245
 
2246
  $header = substr( $pdf, 0, 8 );
2247
  if ( '%PDF-' == substr( $header, 0, 5 ) ) {
2250
  }
2251
 
2252
  $match_count = preg_match_all( '/[\r|\n]+trailer[\r|\n]+/', $pdf, $matches, PREG_OFFSET_CAPTURE );
2253
+ //error_log( '_extract_pdf_metadata trailer $match_count = ' . var_export( $match_count, true ), 0 );
2254
+ //error_log( '_extract_pdf_metadata trailer $matches = ' . "\r\n" . var_export( $matches, true ) . "\r\n", 0 );
2255
+ if ( 0 == $match_count )
2256
+ $matches = array( 0 => array() );
2257
+
2258
+ foreach( $matches[0] as $match_index => $match ) {
2259
+ $tail = substr( $pdf, (integer) $match[1] );
2260
+ //error_log( "_extract_pdf_metadata tail[{$match_index}] start = " . "\r\n" . var_export( self::_hex_dump( $tail, 512, 32 ), true ) . "\r\n", 0 );
2261
+ $xref_count = preg_match_all( '/[\r|\n]+startxref[\r|\n]+(.*)[\r|\n]+/', $tail, $xref_matches ); //, PREG_OFFSET_CAPTURE );
2262
+ //error_log( '_extract_pdf_metadata $xref_count = '. var_export( $xref_count, true ), 0 );
2263
+ //error_log( '_extract_pdf_metadata $xref_matches = '. var_export( $xref_matches, true ), 0 );
2264
+ //error_log( '_extract_pdf_metadata xref start = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, $xref_matches[1][0] ), 512, 32 ), true ) . "\r\n", 0 );
2265
+
2266
+ // $match_count = preg_match_all( '/[\r|\n]+<<(.*)>>[\r|\n]+/', $tail, $matches ); //, PREG_OFFSET_CAPTURE );
2267
+ $match_count = preg_match( '/[\r|\n]+<<(.*)>>[\r|\n]+/', $pdf, $matches, 0, $match[1] ); //, PREG_OFFSET_CAPTURE );
2268
+ //error_log( "_extract_pdf_metadata trailer dictionary[{$match_index}] \$match_count = " . var_export( $match_count, true ), 0 );
2269
+ //error_log( "_extract_pdf_metadata trailer dictionary[{$match_index}] \$matches = \r\n" . var_export( $matches, true ) . "\r\n", 0 );
2270
 
2271
  if ( 0 < $match_count ) {
2272
+ // $dictionary = self::_parse_pdf_dictionary( $matches[1][ $match_count - 1 ], 0 );
2273
+ $dictionary = self::_parse_pdf_dictionary( $matches[0], 0 );
2274
+ error_log( "_extract_pdf_metadata trailer dictionary [{$match_index}] = ". var_export( $dictionary, true ), 0 );
2275
 
2276
+ //if ( isset( $dictionary['Prev'] ) ) error_log( '_extract_pdf_metadata Prev = ' . var_export( $dictionary['Prev']['value'], true ), 0 );
2277
+ //if ( isset( $dictionary['Prev'] ) ) error_log( '_extract_pdf_metadata Prev start = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, $dictionary['Prev']['value'] ), 2048, 32 ), true ) . "\r\n", 0 );
2278
+ //if ( isset( $dictionary['XRefStm'] ) ) error_log( '_extract_pdf_metadata XRefStm = ' . var_export( $dictionary['XRefStm']['value'], true ), 0 );
2279
+ //if ( isset( $dictionary['XRefStm'] ) ) error_log( '_extract_pdf_metadata XRefStm start = ' . "\r\n" . var_export( self::_hex_dump( substr( $pdf, $dictionary['XRefStm']['value'] ), 2048, 32 ), true ) . "\r\n", 0 );
2280
+
2281
+ if ( isset( $dictionary['Info'] ) ) {
2282
+ $info_dictionary = NULL;
2283
+
2284
+ $info = self::_find_pdf_indirect_dictionary( $pdf, $dictionary['Info']['object'], $dictionary['Info']['generation'] );
2285
+ if ( $info )
2286
+ $info_dictionary = self::_parse_pdf_dictionary( $info['content'], 0 );
2287
+ else {
2288
+ $info_ref = ($dictionary['Info']['object'] * 1000) + $dictionary['Info']['generation'];
2289
+ error_log( '_extract_pdf_metadata $info_ref = '. var_export( $info_ref, true ), 0 );
2290
+ self::_build_pdf_indirect_objects( $pdf );
2291
+ if ( isset( self::$pdf_indirect_objects[ $info_ref ] ) )
2292
+ $info_dictionary = self::_parse_pdf_dictionary( substr( $pdf, self::$pdf_indirect_objects[ $info_ref ]['start'], self::$pdf_indirect_objects[ $info_ref ]['/length'] ), 0 );
2293
+ }
2294
+
2295
+ if ( $info_dictionary ) {
2296
+ //error_log( '_extract_pdf_metadata $info_dictionary length = '. var_export( $info_dictionary['/length'], true ), 0 );
2297
+ unset( $info_dictionary['/length'] );
2298
+ //error_log( '_extract_pdf_metadata $info_dictionary = '. var_export( $info_dictionary, true ), 0 );
2299
+
2300
+ foreach( $info_dictionary as $name => $value ) {
2301
+ if ( 'string' == $value['type'] ) {
2302
+ $prefix = substr( $value['value'], 0, 2 );
2303
+ if ( 'D:' == $prefix )
2304
+ $metadata[ $name ] = self::_parse_pdf_date( $value['value'] );
2305
  elseif ( ( chr(0xFE) . chr(0xFF) ) == $prefix )
2306
+ $metadata[ $name ] = self::_parse_pdf_UTF16BE( $value['value'] );
2307
  else
2308
+ $metadata[ $name ] = $value['value'];
2309
  }
2310
  else
2311
+ $metadata[ $name ] = $value['value'];
2312
+ } // each info entry
2313
+ } // found Info object
2314
+ } // found Info ref
2315
+ elseif ( isset( $dictionary['Root'] ) ) {
2316
+ $root_dictionary = NULL;
2317
+
2318
+ $root = self::_find_pdf_indirect_dictionary( $pdf, $dictionary['Root']['object'], $dictionary['Root']['generation'] );
2319
+ if ( $root )
2320
+ $root_dictionary = self::_parse_pdf_dictionary( $root['content'], 0 );
2321
+ else {
2322
+ $root_ref = ($dictionary['Root']['object'] * 1000) + $dictionary['Root']['generation'];
2323
+ error_log( '_extract_pdf_metadata $root_ref = '. var_export( $root_ref, true ), 0 );
2324
+ self::_build_pdf_indirect_objects( $pdf );
2325
+ if ( isset( self::$pdf_indirect_objects[ $root_ref ] ) )
2326
+ $root_dictionary = self::_parse_pdf_dictionary( substr( $pdf, self::$pdf_indirect_objects[ $root_ref ]['start'], self::$pdf_indirect_objects[ $root_ref ]['/length'] ), 0 );
2327
+ }
2328
+
2329
+ error_log( '_extract_pdf_metadata trailer dictionary Root = ' . var_export( $dictionary['Root'], true ), 0 );
2330
+ error_log( "_extract_pdf_metadata Root dictionary = ". var_export( $root_dictionary, true ), 0 );
2331
  } // found Root ref
2332
  } // found dictionary
2333
+ } // foreach trailer
2334
 
2335
+ $xmp = self::_parse_xmp_metadata( $pdf, 0);
2336
+ if ( is_array( $xmp ) )
2337
+ $metadata = array_merge( $metadata, $xmp );
2338
+
2339
+ $microtime_stop = microtime( true );
2340
+ error_log( "_extract_pdf_metadata ({$file_name}) " . ($microtime_stop - $microtime_start), 0 );
2341
  //error_log( "_extract_pdf_metadata metadata = ". var_export( $metadata, true ), 0 );
2342
  return $metadata;
2343
  }
includes/class-mla-main.php CHANGED
@@ -38,7 +38,7 @@ class MLA {
38
  *
39
  * @var string
40
  */
41
- const CURRENT_MLA_VERSION = '1.42';
42
 
43
  /**
44
  * Slug for registering and enqueueing plugin style sheet
38
  *
39
  * @var string
40
  */
41
+ const CURRENT_MLA_VERSION = '1.43';
42
 
43
  /**
44
  * Slug for registering and enqueueing plugin style sheet
includes/class-mla-media-modal.php CHANGED
@@ -135,7 +135,12 @@ class MLAModal {
135
  foreach ( $matches[11] as $index => $text ) {
136
  $class_array[ $index ] = $matches[3][ $index ];
137
  $value_array[ $index ] = ( ! '' == $matches[6][ $index ] )? $matches[7][ $index ] : $matches[9][ $index ];
138
- $text_array[ $index ] = $text;
 
 
 
 
 
139
  } // foreach
140
 
141
  return array( 'class' => $class_array, 'value' => $value_array, 'text' => $text_array );
135
  foreach ( $matches[11] as $index => $text ) {
136
  $class_array[ $index ] = $matches[3][ $index ];
137
  $value_array[ $index ] = ( ! '' == $matches[6][ $index ] )? $matches[7][ $index ] : $matches[9][ $index ];
138
+
139
+ if ( version_compare( get_bloginfo( 'version' ), '3.6', '>=' ) )
140
+ $text_array[ $index ] = str_replace( '&nbsp;', '-', $text);
141
+ else
142
+ $text_array[ $index ] = $text;
143
+
144
  } // foreach
145
 
146
  return array( 'class' => $class_array, 'value' => $value_array, 'text' => $text_array );
includes/class-mla-settings.php CHANGED
@@ -2670,6 +2670,8 @@ class MLASettings {
2670
  $update_count = 0;
2671
 
2672
  $query = array( 'orderby' => 'none', 'post_parent' => 'all' ); //, 'post_mime_type' => 'image,application/*pdf*' );
 
 
2673
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2674
 
2675
  if ( is_string( $posts ) )
@@ -2935,22 +2937,24 @@ class MLASettings {
2935
  $message_list = '';
2936
 
2937
  foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
2938
- if ( 'custom' == $value['type'] ) {
2939
- $message = MLAOptions::$value['reset']( 'reset', $key, $value, $_REQUEST );
2940
- }
2941
- elseif ( ('header' == $value['type']) || ('hidden' == $value['type']) ) {
2942
- $message = '';
2943
- }
2944
- else {
2945
- MLAOptions::mla_delete_option( $key );
2946
- $message = '<br>delete_option(' . $key . ')';
 
 
 
 
2947
  }
2948
-
2949
- $message_list .= $message;
2950
  }
2951
 
2952
  $page_content = array(
2953
- 'message' => 'Settings reset to default values.',
2954
  'body' => ''
2955
  );
2956
 
2670
  $update_count = 0;
2671
 
2672
  $query = array( 'orderby' => 'none', 'post_parent' => 'all' ); //, 'post_mime_type' => 'image,application/*pdf*' );
2673
+ // $query = array( 'orderby' => 'none', 'post_parent' => 'all', 'post_mime_type' => 'image,application/*pdf*' );
2674
+ // $query = array( 'orderby' => 'none', 'post_parent' => 'all', 'post_mime_type' => 'application/*pdf*' );
2675
  $posts = MLAShortcodes::mla_get_shortcode_attachments( 0, $query );
2676
 
2677
  if ( is_string( $posts ) )
2937
  $message_list = '';
2938
 
2939
  foreach ( MLAOptions::$mla_option_definitions as $key => $value ) {
2940
+ if ( 'general' == $value['tab'] ) {
2941
+ if ( 'custom' == $value['type'] ) {
2942
+ $message = MLAOptions::$value['reset']( 'reset', $key, $value, $_REQUEST );
2943
+ }
2944
+ elseif ( ('header' == $value['type']) || ('hidden' == $value['type']) ) {
2945
+ $message = '';
2946
+ }
2947
+ else {
2948
+ MLAOptions::mla_delete_option( $key );
2949
+ $message = '<br>delete_option(' . $key . ')';
2950
+ }
2951
+
2952
+ $message_list .= $message;
2953
  }
 
 
2954
  }
2955
 
2956
  $page_content = array(
2957
+ 'message' => 'General tab settings reset to default values.',
2958
  'body' => ''
2959
  );
2960
 
includes/class-mla-shortcodes.php CHANGED
@@ -155,7 +155,7 @@ class MLAShortcodes {
155
  *
156
  * @return string HTML content to display gallery.
157
  */
158
- public static function mla_gallery_shortcode($attr) {
159
  global $post;
160
 
161
  /*
@@ -164,6 +164,14 @@ class MLAShortcodes {
164
  if ( ! is_object( $post ) )
165
  $post = (object) array( 'ID' => 0 );
166
 
 
 
 
 
 
 
 
 
167
  /*
168
  * Special handling of the mla_paginate_current parameter to make
169
  * "MLA pagination" easier. Look for this parameter in $_REQUEST
@@ -199,7 +207,13 @@ class MLAShortcodes {
199
  'mla_viewer_page' => '1',
200
  'mla_viewer_width' => '150',
201
  'mla_alt_shortcode' => NULL,
202
- 'mla_alt_ids_name' => 'ids'
 
 
 
 
 
 
203
  );
204
 
205
  $default_arguments = array_merge( array(
@@ -224,7 +238,7 @@ class MLAShortcodes {
224
  'pause' => NULL),
225
  $mla_arguments
226
  );
227
-
228
  /*
229
  * Look for 'request' substitution parameters,
230
  * which can be added to any input parameter
@@ -1129,6 +1143,134 @@ class MLAShortcodes {
1129
  return MLAData::mla_parse_template( $new_text, $markup_values );
1130
  }
1131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1132
  /**
1133
  * Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'
1134
  *
@@ -1183,8 +1325,6 @@ class MLAShortcodes {
1183
 
1184
  switch ( $output_parameters[0] ) {
1185
  case 'previous_page':
1186
- $new_text = '&larr; Previous';
1187
-
1188
  if ( 1 < $paged )
1189
  $new_page = $paged - 1;
1190
  else {
@@ -1202,8 +1342,6 @@ class MLAShortcodes {
1202
 
1203
  break;
1204
  case 'next_page':
1205
- $new_text = 'Next &rarr;';
1206
-
1207
  if ( $paged < $max_page )
1208
  $new_page = $paged + 1;
1209
  else {
@@ -1221,7 +1359,8 @@ class MLAShortcodes {
1221
 
1222
  break;
1223
  case 'paginate_links':
1224
- return $output . 'Found Paginate Links';
 
1225
  }
1226
 
1227
  $markup_values['current_page'] = $paged;
@@ -1257,9 +1396,12 @@ class MLAShortcodes {
1257
  /*
1258
  * Build the new link, applying Gallery Display Content parameters
1259
  */
 
 
 
1260
  if ( 0 == $new_page ) {
1261
  if ( ! empty( $arguments['mla_nolink_text'] ) )
1262
- return self::_process_shortcode_parameter( $arguments['mla_nolink_text'], $markup_values ) . '</a>';
1263
  else
1264
  return '';
1265
  }
@@ -1285,8 +1427,22 @@ class MLAShortcodes {
1285
 
1286
  if ( ! empty( $arguments['mla_link_text'] ) )
1287
  $new_link .= self::_process_shortcode_parameter( $arguments['mla_link_text'], $markup_values ) . '</a>';
1288
- else
 
 
 
 
 
 
 
 
 
 
 
 
 
1289
  $new_link .= $new_text . '</a>';
 
1290
 
1291
  return $new_link;
1292
  }
155
  *
156
  * @return string HTML content to display gallery.
157
  */
158
+ public static function mla_gallery_shortcode( $attr ) {
159
  global $post;
160
 
161
  /*
164
  if ( ! is_object( $post ) )
165
  $post = (object) array( 'ID' => 0 );
166
 
167
+ /*
168
+ * Make sure $attr is an array, even if it's empty
169
+ */
170
+ if ( empty( $attr ) )
171
+ $attr = array();
172
+ elseif ( is_string( $attr ) )
173
+ $attr = shortcode_parse_atts( $attr );
174
+
175
  /*
176
  * Special handling of the mla_paginate_current parameter to make
177
  * "MLA pagination" easier. Look for this parameter in $_REQUEST
207
  'mla_viewer_page' => '1',
208
  'mla_viewer_width' => '150',
209
  'mla_alt_shortcode' => NULL,
210
+ 'mla_alt_ids_name' => 'ids',
211
+ // paginate_links arguments
212
+ 'mla_end_size'=> 1,
213
+ 'mla_mid_size' => 2,
214
+ 'mla_prev_text' => '&laquo; Previous',
215
+ 'mla_next_text' => 'Next &raquo;',
216
+ 'mla_paginate_type' => 'plain'
217
  );
218
 
219
  $default_arguments = array_merge( array(
238
  'pause' => NULL),
239
  $mla_arguments
240
  );
241
+
242
  /*
243
  * Look for 'request' substitution parameters,
244
  * which can be added to any input parameter
1143
  return MLAData::mla_parse_template( $new_text, $markup_values );
1144
  }
1145
 
1146
+ /**
1147
+ * Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'
1148
+ *
1149
+ * @since 1.42
1150
+ *
1151
+ * @param array value(s) for mla_output_type parameter
1152
+ * @param string template substitution values, e.g., ('instance' => '1', ... )
1153
+ * @param string merged default and passed shortcode parameter values
1154
+ * @param integer number of attachments in the gallery, without pagination
1155
+ * @param string output text so far, may include debug values
1156
+ *
1157
+ * @return mixed false or string with HTML for pagination output types
1158
+ */
1159
+ private static function _paginate_links( $output_parameters, $markup_values, $arguments, $found_rows, $output = '' ) {
1160
+ if ( 2 > $markup_values['last_page'] )
1161
+ return '';
1162
+
1163
+ $show_all = $prev_next = false;
1164
+
1165
+ if ( isset ( $output_parameters[1] ) )
1166
+ switch ( $output_parameters[1] ) {
1167
+ case 'show_all':
1168
+ $show_all = true;
1169
+ break;
1170
+ case 'prev_next':
1171
+ $prev_next = true;
1172
+ }
1173
+
1174
+ $current_page = $markup_values['current_page'];
1175
+ $last_page = $markup_values['last_page'];
1176
+ $end_size = absint( $arguments['mla_end_size'] );
1177
+ $mid_size = absint( $arguments['mla_mid_size'] );
1178
+ $posts_per_page = $markup_values['posts_per_page'];
1179
+
1180
+ $new_target = ( ! empty( $arguments['mla_target'] ) ) ? 'target="' . $arguments['mla_target'] . '" ' : '';
1181
+
1182
+ /*
1183
+ * these will add to the default classes
1184
+ */
1185
+ $new_class = ( ! empty( $arguments['mla_link_class'] ) ) ? ' ' . esc_attr( self::_process_shortcode_parameter( $arguments['mla_link_class'], $markup_values ) ) : '';
1186
+
1187
+ $new_attributes = ( ! empty( $arguments['mla_link_attributes'] ) ) ? esc_attr( self::_process_shortcode_parameter( $arguments['mla_link_attributes'], $markup_values ) ) . ' ' : '';
1188
+
1189
+ $new_base = ( ! empty( $arguments['mla_link_href'] ) ) ? esc_attr( self::_process_shortcode_parameter( $arguments['mla_link_href'], $markup_values ) ) : $markup_values['new_url'];
1190
+
1191
+ /*
1192
+ * Build the array of page links
1193
+ */
1194
+ $page_links = array();
1195
+ $dots = false;
1196
+
1197
+ if ( $prev_next && $current_page && 1 < $current_page ) {
1198
+ $markup_values['new_page'] = $current_page - 1;
1199
+ $new_title = ( ! empty( $arguments['mla_rollover_text'] ) ) ? 'title="' . esc_attr( self::_process_shortcode_parameter( $arguments['mla_rollover_text'], $markup_values ) ) . '" ' : '';
1200
+ $new_url = add_query_arg( array( 'mla_paginate_current' => $current_page - 1 ), $new_base );
1201
+ $prev_text = ( ! empty( $arguments['mla_prev_text'] ) ) ? esc_attr( self::_process_shortcode_parameter( $arguments['mla_prev_text'], $markup_values ) ) : '&laquo; Previous';
1202
+ $page_links[] = sprintf( '<a %1$sclass="prev page-numbers%2$s" %3$s%4$shref="%5$s">%6$s</a>',
1203
+ /* %1$s */ $new_target,
1204
+ /* %2$s */ $new_class,
1205
+ /* %3$s */ $new_attributes,
1206
+ /* %4$s */ $new_title,
1207
+ /* %5$s */ $new_url,
1208
+ /* %6$s */ $prev_text );
1209
+ }
1210
+
1211
+ for ( $new_page = 1; $new_page <= $last_page; $new_page++ ) {
1212
+ $new_page_display = number_format_i18n( $new_page );
1213
+ $markup_values['new_page'] = $new_page;
1214
+ $new_title = ( ! empty( $arguments['mla_rollover_text'] ) ) ? 'title="' . esc_attr( self::_process_shortcode_parameter( $arguments['mla_rollover_text'], $markup_values ) ) . '" ' : '';
1215
+
1216
+ if ( $new_page == $current_page ) {
1217
+ // build current page span
1218
+ $page_links[] = sprintf( '<span class="page-numbers current%1$s">%2$s</span>',
1219
+ /* %1$s */ $new_class,
1220
+ /* %2$s */ $new_page_display );
1221
+ $dots = true;
1222
+ }
1223
+ else {
1224
+ if ( $show_all || ( $new_page <= $end_size || ( $current_page && $new_page >= $current_page - $mid_size && $new_page <= $current_page + $mid_size ) || $new_page > $last_page - $end_size ) ) {
1225
+ // build link
1226
+ $new_url = add_query_arg( array( 'mla_paginate_current' => $new_page ), $new_base );
1227
+ $page_links[] = sprintf( '<a %1$sclass="page-numbers%2$s" %3$s%4$shref="%5$s">%6$s</a>',
1228
+ /* %1$s */ $new_target,
1229
+ /* %2$s */ $new_class,
1230
+ /* %3$s */ $new_attributes,
1231
+ /* %4$s */ $new_title,
1232
+ /* %5$s */ $new_url,
1233
+ /* %6$s */ $new_page_display );
1234
+ $dots = true;
1235
+ }
1236
+ elseif ( $dots && ! $show_all ) {
1237
+ // build link
1238
+ $page_links[] = sprintf( '<span class="page-numbers dots%1$s">&hellip;</span>',
1239
+ /* %1$s */ $new_class );
1240
+ $dots = false;
1241
+ }
1242
+ } // ! current
1243
+ } // for $new_page
1244
+
1245
+ if ( $prev_next && $current_page && ( $current_page < $last_page || -1 == $last_page ) ) {
1246
+ // build next link
1247
+ $markup_values['new_page'] = $current_page + 1;
1248
+ $new_title = ( ! empty( $arguments['mla_rollover_text'] ) ) ? 'title="' . esc_attr( self::_process_shortcode_parameter( $arguments['mla_rollover_text'], $markup_values ) ) . '" ' : '';
1249
+ $new_url = add_query_arg( array( 'mla_paginate_current' => $current_page + 1 ), $new_base );
1250
+ $next_text = ( ! empty( $arguments['mla_next_text'] ) ) ? esc_attr( self::_process_shortcode_parameter( $arguments['mla_next_text'], $markup_values ) ) : 'Next &raquo;';
1251
+ $page_links[] = sprintf( '<a %1$sclass="next page-numbers%2$s" %3$s%4$shref="%5$s">%6$s</a>',
1252
+ /* %1$s */ $new_target,
1253
+ /* %2$s */ $new_class,
1254
+ /* %3$s */ $new_attributes,
1255
+ /* %4$s */ $new_title,
1256
+ /* %5$s */ $new_url,
1257
+ /* %6$s */ $next_text );
1258
+ }
1259
+
1260
+ switch ( strtolower( trim( $arguments['mla_paginate_type'] ) ) ) {
1261
+ case 'list':
1262
+ $results = "<ul class='page-numbers'>\n\t<li>";
1263
+ $results .= join("</li>\n\t<li>", $page_links);
1264
+ $results .= "</li>\n</ul>\n";
1265
+ break;
1266
+ default:
1267
+ $results = join("\n", $page_links);
1268
+ } // mla_paginate_type
1269
+ error_log( '_paginate_links $results = ' . var_export( $results, true ), 0 );
1270
+
1271
+ return $output . $results;
1272
+ }
1273
+
1274
  /**
1275
  * Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'
1276
  *
1325
 
1326
  switch ( $output_parameters[0] ) {
1327
  case 'previous_page':
 
 
1328
  if ( 1 < $paged )
1329
  $new_page = $paged - 1;
1330
  else {
1342
 
1343
  break;
1344
  case 'next_page':
 
 
1345
  if ( $paged < $max_page )
1346
  $new_page = $paged + 1;
1347
  else {
1359
 
1360
  break;
1361
  case 'paginate_links':
1362
+ $new_page = 0;
1363
+ $new_text = '';
1364
  }
1365
 
1366
  $markup_values['current_page'] = $paged;
1396
  /*
1397
  * Build the new link, applying Gallery Display Content parameters
1398
  */
1399
+ if ( 'paginate_links' == $output_parameters[0] )
1400
+ return self::_paginate_links( $output_parameters, $markup_values, $arguments, $found_rows, $output );
1401
+
1402
  if ( 0 == $new_page ) {
1403
  if ( ! empty( $arguments['mla_nolink_text'] ) )
1404
+ return self::_process_shortcode_parameter( $arguments['mla_nolink_text'], $markup_values );
1405
  else
1406
  return '';
1407
  }
1427
 
1428
  if ( ! empty( $arguments['mla_link_text'] ) )
1429
  $new_link .= self::_process_shortcode_parameter( $arguments['mla_link_text'], $markup_values ) . '</a>';
1430
+ else {
1431
+ if ( 'previous_page' == $output_parameters[0] ) {
1432
+ if ( isset( $arguments['mla_prev_text'] ) )
1433
+ $new_text = esc_attr( self::_process_shortcode_parameter( $arguments['mla_prev_text'], $markup_values ) );
1434
+ else
1435
+ $new_text = '&laquo; Previous';
1436
+ }
1437
+ else {
1438
+ if ( isset( $arguments['mla_next_text'] ) )
1439
+ $new_text = esc_attr( self::_process_shortcode_parameter( $arguments['mla_next_text'], $markup_values ) );
1440
+ else
1441
+ $new_text = 'Next &raquo;';
1442
+ }
1443
+
1444
  $new_link .= $new_text . '</a>';
1445
+ }
1446
 
1447
  return $new_link;
1448
  }
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.42
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.42
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.43
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.43
18
  Author URI: http://fairtradejudaica.org/our-story/staff/
19
  */
20
 
phpDocs/classes/MLA.html CHANGED
@@ -675,7 +675,7 @@ change the meta data for a single attachment.</h2>
675
  <div class="row"><footer class="span12">
676
  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>
677
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
678
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
679
  </div>
680
  </body>
681
  </html>
675
  <div class="row"><footer class="span12">
676
  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>
677
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
678
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
679
  </div>
680
  </body>
681
  </html>
phpDocs/classes/MLAData.html CHANGED
@@ -86,11 +86,14 @@ for a single attachment.</span><pre>mla_update_single_item()</pre></a></li>
86
  <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>
87
  <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>
88
  <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>
 
89
  <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>
 
90
  <li class="method private "><a href="#_parse_pdf_UTF16BE" title="_parse_pdf_UTF16BE :: Parse a PDF Unicode (16-bit Big Endian) object"><span class="description">Parse a PDF Unicode (16-bit Big Endian) object</span><pre>_parse_pdf_UTF16BE()</pre></a></li>
91
- <li class="method private "><a href="#_parse_pdf_date" title="_parse_pdf_date :: Parse a PDF date string object"><span class="description">Parse a PDF date string object</span><pre>_parse_pdf_date()</pre></a></li>
92
  <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>
93
  <li class="method private "><a href="#_parse_pdf_string" title="_parse_pdf_string :: Parse a PDF string object"><span class="description">Parse a PDF string object</span><pre>_parse_pdf_string()</pre></a></li>
 
94
  <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>
95
  <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>
96
  <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>
@@ -771,7 +774,7 @@ for a single attachment.</h2>
771
  </div>
772
  <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">
773
  <h2>Extract Metadata from a PDF file</h2>
774
- <pre>_extract_pdf_metadata(string $string) : array</pre>
775
  <div class="labels"></div>
776
  <div class="row collapse"><div class="detail-description">
777
  <p class="long_description"></p>
@@ -781,13 +784,39 @@ for a single attachment.</h2>
781
  </tr></table>
782
  <h3>Parameters</h3>
783
  <div class="subelement argument">
784
- <h4>$string</h4>
785
  <code>string</code><p>full path to the desired file</p></div>
786
  <h3>Returns</h3>
787
  <div class="subelement response">
788
  <code>array</code>( key => value ) for each metadata field, in string format</div>
789
  </div></div>
790
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
791
  <a name="_hex_dump" id="_hex_dump"></a><div class="element clickable method private _hex_dump" data-toggle="collapse" data-target="._hex_dump .collapse">
792
  <h2>Format printable version of binary data</h2>
793
  <pre>_hex_dump(string $data, integer $limit, \intger $bytes_per_row) : string</pre>
@@ -814,6 +843,26 @@ for a single attachment.</h2>
814
  <code>string</code>Printable representation of $data</div>
815
  </div></div>
816
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
817
  <a name="_parse_pdf_UTF16BE" id="_parse_pdf_UTF16BE"></a><div class="element clickable method private _parse_pdf_UTF16BE" data-toggle="collapse" data-target="._parse_pdf_UTF16BE .collapse">
818
  <h2>Parse a PDF Unicode (16-bit Big Endian) object</h2>
819
  <pre>_parse_pdf_UTF16BE(string $source_string) : string</pre>
@@ -835,7 +884,7 @@ for a single attachment.</h2>
835
  </div></div>
836
  </div>
837
  <a name="_parse_pdf_date" id="_parse_pdf_date"></a><div class="element clickable method private _parse_pdf_date" data-toggle="collapse" data-target="._parse_pdf_date .collapse">
838
- <h2>Parse a PDF date string object</h2>
839
  <pre>_parse_pdf_date(string $source_string) : string</pre>
840
  <div class="labels"></div>
841
  <div class="row collapse"><div class="detail-description">
@@ -862,7 +911,7 @@ for a single attachment.</h2>
862
  <p class="long_description"><p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
863
  indirect (object), name, array, dictionary, stream, and null.
864
  The array also has a '/length' element containing the number of bytes occupied by the
865
- dictionary in the source string, including the enclosing parentheses.</p></p>
866
  <table class="table table-bordered"><tr>
867
  <th>since</th>
868
  <td>1.4x</td>
@@ -873,7 +922,7 @@ dictionary in the source string, including the enclosing parentheses.</p></p>
873
  <code>string</code><p>data within which the string occurs</p></div>
874
  <div class="subelement argument">
875
  <h4>$offset</h4>
876
- <code>integer</code><p>offset within the source string of the opening '<<' characters.</p>
877
  </div>
878
  <h3>Returns</h3>
879
  <div class="subelement response">
@@ -904,6 +953,32 @@ the number of bytes occupied by the string in the source string, including the e
904
  <code>array</code>( key => array( 'type' => type, 'value' => value, '/length' => length ) ) for the string</div>
905
  </div></div>
906
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
907
  <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">
908
  <h2>Sanitize and expand query arguments from request variables</h2>
909
  <pre>_prepare_list_table_query(array $raw_request, int $offset, int $count) : array</pre>
@@ -1169,7 +1244,7 @@ any further logic required to translate those values is contained in the filters
1169
  <div class="row"><footer class="span12">
1170
  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>
1171
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1172
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
1173
  </div>
1174
  </body>
1175
  </html>
86
  <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>
87
  <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>
88
  <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>
89
+ <li class="method private "><a href="#_find_pdf_indirect_dictionary" title="_find_pdf_indirect_dictionary :: Find the offset, length and contents of an indirect object containing a dictionary"><span class="description">Find the offset, length and contents of an indirect object containing a dictionary</span><pre>_find_pdf_indirect_dictionary()</pre></a></li>
90
  <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>
91
+ <li class="method private "><a href="#_parse_iso8601_date" title="_parse_iso8601_date :: Parse a ISO 8601 Timestamp"><span class="description">Parse a ISO 8601 Timestamp</span><pre>_parse_iso8601_date()</pre></a></li>
92
  <li class="method private "><a href="#_parse_pdf_UTF16BE" title="_parse_pdf_UTF16BE :: Parse a PDF Unicode (16-bit Big Endian) object"><span class="description">Parse a PDF Unicode (16-bit Big Endian) object</span><pre>_parse_pdf_UTF16BE()</pre></a></li>
93
+ <li class="method private "><a href="#_parse_pdf_date" title="_parse_pdf_date :: Parse a PDF date string"><span class="description">Parse a PDF date string</span><pre>_parse_pdf_date()</pre></a></li>
94
  <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>
95
  <li class="method private "><a href="#_parse_pdf_string" title="_parse_pdf_string :: Parse a PDF string object"><span class="description">Parse a PDF string object</span><pre>_parse_pdf_string()</pre></a></li>
96
+ <li class="method private "><a href="#_parse_xmp_metadata" title="_parse_xmp_metadata :: Parse an XMP object"><span class="description">Parse an XMP object</span><pre>_parse_xmp_metadata()</pre></a></li>
97
  <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>
98
  <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>
99
  <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>
774
  </div>
775
  <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">
776
  <h2>Extract Metadata from a PDF file</h2>
777
+ <pre>_extract_pdf_metadata(string $file_name) : array</pre>
778
  <div class="labels"></div>
779
  <div class="row collapse"><div class="detail-description">
780
  <p class="long_description"></p>
784
  </tr></table>
785
  <h3>Parameters</h3>
786
  <div class="subelement argument">
787
+ <h4>$file_name</h4>
788
  <code>string</code><p>full path to the desired file</p></div>
789
  <h3>Returns</h3>
790
  <div class="subelement response">
791
  <code>array</code>( key => value ) for each metadata field, in string format</div>
792
  </div></div>
793
  </div>
794
+ <a name="_find_pdf_indirect_dictionary" id="_find_pdf_indirect_dictionary"></a><div class="element clickable method private _find_pdf_indirect_dictionary" data-toggle="collapse" data-target="._find_pdf_indirect_dictionary .collapse">
795
+ <h2>Find the offset, length and contents of an indirect object containing a dictionary</h2>
796
+ <pre>_find_pdf_indirect_dictionary(string $string, integer $object, integer $generation) : mixed</pre>
797
+ <div class="labels"></div>
798
+ <div class="row collapse"><div class="detail-description">
799
+ <p class="long_description"></p>
800
+ <table class="table table-bordered"><tr>
801
+ <th>since</th>
802
+ <td>1.4x</td>
803
+ </tr></table>
804
+ <h3>Parameters</h3>
805
+ <div class="subelement argument">
806
+ <h4>$string</h4>
807
+ <code>string</code><p>The entire PDF document, passsed by reference</p></div>
808
+ <div class="subelement argument">
809
+ <h4>$object</h4>
810
+ <code>integer</code><p>The object number</p></div>
811
+ <div class="subelement argument">
812
+ <h4>$generation</h4>
813
+ <code>integer</code><p>The object generation number; default zero (0)</p>
814
+ </div>
815
+ <h3>Returns</h3>
816
+ <div class="subelement response">
817
+ <code>mixed</code>NULL on failure else array( 'start' => offset in the file, 'length' => object length, 'content' => dictionary contents )</div>
818
+ </div></div>
819
+ </div>
820
  <a name="_hex_dump" id="_hex_dump"></a><div class="element clickable method private _hex_dump" data-toggle="collapse" data-target="._hex_dump .collapse">
821
  <h2>Format printable version of binary data</h2>
822
  <pre>_hex_dump(string $data, integer $limit, \intger $bytes_per_row) : string</pre>
843
  <code>string</code>Printable representation of $data</div>
844
  </div></div>
845
  </div>
846
+ <a name="_parse_iso8601_date" id="_parse_iso8601_date"></a><div class="element clickable method private _parse_iso8601_date" data-toggle="collapse" data-target="._parse_iso8601_date .collapse">
847
+ <h2>Parse a ISO 8601 Timestamp</h2>
848
+ <pre>_parse_iso8601_date(string $source_string) : string</pre>
849
+ <div class="labels"></div>
850
+ <div class="row collapse"><div class="detail-description">
851
+ <p class="long_description"></p>
852
+ <table class="table table-bordered"><tr>
853
+ <th>since</th>
854
+ <td>1.4x</td>
855
+ </tr></table>
856
+ <h3>Parameters</h3>
857
+ <div class="subelement argument">
858
+ <h4>$source_string</h4>
859
+ <code>string</code><p>ISO string of the form YYYY-MM-DDTHH:MM:SS-HH:MM (inc time zone)</p>
860
+ </div>
861
+ <h3>Returns</h3>
862
+ <div class="subelement response">
863
+ <code>string</code>formatted date string YYYY-MM-DD HH:mm:SS</div>
864
+ </div></div>
865
+ </div>
866
  <a name="_parse_pdf_UTF16BE" id="_parse_pdf_UTF16BE"></a><div class="element clickable method private _parse_pdf_UTF16BE" data-toggle="collapse" data-target="._parse_pdf_UTF16BE .collapse">
867
  <h2>Parse a PDF Unicode (16-bit Big Endian) object</h2>
868
  <pre>_parse_pdf_UTF16BE(string $source_string) : string</pre>
884
  </div></div>
885
  </div>
886
  <a name="_parse_pdf_date" id="_parse_pdf_date"></a><div class="element clickable method private _parse_pdf_date" data-toggle="collapse" data-target="._parse_pdf_date .collapse">
887
+ <h2>Parse a PDF date string</h2>
888
  <pre>_parse_pdf_date(string $source_string) : string</pre>
889
  <div class="labels"></div>
890
  <div class="row collapse"><div class="detail-description">
911
  <p class="long_description"><p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
912
  indirect (object), name, array, dictionary, stream, and null.
913
  The array also has a '/length' element containing the number of bytes occupied by the
914
+ dictionary in the source string, excluding the enclosing delimiters, if passed in.</p></p>
915
  <table class="table table-bordered"><tr>
916
  <th>since</th>
917
  <td>1.4x</td>
922
  <code>string</code><p>data within which the string occurs</p></div>
923
  <div class="subelement argument">
924
  <h4>$offset</h4>
925
+ <code>integer</code><p>offset within the source string of the opening '<<' characters or the first content character.</p>
926
  </div>
927
  <h3>Returns</h3>
928
  <div class="subelement response">
953
  <code>array</code>( key => array( 'type' => type, 'value' => value, '/length' => length ) ) for the string</div>
954
  </div></div>
955
  </div>
956
+ <a name="_parse_xmp_metadata" id="_parse_xmp_metadata"></a><div class="element clickable method private _parse_xmp_metadata" data-toggle="collapse" data-target="._parse_xmp_metadata .collapse">
957
+ <h2>Parse an XMP object</h2>
958
+ <pre>_parse_xmp_metadata(string $source_string, integer $offset) : array</pre>
959
+ <div class="labels"></div>
960
+ <div class="row collapse"><div class="detail-description">
961
+ <p class="long_description"><p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
962
+ indirect (object), name, array, dictionary, stream, and null.
963
+ The array also has a '/length' element containing the number of bytes occupied by the
964
+ dictionary in the source string, excluding the enclosing delimiters, if passed in.</p></p>
965
+ <table class="table table-bordered"><tr>
966
+ <th>since</th>
967
+ <td>1.4x</td>
968
+ </tr></table>
969
+ <h3>Parameters</h3>
970
+ <div class="subelement argument">
971
+ <h4>$source_string</h4>
972
+ <code>string</code><p>data within which the string occurs</p></div>
973
+ <div class="subelement argument">
974
+ <h4>$offset</h4>
975
+ <code>integer</code><p>offset within the source string of the opening '<<' characters or the first content character.</p>
976
+ </div>
977
+ <h3>Returns</h3>
978
+ <div class="subelement response">
979
+ <code>array</code>( '/length' => length, key => array( 'type' => type, 'value' => value ) ) for each dictionary field</div>
980
+ </div></div>
981
+ </div>
982
  <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">
983
  <h2>Sanitize and expand query arguments from request variables</h2>
984
  <pre>_prepare_list_table_query(array $raw_request, int $offset, int $count) : array</pre>
1244
  <div class="row"><footer class="span12">
1245
  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>
1246
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1247
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
1248
  </div>
1249
  </body>
1250
  </html>
phpDocs/classes/MLAEdit.html CHANGED
@@ -345,7 +345,7 @@ The array is built once each page load and cached for subsequent calls.</p></p>
345
  <div class="row"><footer class="span12">
346
  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>
347
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
348
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
349
  </div>
350
  </body>
351
  </html>
345
  <div class="row"><footer class="span12">
346
  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>
347
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
348
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
349
  </div>
350
  </body>
351
  </html>
phpDocs/classes/MLAMime.html CHANGED
@@ -1268,7 +1268,7 @@ Defined as public because it's a filter.</p></p>
1268
  <div class="row"><footer class="span12">
1269
  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>
1270
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1271
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
1272
  </div>
1273
  </body>
1274
  </html>
1268
  <div class="row"><footer class="span12">
1269
  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>
1270
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1271
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
1272
  </div>
1273
  </body>
1274
  </html>
phpDocs/classes/MLAModal.html CHANGED
@@ -309,7 +309,7 @@ and mla_print_media_templates_action</h2>
309
  <div class="row"><footer class="span12">
310
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
311
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
312
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
313
  </div>
314
  </body>
315
  </html>
309
  <div class="row"><footer class="span12">
310
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
311
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
312
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
313
  </div>
314
  </body>
315
  </html>
phpDocs/classes/MLAObjects.html CHANGED
@@ -169,7 +169,7 @@ which replaces the "Posts" column with an equivalent "Attachments" column.</h2>
169
  <div class="row"><footer class="span12">
170
  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>
171
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
172
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
173
  </div>
174
  </body>
175
  </html>
169
  <div class="row"><footer class="span12">
170
  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>
171
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
172
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
173
  </div>
174
  </body>
175
  </html>
phpDocs/classes/MLAOptions.html CHANGED
@@ -1143,7 +1143,7 @@ reset => reset function for 'custom' options; returns nothing. Usage:
1143
  <div class="row"><footer class="span12">
1144
  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>
1145
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1146
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
1147
  </div>
1148
  </body>
1149
  </html>
1143
  <div class="row"><footer class="span12">
1144
  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>
1145
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1146
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
1147
  </div>
1148
  </body>
1149
  </html>
phpDocs/classes/MLASettings.html CHANGED
@@ -1104,7 +1104,7 @@ each page load and cached for subsequent use.</p></p>
1104
  <div class="row"><footer class="span12">
1105
  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>
1106
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1107
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
1108
  </div>
1109
  </body>
1110
  </html>
1104
  <div class="row"><footer class="span12">
1105
  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>
1106
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1107
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
1108
  </div>
1109
  </body>
1110
  </html>
phpDocs/classes/MLAShortcodes.html CHANGED
@@ -63,6 +63,7 @@
63
  <li class="method public "><a href="#mla_shortcode_query_posts_orderby_filter" title="mla_shortcode_query_posts_orderby_filter :: Filters the ORDERBY clause for shortcode queries"><span class="description">Filters the ORDERBY clause for shortcode queries</span><pre>mla_shortcode_query_posts_orderby_filter()</pre></a></li>
64
  <li class="method public "><a href="#mla_shortcode_query_posts_where_filter" title="mla_shortcode_query_posts_where_filter :: Filters the WHERE clause for shortcode queries"><span class="description">Filters the WHERE clause for shortcode queries</span><pre>mla_shortcode_query_posts_where_filter()</pre></a></li>
65
  <li class="nav-header private">» Private</li>
 
66
  <li class="method private "><a href="#_process_pagination_output_types" title="_process_pagination_output_types :: Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'"><span class="description">Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'</span><pre>_process_pagination_output_types()</pre></a></li>
67
  <li class="method private "><a href="#_process_shortcode_parameter" title="_process_shortcode_parameter :: Handles brace/bracket escaping and parses template for a shortcode parameter"><span class="description">Handles brace/bracket escaping and parses template for a shortcode parameter</span><pre>_process_shortcode_parameter()</pre></a></li>
68
  <li class="method private "><a href="#_sanitize_query_specification" title="_sanitize_query_specification :: Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications"><span class="description">Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications</span><pre>_sanitize_query_specification()</pre></a></li>
@@ -255,6 +256,39 @@ Defined as public because it's a filter.</p></p>
255
  <code>string</code>query clause after modification</div>
256
  </div></div>
257
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  <a name="_process_pagination_output_types" id="_process_pagination_output_types"></a><div class="element clickable method private _process_pagination_output_types" data-toggle="collapse" data-target="._process_pagination_output_types .collapse">
259
  <h2>Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'</h2>
260
  <pre>_process_pagination_output_types(array $output_parameters, string $markup_values, string $arguments, string $attr, integer $found_rows, string $output) : mixed</pre>
@@ -416,7 +450,7 @@ any further logic required to translate those values is contained in the filter.
416
  <div class="row"><footer class="span12">
417
  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>
418
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
419
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
420
  </div>
421
  </body>
422
  </html>
63
  <li class="method public "><a href="#mla_shortcode_query_posts_orderby_filter" title="mla_shortcode_query_posts_orderby_filter :: Filters the ORDERBY clause for shortcode queries"><span class="description">Filters the ORDERBY clause for shortcode queries</span><pre>mla_shortcode_query_posts_orderby_filter()</pre></a></li>
64
  <li class="method public "><a href="#mla_shortcode_query_posts_where_filter" title="mla_shortcode_query_posts_where_filter :: Filters the WHERE clause for shortcode queries"><span class="description">Filters the WHERE clause for shortcode queries</span><pre>mla_shortcode_query_posts_where_filter()</pre></a></li>
65
  <li class="nav-header private">» Private</li>
66
+ <li class="method private "><a href="#_paginate_links" title="_paginate_links :: Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'"><span class="description">Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'</span><pre>_paginate_links()</pre></a></li>
67
  <li class="method private "><a href="#_process_pagination_output_types" title="_process_pagination_output_types :: Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'"><span class="description">Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'</span><pre>_process_pagination_output_types()</pre></a></li>
68
  <li class="method private "><a href="#_process_shortcode_parameter" title="_process_shortcode_parameter :: Handles brace/bracket escaping and parses template for a shortcode parameter"><span class="description">Handles brace/bracket escaping and parses template for a shortcode parameter</span><pre>_process_shortcode_parameter()</pre></a></li>
69
  <li class="method private "><a href="#_sanitize_query_specification" title="_sanitize_query_specification :: Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications"><span class="description">Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications</span><pre>_sanitize_query_specification()</pre></a></li>
256
  <code>string</code>query clause after modification</div>
257
  </div></div>
258
  </div>
259
+ <a name="_paginate_links" id="_paginate_links"></a><div class="element clickable method private _paginate_links" data-toggle="collapse" data-target="._paginate_links .collapse">
260
+ <h2>Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'</h2>
261
+ <pre>_paginate_links(array $output_parameters, string $markup_values, string $arguments, integer $found_rows, string $output) : mixed</pre>
262
+ <div class="labels"></div>
263
+ <div class="row collapse"><div class="detail-description">
264
+ <p class="long_description"></p>
265
+ <table class="table table-bordered"><tr>
266
+ <th>since</th>
267
+ <td>1.42</td>
268
+ </tr></table>
269
+ <h3>Parameters</h3>
270
+ <div class="subelement argument">
271
+ <h4>$output_parameters</h4>
272
+ <code>array</code><p>value(s) for mla_output_type parameter</p>
273
+ </div>
274
+ <div class="subelement argument">
275
+ <h4>$markup_values</h4>
276
+ <code>string</code><p>template substitution values, e.g., ('instance' => '1', ... )</p>
277
+ </div>
278
+ <div class="subelement argument">
279
+ <h4>$arguments</h4>
280
+ <code>string</code><p>merged default and passed shortcode parameter values</p></div>
281
+ <div class="subelement argument">
282
+ <h4>$found_rows</h4>
283
+ <code>integer</code><p>number of attachments in the gallery, without pagination</p></div>
284
+ <div class="subelement argument">
285
+ <h4>$output</h4>
286
+ <code>string</code><p>output text so far, may include debug values</p></div>
287
+ <h3>Returns</h3>
288
+ <div class="subelement response">
289
+ <code>mixed</code>false or string with HTML for pagination output types</div>
290
+ </div></div>
291
+ </div>
292
  <a name="_process_pagination_output_types" id="_process_pagination_output_types"></a><div class="element clickable method private _process_pagination_output_types" data-toggle="collapse" data-target="._process_pagination_output_types .collapse">
293
  <h2>Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links'</h2>
294
  <pre>_process_pagination_output_types(array $output_parameters, string $markup_values, string $arguments, string $attr, integer $found_rows, string $output) : mixed</pre>
450
  <div class="row"><footer class="span12">
451
  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>
452
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
453
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
454
  </div>
455
  </body>
456
  </html>
phpDocs/classes/MLATest.html CHANGED
@@ -162,7 +162,7 @@ to ensure the plugin can run in the current WordPress envrionment.</p>
162
  <div class="row"><footer class="span12">
163
  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>
164
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
165
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
166
  </div>
167
  </body>
168
  </html>
162
  <div class="row"><footer class="span12">
163
  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>
164
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
165
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
166
  </div>
167
  </body>
168
  </html>
phpDocs/classes/MLA_List_Table.html CHANGED
@@ -1092,7 +1092,7 @@ Custom field columns are added to this array by mla_admin_init_action.</p></p>
1092
  <div class="row"><footer class="span12">
1093
  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>
1094
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1095
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
1096
  </div>
1097
  </body>
1098
  </html>
1092
  <div class="row"><footer class="span12">
1093
  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>
1094
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1095
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
1096
  </div>
1097
  </body>
1098
  </html>
phpDocs/classes/MLA_Upload_List_Table.html CHANGED
@@ -717,7 +717,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
717
  <div class="row"><footer class="span12">
718
  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>
719
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
720
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
721
  </div>
722
  </body>
723
  </html>
717
  <div class="row"><footer class="span12">
718
  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>
719
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
720
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
721
  </div>
722
  </body>
723
  </html>
phpDocs/classes/MLA_Upload_Optional_List_Table.html CHANGED
@@ -535,7 +535,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
535
  <div class="row"><footer class="span12">
536
  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>
537
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
538
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
539
  </div>
540
  </body>
541
  </html>
535
  <div class="row"><footer class="span12">
536
  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>
537
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
538
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
539
  </div>
540
  </body>
541
  </html>
phpDocs/classes/MLA_View_List_Table.html CHANGED
@@ -614,7 +614,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
614
  <div class="row"><footer class="span12">
615
  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>
616
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
617
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
618
  </div>
619
  </body>
620
  </html>
614
  <div class="row"><footer class="span12">
615
  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>
616
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
617
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
618
  </div>
619
  </body>
620
  </html>
phpDocs/deprecated.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-07-31T21:05:23-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-08-10T19:24:37-07:00.<br></footer></div>
68
  </div>
69
  </body>
70
  </html>
phpDocs/errors.html CHANGED
@@ -83,7 +83,7 @@
83
  <div class="row"><footer class="span12">
84
  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>
85
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
86
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
87
  </div>
88
  </body>
89
  </html>
83
  <div class="row"><footer class="span12">
84
  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>
85
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
86
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
87
  </div>
88
  </body>
89
  </html>
phpDocs/graph_class.html CHANGED
@@ -61,7 +61,7 @@
61
  </script><div class="row"><footer class="span12">
62
  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>
63
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
64
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
65
  </div>
66
  </body>
67
  </html>
61
  </script><div class="row"><footer class="span12">
62
  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>
63
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
64
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
65
  </div>
66
  </body>
67
  </html>
phpDocs/index.html CHANGED
@@ -83,7 +83,7 @@
83
  <div class="row"><footer class="span12">
84
  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>
85
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
86
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
87
  </div>
88
  </body>
89
  </html>
83
  <div class="row"><footer class="span12">
84
  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>
85
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
86
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
87
  </div>
88
  </body>
89
  </html>
phpDocs/markers.html CHANGED
@@ -76,7 +76,7 @@
76
  </tr>
77
  <tr>
78
  <td>todo</td>
79
- <td>1745</td>
80
  <td>encode the rest</td>
81
  </tr>
82
  </table></div>
@@ -86,7 +86,7 @@
86
  <div class="row"><footer class="span12">
87
  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>
88
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
89
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
90
  </div>
91
  </body>
92
  </html>
76
  </tr>
77
  <tr>
78
  <td>todo</td>
79
+ <td>1823</td>
80
  <td>encode the rest</td>
81
  </tr>
82
  </table></div>
86
  <div class="row"><footer class="span12">
87
  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>
88
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
89
+ generated on 2013-08-10T19:24:37-07:00.<br></footer></div>
90
  </div>
91
  </body>
92
  </html>
phpDocs/namespaces/global.html CHANGED
@@ -224,7 +224,7 @@ searchable database of exension/type associations for the "Uploads" admin settin
224
  <div class="row"><footer class="span12">
225
  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>
226
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
227
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
228
  </div>
229
  </body>
230
  </html>
224
  <div class="row"><footer class="span12">
225
  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>
226
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
227
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
228
  </div>
229
  </body>
230
  </html>
phpDocs/packages/Media Library Assistant.html CHANGED
@@ -254,7 +254,7 @@ searchable database of exension/type associations for the "Uploads" admin settin
254
  <div class="row"><footer class="span12">
255
  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>
256
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
257
- generated on 2013-07-31T21:05:23-07:00.<br></footer></div>
258
  </div>
259
  </body>
260
  </html>
254
  <div class="row"><footer class="span12">
255
  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>
256
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
257
+ generated on 2013-08-10T19:24:36-07:00.<br></footer></div>
258
  </div>
259
  </body>
260
  </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="a47eed19b7b4a278fe474cdfefc11ab9" 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>
@@ -116,79 +116,79 @@ each page load and cached for subsequent calls.</p>]]></long-description>
116
  </tag>
117
  </docblock>
118
  </property>
119
- <property final="false" static="true" visibility="private" line="2037" 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="2030">
123
  <description><![CDATA[UTF-8 replacements for invalid SQL characters]]></description>
124
  <long-description><![CDATA[]]></long-description>
125
- <tag line="2030" name="since" description="1.41"/>
126
- <tag line="2030" 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="2095" 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="2085">
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="2085" name="since" description="0.90"/>
139
- <tag line="2085" 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="2194" 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="2184">
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="2184" name="since" description="0.90"/>
152
- <tag line="2184" 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="2293" 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="2283">
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="2283" name="since" description="0.90"/>
165
- <tag line="2283" 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="2392" 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="2382">
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="2382" name="since" description="0.90"/>
178
- <tag line="2382" 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="2435" 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="2425">
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="2425" name="since" description="0.90"/>
191
- <tag line="2425" name="var" description="" type="array">
192
  <type by_reference="false">array</type>
193
  </tag>
194
  </docblock>
@@ -810,400 +810,487 @@ as a Featured Image or inserted in the post as an image or link.</p>]]></long-de
810
  <type/>
811
  </argument>
812
  </method>
813
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1717" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
814
  <name>_parse_pdf_date</name>
815
  <full_name>_parse_pdf_date</full_name>
816
- <docblock line="1708">
817
- <description><![CDATA[Parse a PDF date string object]]></description>
818
  <long-description><![CDATA[]]></long-description>
819
- <tag line="1708" name="since" description="1.4x"/>
820
- <tag line="1708" name="param" description="PDF date string of the form D:YYYYMMDDHHmmSSOHH'mm" type="string" variable="$source_string">
821
  <type by_reference="false">string</type>
822
  </tag>
823
- <tag line="1708" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
824
  <type by_reference="false">string</type>
825
  </tag>
826
  </docblock>
827
- <argument line="1717">
828
  <name>$source_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="1736" package="Media Library Assistant">
834
  <name>_parse_pdf_UTF16BE</name>
835
  <full_name>_parse_pdf_UTF16BE</full_name>
836
- <docblock line="1727">
837
  <description><![CDATA[Parse a PDF Unicode (16-bit Big Endian) object]]></description>
838
  <long-description><![CDATA[]]></long-description>
839
- <tag line="1727" name="since" description="1.4x"/>
840
- <tag line="1727" name="param" description="PDF string of 16-bit characters" type="string" variable="$source_string">
841
  <type by_reference="false">string</type>
842
  </tag>
843
- <tag line="1727" name="return" description="UTF-8 encoded string" type="string">
844
  <type by_reference="false">string</type>
845
  </tag>
846
  </docblock>
847
- <argument line="1736">
848
  <name>$source_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="1765" package="Media Library Assistant">
854
  <name>_parse_pdf_string</name>
855
  <full_name>_parse_pdf_string</full_name>
856
- <docblock line="1752">
857
  <description><![CDATA[Parse a PDF string object]]></description>
858
  <long-description><![CDATA[<p>Returns an array with one dictionary entry. The array also has a '/length' element containing
859
  the number of bytes occupied by the string in the source string, including the enclosing parentheses.</p>]]></long-description>
860
- <tag line="1752" name="since" description="1.4x"/>
861
- <tag line="1752" name="param" description="data within which the string occurs" type="string" variable="$source_string">
862
  <type by_reference="false">string</type>
863
  </tag>
864
- <tag line="1752" name="param" description="offset within the source string of the opening '(' character." type="integer" variable="$offset">
865
  <type by_reference="false">integer</type>
866
  </tag>
867
- <tag line="1752" name="return" description="( key =&gt; array( 'type' =&gt; type, 'value' =&gt; value, '/length' =&gt; length ) ) for the string" type="array">
868
  <type by_reference="false">array</type>
869
  </tag>
870
  </docblock>
871
- <argument line="1765">
872
  <name>$source_string</name>
873
  <default><![CDATA[]]></default>
874
  <type/>
875
  </argument>
876
- <argument line="1765">
877
  <name>$offset</name>
878
  <default><![CDATA[]]></default>
879
  <type/>
880
  </argument>
881
  </method>
882
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1858" package="Media Library Assistant">
883
  <name>_parse_pdf_dictionary</name>
884
  <full_name>_parse_pdf_dictionary</full_name>
885
- <docblock line="1844">
886
  <description><![CDATA[Parse a PDF dictionary object]]></description>
887
  <long-description><![CDATA[<p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
888
  indirect (object), name, array, dictionary, stream, and null.
889
  The array also has a '/length' element containing the number of bytes occupied by the
890
- dictionary in the source string, including the enclosing parentheses.</p>]]></long-description>
891
- <tag line="1844" name="since" description="1.4x"/>
892
- <tag line="1844" name="param" description="data within which the string occurs" type="string" variable="$source_string">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
893
  <type by_reference="false">string</type>
894
  </tag>
895
- <tag line="1844" name="param" description="offset within the source string of the opening '&lt;&lt;' characters." type="integer" variable="$offset">
896
  <type by_reference="false">integer</type>
897
  </tag>
898
- <tag line="1844" name="return" description="( '/length' =&gt; length, key =&gt; array( 'type' =&gt; type, 'value' =&gt; value ) ) for each dictionary field" type="array">
899
  <type by_reference="false">array</type>
900
  </tag>
901
  </docblock>
902
- <argument line="1858">
903
  <name>$source_string</name>
904
  <default><![CDATA[]]></default>
905
  <type/>
906
  </argument>
907
- <argument line="1858">
908
  <name>$offset</name>
909
  <default><![CDATA[]]></default>
910
  <type/>
911
  </argument>
912
  </method>
913
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1961" package="Media Library Assistant">
914
  <name>_extract_pdf_metadata</name>
915
  <full_name>_extract_pdf_metadata</full_name>
916
- <docblock line="1952">
917
  <description><![CDATA[Extract Metadata from a PDF file]]></description>
918
  <long-description><![CDATA[]]></long-description>
919
- <tag line="1952" name="since" description="1.4x"/>
920
- <tag line="1952" name="param" description="full path to the desired file" type="string" variable="$string">
921
  <type by_reference="false">string</type>
922
  </tag>
923
- <tag line="1952" name="return" description="( key =&gt; value ) for each metadata field, in string format" type="array">
924
  <type by_reference="false">array</type>
925
  </tag>
926
  </docblock>
927
- <argument line="1961">
928
- <name>$string</name>
929
  <default><![CDATA[]]></default>
930
  <type/>
931
  </argument>
932
  </method>
933
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2065" package="Media Library Assistant">
934
  <name>_bin_to_utf8</name>
935
  <full_name>_bin_to_utf8</full_name>
936
- <docblock line="2056">
937
  <description><![CDATA[Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents]]></description>
938
  <long-description><![CDATA[]]></long-description>
939
- <tag line="2056" name="since" description="1.41"/>
940
- <tag line="2056" name="param" description="unencoded string" type="string" variable="$string">
941
  <type by_reference="false">string</type>
942
  </tag>
943
- <tag line="2056" name="return" description="UTF-8 encoded string" type="string">
944
  <type by_reference="false">string</type>
945
  </tag>
946
  </docblock>
947
- <argument line="2065">
948
  <name>$string</name>
949
  <default><![CDATA[]]></default>
950
  <type/>
951
  </argument>
952
  </method>
953
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2463" package="Media Library Assistant">
954
  <name>mla_iptc_metadata_value</name>
955
  <full_name>mla_iptc_metadata_value</full_name>
956
- <docblock line="2451">
957
  <description><![CDATA[Parse one IPTC metadata field]]></description>
958
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.</p>]]></long-description>
959
- <tag line="2451" name="since" description="1.41"/>
960
- <tag line="2451" name="param" description="field name - IPTC Identifier or friendly name/slug" type="string" variable="$iptc_key">
961
  <type by_reference="false">string</type>
962
  </tag>
963
- <tag line="2451" name="param" description="metadata array containing iptc, exif, and pdf metadata arrays" type="string" variable="$item_metadata">
964
  <type by_reference="false">string</type>
965
  </tag>
966
- <tag line="2451" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
967
  <type by_reference="false">mixed</type>
968
  </tag>
969
  </docblock>
970
- <argument line="2463">
971
  <name>$iptc_key</name>
972
  <default><![CDATA[]]></default>
973
  <type/>
974
  </argument>
975
- <argument line="2463">
976
  <name>$item_metadata</name>
977
  <default><![CDATA[]]></default>
978
  <type/>
979
  </argument>
980
  </method>
981
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2496" package="Media Library Assistant">
982
  <name>mla_exif_metadata_value</name>
983
  <full_name>mla_exif_metadata_value</full_name>
984
- <docblock line="2483">
985
  <description><![CDATA[Parse one EXIF metadata field]]></description>
986
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.
987
  Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p>]]></long-description>
988
- <tag line="2483" name="since" description="1.13"/>
989
- <tag line="2483" name="param" description="field name" type="string" variable="$exif_key">
990
  <type by_reference="false">string</type>
991
  </tag>
992
- <tag line="2483" name="param" description="metadata array containing iptc, exif, and pdf metadata arrays" type="string" variable="$item_metadata">
993
  <type by_reference="false">string</type>
994
  </tag>
995
- <tag line="2483" name="return" description="string representation of metadata value or an empty string" type="string">
996
  <type by_reference="false">string</type>
997
  </tag>
998
  </docblock>
999
- <argument line="2496">
1000
  <name>$exif_key</name>
1001
  <default><![CDATA[]]></default>
1002
  <type/>
1003
  </argument>
1004
- <argument line="2496">
1005
  <name>$item_metadata</name>
1006
  <default><![CDATA[]]></default>
1007
  <type/>
1008
  </argument>
1009
  </method>
1010
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2559" package="Media Library Assistant">
1011
  <name>mla_pdf_metadata_value</name>
1012
  <full_name>mla_pdf_metadata_value</full_name>
1013
- <docblock line="2546">
1014
  <description><![CDATA[Parse one PDF metadata field]]></description>
1015
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.
1016
  Also handles the special pseudo-value 'ALL_PDF'.</p>]]></long-description>
1017
- <tag line="2546" name="since" description="1.4x"/>
1018
- <tag line="2546" name="param" description="field name" type="string" variable="$pdf_key">
1019
  <type by_reference="false">string</type>
1020
  </tag>
1021
- <tag line="2546" name="param" description="metadata array containing iptc, exif, and pdf metadata arrays" type="string" variable="$item_metadata">
1022
  <type by_reference="false">string</type>
1023
  </tag>
1024
- <tag line="2546" name="return" description="string representation of metadata value or an empty string" type="string">
1025
  <type by_reference="false">string</type>
1026
  </tag>
1027
  </docblock>
1028
- <argument line="2559">
1029
  <name>$pdf_key</name>
1030
  <default><![CDATA[]]></default>
1031
  <type/>
1032
  </argument>
1033
- <argument line="2559">
1034
  <name>$item_metadata</name>
1035
  <default><![CDATA[]]></default>
1036
  <type/>
1037
  </argument>
1038
  </method>
1039
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2602" package="Media Library Assistant">
1040
  <name>mla_fetch_attachment_image_metadata</name>
1041
  <full_name>mla_fetch_attachment_image_metadata</full_name>
1042
- <docblock line="2590">
1043
  <description><![CDATA[Fetch and filter IPTC and EXIF meta data for an image attachment]]></description>
1044
  <long-description><![CDATA[<p>Returns</p>]]></long-description>
1045
- <tag line="2590" name="since" description="0.90"/>
1046
- <tag line="2590" name="param" description="post ID of attachment" type="int" variable="$post_id">
1047
  <type by_reference="false">int</type>
1048
  </tag>
1049
- <tag line="2590" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
1050
  <type by_reference="false">string</type>
1051
  </tag>
1052
- <tag line="2590" name="return" description="Meta data variables" type="array">
1053
  <type by_reference="false">array</type>
1054
  </tag>
1055
  </docblock>
1056
- <argument line="2602">
1057
  <name>$post_id</name>
1058
  <default><![CDATA[]]></default>
1059
  <type/>
1060
  </argument>
1061
- <argument line="2602">
1062
  <name>$path</name>
1063
  <default><![CDATA['']]></default>
1064
  <type/>
1065
  </argument>
1066
  </method>
1067
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2669" package="Media Library Assistant">
1068
  <name>mla_update_item_postmeta</name>
1069
  <full_name>mla_update_item_postmeta</full_name>
1070
- <docblock line="2659">
1071
  <description><![CDATA[Update custom field data for a single attachment.]]></description>
1072
  <long-description><![CDATA[]]></long-description>
1073
- <tag line="2659" name="since" description="1.40"/>
1074
- <tag line="2659" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
1075
  <type by_reference="false">int</type>
1076
  </tag>
1077
- <tag line="2659" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
1078
  <type by_reference="false">array</type>
1079
  </tag>
1080
- <tag line="2659" name="return" description="success/failure message(s)" type="string">
1081
  <type by_reference="false">string</type>
1082
  </tag>
1083
  </docblock>
1084
- <argument line="2669">
1085
  <name>$post_id</name>
1086
  <default><![CDATA[]]></default>
1087
  <type/>
1088
  </argument>
1089
- <argument line="2669">
1090
  <name>$new_meta</name>
1091
  <default><![CDATA[]]></default>
1092
  <type/>
1093
  </argument>
1094
  </method>
1095
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2797" package="Media Library Assistant">
1096
  <name>mla_update_single_item</name>
1097
  <full_name>mla_update_single_item</full_name>
1098
- <docblock line="2784">
1099
  <description><![CDATA[Update a single item; change the meta data
1100
  for a single attachment.]]></description>
1101
  <long-description><![CDATA[]]></long-description>
1102
- <tag line="2784" name="since" description="0.1"/>
1103
- <tag line="2784" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
1104
  <type by_reference="false">int</type>
1105
  </tag>
1106
- <tag line="2784" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
1107
  <type by_reference="false">array</type>
1108
  </tag>
1109
- <tag line="2784" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
1110
  <type by_reference="false">array</type>
1111
  </tag>
1112
- <tag line="2784" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
1113
  <type by_reference="false">array</type>
1114
  </tag>
1115
- <tag line="2784" name="return" description="success/failure message and NULL content" type="array">
1116
  <type by_reference="false">array</type>
1117
  </tag>
1118
  </docblock>
1119
- <argument line="2797">
1120
  <name>$post_id</name>
1121
  <default><![CDATA[]]></default>
1122
  <type/>
1123
  </argument>
1124
- <argument line="2797">
1125
  <name>$new_data</name>
1126
  <default><![CDATA[]]></default>
1127
  <type/>
1128
  </argument>
1129
- <argument line="2797">
1130
  <name>$tax_input</name>
1131
  <default><![CDATA[NULL]]></default>
1132
  <type/>
1133
  </argument>
1134
- <argument line="2797">
1135
  <name>$tax_actions</name>
1136
  <default><![CDATA[NULL]]></default>
1137
  <type/>
1138
  </argument>
1139
  </method>
1140
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3011" package="Media Library Assistant">
1141
  <name>_remove_tags</name>
1142
  <full_name>_remove_tags</full_name>
1143
- <docblock line="3000">
1144
  <description><![CDATA[Remove tags from a term ids list]]></description>
1145
  <long-description><![CDATA[]]></long-description>
1146
- <tag line="3000" name="since" description="0.40"/>
1147
- <tag line="3000" name="param" description="The term ids currently assigned" type="array" variable="$terms_before">
1148
  <type by_reference="false">array</type>
1149
  </tag>
1150
- <tag line="3000" name="param" description="| string The term ids (array) or names (string) to remove" type="array" variable="$tags">
1151
  <type by_reference="false">array</type>
1152
  </tag>
1153
- <tag line="3000" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
1154
  <type by_reference="false">object</type>
1155
  </tag>
1156
- <tag line="3000" name="return" description="Term ids of the surviving tags" type="array">
1157
  <type by_reference="false">array</type>
1158
  </tag>
1159
  </docblock>
1160
- <argument line="3011">
1161
  <name>$terms_before</name>
1162
  <default><![CDATA[]]></default>
1163
  <type/>
1164
  </argument>
1165
- <argument line="3011">
1166
  <name>$tags</name>
1167
  <default><![CDATA[]]></default>
1168
  <type/>
1169
  </argument>
1170
- <argument line="3011">
1171
  <name>$taxonomy_obj</name>
1172
  <default><![CDATA[]]></default>
1173
  <type/>
1174
  </argument>
1175
  </method>
1176
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3054" package="Media Library Assistant">
1177
  <name>_hex_dump</name>
1178
  <full_name>_hex_dump</full_name>
1179
- <docblock line="3043">
1180
  <description><![CDATA[Format printable version of binary data]]></description>
1181
  <long-description><![CDATA[]]></long-description>
1182
- <tag line="3043" name="since" description="0.90"/>
1183
- <tag line="3043" name="param" description="Binary data" type="string" variable="$data">
1184
  <type by_reference="false">string</type>
1185
  </tag>
1186
- <tag line="3043" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
1187
  <type by_reference="false">integer</type>
1188
  </tag>
1189
- <tag line="3043" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
1190
  <type by_reference="false">\intger</type>
1191
  </tag>
1192
- <tag line="3043" name="return" description="Printable representation of $data" type="string">
1193
  <type by_reference="false">string</type>
1194
  </tag>
1195
  </docblock>
1196
- <argument line="3054">
1197
  <name>$data</name>
1198
  <default><![CDATA[]]></default>
1199
  <type/>
1200
  </argument>
1201
- <argument line="3054">
1202
  <name>$limit</name>
1203
  <default><![CDATA[0]]></default>
1204
  <type/>
1205
  </argument>
1206
- <argument line="3054">
1207
  <name>$bytes_per_row</name>
1208
  <default><![CDATA[16]]></default>
1209
  <type/>
@@ -1211,7 +1298,7 @@ for a single attachment.]]></description>
1211
  </method>
1212
  </class>
1213
  <markers>
1214
- <todo line="1745">encode the rest</todo>
1215
  </markers>
1216
  </file>
1217
  <file path="includes\class-mla-edit-media.php" hash="ffa4ba62a4969d2e50e12b044ce0cace" package="Media Library Assistant">
@@ -2484,7 +2571,7 @@ $this->set_pagination_args().</p>]]></long-description>
2484
  </method>
2485
  </class>
2486
  </file>
2487
- <file path="includes\class-mla-main.php" hash="74c8aab19f7e69d85ef967abe154e53b" package="Media Library Assistant">
2488
  <docblock line="2">
2489
  <description><![CDATA[Top-level functions for the Media Library Assistant]]></description>
2490
  <long-description><![CDATA[]]></long-description>
@@ -2521,7 +2608,7 @@ of images and files held in the WordPress Media Library.]]></description>
2521
  <constant namespace="global" line="41" package="Media Library Assistant">
2522
  <name>CURRENT_MLA_VERSION</name>
2523
  <full_name>CURRENT_MLA_VERSION</full_name>
2524
- <value><![CDATA['1.42']]></value>
2525
  <docblock line="34">
2526
  <description><![CDATA[Current version number]]></description>
2527
  <long-description><![CDATA[]]></long-description>
@@ -3094,7 +3181,7 @@ change the meta data for a single attachment.]]></description>
3094
  </method>
3095
  </class>
3096
  </file>
3097
- <file path="includes\class-mla-media-modal.php" hash="ce1ae68558d12287e05dba3d5e93371c" package="Media Library Assistant">
3098
  <docblock line="2">
3099
  <description><![CDATA[Media Library Assistant Media Manager enhancements]]></description>
3100
  <long-description><![CDATA[]]></long-description>
@@ -3150,15 +3237,15 @@ change the meta data for a single attachment.]]></description>
3150
  </tag>
3151
  </docblock>
3152
  </constant>
3153
- <property final="false" static="true" visibility="private" line="152" namespace="global" package="Media Library Assistant">
3154
  <name>$mla_media_modal_settings</name>
3155
  <default><![CDATA[array('ajaxAction' => self::JAVASCRIPT_MEDIA_MODAL_SLUG, 'ajaxNonce' => '', 'enableMimeTypes' => false, 'enableMonthsDropdown' => false, 'enableTermsDropdown' => false, 'enableSearchBox' => false, 'mimeTypes' => '', 'months' => '', 'termsClass' => array(), 'termsValue' => array(), 'termsText' => array(), 'searchValue' => '', 'searchFields' => array('title', 'content'), 'searchConnector' => 'AND')]]></default>
3156
- <docblock line="144">
3157
  <description><![CDATA[Share the settings values between mla_media_view_settings_filter
3158
  and mla_print_media_templates_action]]></description>
3159
  <long-description><![CDATA[]]></long-description>
3160
- <tag line="144" name="since" description="1.20"/>
3161
- <tag line="144" name="var" description="" type="array">
3162
  <type by_reference="false">array</type>
3163
  </tag>
3164
  </docblock>
@@ -3215,106 +3302,106 @@ and mla_print_media_templates_action]]></description>
3215
  <type/>
3216
  </argument>
3217
  </method>
3218
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="180" package="Media Library Assistant">
3219
  <name>mla_media_view_settings_filter</name>
3220
  <full_name>mla_media_view_settings_filter</full_name>
3221
- <docblock line="169">
3222
  <description><![CDATA[Adds settings values to be passed to the Media Manager in /wp-includes/js/media-views.js.]]></description>
3223
  <long-description><![CDATA[<p>Declared public because it is a filter.</p>]]></long-description>
3224
- <tag line="169" name="since" description="1.20"/>
3225
- <tag line="169" name="param" description="associative array with setting =&gt; value pairs" type="array" variable="$settings">
3226
  <type by_reference="false">array</type>
3227
  </tag>
3228
- <tag line="169" name="param" description="|| NULL current post object, if available" type="object" variable="$post">
3229
  <type by_reference="false">object</type>
3230
  </tag>
3231
- <tag line="169" name="return" description="updated $settings array" type="array">
3232
  <type by_reference="false">array</type>
3233
  </tag>
3234
  </docblock>
3235
- <argument line="180">
3236
  <name>$settings</name>
3237
  <default><![CDATA[]]></default>
3238
  <type/>
3239
  </argument>
3240
- <argument line="180">
3241
  <name>$post</name>
3242
  <default><![CDATA[]]></default>
3243
  <type/>
3244
  </argument>
3245
  </method>
3246
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="211" package="Media Library Assistant">
3247
  <name>mla_media_view_strings_filter</name>
3248
  <full_name>mla_media_view_strings_filter</full_name>
3249
- <docblock line="200">
3250
  <description><![CDATA[Adds strings values to be passed to the Media Manager in /wp-includes/js/media-views.js.]]></description>
3251
  <long-description><![CDATA[<p>Declared public because it is a filter.</p>]]></long-description>
3252
- <tag line="200" name="since" description="1.20"/>
3253
- <tag line="200" name="param" description="associative array with string =&gt; value pairs" type="array" variable="$strings">
3254
  <type by_reference="false">array</type>
3255
  </tag>
3256
- <tag line="200" name="param" description="|| NULL current post object, if available" type="object" variable="$post">
3257
  <type by_reference="false">object</type>
3258
  </tag>
3259
- <tag line="200" name="return" description="updated $strings array" type="array">
3260
  <type by_reference="false">array</type>
3261
  </tag>
3262
  </docblock>
3263
- <argument line="211">
3264
  <name>$strings</name>
3265
  <default><![CDATA[]]></default>
3266
  <type/>
3267
  </argument>
3268
- <argument line="211">
3269
  <name>$post</name>
3270
  <default><![CDATA[]]></default>
3271
  <type/>
3272
  </argument>
3273
  </method>
3274
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="228" package="Media Library Assistant">
3275
  <name>mla_wp_enqueue_media_action</name>
3276
  <full_name>mla_wp_enqueue_media_action</full_name>
3277
- <docblock line="220">
3278
  <description><![CDATA[Enqueues the mla-media-modal-scripts.js file, adding it to the Media Manager scripts.]]></description>
3279
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3280
- <tag line="220" name="since" description="1.20"/>
3281
- <tag line="220" name="return" description="" type="void">
3282
  <type by_reference="false">void</type>
3283
  </tag>
3284
  </docblock>
3285
  </method>
3286
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="246" package="Media Library Assistant">
3287
  <name>mla_print_media_templates_action</name>
3288
  <full_name>mla_print_media_templates_action</full_name>
3289
- <docblock line="238">
3290
  <description><![CDATA[Prints the templates used in the MLA Media Manager enhancements.]]></description>
3291
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3292
- <tag line="238" name="since" description="1.20"/>
3293
- <tag line="238" name="return" description="echoes HTML script tags for the templates" type="void">
3294
  <type by_reference="false">void</type>
3295
  </tag>
3296
  </docblock>
3297
  </method>
3298
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="348" package="Media Library Assistant">
3299
  <name>mla_admin_init_ajax_action</name>
3300
  <full_name>mla_admin_init_ajax_action</full_name>
3301
- <docblock line="339">
3302
  <description><![CDATA[Adjust ajax handler for Media Manager queries]]></description>
3303
  <long-description><![CDATA[<p>Replace 'query-attachments' with our own handler if the request is coming from the "Assistant" tab</p>]]></long-description>
3304
- <tag line="339" name="since" description="1.20"/>
3305
- <tag line="339" name="return" description="" type="void">
3306
  <type by_reference="false">void</type>
3307
  </tag>
3308
  </docblock>
3309
  </method>
3310
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="366" package="Media Library Assistant">
3311
  <name>mla_query_attachments_action</name>
3312
  <full_name>mla_query_attachments_action</full_name>
3313
- <docblock line="357">
3314
  <description><![CDATA[Ajax handler for Media Manager queries]]></description>
3315
  <long-description><![CDATA[<p>Adapted from wp_ajax_query_attachments in /wp-admin/includes/ajax-actions.php</p>]]></long-description>
3316
- <tag line="357" name="since" description="1.20"/>
3317
- <tag line="357" name="return" description="echo HTML &lt;tr&gt; markup for updated row or error message, then die()" type="void">
3318
  <type by_reference="false">void</type>
3319
  </tag>
3320
  </docblock>
@@ -5844,7 +5931,7 @@ haven't been mapped to any attachments, yet.</p>]]></long-description>
5844
  </method>
5845
  </class>
5846
  </file>
5847
- <file path="includes\class-mla-settings.php" hash="861a34643fae3c542447b56286576115" package="Media Library Assistant">
5848
  <docblock line="2">
5849
  <description><![CDATA[Manages the settings page to edit the plugin option settings]]></description>
5850
  <long-description><![CDATA[]]></long-description>
@@ -6640,103 +6727,103 @@ without saving the settings to the mla_option]]></description>
6640
  </tag>
6641
  </docblock>
6642
  </method>
6643
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2712" package="Media Library Assistant">
6644
  <name>_process_iptc_exif_taxonomy</name>
6645
  <full_name>_process_iptc_exif_taxonomy</full_name>
6646
- <docblock line="2702">
6647
  <description><![CDATA[Process IPTC/EXIF taxonomy term settings against all image attachments
6648
  without saving the settings to the mla_option]]></description>
6649
  <long-description><![CDATA[]]></long-description>
6650
- <tag line="2702" name="since" description="1.00"/>
6651
- <tag line="2702" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6652
- <tag line="2702" name="return" description="Message(s) reflecting the results of the operation" type="array">
6653
  <type by_reference="false">array</type>
6654
  </tag>
6655
  </docblock>
6656
  </method>
6657
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2765" package="Media Library Assistant">
6658
  <name>_process_iptc_exif_custom</name>
6659
  <full_name>_process_iptc_exif_custom</full_name>
6660
- <docblock line="2753">
6661
  <description><![CDATA[Process IPTC/EXIF custom field settings against all image attachments
6662
  without saving the settings to the mla_option]]></description>
6663
  <long-description><![CDATA[]]></long-description>
6664
- <tag line="2753" name="since" description="1.00"/>
6665
- <tag line="2753" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6666
- <tag line="2753" name="param" description="| NULL specific iptc_exif_custom_mapping values" type="array" variable="$settings">
6667
  <type by_reference="false">array</type>
6668
  </tag>
6669
- <tag line="2753" name="return" description="Message(s) reflecting the results of the operation" type="array">
6670
  <type by_reference="false">array</type>
6671
  </tag>
6672
  </docblock>
6673
- <argument line="2765">
6674
  <name>$settings</name>
6675
  <default><![CDATA[NULL]]></default>
6676
  <type/>
6677
  </argument>
6678
  </method>
6679
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2823" package="Media Library Assistant">
6680
  <name>_save_iptc_exif_custom_settings</name>
6681
  <full_name>_save_iptc_exif_custom_settings</full_name>
6682
- <docblock line="2814">
6683
  <description><![CDATA[Save IPTC/EXIF custom field settings to the options table]]></description>
6684
  <long-description><![CDATA[]]></long-description>
6685
- <tag line="2814" name="since" description="1.30"/>
6686
- <tag line="2814" name="param" description="specific iptc_exif_custom_mapping values" type="array" variable="$new_values">
6687
  <type by_reference="false">array</type>
6688
  </tag>
6689
- <tag line="2814" name="return" description="Message(s) reflecting the results of the operation" type="array">
6690
  <type by_reference="false">array</type>
6691
  </tag>
6692
  </docblock>
6693
- <argument line="2823">
6694
  <name>$new_values</name>
6695
  <default><![CDATA[]]></default>
6696
  <type/>
6697
  </argument>
6698
  </method>
6699
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2839" package="Media Library Assistant">
6700
  <name>_save_iptc_exif_settings</name>
6701
  <full_name>_save_iptc_exif_settings</full_name>
6702
- <docblock line="2830">
6703
  <description><![CDATA[Save IPTC/EXIF settings to the options table]]></description>
6704
  <long-description><![CDATA[]]></long-description>
6705
- <tag line="2830" name="since" description="1.00"/>
6706
- <tag line="2830" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6707
- <tag line="2830" name="return" description="Message(s) reflecting the results of the operation" type="array">
6708
  <type by_reference="false">array</type>
6709
  </tag>
6710
  </docblock>
6711
  </method>
6712
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2876" package="Media Library Assistant">
6713
  <name>_save_general_settings</name>
6714
  <full_name>_save_general_settings</full_name>
6715
- <docblock line="2867">
6716
  <description><![CDATA[Save General settings to the options table]]></description>
6717
  <long-description><![CDATA[]]></long-description>
6718
- <tag line="2867" name="since" description="0.1"/>
6719
- <tag line="2867" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6720
- <tag line="2867" name="return" description="Message(s) reflecting the results of the operation" type="array">
6721
  <type by_reference="false">array</type>
6722
  </tag>
6723
  </docblock>
6724
  </method>
6725
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2934" package="Media Library Assistant">
6726
  <name>_reset_general_settings</name>
6727
  <full_name>_reset_general_settings</full_name>
6728
- <docblock line="2927">
6729
  <description><![CDATA[Delete saved settings, restoring default values]]></description>
6730
  <long-description><![CDATA[]]></long-description>
6731
- <tag line="2927" name="since" description="0.1"/>
6732
- <tag line="2927" name="return" description="Message(s) reflecting the results of the operation" type="array">
6733
  <type by_reference="false">array</type>
6734
  </tag>
6735
  </docblock>
6736
  </method>
6737
  </class>
6738
  </file>
6739
- <file path="includes\class-mla-shortcodes.php" hash="9f491692bee39b61ded8e665b2476a14" package="Media Library Assistant">
6740
  <docblock line="2">
6741
  <description><![CDATA[Media Library Assistant Shortcode handler(s)]]></description>
6742
  <long-description><![CDATA[]]></long-description>
@@ -6777,10 +6864,10 @@ without saving the settings to the mla_option]]></description>
6777
  </tag>
6778
  </docblock>
6779
  </property>
6780
- <property final="false" static="true" visibility="private" line="1308" namespace="global" package="Media Library Assistant">
6781
  <name>$query_parameters</name>
6782
  <default><![CDATA[array()]]></default>
6783
- <docblock line="1294">
6784
  <description><![CDATA[WP_Query filter "parameters"]]></description>
6785
  <long-description><![CDATA[<p>This array defines parameters for the query's where and orderby filters,
6786
  mla_shortcode_query_posts_where_filter and mla_shortcode_query_posts_orderby_filter.
@@ -6788,20 +6875,20 @@ The parameters are set up in the mla_get_shortcode_attachments function, and
6788
  any further logic required to translate those values is contained in the filter.</p>
6789
 
6790
  <p>Array index values are: orderby, post_parent</p>]]></long-description>
6791
- <tag line="1294" name="since" description="1.13"/>
6792
- <tag line="1294" name="var" description="" type="array">
6793
  <type by_reference="false">array</type>
6794
  </tag>
6795
  </docblock>
6796
  </property>
6797
- <property final="false" static="true" visibility="private" line="1417" namespace="global" package="Media Library Assistant">
6798
  <name>$data_selection_parameters</name>
6799
  <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' => '', 'tax_include_children' => true, '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, 'mla_paginate_current' => NULL, 'mla_paginate_total' => NULL, 'meta_key' => '', 'meta_value' => '', 'meta_value_num' => NULL, 'meta_compare' => '', 'meta_query' => '', 's' => '')]]></default>
6800
- <docblock line="1410">
6801
  <description><![CDATA[Data selection parameters for the WP_Query in [mla_gallery]]]></description>
6802
  <long-description><![CDATA[]]></long-description>
6803
- <tag line="1410" name="since" description="1.30"/>
6804
- <tag line="1410" name="var" description="" type="array">
6805
  <type by_reference="false">array</type>
6806
  </tag>
6807
  </docblock>
@@ -6852,253 +6939,305 @@ Enhancements include many additional selection parameters and full taxonomy supp
6852
  <type/>
6853
  </argument>
6854
  </method>
6855
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1126" package="Media Library Assistant">
6856
  <name>_process_shortcode_parameter</name>
6857
  <full_name>_process_shortcode_parameter</full_name>
6858
- <docblock line="1116">
6859
  <description><![CDATA[Handles brace/bracket escaping and parses template for a shortcode parameter]]></description>
6860
  <long-description><![CDATA[]]></long-description>
6861
- <tag line="1116" name="since" description="1.14"/>
6862
- <tag line="1116" name="param" description="raw shortcode parameter, e.g., &quot;text {+field+} {brackets} \\{braces\\}&quot;" type="string" variable="$text">
6863
  <type by_reference="false">string</type>
6864
  </tag>
6865
- <tag line="1116" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
6866
  <type by_reference="false">string</type>
6867
  </tag>
6868
- <tag line="1116" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6869
  <type by_reference="false">string</type>
6870
  </tag>
6871
  </docblock>
6872
- <argument line="1126">
6873
  <name>$text</name>
6874
  <default><![CDATA[]]></default>
6875
  <type/>
6876
  </argument>
6877
- <argument line="1126">
6878
  <name>$markup_values</name>
6879
  <default><![CDATA[]]></default>
6880
  <type/>
6881
  </argument>
6882
  </method>
6883
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1146" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6884
  <name>_process_pagination_output_types</name>
6885
  <full_name>_process_pagination_output_types</full_name>
6886
- <docblock line="1132">
6887
  <description><![CDATA[Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links']]></description>
6888
  <long-description><![CDATA[]]></long-description>
6889
- <tag line="1132" name="since" description="1.42"/>
6890
- <tag line="1132" name="param" description="value(s) for mla_output_type parameter" type="array" variable="$output_parameters">
6891
  <type by_reference="false">array</type>
6892
  </tag>
6893
- <tag line="1132" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
6894
  <type by_reference="false">string</type>
6895
  </tag>
6896
- <tag line="1132" name="param" description="merged default and passed shortcode parameter values" type="string" variable="$arguments">
6897
  <type by_reference="false">string</type>
6898
  </tag>
6899
- <tag line="1132" name="param" description="raw passed shortcode parameter values" type="string" variable="$attr">
6900
  <type by_reference="false">string</type>
6901
  </tag>
6902
- <tag line="1132" name="param" description="number of attachments in the gallery, without pagination" type="integer" variable="$found_rows">
6903
  <type by_reference="false">integer</type>
6904
  </tag>
6905
- <tag line="1132" name="param" description="output text so far, may include debug values" type="string" variable="$output">
6906
  <type by_reference="false">string</type>
6907
  </tag>
6908
- <tag line="1132" name="return" description="false or string with HTML for pagination output types" type="mixed">
6909
  <type by_reference="false">mixed</type>
6910
  </tag>
6911
  </docblock>
6912
- <argument line="1146">
6913
  <name>$output_parameters</name>
6914
  <default><![CDATA[]]></default>
6915
  <type/>
6916
  </argument>
6917
- <argument line="1146">
6918
  <name>$markup_values</name>
6919
  <default><![CDATA[]]></default>
6920
  <type/>
6921
  </argument>
6922
- <argument line="1146">
6923
  <name>$arguments</name>
6924
  <default><![CDATA[]]></default>
6925
  <type/>
6926
  </argument>
6927
- <argument line="1146">
6928
  <name>$attr</name>
6929
  <default><![CDATA[]]></default>
6930
  <type/>
6931
  </argument>
6932
- <argument line="1146">
6933
  <name>$found_rows</name>
6934
  <default><![CDATA[]]></default>
6935
  <type/>
6936
  </argument>
6937
- <argument line="1146">
6938
  <name>$output</name>
6939
  <default><![CDATA['']]></default>
6940
  <type/>
6941
  </argument>
6942
  </method>
6943
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1319" package="Media Library Assistant">
6944
  <name>_sanitize_query_specification</name>
6945
  <full_name>_sanitize_query_specification</full_name>
6946
- <docblock line="1310">
6947
  <description><![CDATA[Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications]]></description>
6948
  <long-description><![CDATA[]]></long-description>
6949
- <tag line="1310" name="since" description="1.14"/>
6950
- <tag line="1310" name="param" description="query specification; PHP nested arrays" type="string" variable="$specification">
6951
  <type by_reference="false">string</type>
6952
  </tag>
6953
- <tag line="1310" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6954
  <type by_reference="false">string</type>
6955
  </tag>
6956
  </docblock>
6957
- <argument line="1319">
6958
  <name>$specification</name>
6959
  <default><![CDATA[]]></default>
6960
  <type/>
6961
  </argument>
6962
  </method>
6963
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1336" package="Media Library Assistant">
6964
  <name>_validate_sql_orderby</name>
6965
  <full_name>_validate_sql_orderby</full_name>
6966
- <docblock line="1325">
6967
  <description><![CDATA[Translates query parameters to a valid SQL order by clause.]]></description>
6968
  <long-description><![CDATA[<p>Accepts one or more valid columns, with or without ASC/DESC.
6969
  Enhanced version of /wp-includes/formatting.php function sanitize_sql_orderby().</p>]]></long-description>
6970
- <tag line="1325" name="since" description="1.20"/>
6971
- <tag line="1325" name="param" description="Validated query parameters" type="array" variable="$query_parameters">
6972
  <type by_reference="false">array</type>
6973
  </tag>
6974
- <tag line="1325" name="return" description="Returns the orderby clause if present, false otherwise." type="string|bool">
6975
  <type by_reference="false">string</type>
6976
  <type by_reference="false">bool</type>
6977
  </tag>
6978
  </docblock>
6979
- <argument line="1336">
6980
  <name>$query_parameters</name>
6981
  <default><![CDATA[]]></default>
6982
  <type/>
6983
  </argument>
6984
  </method>
6985
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1484" package="Media Library Assistant">
6986
  <name>mla_get_shortcode_attachments</name>
6987
  <full_name>mla_get_shortcode_attachments</full_name>
6988
- <docblock line="1473">
6989
  <description><![CDATA[Parses shortcode parameters and returns the gallery objects]]></description>
6990
  <long-description><![CDATA[]]></long-description>
6991
- <tag line="1473" name="since" description=".50"/>
6992
- <tag line="1473" name="param" description="Post ID of the parent" type="int" variable="$post_parent">
6993
  <type by_reference="false">int</type>
6994
  </tag>
6995
- <tag line="1473" name="param" description="Attributes of the shortcode" type="array" variable="$attr">
6996
  <type by_reference="false">array</type>
6997
  </tag>
6998
- <tag line="1473" name="param" description="true to calculate and return ['found_posts'] as an array element" type="boolean" variable="$return_found_rows">
6999
  <type by_reference="false">boolean</type>
7000
  </tag>
7001
- <tag line="1473" name="return" description="List of attachments returned from WP_Query" type="array">
7002
  <type by_reference="false">array</type>
7003
  </tag>
7004
  </docblock>
7005
- <argument line="1484">
7006
  <name>$post_parent</name>
7007
  <default><![CDATA[]]></default>
7008
  <type/>
7009
  </argument>
7010
- <argument line="1484">
7011
  <name>$attr</name>
7012
  <default><![CDATA[]]></default>
7013
  <type/>
7014
  </argument>
7015
- <argument line="1484">
7016
  <name>$return_found_rows</name>
7017
  <default><![CDATA[false]]></default>
7018
  <type/>
7019
  </argument>
7020
  </method>
7021
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1873" package="Media Library Assistant">
7022
  <name>mla_shortcode_query_posts_where_filter</name>
7023
  <full_name>mla_shortcode_query_posts_where_filter</full_name>
7024
- <docblock line="1859">
7025
  <description><![CDATA[Filters the WHERE clause for shortcode queries]]></description>
7026
  <long-description><![CDATA[<p>Captures debug information. Adds whitespace to the post_type = 'attachment'
7027
  phrase to circumvent subsequent Role Scoper modification of the clause.
7028
  Handles post_parent "any" and "none" cases.
7029
  Defined as public because it's a filter.</p>]]></long-description>
7030
- <tag line="1859" name="since" description="0.70"/>
7031
- <tag line="1859" name="param" description="query clause before modification" type="string" variable="$where_clause">
7032
  <type by_reference="false">string</type>
7033
  </tag>
7034
- <tag line="1859" name="return" description="query clause after modification" type="string">
7035
  <type by_reference="false">string</type>
7036
  </tag>
7037
  </docblock>
7038
- <argument line="1873">
7039
  <name>$where_clause</name>
7040
  <default><![CDATA[]]></default>
7041
  <type/>
7042
  </argument>
7043
  </method>
7044
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1914" package="Media Library Assistant">
7045
  <name>mla_shortcode_query_posts_orderby_filter</name>
7046
  <full_name>mla_shortcode_query_posts_orderby_filter</full_name>
7047
- <docblock line="1902">
7048
  <description><![CDATA[Filters the ORDERBY clause for shortcode queries]]></description>
7049
  <long-description><![CDATA[<p>This is an enhanced version of the code found in wp-includes/query.php, function get_posts.
7050
  Defined as public because it's a filter.</p>]]></long-description>
7051
- <tag line="1902" name="since" description="1.20"/>
7052
- <tag line="1902" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
7053
  <type by_reference="false">string</type>
7054
  </tag>
7055
- <tag line="1902" name="return" description="query clause after modification" type="string">
7056
  <type by_reference="false">string</type>
7057
  </tag>
7058
  </docblock>
7059
- <argument line="1914">
7060
  <name>$orderby_clause</name>
7061
  <default><![CDATA[]]></default>
7062
  <type/>
7063
  </argument>
7064
  </method>
7065
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1939" package="Media Library Assistant">
7066
  <name>mla_shortcode_query_posts_clauses_filter</name>
7067
  <full_name>mla_shortcode_query_posts_clauses_filter</full_name>
7068
- <docblock line="1927">
7069
  <description><![CDATA[Filters all clauses for shortcode queries, pre caching plugins]]></description>
7070
  <long-description><![CDATA[<p>This is for debug purposes only.
7071
  Defined as public because it's a filter.</p>]]></long-description>
7072
- <tag line="1927" name="since" description="1.30"/>
7073
- <tag line="1927" name="param" description="query clauses before modification" type="array" variable="$pieces">
7074
  <type by_reference="false">array</type>
7075
  </tag>
7076
- <tag line="1927" name="return" description="query clauses after modification (none)" type="array">
7077
  <type by_reference="false">array</type>
7078
  </tag>
7079
  </docblock>
7080
- <argument line="1939">
7081
  <name>$pieces</name>
7082
  <default><![CDATA[]]></default>
7083
  <type/>
7084
  </argument>
7085
  </method>
7086
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1957" package="Media Library Assistant">
7087
  <name>mla_shortcode_query_posts_clauses_request_filter</name>
7088
  <full_name>mla_shortcode_query_posts_clauses_request_filter</full_name>
7089
- <docblock line="1945">
7090
  <description><![CDATA[Filters all clauses for shortcode queries, post caching plugins]]></description>
7091
  <long-description><![CDATA[<p>This is for debug purposes only.
7092
  Defined as public because it's a filter.</p>]]></long-description>
7093
- <tag line="1945" name="since" description="1.30"/>
7094
- <tag line="1945" name="param" description="query clauses before modification" type="array" variable="$pieces">
7095
  <type by_reference="false">array</type>
7096
  </tag>
7097
- <tag line="1945" name="return" description="query clauses after modification (none)" type="array">
7098
  <type by_reference="false">array</type>
7099
  </tag>
7100
  </docblock>
7101
- <argument line="1957">
7102
  <name>$pieces</name>
7103
  <default><![CDATA[]]></default>
7104
  <type/>
@@ -8755,13 +8894,13 @@ This file is only loaded if the naming conflict tests in index.php are passed.</
8755
  </docblock>
8756
  </function>
8757
  </file>
8758
- <file path="index.php" hash="c2d95d64370f8627adfbe36fde33b3b8" package="Media Library Assistant">
8759
  <docblock line="2">
8760
  <description><![CDATA[Provides several enhancements to the handling of images and files held in the WordPress Media Library]]></description>
8761
  <long-description><![CDATA[<p>This file contains several tests for name conflicts with other plugins. Only if the tests are passed
8762
  will the rest of the plugin be loaded and run.</p>]]></long-description>
8763
  <tag line="2" name="package" description="Media Library Assistant"/>
8764
- <tag line="2" name="version" description="1.42"/>
8765
  </docblock>
8766
  <include line="109" type="Require Once" package="Media Library Assistant">
8767
  <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="c4d0ccc4a2cfde1c683de6a1c25ed1cf" 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>
116
  </tag>
117
  </docblock>
118
  </property>
119
+ <property final="false" static="true" visibility="private" line="2352" 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="2345">
123
  <description><![CDATA[UTF-8 replacements for invalid SQL characters]]></description>
124
  <long-description><![CDATA[]]></long-description>
125
+ <tag line="2345" name="since" description="1.41"/>
126
+ <tag line="2345" 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="2410" 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="2400">
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="2400" name="since" description="0.90"/>
139
+ <tag line="2400" 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="2509" 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="2499">
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="2499" name="since" description="0.90"/>
152
+ <tag line="2499" 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="2608" 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="2598">
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="2598" name="since" description="0.90"/>
165
+ <tag line="2598" 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="2707" 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="2697">
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="2697" name="since" description="0.90"/>
178
+ <tag line="2697" 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="2750" 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="2740">
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="2740" name="since" description="0.90"/>
191
+ <tag line="2740" name="var" description="" type="array">
192
  <type by_reference="false">array</type>
193
  </tag>
194
  </docblock>
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>_find_pdf_indirect_dictionary</name>
815
+ <full_name>_find_pdf_indirect_dictionary</full_name>
816
+ <docblock line="1717">
817
+ <description><![CDATA[Find the offset, length and contents of an indirect object containing a dictionary]]></description>
818
+ <long-description><![CDATA[]]></long-description>
819
+ <tag line="1717" name="since" description="1.4x"/>
820
+ <tag line="1717" name="param" description="The entire PDF document, passsed by reference" type="string" variable="$string">
821
+ <type by_reference="false">string</type>
822
+ </tag>
823
+ <tag line="1717" name="param" description="The object number" type="integer" variable="$object">
824
+ <type by_reference="false">integer</type>
825
+ </tag>
826
+ <tag line="1717" name="param" description="The object generation number; default zero (0)" type="integer" variable="$generation">
827
+ <type by_reference="false">integer</type>
828
+ </tag>
829
+ <tag line="1717" name="return" description="NULL on failure else array( 'start' =&gt; offset in the file, 'length' =&gt; object length, 'content' =&gt; dictionary contents )" type="mixed">
830
+ <type by_reference="false">mixed</type>
831
+ </tag>
832
+ </docblock>
833
+ <argument line="1728">
834
+ <name>$string</name>
835
+ <default><![CDATA[]]></default>
836
+ <type/>
837
+ </argument>
838
+ <argument line="1728">
839
+ <name>$object</name>
840
+ <default><![CDATA[]]></default>
841
+ <type/>
842
+ </argument>
843
+ <argument line="1728">
844
+ <name>$generation</name>
845
+ <default><![CDATA[0]]></default>
846
+ <type/>
847
+ </argument>
848
+ </method>
849
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1770" package="Media Library Assistant">
850
+ <name>_parse_iso8601_date</name>
851
+ <full_name>_parse_iso8601_date</full_name>
852
+ <docblock line="1761">
853
+ <description><![CDATA[Parse a ISO 8601 Timestamp]]></description>
854
+ <long-description><![CDATA[]]></long-description>
855
+ <tag line="1761" name="since" description="1.4x"/>
856
+ <tag line="1761" name="param" description="ISO string of the form YYYY-MM-DDTHH:MM:SS-HH:MM (inc time zone)" type="string" variable="$source_string">
857
+ <type by_reference="false">string</type>
858
+ </tag>
859
+ <tag line="1761" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
860
+ <type by_reference="false">string</type>
861
+ </tag>
862
+ </docblock>
863
+ <argument line="1770">
864
+ <name>$source_string</name>
865
+ <default><![CDATA[]]></default>
866
+ <type/>
867
+ </argument>
868
+ </method>
869
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1792" package="Media Library Assistant">
870
  <name>_parse_pdf_date</name>
871
  <full_name>_parse_pdf_date</full_name>
872
+ <docblock line="1783">
873
+ <description><![CDATA[Parse a PDF date string]]></description>
874
  <long-description><![CDATA[]]></long-description>
875
+ <tag line="1783" name="since" description="1.4x"/>
876
+ <tag line="1783" name="param" description="PDF date string of the form D:YYYYMMDDHHmmSSOHH'mm" type="string" variable="$source_string">
877
  <type by_reference="false">string</type>
878
  </tag>
879
+ <tag line="1783" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
880
  <type by_reference="false">string</type>
881
  </tag>
882
  </docblock>
883
+ <argument line="1792">
884
  <name>$source_string</name>
885
  <default><![CDATA[]]></default>
886
  <type/>
887
  </argument>
888
  </method>
889
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1814" package="Media Library Assistant">
890
  <name>_parse_pdf_UTF16BE</name>
891
  <full_name>_parse_pdf_UTF16BE</full_name>
892
+ <docblock line="1805">
893
  <description><![CDATA[Parse a PDF Unicode (16-bit Big Endian) object]]></description>
894
  <long-description><![CDATA[]]></long-description>
895
+ <tag line="1805" name="since" description="1.4x"/>
896
+ <tag line="1805" name="param" description="PDF string of 16-bit characters" type="string" variable="$source_string">
897
  <type by_reference="false">string</type>
898
  </tag>
899
+ <tag line="1805" name="return" description="UTF-8 encoded string" type="string">
900
  <type by_reference="false">string</type>
901
  </tag>
902
  </docblock>
903
+ <argument line="1814">
904
  <name>$source_string</name>
905
  <default><![CDATA[]]></default>
906
  <type/>
907
  </argument>
908
  </method>
909
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1843" package="Media Library Assistant">
910
  <name>_parse_pdf_string</name>
911
  <full_name>_parse_pdf_string</full_name>
912
+ <docblock line="1830">
913
  <description><![CDATA[Parse a PDF string object]]></description>
914
  <long-description><![CDATA[<p>Returns an array with one dictionary entry. The array also has a '/length' element containing
915
  the number of bytes occupied by the string in the source string, including the enclosing parentheses.</p>]]></long-description>
916
+ <tag line="1830" name="since" description="1.4x"/>
917
+ <tag line="1830" name="param" description="data within which the string occurs" type="string" variable="$source_string">
918
  <type by_reference="false">string</type>
919
  </tag>
920
+ <tag line="1830" name="param" description="offset within the source string of the opening '(' character." type="integer" variable="$offset">
921
  <type by_reference="false">integer</type>
922
  </tag>
923
+ <tag line="1830" name="return" description="( key =&gt; array( 'type' =&gt; type, 'value' =&gt; value, '/length' =&gt; length ) ) for the string" type="array">
924
  <type by_reference="false">array</type>
925
  </tag>
926
  </docblock>
927
+ <argument line="1843">
928
  <name>$source_string</name>
929
  <default><![CDATA[]]></default>
930
  <type/>
931
  </argument>
932
+ <argument line="1843">
933
  <name>$offset</name>
934
  <default><![CDATA[]]></default>
935
  <type/>
936
  </argument>
937
  </method>
938
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1936" package="Media Library Assistant">
939
  <name>_parse_pdf_dictionary</name>
940
  <full_name>_parse_pdf_dictionary</full_name>
941
+ <docblock line="1922">
942
  <description><![CDATA[Parse a PDF dictionary object]]></description>
943
  <long-description><![CDATA[<p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
944
  indirect (object), name, array, dictionary, stream, and null.
945
  The array also has a '/length' element containing the number of bytes occupied by the
946
+ dictionary in the source string, excluding the enclosing delimiters, if passed in.</p>]]></long-description>
947
+ <tag line="1922" name="since" description="1.4x"/>
948
+ <tag line="1922" name="param" description="data within which the string occurs" type="string" variable="$source_string">
949
+ <type by_reference="false">string</type>
950
+ </tag>
951
+ <tag line="1922" name="param" description="offset within the source string of the opening '&lt;&lt;' characters or the first content character." type="integer" variable="$offset">
952
+ <type by_reference="false">integer</type>
953
+ </tag>
954
+ <tag line="1922" name="return" description="( '/length' =&gt; length, key =&gt; array( 'type' =&gt; type, 'value' =&gt; value ) ) for each dictionary field" type="array">
955
+ <type by_reference="false">array</type>
956
+ </tag>
957
+ </docblock>
958
+ <argument line="1936">
959
+ <name>$source_string</name>
960
+ <default><![CDATA[]]></default>
961
+ <type/>
962
+ </argument>
963
+ <argument line="1936">
964
+ <name>$offset</name>
965
+ <default><![CDATA[]]></default>
966
+ <type/>
967
+ </argument>
968
+ </method>
969
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2049" package="Media Library Assistant">
970
+ <name>_parse_xmp_metadata</name>
971
+ <full_name>_parse_xmp_metadata</full_name>
972
+ <docblock line="2035">
973
+ <description><![CDATA[Parse an XMP object]]></description>
974
+ <long-description><![CDATA[<p>Returns an array of dictionary contents, classified by object type: boolean, numeric, string, hex (string),
975
+ indirect (object), name, array, dictionary, stream, and null.
976
+ The array also has a '/length' element containing the number of bytes occupied by the
977
+ dictionary in the source string, excluding the enclosing delimiters, if passed in.</p>]]></long-description>
978
+ <tag line="2035" name="since" description="1.4x"/>
979
+ <tag line="2035" name="param" description="data within which the string occurs" type="string" variable="$source_string">
980
  <type by_reference="false">string</type>
981
  </tag>
982
+ <tag line="2035" name="param" description="offset within the source string of the opening '&lt;&lt;' characters or the first content character." type="integer" variable="$offset">
983
  <type by_reference="false">integer</type>
984
  </tag>
985
+ <tag line="2035" name="return" description="( '/length' =&gt; length, key =&gt; array( 'type' =&gt; type, 'value' =&gt; value ) ) for each dictionary field" type="array">
986
  <type by_reference="false">array</type>
987
  </tag>
988
  </docblock>
989
+ <argument line="2049">
990
  <name>$source_string</name>
991
  <default><![CDATA[]]></default>
992
  <type/>
993
  </argument>
994
+ <argument line="2049">
995
  <name>$offset</name>
996
  <default><![CDATA[]]></default>
997
  <type/>
998
  </argument>
999
  </method>
1000
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2231" package="Media Library Assistant">
1001
  <name>_extract_pdf_metadata</name>
1002
  <full_name>_extract_pdf_metadata</full_name>
1003
+ <docblock line="2222">
1004
  <description><![CDATA[Extract Metadata from a PDF file]]></description>
1005
  <long-description><![CDATA[]]></long-description>
1006
+ <tag line="2222" name="since" description="1.4x"/>
1007
+ <tag line="2222" name="param" description="full path to the desired file" type="string" variable="$file_name">
1008
  <type by_reference="false">string</type>
1009
  </tag>
1010
+ <tag line="2222" name="return" description="( key =&gt; value ) for each metadata field, in string format" type="array">
1011
  <type by_reference="false">array</type>
1012
  </tag>
1013
  </docblock>
1014
+ <argument line="2231">
1015
+ <name>$file_name</name>
1016
  <default><![CDATA[]]></default>
1017
  <type/>
1018
  </argument>
1019
  </method>
1020
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2380" package="Media Library Assistant">
1021
  <name>_bin_to_utf8</name>
1022
  <full_name>_bin_to_utf8</full_name>
1023
+ <docblock line="2371">
1024
  <description><![CDATA[Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents]]></description>
1025
  <long-description><![CDATA[]]></long-description>
1026
+ <tag line="2371" name="since" description="1.41"/>
1027
+ <tag line="2371" name="param" description="unencoded string" type="string" variable="$string">
1028
  <type by_reference="false">string</type>
1029
  </tag>
1030
+ <tag line="2371" name="return" description="UTF-8 encoded string" type="string">
1031
  <type by_reference="false">string</type>
1032
  </tag>
1033
  </docblock>
1034
+ <argument line="2380">
1035
  <name>$string</name>
1036
  <default><![CDATA[]]></default>
1037
  <type/>
1038
  </argument>
1039
  </method>
1040
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2778" package="Media Library Assistant">
1041
  <name>mla_iptc_metadata_value</name>
1042
  <full_name>mla_iptc_metadata_value</full_name>
1043
+ <docblock line="2766">
1044
  <description><![CDATA[Parse one IPTC metadata field]]></description>
1045
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.</p>]]></long-description>
1046
+ <tag line="2766" name="since" description="1.41"/>
1047
+ <tag line="2766" name="param" description="field name - IPTC Identifier or friendly name/slug" type="string" variable="$iptc_key">
1048
  <type by_reference="false">string</type>
1049
  </tag>
1050
+ <tag line="2766" name="param" description="metadata array containing iptc, exif, and pdf metadata arrays" type="string" variable="$item_metadata">
1051
  <type by_reference="false">string</type>
1052
  </tag>
1053
+ <tag line="2766" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
1054
  <type by_reference="false">mixed</type>
1055
  </tag>
1056
  </docblock>
1057
+ <argument line="2778">
1058
  <name>$iptc_key</name>
1059
  <default><![CDATA[]]></default>
1060
  <type/>
1061
  </argument>
1062
+ <argument line="2778">
1063
  <name>$item_metadata</name>
1064
  <default><![CDATA[]]></default>
1065
  <type/>
1066
  </argument>
1067
  </method>
1068
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2811" package="Media Library Assistant">
1069
  <name>mla_exif_metadata_value</name>
1070
  <full_name>mla_exif_metadata_value</full_name>
1071
+ <docblock line="2798">
1072
  <description><![CDATA[Parse one EXIF metadata field]]></description>
1073
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.
1074
  Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p>]]></long-description>
1075
+ <tag line="2798" name="since" description="1.13"/>
1076
+ <tag line="2798" name="param" description="field name" type="string" variable="$exif_key">
1077
  <type by_reference="false">string</type>
1078
  </tag>
1079
+ <tag line="2798" name="param" description="metadata array containing iptc, exif, and pdf metadata arrays" type="string" variable="$item_metadata">
1080
  <type by_reference="false">string</type>
1081
  </tag>
1082
+ <tag line="2798" name="return" description="string representation of metadata value or an empty string" type="string">
1083
  <type by_reference="false">string</type>
1084
  </tag>
1085
  </docblock>
1086
+ <argument line="2811">
1087
  <name>$exif_key</name>
1088
  <default><![CDATA[]]></default>
1089
  <type/>
1090
  </argument>
1091
+ <argument line="2811">
1092
  <name>$item_metadata</name>
1093
  <default><![CDATA[]]></default>
1094
  <type/>
1095
  </argument>
1096
  </method>
1097
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2874" package="Media Library Assistant">
1098
  <name>mla_pdf_metadata_value</name>
1099
  <full_name>mla_pdf_metadata_value</full_name>
1100
+ <docblock line="2861">
1101
  <description><![CDATA[Parse one PDF metadata field]]></description>
1102
  <long-description><![CDATA[<p>Returns a string value, converting array data to a string as necessary.
1103
  Also handles the special pseudo-value 'ALL_PDF'.</p>]]></long-description>
1104
+ <tag line="2861" name="since" description="1.4x"/>
1105
+ <tag line="2861" name="param" description="field name" type="string" variable="$pdf_key">
1106
  <type by_reference="false">string</type>
1107
  </tag>
1108
+ <tag line="2861" name="param" description="metadata array containing iptc, exif, and pdf metadata arrays" type="string" variable="$item_metadata">
1109
  <type by_reference="false">string</type>
1110
  </tag>
1111
+ <tag line="2861" name="return" description="string representation of metadata value or an empty string" type="string">
1112
  <type by_reference="false">string</type>
1113
  </tag>
1114
  </docblock>
1115
+ <argument line="2874">
1116
  <name>$pdf_key</name>
1117
  <default><![CDATA[]]></default>
1118
  <type/>
1119
  </argument>
1120
+ <argument line="2874">
1121
  <name>$item_metadata</name>
1122
  <default><![CDATA[]]></default>
1123
  <type/>
1124
  </argument>
1125
  </method>
1126
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2917" package="Media Library Assistant">
1127
  <name>mla_fetch_attachment_image_metadata</name>
1128
  <full_name>mla_fetch_attachment_image_metadata</full_name>
1129
+ <docblock line="2905">
1130
  <description><![CDATA[Fetch and filter IPTC and EXIF meta data for an image attachment]]></description>
1131
  <long-description><![CDATA[<p>Returns</p>]]></long-description>
1132
+ <tag line="2905" name="since" description="0.90"/>
1133
+ <tag line="2905" name="param" description="post ID of attachment" type="int" variable="$post_id">
1134
  <type by_reference="false">int</type>
1135
  </tag>
1136
+ <tag line="2905" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
1137
  <type by_reference="false">string</type>
1138
  </tag>
1139
+ <tag line="2905" name="return" description="Meta data variables" type="array">
1140
  <type by_reference="false">array</type>
1141
  </tag>
1142
  </docblock>
1143
+ <argument line="2917">
1144
  <name>$post_id</name>
1145
  <default><![CDATA[]]></default>
1146
  <type/>
1147
  </argument>
1148
+ <argument line="2917">
1149
  <name>$path</name>
1150
  <default><![CDATA['']]></default>
1151
  <type/>
1152
  </argument>
1153
  </method>
1154
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2984" package="Media Library Assistant">
1155
  <name>mla_update_item_postmeta</name>
1156
  <full_name>mla_update_item_postmeta</full_name>
1157
+ <docblock line="2974">
1158
  <description><![CDATA[Update custom field data for a single attachment.]]></description>
1159
  <long-description><![CDATA[]]></long-description>
1160
+ <tag line="2974" name="since" description="1.40"/>
1161
+ <tag line="2974" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
1162
  <type by_reference="false">int</type>
1163
  </tag>
1164
+ <tag line="2974" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
1165
  <type by_reference="false">array</type>
1166
  </tag>
1167
+ <tag line="2974" name="return" description="success/failure message(s)" type="string">
1168
  <type by_reference="false">string</type>
1169
  </tag>
1170
  </docblock>
1171
+ <argument line="2984">
1172
  <name>$post_id</name>
1173
  <default><![CDATA[]]></default>
1174
  <type/>
1175
  </argument>
1176
+ <argument line="2984">
1177
  <name>$new_meta</name>
1178
  <default><![CDATA[]]></default>
1179
  <type/>
1180
  </argument>
1181
  </method>
1182
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3112" package="Media Library Assistant">
1183
  <name>mla_update_single_item</name>
1184
  <full_name>mla_update_single_item</full_name>
1185
+ <docblock line="3099">
1186
  <description><![CDATA[Update a single item; change the meta data
1187
  for a single attachment.]]></description>
1188
  <long-description><![CDATA[]]></long-description>
1189
+ <tag line="3099" name="since" description="0.1"/>
1190
+ <tag line="3099" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
1191
  <type by_reference="false">int</type>
1192
  </tag>
1193
+ <tag line="3099" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
1194
  <type by_reference="false">array</type>
1195
  </tag>
1196
+ <tag line="3099" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
1197
  <type by_reference="false">array</type>
1198
  </tag>
1199
+ <tag line="3099" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
1200
  <type by_reference="false">array</type>
1201
  </tag>
1202
+ <tag line="3099" name="return" description="success/failure message and NULL content" type="array">
1203
  <type by_reference="false">array</type>
1204
  </tag>
1205
  </docblock>
1206
+ <argument line="3112">
1207
  <name>$post_id</name>
1208
  <default><![CDATA[]]></default>
1209
  <type/>
1210
  </argument>
1211
+ <argument line="3112">
1212
  <name>$new_data</name>
1213
  <default><![CDATA[]]></default>
1214
  <type/>
1215
  </argument>
1216
+ <argument line="3112">
1217
  <name>$tax_input</name>
1218
  <default><![CDATA[NULL]]></default>
1219
  <type/>
1220
  </argument>
1221
+ <argument line="3112">
1222
  <name>$tax_actions</name>
1223
  <default><![CDATA[NULL]]></default>
1224
  <type/>
1225
  </argument>
1226
  </method>
1227
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3326" package="Media Library Assistant">
1228
  <name>_remove_tags</name>
1229
  <full_name>_remove_tags</full_name>
1230
+ <docblock line="3315">
1231
  <description><![CDATA[Remove tags from a term ids list]]></description>
1232
  <long-description><![CDATA[]]></long-description>
1233
+ <tag line="3315" name="since" description="0.40"/>
1234
+ <tag line="3315" name="param" description="The term ids currently assigned" type="array" variable="$terms_before">
1235
  <type by_reference="false">array</type>
1236
  </tag>
1237
+ <tag line="3315" name="param" description="| string The term ids (array) or names (string) to remove" type="array" variable="$tags">
1238
  <type by_reference="false">array</type>
1239
  </tag>
1240
+ <tag line="3315" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
1241
  <type by_reference="false">object</type>
1242
  </tag>
1243
+ <tag line="3315" name="return" description="Term ids of the surviving tags" type="array">
1244
  <type by_reference="false">array</type>
1245
  </tag>
1246
  </docblock>
1247
+ <argument line="3326">
1248
  <name>$terms_before</name>
1249
  <default><![CDATA[]]></default>
1250
  <type/>
1251
  </argument>
1252
+ <argument line="3326">
1253
  <name>$tags</name>
1254
  <default><![CDATA[]]></default>
1255
  <type/>
1256
  </argument>
1257
+ <argument line="3326">
1258
  <name>$taxonomy_obj</name>
1259
  <default><![CDATA[]]></default>
1260
  <type/>
1261
  </argument>
1262
  </method>
1263
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3369" package="Media Library Assistant">
1264
  <name>_hex_dump</name>
1265
  <full_name>_hex_dump</full_name>
1266
+ <docblock line="3358">
1267
  <description><![CDATA[Format printable version of binary data]]></description>
1268
  <long-description><![CDATA[]]></long-description>
1269
+ <tag line="3358" name="since" description="0.90"/>
1270
+ <tag line="3358" name="param" description="Binary data" type="string" variable="$data">
1271
  <type by_reference="false">string</type>
1272
  </tag>
1273
+ <tag line="3358" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
1274
  <type by_reference="false">integer</type>
1275
  </tag>
1276
+ <tag line="3358" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
1277
  <type by_reference="false">\intger</type>
1278
  </tag>
1279
+ <tag line="3358" name="return" description="Printable representation of $data" type="string">
1280
  <type by_reference="false">string</type>
1281
  </tag>
1282
  </docblock>
1283
+ <argument line="3369">
1284
  <name>$data</name>
1285
  <default><![CDATA[]]></default>
1286
  <type/>
1287
  </argument>
1288
+ <argument line="3369">
1289
  <name>$limit</name>
1290
  <default><![CDATA[0]]></default>
1291
  <type/>
1292
  </argument>
1293
+ <argument line="3369">
1294
  <name>$bytes_per_row</name>
1295
  <default><![CDATA[16]]></default>
1296
  <type/>
1298
  </method>
1299
  </class>
1300
  <markers>
1301
+ <todo line="1823">encode the rest</todo>
1302
  </markers>
1303
  </file>
1304
  <file path="includes\class-mla-edit-media.php" hash="ffa4ba62a4969d2e50e12b044ce0cace" package="Media Library Assistant">
2571
  </method>
2572
  </class>
2573
  </file>
2574
+ <file path="includes\class-mla-main.php" hash="930b6ae9a82fd50cd6fe275449577474" package="Media Library Assistant">
2575
  <docblock line="2">
2576
  <description><![CDATA[Top-level functions for the Media Library Assistant]]></description>
2577
  <long-description><![CDATA[]]></long-description>
2608
  <constant namespace="global" line="41" package="Media Library Assistant">
2609
  <name>CURRENT_MLA_VERSION</name>
2610
  <full_name>CURRENT_MLA_VERSION</full_name>
2611
+ <value><![CDATA['1.43']]></value>
2612
  <docblock line="34">
2613
  <description><![CDATA[Current version number]]></description>
2614
  <long-description><![CDATA[]]></long-description>
3181
  </method>
3182
  </class>
3183
  </file>
3184
+ <file path="includes\class-mla-media-modal.php" hash="989ae04fc16eb02102df255989fefa46" package="Media Library Assistant">
3185
  <docblock line="2">
3186
  <description><![CDATA[Media Library Assistant Media Manager enhancements]]></description>
3187
  <long-description><![CDATA[]]></long-description>
3237
  </tag>
3238
  </docblock>
3239
  </constant>
3240
+ <property final="false" static="true" visibility="private" line="157" namespace="global" package="Media Library Assistant">
3241
  <name>$mla_media_modal_settings</name>
3242
  <default><![CDATA[array('ajaxAction' => self::JAVASCRIPT_MEDIA_MODAL_SLUG, 'ajaxNonce' => '', 'enableMimeTypes' => false, 'enableMonthsDropdown' => false, 'enableTermsDropdown' => false, 'enableSearchBox' => false, 'mimeTypes' => '', 'months' => '', 'termsClass' => array(), 'termsValue' => array(), 'termsText' => array(), 'searchValue' => '', 'searchFields' => array('title', 'content'), 'searchConnector' => 'AND')]]></default>
3243
+ <docblock line="149">
3244
  <description><![CDATA[Share the settings values between mla_media_view_settings_filter
3245
  and mla_print_media_templates_action]]></description>
3246
  <long-description><![CDATA[]]></long-description>
3247
+ <tag line="149" name="since" description="1.20"/>
3248
+ <tag line="149" name="var" description="" type="array">
3249
  <type by_reference="false">array</type>
3250
  </tag>
3251
  </docblock>
3302
  <type/>
3303
  </argument>
3304
  </method>
3305
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="185" package="Media Library Assistant">
3306
  <name>mla_media_view_settings_filter</name>
3307
  <full_name>mla_media_view_settings_filter</full_name>
3308
+ <docblock line="174">
3309
  <description><![CDATA[Adds settings values to be passed to the Media Manager in /wp-includes/js/media-views.js.]]></description>
3310
  <long-description><![CDATA[<p>Declared public because it is a filter.</p>]]></long-description>
3311
+ <tag line="174" name="since" description="1.20"/>
3312
+ <tag line="174" name="param" description="associative array with setting =&gt; value pairs" type="array" variable="$settings">
3313
  <type by_reference="false">array</type>
3314
  </tag>
3315
+ <tag line="174" name="param" description="|| NULL current post object, if available" type="object" variable="$post">
3316
  <type by_reference="false">object</type>
3317
  </tag>
3318
+ <tag line="174" name="return" description="updated $settings array" type="array">
3319
  <type by_reference="false">array</type>
3320
  </tag>
3321
  </docblock>
3322
+ <argument line="185">
3323
  <name>$settings</name>
3324
  <default><![CDATA[]]></default>
3325
  <type/>
3326
  </argument>
3327
+ <argument line="185">
3328
  <name>$post</name>
3329
  <default><![CDATA[]]></default>
3330
  <type/>
3331
  </argument>
3332
  </method>
3333
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="216" package="Media Library Assistant">
3334
  <name>mla_media_view_strings_filter</name>
3335
  <full_name>mla_media_view_strings_filter</full_name>
3336
+ <docblock line="205">
3337
  <description><![CDATA[Adds strings values to be passed to the Media Manager in /wp-includes/js/media-views.js.]]></description>
3338
  <long-description><![CDATA[<p>Declared public because it is a filter.</p>]]></long-description>
3339
+ <tag line="205" name="since" description="1.20"/>
3340
+ <tag line="205" name="param" description="associative array with string =&gt; value pairs" type="array" variable="$strings">
3341
  <type by_reference="false">array</type>
3342
  </tag>
3343
+ <tag line="205" name="param" description="|| NULL current post object, if available" type="object" variable="$post">
3344
  <type by_reference="false">object</type>
3345
  </tag>
3346
+ <tag line="205" name="return" description="updated $strings array" type="array">
3347
  <type by_reference="false">array</type>
3348
  </tag>
3349
  </docblock>
3350
+ <argument line="216">
3351
  <name>$strings</name>
3352
  <default><![CDATA[]]></default>
3353
  <type/>
3354
  </argument>
3355
+ <argument line="216">
3356
  <name>$post</name>
3357
  <default><![CDATA[]]></default>
3358
  <type/>
3359
  </argument>
3360
  </method>
3361
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="233" package="Media Library Assistant">
3362
  <name>mla_wp_enqueue_media_action</name>
3363
  <full_name>mla_wp_enqueue_media_action</full_name>
3364
+ <docblock line="225">
3365
  <description><![CDATA[Enqueues the mla-media-modal-scripts.js file, adding it to the Media Manager scripts.]]></description>
3366
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3367
+ <tag line="225" name="since" description="1.20"/>
3368
+ <tag line="225" name="return" description="" type="void">
3369
  <type by_reference="false">void</type>
3370
  </tag>
3371
  </docblock>
3372
  </method>
3373
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="251" package="Media Library Assistant">
3374
  <name>mla_print_media_templates_action</name>
3375
  <full_name>mla_print_media_templates_action</full_name>
3376
+ <docblock line="243">
3377
  <description><![CDATA[Prints the templates used in the MLA Media Manager enhancements.]]></description>
3378
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3379
+ <tag line="243" name="since" description="1.20"/>
3380
+ <tag line="243" name="return" description="echoes HTML script tags for the templates" type="void">
3381
  <type by_reference="false">void</type>
3382
  </tag>
3383
  </docblock>
3384
  </method>
3385
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="353" package="Media Library Assistant">
3386
  <name>mla_admin_init_ajax_action</name>
3387
  <full_name>mla_admin_init_ajax_action</full_name>
3388
+ <docblock line="344">
3389
  <description><![CDATA[Adjust ajax handler for Media Manager queries]]></description>
3390
  <long-description><![CDATA[<p>Replace 'query-attachments' with our own handler if the request is coming from the "Assistant" tab</p>]]></long-description>
3391
+ <tag line="344" name="since" description="1.20"/>
3392
+ <tag line="344" name="return" description="" type="void">
3393
  <type by_reference="false">void</type>
3394
  </tag>
3395
  </docblock>
3396
  </method>
3397
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="371" package="Media Library Assistant">
3398
  <name>mla_query_attachments_action</name>
3399
  <full_name>mla_query_attachments_action</full_name>
3400
+ <docblock line="362">
3401
  <description><![CDATA[Ajax handler for Media Manager queries]]></description>
3402
  <long-description><![CDATA[<p>Adapted from wp_ajax_query_attachments in /wp-admin/includes/ajax-actions.php</p>]]></long-description>
3403
+ <tag line="362" name="since" description="1.20"/>
3404
+ <tag line="362" name="return" description="echo HTML &lt;tr&gt; markup for updated row or error message, then die()" type="void">
3405
  <type by_reference="false">void</type>
3406
  </tag>
3407
  </docblock>
5931
  </method>
5932
  </class>
5933
  </file>
5934
+ <file path="includes\class-mla-settings.php" hash="9078a7c67bbf4dba0cb2ceeb9b4253ba" package="Media Library Assistant">
5935
  <docblock line="2">
5936
  <description><![CDATA[Manages the settings page to edit the plugin option settings]]></description>
5937
  <long-description><![CDATA[]]></long-description>
6727
  </tag>
6728
  </docblock>
6729
  </method>
6730
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2714" package="Media Library Assistant">
6731
  <name>_process_iptc_exif_taxonomy</name>
6732
  <full_name>_process_iptc_exif_taxonomy</full_name>
6733
+ <docblock line="2704">
6734
  <description><![CDATA[Process IPTC/EXIF taxonomy term settings against all image attachments
6735
  without saving the settings to the mla_option]]></description>
6736
  <long-description><![CDATA[]]></long-description>
6737
+ <tag line="2704" name="since" description="1.00"/>
6738
+ <tag line="2704" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6739
+ <tag line="2704" name="return" description="Message(s) reflecting the results of the operation" type="array">
6740
  <type by_reference="false">array</type>
6741
  </tag>
6742
  </docblock>
6743
  </method>
6744
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2767" package="Media Library Assistant">
6745
  <name>_process_iptc_exif_custom</name>
6746
  <full_name>_process_iptc_exif_custom</full_name>
6747
+ <docblock line="2755">
6748
  <description><![CDATA[Process IPTC/EXIF custom field settings against all image attachments
6749
  without saving the settings to the mla_option]]></description>
6750
  <long-description><![CDATA[]]></long-description>
6751
+ <tag line="2755" name="since" description="1.00"/>
6752
+ <tag line="2755" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6753
+ <tag line="2755" name="param" description="| NULL specific iptc_exif_custom_mapping values" type="array" variable="$settings">
6754
  <type by_reference="false">array</type>
6755
  </tag>
6756
+ <tag line="2755" name="return" description="Message(s) reflecting the results of the operation" type="array">
6757
  <type by_reference="false">array</type>
6758
  </tag>
6759
  </docblock>
6760
+ <argument line="2767">
6761
  <name>$settings</name>
6762
  <default><![CDATA[NULL]]></default>
6763
  <type/>
6764
  </argument>
6765
  </method>
6766
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2825" package="Media Library Assistant">
6767
  <name>_save_iptc_exif_custom_settings</name>
6768
  <full_name>_save_iptc_exif_custom_settings</full_name>
6769
+ <docblock line="2816">
6770
  <description><![CDATA[Save IPTC/EXIF custom field settings to the options table]]></description>
6771
  <long-description><![CDATA[]]></long-description>
6772
+ <tag line="2816" name="since" description="1.30"/>
6773
+ <tag line="2816" name="param" description="specific iptc_exif_custom_mapping values" type="array" variable="$new_values">
6774
  <type by_reference="false">array</type>
6775
  </tag>
6776
+ <tag line="2816" name="return" description="Message(s) reflecting the results of the operation" type="array">
6777
  <type by_reference="false">array</type>
6778
  </tag>
6779
  </docblock>
6780
+ <argument line="2825">
6781
  <name>$new_values</name>
6782
  <default><![CDATA[]]></default>
6783
  <type/>
6784
  </argument>
6785
  </method>
6786
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2841" package="Media Library Assistant">
6787
  <name>_save_iptc_exif_settings</name>
6788
  <full_name>_save_iptc_exif_settings</full_name>
6789
+ <docblock line="2832">
6790
  <description><![CDATA[Save IPTC/EXIF settings to the options table]]></description>
6791
  <long-description><![CDATA[]]></long-description>
6792
+ <tag line="2832" name="since" description="1.00"/>
6793
+ <tag line="2832" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6794
+ <tag line="2832" name="return" description="Message(s) reflecting the results of the operation" type="array">
6795
  <type by_reference="false">array</type>
6796
  </tag>
6797
  </docblock>
6798
  </method>
6799
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2878" package="Media Library Assistant">
6800
  <name>_save_general_settings</name>
6801
  <full_name>_save_general_settings</full_name>
6802
+ <docblock line="2869">
6803
  <description><![CDATA[Save General settings to the options table]]></description>
6804
  <long-description><![CDATA[]]></long-description>
6805
+ <tag line="2869" name="since" description="0.1"/>
6806
+ <tag line="2869" name="uses" description="\global\$_REQUEST" refers="\global\$_REQUEST"/>
6807
+ <tag line="2869" name="return" description="Message(s) reflecting the results of the operation" type="array">
6808
  <type by_reference="false">array</type>
6809
  </tag>
6810
  </docblock>
6811
  </method>
6812
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2936" package="Media Library Assistant">
6813
  <name>_reset_general_settings</name>
6814
  <full_name>_reset_general_settings</full_name>
6815
+ <docblock line="2929">
6816
  <description><![CDATA[Delete saved settings, restoring default values]]></description>
6817
  <long-description><![CDATA[]]></long-description>
6818
+ <tag line="2929" name="since" description="0.1"/>
6819
+ <tag line="2929" name="return" description="Message(s) reflecting the results of the operation" type="array">
6820
  <type by_reference="false">array</type>
6821
  </tag>
6822
  </docblock>
6823
  </method>
6824
  </class>
6825
  </file>
6826
+ <file path="includes\class-mla-shortcodes.php" hash="064c833a1ee7a44a0e9fd3e10a3d19c0" package="Media Library Assistant">
6827
  <docblock line="2">
6828
  <description><![CDATA[Media Library Assistant Shortcode handler(s)]]></description>
6829
  <long-description><![CDATA[]]></long-description>
6864
  </tag>
6865
  </docblock>
6866
  </property>
6867
+ <property final="false" static="true" visibility="private" line="1464" namespace="global" package="Media Library Assistant">
6868
  <name>$query_parameters</name>
6869
  <default><![CDATA[array()]]></default>
6870
+ <docblock line="1450">
6871
  <description><![CDATA[WP_Query filter "parameters"]]></description>
6872
  <long-description><![CDATA[<p>This array defines parameters for the query's where and orderby filters,
6873
  mla_shortcode_query_posts_where_filter and mla_shortcode_query_posts_orderby_filter.
6875
  any further logic required to translate those values is contained in the filter.</p>
6876
 
6877
  <p>Array index values are: orderby, post_parent</p>]]></long-description>
6878
+ <tag line="1450" name="since" description="1.13"/>
6879
+ <tag line="1450" name="var" description="" type="array">
6880
  <type by_reference="false">array</type>
6881
  </tag>
6882
  </docblock>
6883
  </property>
6884
+ <property final="false" static="true" visibility="private" line="1573" namespace="global" package="Media Library Assistant">
6885
  <name>$data_selection_parameters</name>
6886
  <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' => '', 'tax_include_children' => true, '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, 'mla_paginate_current' => NULL, 'mla_paginate_total' => NULL, 'meta_key' => '', 'meta_value' => '', 'meta_value_num' => NULL, 'meta_compare' => '', 'meta_query' => '', 's' => '')]]></default>
6887
+ <docblock line="1566">
6888
  <description><![CDATA[Data selection parameters for the WP_Query in [mla_gallery]]]></description>
6889
  <long-description><![CDATA[]]></long-description>
6890
+ <tag line="1566" name="since" description="1.30"/>
6891
+ <tag line="1566" name="var" description="" type="array">
6892
  <type by_reference="false">array</type>
6893
  </tag>
6894
  </docblock>
6939
  <type/>
6940
  </argument>
6941
  </method>
6942
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1140" package="Media Library Assistant">
6943
  <name>_process_shortcode_parameter</name>
6944
  <full_name>_process_shortcode_parameter</full_name>
6945
+ <docblock line="1130">
6946
  <description><![CDATA[Handles brace/bracket escaping and parses template for a shortcode parameter]]></description>
6947
  <long-description><![CDATA[]]></long-description>
6948
+ <tag line="1130" name="since" description="1.14"/>
6949
+ <tag line="1130" name="param" description="raw shortcode parameter, e.g., &quot;text {+field+} {brackets} \\{braces\\}&quot;" type="string" variable="$text">
6950
  <type by_reference="false">string</type>
6951
  </tag>
6952
+ <tag line="1130" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
6953
  <type by_reference="false">string</type>
6954
  </tag>
6955
+ <tag line="1130" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
6956
  <type by_reference="false">string</type>
6957
  </tag>
6958
  </docblock>
6959
+ <argument line="1140">
6960
  <name>$text</name>
6961
  <default><![CDATA[]]></default>
6962
  <type/>
6963
  </argument>
6964
+ <argument line="1140">
6965
  <name>$markup_values</name>
6966
  <default><![CDATA[]]></default>
6967
  <type/>
6968
  </argument>
6969
  </method>
6970
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1159" package="Media Library Assistant">
6971
+ <name>_paginate_links</name>
6972
+ <full_name>_paginate_links</full_name>
6973
+ <docblock line="1146">
6974
+ <description><![CDATA[Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links']]></description>
6975
+ <long-description><![CDATA[]]></long-description>
6976
+ <tag line="1146" name="since" description="1.42"/>
6977
+ <tag line="1146" name="param" description="value(s) for mla_output_type parameter" type="array" variable="$output_parameters">
6978
+ <type by_reference="false">array</type>
6979
+ </tag>
6980
+ <tag line="1146" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
6981
+ <type by_reference="false">string</type>
6982
+ </tag>
6983
+ <tag line="1146" name="param" description="merged default and passed shortcode parameter values" type="string" variable="$arguments">
6984
+ <type by_reference="false">string</type>
6985
+ </tag>
6986
+ <tag line="1146" name="param" description="number of attachments in the gallery, without pagination" type="integer" variable="$found_rows">
6987
+ <type by_reference="false">integer</type>
6988
+ </tag>
6989
+ <tag line="1146" name="param" description="output text so far, may include debug values" type="string" variable="$output">
6990
+ <type by_reference="false">string</type>
6991
+ </tag>
6992
+ <tag line="1146" name="return" description="false or string with HTML for pagination output types" type="mixed">
6993
+ <type by_reference="false">mixed</type>
6994
+ </tag>
6995
+ </docblock>
6996
+ <argument line="1159">
6997
+ <name>$output_parameters</name>
6998
+ <default><![CDATA[]]></default>
6999
+ <type/>
7000
+ </argument>
7001
+ <argument line="1159">
7002
+ <name>$markup_values</name>
7003
+ <default><![CDATA[]]></default>
7004
+ <type/>
7005
+ </argument>
7006
+ <argument line="1159">
7007
+ <name>$arguments</name>
7008
+ <default><![CDATA[]]></default>
7009
+ <type/>
7010
+ </argument>
7011
+ <argument line="1159">
7012
+ <name>$found_rows</name>
7013
+ <default><![CDATA[]]></default>
7014
+ <type/>
7015
+ </argument>
7016
+ <argument line="1159">
7017
+ <name>$output</name>
7018
+ <default><![CDATA['']]></default>
7019
+ <type/>
7020
+ </argument>
7021
+ </method>
7022
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1288" package="Media Library Assistant">
7023
  <name>_process_pagination_output_types</name>
7024
  <full_name>_process_pagination_output_types</full_name>
7025
+ <docblock line="1274">
7026
  <description><![CDATA[Handles pagnation output types 'previous_page', 'next_page', and 'paginate_links']]></description>
7027
  <long-description><![CDATA[]]></long-description>
7028
+ <tag line="1274" name="since" description="1.42"/>
7029
+ <tag line="1274" name="param" description="value(s) for mla_output_type parameter" type="array" variable="$output_parameters">
7030
  <type by_reference="false">array</type>
7031
  </tag>
7032
+ <tag line="1274" name="param" description="template substitution values, e.g., ('instance' =&gt; '1', ... )" type="string" variable="$markup_values">
7033
  <type by_reference="false">string</type>
7034
  </tag>
7035
+ <tag line="1274" name="param" description="merged default and passed shortcode parameter values" type="string" variable="$arguments">
7036
  <type by_reference="false">string</type>
7037
  </tag>
7038
+ <tag line="1274" name="param" description="raw passed shortcode parameter values" type="string" variable="$attr">
7039
  <type by_reference="false">string</type>
7040
  </tag>
7041
+ <tag line="1274" name="param" description="number of attachments in the gallery, without pagination" type="integer" variable="$found_rows">
7042
  <type by_reference="false">integer</type>
7043
  </tag>
7044
+ <tag line="1274" name="param" description="output text so far, may include debug values" type="string" variable="$output">
7045
  <type by_reference="false">string</type>
7046
  </tag>
7047
+ <tag line="1274" name="return" description="false or string with HTML for pagination output types" type="mixed">
7048
  <type by_reference="false">mixed</type>
7049
  </tag>
7050
  </docblock>
7051
+ <argument line="1288">
7052
  <name>$output_parameters</name>
7053
  <default><![CDATA[]]></default>
7054
  <type/>
7055
  </argument>
7056
+ <argument line="1288">
7057
  <name>$markup_values</name>
7058
  <default><![CDATA[]]></default>
7059
  <type/>
7060
  </argument>
7061
+ <argument line="1288">
7062
  <name>$arguments</name>
7063
  <default><![CDATA[]]></default>
7064
  <type/>
7065
  </argument>
7066
+ <argument line="1288">
7067
  <name>$attr</name>
7068
  <default><![CDATA[]]></default>
7069
  <type/>
7070
  </argument>
7071
+ <argument line="1288">
7072
  <name>$found_rows</name>
7073
  <default><![CDATA[]]></default>
7074
  <type/>
7075
  </argument>
7076
+ <argument line="1288">
7077
  <name>$output</name>
7078
  <default><![CDATA['']]></default>
7079
  <type/>
7080
  </argument>
7081
  </method>
7082
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1475" package="Media Library Assistant">
7083
  <name>_sanitize_query_specification</name>
7084
  <full_name>_sanitize_query_specification</full_name>
7085
+ <docblock line="1466">
7086
  <description><![CDATA[Cleans up damage caused by the Visual Editor to the tax_query and meta_query specifications]]></description>
7087
  <long-description><![CDATA[]]></long-description>
7088
+ <tag line="1466" name="since" description="1.14"/>
7089
+ <tag line="1466" name="param" description="query specification; PHP nested arrays" type="string" variable="$specification">
7090
  <type by_reference="false">string</type>
7091
  </tag>
7092
+ <tag line="1466" name="return" description="query specification with HTML escape sequences and line breaks removed" type="string">
7093
  <type by_reference="false">string</type>
7094
  </tag>
7095
  </docblock>
7096
+ <argument line="1475">
7097
  <name>$specification</name>
7098
  <default><![CDATA[]]></default>
7099
  <type/>
7100
  </argument>
7101
  </method>
7102
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1492" package="Media Library Assistant">
7103
  <name>_validate_sql_orderby</name>
7104
  <full_name>_validate_sql_orderby</full_name>
7105
+ <docblock line="1481">
7106
  <description><![CDATA[Translates query parameters to a valid SQL order by clause.]]></description>
7107
  <long-description><![CDATA[<p>Accepts one or more valid columns, with or without ASC/DESC.
7108
  Enhanced version of /wp-includes/formatting.php function sanitize_sql_orderby().</p>]]></long-description>
7109
+ <tag line="1481" name="since" description="1.20"/>
7110
+ <tag line="1481" name="param" description="Validated query parameters" type="array" variable="$query_parameters">
7111
  <type by_reference="false">array</type>
7112
  </tag>
7113
+ <tag line="1481" name="return" description="Returns the orderby clause if present, false otherwise." type="string|bool">
7114
  <type by_reference="false">string</type>
7115
  <type by_reference="false">bool</type>
7116
  </tag>
7117
  </docblock>
7118
+ <argument line="1492">
7119
  <name>$query_parameters</name>
7120
  <default><![CDATA[]]></default>
7121
  <type/>
7122
  </argument>
7123
  </method>
7124
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1640" package="Media Library Assistant">
7125
  <name>mla_get_shortcode_attachments</name>
7126
  <full_name>mla_get_shortcode_attachments</full_name>
7127
+ <docblock line="1629">
7128
  <description><![CDATA[Parses shortcode parameters and returns the gallery objects]]></description>
7129
  <long-description><![CDATA[]]></long-description>
7130
+ <tag line="1629" name="since" description=".50"/>
7131
+ <tag line="1629" name="param" description="Post ID of the parent" type="int" variable="$post_parent">
7132
  <type by_reference="false">int</type>
7133
  </tag>
7134
+ <tag line="1629" name="param" description="Attributes of the shortcode" type="array" variable="$attr">
7135
  <type by_reference="false">array</type>
7136
  </tag>
7137
+ <tag line="1629" name="param" description="true to calculate and return ['found_posts'] as an array element" type="boolean" variable="$return_found_rows">
7138
  <type by_reference="false">boolean</type>
7139
  </tag>
7140
+ <tag line="1629" name="return" description="List of attachments returned from WP_Query" type="array">
7141
  <type by_reference="false">array</type>
7142
  </tag>
7143
  </docblock>
7144
+ <argument line="1640">
7145
  <name>$post_parent</name>
7146
  <default><![CDATA[]]></default>
7147
  <type/>
7148
  </argument>
7149
+ <argument line="1640">
7150
  <name>$attr</name>
7151
  <default><![CDATA[]]></default>
7152
  <type/>
7153
  </argument>
7154
+ <argument line="1640">
7155
  <name>$return_found_rows</name>
7156
  <default><![CDATA[false]]></default>
7157
  <type/>
7158
  </argument>
7159
  </method>
7160
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2029" package="Media Library Assistant">
7161
  <name>mla_shortcode_query_posts_where_filter</name>
7162
  <full_name>mla_shortcode_query_posts_where_filter</full_name>
7163
+ <docblock line="2015">
7164
  <description><![CDATA[Filters the WHERE clause for shortcode queries]]></description>
7165
  <long-description><![CDATA[<p>Captures debug information. Adds whitespace to the post_type = 'attachment'
7166
  phrase to circumvent subsequent Role Scoper modification of the clause.
7167
  Handles post_parent "any" and "none" cases.
7168
  Defined as public because it's a filter.</p>]]></long-description>
7169
+ <tag line="2015" name="since" description="0.70"/>
7170
+ <tag line="2015" name="param" description="query clause before modification" type="string" variable="$where_clause">
7171
  <type by_reference="false">string</type>
7172
  </tag>
7173
+ <tag line="2015" name="return" description="query clause after modification" type="string">
7174
  <type by_reference="false">string</type>
7175
  </tag>
7176
  </docblock>
7177
+ <argument line="2029">
7178
  <name>$where_clause</name>
7179
  <default><![CDATA[]]></default>
7180
  <type/>
7181
  </argument>
7182
  </method>
7183
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2070" package="Media Library Assistant">
7184
  <name>mla_shortcode_query_posts_orderby_filter</name>
7185
  <full_name>mla_shortcode_query_posts_orderby_filter</full_name>
7186
+ <docblock line="2058">
7187
  <description><![CDATA[Filters the ORDERBY clause for shortcode queries]]></description>
7188
  <long-description><![CDATA[<p>This is an enhanced version of the code found in wp-includes/query.php, function get_posts.
7189
  Defined as public because it's a filter.</p>]]></long-description>
7190
+ <tag line="2058" name="since" description="1.20"/>
7191
+ <tag line="2058" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
7192
  <type by_reference="false">string</type>
7193
  </tag>
7194
+ <tag line="2058" name="return" description="query clause after modification" type="string">
7195
  <type by_reference="false">string</type>
7196
  </tag>
7197
  </docblock>
7198
+ <argument line="2070">
7199
  <name>$orderby_clause</name>
7200
  <default><![CDATA[]]></default>
7201
  <type/>
7202
  </argument>
7203
  </method>
7204
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2095" package="Media Library Assistant">
7205
  <name>mla_shortcode_query_posts_clauses_filter</name>
7206
  <full_name>mla_shortcode_query_posts_clauses_filter</full_name>
7207
+ <docblock line="2083">
7208
  <description><![CDATA[Filters all clauses for shortcode queries, pre caching plugins]]></description>
7209
  <long-description><![CDATA[<p>This is for debug purposes only.
7210
  Defined as public because it's a filter.</p>]]></long-description>
7211
+ <tag line="2083" name="since" description="1.30"/>
7212
+ <tag line="2083" name="param" description="query clauses before modification" type="array" variable="$pieces">
7213
  <type by_reference="false">array</type>
7214
  </tag>
7215
+ <tag line="2083" name="return" description="query clauses after modification (none)" type="array">
7216
  <type by_reference="false">array</type>
7217
  </tag>
7218
  </docblock>
7219
+ <argument line="2095">
7220
  <name>$pieces</name>
7221
  <default><![CDATA[]]></default>
7222
  <type/>
7223
  </argument>
7224
  </method>
7225
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2113" package="Media Library Assistant">
7226
  <name>mla_shortcode_query_posts_clauses_request_filter</name>
7227
  <full_name>mla_shortcode_query_posts_clauses_request_filter</full_name>
7228
+ <docblock line="2101">
7229
  <description><![CDATA[Filters all clauses for shortcode queries, post caching plugins]]></description>
7230
  <long-description><![CDATA[<p>This is for debug purposes only.
7231
  Defined as public because it's a filter.</p>]]></long-description>
7232
+ <tag line="2101" name="since" description="1.30"/>
7233
+ <tag line="2101" name="param" description="query clauses before modification" type="array" variable="$pieces">
7234
  <type by_reference="false">array</type>
7235
  </tag>
7236
+ <tag line="2101" name="return" description="query clauses after modification (none)" type="array">
7237
  <type by_reference="false">array</type>
7238
  </tag>
7239
  </docblock>
7240
+ <argument line="2113">
7241
  <name>$pieces</name>
7242
  <default><![CDATA[]]></default>
7243
  <type/>
8894
  </docblock>
8895
  </function>
8896
  </file>
8897
+ <file path="index.php" hash="e24b2afe1afc4ff6bd68ed78294dc1f5" package="Media Library Assistant">
8898
  <docblock line="2">
8899
  <description><![CDATA[Provides several enhancements to the handling of images and files held in the WordPress Media Library]]></description>
8900
  <long-description><![CDATA[<p>This file contains several tests for name conflicts with other plugins. Only if the tests are passed
8901
  will the rest of the plugin be loaded and run.</p>]]></long-description>
8902
  <tag line="2" name="package" description="Media Library Assistant"/>
8903
+ <tag line="2" name="version" description="1.43"/>
8904
  </docblock>
8905
  <include line="109" type="Require Once" package="Media Library Assistant">
8906
  <name>includes/mla-plugin-loader.php</name>
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: dglingren
3
  Donate link: http://fairtradejudaica.org/make-a-difference/donate/
4
  Tags: attachment, attachments, documents, gallery, image, images, media, library, media library, media-tags, media tags, tags, media categories, categories, IPTC, EXIF, meta, metadata, photo, photos, photograph, photographs, photoblog, photo albums, 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.42
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -119,6 +119,15 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
119
 
120
  == Changelog ==
121
 
 
 
 
 
 
 
 
 
 
122
  = 1.42 =
123
  * New: **Pagination support for `[mla_gallery]`**, using the "previous_page" and "next_page" values of the "mla_output" parameter. See the Settings/Media Library Assistant Documentation tab for complete information and examples.
124
  * New: For `[mla_gallery]`, a new parameter ("mla_link_class") lets you add class attribute values to the hyperlinks.
@@ -296,8 +305,8 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
296
 
297
  == Upgrade Notice ==
298
 
299
- = 1.42 =
300
- Get pagination support for [mla_gallery]! Improved CSS width (itemwidth) and margin handling. Eight other enhancements, six fixes.
301
 
302
  == Other Notes ==
303
 
@@ -445,13 +454,14 @@ The `[mla_gallery]` shortcode can be used to provide "Previous" and "Next" links
445
 
446
  <h4>The <code>mla_output</code> parameter</h4>
447
 
448
- The **"mla_output"** parameter determines the type of output the shortcode will return. Explanation and examples of each output type are given later in this section. You can choose from five values:
449
 
450
  * `gallery`: The default value; returns the traditional gallery of image thumbnails, captions, etc.
451
- * `next_link`: returns a link to the next gallery item. The optional ",wrap" qualifier determines what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first gallery item.
452
- * `previous_link`: returns a link to the previous gallery item. The optional ",wrap" qualifier determines what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first gallery item. If you code the ",wrap" qualifier, "previous_link" from the first gallery item will be to the last gallery item.
453
- * `next_page`: returns a link to the next "page" of gallery items. The optional ",wrap" or ",last" qualifiers determine what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_page" if there are no more items in the gallery. If you code the ",wrap" qualifier, the "next_page" from the last page of items will be to the first page of gallery items. If you code the ",last" qualifier, the "next_page" link will return to/remain on the last page of gallery items.
454
- * `previous_page`: returns a link to the previous "page" of gallery items. The optional ",wrap" or ",first" qualifiers determine what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first page of gallery items. If you code the ",wrap" qualifier, "previous_page" from the first page of gallery items will be to the last page of gallery items. If you code the ",first" qualifier, the "previous_link" link will return to/remain on the first page of gallery items.
 
455
 
456
  <h4>Next and previous gallery items; the `next_link` and `previous_link` output types</h4>
457
 
@@ -490,6 +500,20 @@ WordPress provides functions that generate links to the "<em>next/previous set o
490
 
491
  WordPress uses the "paged" parameter to indicate the current "<em>set of posts within the current query</em>." To avoid built-in WordPress logic that uses this parameter, MLA has its own "mla_paginate_current" parameter to indicate the current set of items within the gallery (the current gallery page). MLA will automatically manage this parameter for you, but you can also use it explicitly to handle special cases.
492
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
493
  == Support for Other Gallery-generating Shortcodes ==
494
 
495
  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:
3
  Donate link: http://fairtradejudaica.org/make-a-difference/donate/
4
  Tags: attachment, attachments, documents, gallery, image, images, media, library, media library, media-tags, media tags, tags, media categories, categories, IPTC, EXIF, meta, metadata, photo, photos, photograph, photographs, photoblog, photo albums, lightroom, photoshop, MIME, mime-type, icon, upload, file extensions
5
  Requires at least: 3.3
6
+ Tested up to: 3.6
7
+ Stable tag: 1.43
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
119
 
120
  == Changelog ==
121
 
122
+ = 1.43 =
123
+ * New: For `[mla_gallery]`, a new `mla_output=paginate_links` parameter creates a paginated link list for galleries with multiple "gallery pages" ( e.g.: < Prev 1 … 3 4 5 6 7 … 9 Next > ). See the Settings/Media Library Assistant Documentation tab for complete information and examples.
124
+ * New: For `[mla_gallery]`, `mla_prev_text` and `mla_next_text` can be used in place of `mla_link_text` with the `previous_link` and `next_link` output types.
125
+ * Fix: When resetting Settings/Media Library Assistant General tab options, a Fatal PHP error no longer occurs.
126
+ * Fix: PHP Warning message removed for `[mla_gallery]` shortcodes with no parameters at all.
127
+ * Fix: For WordPress version 3.6, the Media Manager taxonomy dropdown box is indented with dashes; it no longer shows plaintext version of HTML non-breaking spaces.
128
+ * Fix: For `[mla_gallery]`, "Next" and "Previous" text default values now use acute quotes, not arrows, conforming to the WordPress values.
129
+ * Fix: Example for the `previous_page`/`next_page` output types has been corrected, showing `posts_per_page` in all three shortcodes.
130
+
131
  = 1.42 =
132
  * New: **Pagination support for `[mla_gallery]`**, using the "previous_page" and "next_page" values of the "mla_output" parameter. See the Settings/Media Library Assistant Documentation tab for complete information and examples.
133
  * New: For `[mla_gallery]`, a new parameter ("mla_link_class") lets you add class attribute values to the hyperlinks.
305
 
306
  == Upgrade Notice ==
307
 
308
+ = 1.43 =
309
+ Generalized pagination support with "mla_output=paginate_links". One other enhancement, five fixes.
310
 
311
  == Other Notes ==
312
 
454
 
455
  <h4>The <code>mla_output</code> parameter</h4>
456
 
457
+ The **"mla_output"** parameter determines the type of output the shortcode will return. Explanation and examples of each output type are given later in this section. You can choose from six values:
458
 
459
  * `gallery`: The default value; returns the traditional gallery of image thumbnails, captions, etc.
460
+ * `next_link`: returns a link to the next gallery item. The optional "<strong>,wrap</strong>" qualifier determines what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first gallery item.
461
+ * `previous_link`: returns a link to the previous gallery item. The optional "<strong>,wrap</strong>" qualifier determines what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first gallery item. If you code the ",wrap" qualifier, "previous_link" from the first gallery item will be to the last gallery item.
462
+ * `next_page`: returns a link to the next "page" of gallery items. The optional "<strong>,wrap</strong>" or "<strong>,last</strong>" qualifiers determine what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_page" if there are no more items in the gallery. If you code the ",wrap" qualifier, the "next_page" from the last page of items will be to the first page of gallery items. If you code the ",last" qualifier, the "next_page" link will return to/remain on the last page of gallery items.
463
+ * `previous_page`: returns a link to the previous "page" of gallery items. The optional "<strong>,wrap</strong>" or "<strong>,first</strong>" qualifiers determine what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first page of gallery items. If you code the ",wrap" qualifier, "previous_page" from the first page of gallery items will be to the last page of gallery items. If you code the ",first" qualifier, the "previous_link" link will return to/remain on the first page of gallery items.
464
+ * `paginate_links`: returns a link to gallery items at the start and end of the list and to pages around the current "gallery page" ( e.g.: &larr; Prev 1 … 3 4 5 6 7 … 9 Next &rarr; ). The optional "<strong>,show_all</strong>" qualifier will show all of the gallery pages instead of a short list around the current page. The optional "<strong>,prev_next</strong>" qualifier will include the "&larr; Prev" and "Next &rarr;" portions of the link list.
465
 
466
  <h4>Next and previous gallery items; the `next_link` and `previous_link` output types</h4>
467
 
500
 
501
  WordPress uses the "paged" parameter to indicate the current "<em>set of posts within the current query</em>." To avoid built-in WordPress logic that uses this parameter, MLA has its own "mla_paginate_current" parameter to indicate the current set of items within the gallery (the current gallery page). MLA will automatically manage this parameter for you, but you can also use it explicitly to handle special cases.
502
 
503
+ <h4>Generalized paginated link list; the <code>paginate_links</code> output type</h4>
504
+
505
+ WordPress provides a function that "<em>can be used to create paginated link list for any area</em>." The "paginate_links" output type is modeled on this function and lets you generate a list of links for moving among "gallery pages".
506
+
507
+ There are five additional parameters unique to this output type:
508
+
509
+ * mla_end_size
510
+ * mla_mid_size
511
+ * mla_prev_text
512
+ * mla_next_text
513
+ * mla_paginate_type
514
+
515
+ If you code the "<strong>,show_all</strong>" qualifier, most of the above parameters have no effect; the "mla_paginate_type" parameter is the exception.
516
+
517
  == Support for Other Gallery-generating Shortcodes ==
518
 
519
  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:
tpls/documentation-settings-tab.tpl CHANGED
@@ -480,11 +480,11 @@ The "mla_debug" parameter controls the display of information about the query pa
480
  </p>
481
  <h3>Support for Alternative Gallery Output, e.g., Pagination</h3>
482
  <p>
483
- 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 or among gallery "pages". For example, if you have many items with a specific Att. Category or Att. Tag value you can build a single-image page with links to the previous/next item having that value. You can also build a page that shows a large gallery in groups, or "gallery pages", of ten items with links to the previous/next ten items or links to all of the gallery pages of items having that value.
484
  </p>
485
  <h4>The <code>mla_output</code> parameter</h4>
486
  <p>
487
- The <strong>"mla_output"</strong> parameter determines the type of output the shortcode will return. Explanation and examples of each output type are given later in this section. You can choose from five values:
488
  </p>
489
  <table>
490
  <tr>
@@ -493,19 +493,23 @@ The <strong>"mla_output"</strong> parameter determines the type of output the sh
493
  </tr>
494
  <tr>
495
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">next_link</td>
496
- <td>returns a link to the next gallery item. The optional ",wrap" qualifier determines what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first gallery item.</td>
497
  </tr>
498
  <tr>
499
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">previous_link</td>
500
- <td>returns a link to the previous gallery item. The optional ",wrap" qualifier determines what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first gallery item. If you code the ",wrap" qualifier, "previous_link" from the first gallery item will be to the last gallery item.</td>
501
  </tr>
502
  <tr>
503
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">next_page</td>
504
- <td>returns a link to the next "page" of gallery items. The optional ",wrap" or ",last" qualifiers determine what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_page" if there are no more items in the gallery. If you code the ",wrap" qualifier, the "next_page" from the last page of items will be to the first page of gallery items. If you code the ",last" qualifier, the "next_page" link will return to/remain on the last page of gallery items.</td>
505
  </tr>
506
  <tr>
507
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">previous_page</td>
508
- <td>returns a link to the previous "page" of gallery items. The optional ",wrap" or ",first" qualifiers determine what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first page of gallery items. If you code the ",wrap" qualifier, "previous_page" from the first page of gallery items will be to the last page of gallery items. If you code the ",first" qualifier, the "previous_link" link will return to/remain on the first page of gallery items.</td>
 
 
 
 
509
  </tr>
510
  </table>
511
  <h4>Next and previous gallery items; the <code>next_link</code> and <code>previous_link</code> output types</h4>
@@ -610,6 +614,14 @@ The next or previous link returned can use the following Gallery Display Content
610
  <td>replaces the link text </td>
611
  </tr>
612
  <tr>
 
 
 
 
 
 
 
 
613
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_nolink_text</td>
614
  <td>replaces the empty string displayed when there is no link and link text, e.g., no previous or next page link </td>
615
  </tr>
@@ -692,18 +704,62 @@ The next or previous link returned can use the following Gallery Display Content
692
  Expanding the "attachment tag gallery" example, you can select images using the MLA Att. Tag taxonomy and divide the gallery into fixed-size pages. Following the main gallery shortcode are the previous/next page links:
693
  </p>
694
  <code>
695
- [mla_gallery attachment_tag="sample" mla_caption="{+title+}" posts_per_page=10]
696
  <br>&nbsp;<br>
697
  &lt;div style="clear: both; float: left"&gt;<br />
698
- [mla_gallery mla_output="previous_page,first" mla_link_text='&amp;larr; Previous Gallery Page' attachment_tag="sample" mla_rollover_text="Previous or first page for this tag"]<br>
699
  &lt;/div&gt;<br>
700
  &lt;div style="float: right"&gt;<br>
701
- [mla_gallery mla_output="next_page,last" mla_link_text='&amp;larr; Next Gallery Page' attachment_tag="sample" mla_rollover_text="Next or last page for this tag"]<br>
702
  &lt;/div&gt;
703
  </code>
704
  <p>
705
  This example is simpler that the earlier single-item paging example because the "current page" handling is done by MLA, and the "sample" tag value is hard-coded. You could also develop a generic "Att. Tag" gallery page and pass the tag value in the URI for that page (as in the single-item pagination example earlier in this section).
706
  </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
707
  <a name="alt_shortcode"></a>
708
  &nbsp;
709
  <p>
480
  </p>
481
  <h3>Support for Alternative Gallery Output, e.g., Pagination</h3>
482
  <p>
483
+ 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 or among gallery "pages". For example, if you have many items with a specific Att. Category or Att. Tag value you can build a single-image page with links to the previous/next item having that value. You can also build a page that shows a large gallery in groups, or "gallery pages", of ten items with links to the previous/next ten items or links to all of the gallery pages of items having that value. Finally, you can get a set of links to all pages in the gallery or links around the current page ( e.g.: &larr; Prev 1 … 3 4 5 6 7 … 9 Next &rarr; ).
484
  </p>
485
  <h4>The <code>mla_output</code> parameter</h4>
486
  <p>
487
+ The <strong>"mla_output"</strong> parameter determines the type of output the shortcode will return. Explanation and examples of each output type are given later in this section. You can choose from six values:
488
  </p>
489
  <table>
490
  <tr>
493
  </tr>
494
  <tr>
495
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">next_link</td>
496
+ <td>returns a link to the next gallery item. The optional "<strong>,wrap</strong>" qualifier determines what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first gallery item.</td>
497
  </tr>
498
  <tr>
499
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">previous_link</td>
500
+ <td>returns a link to the previous gallery item. The optional "<strong>,wrap</strong>" qualifier determines what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first gallery item. If you code the ",wrap" qualifier, "previous_link" from the first gallery item will be to the last gallery item.</td>
501
  </tr>
502
  <tr>
503
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">next_page</td>
504
+ <td>returns a link to the next "page" of gallery items. The optional "<strong>,wrap</strong>" or "<strong>,last</strong>" qualifiers determine what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_page" if there are no more items in the gallery. If you code the ",wrap" qualifier, the "next_page" from the last page of items will be to the first page of gallery items. If you code the ",last" qualifier, the "next_page" link will return to/remain on the last page of gallery items.</td>
505
  </tr>
506
  <tr>
507
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">previous_page</td>
508
+ <td>returns a link to the previous "page" of gallery items. The optional "<strong>,wrap</strong>" or "<strong>,first</strong>" qualifiers determine what happens at the beginning of the gallery. If you omit the qualifier, an empty string is returned for the "previous_link" from the first page of gallery items. If you code the ",wrap" qualifier, "previous_page" from the first page of gallery items will be to the last page of gallery items. If you code the ",first" qualifier, the "previous_link" link will return to/remain on the first page of gallery items.</td>
509
+ </tr>
510
+ <tr>
511
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">paginate_links</td>
512
+ <td>returns a link to gallery items at the start and end of the list and to pages around the current "gallery page" ( e.g.: &larr; Prev 1 … 3 4 5 6 7 … 9 Next &rarr; ). The optional "<strong>,show_all</strong>" qualifier will show all of the gallery pages instead of a short list around the current page. The optional "<strong>,prev_next</strong>" qualifier will include the "&larr; Prev" and "Next &rarr;" portions of the link list.</td>
513
  </tr>
514
  </table>
515
  <h4>Next and previous gallery items; the <code>next_link</code> and <code>previous_link</code> output types</h4>
614
  <td>replaces the link text </td>
615
  </tr>
616
  <tr>
617
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_prev_text</td>
618
+ <td>the "previous page" text (default "&larr; Previous"); an alternative to "mla_link_text" for <code>mla_output=previous_page</code></td>
619
+ </tr>
620
+ <tr>
621
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_next_text</td>
622
+ <td>the "next page" text (default "Next &rarr;") an alternative to "mla_link_text" for <code>mla_output=next_page</code></td>
623
+ </tr>
624
+ <tr>
625
  <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_nolink_text</td>
626
  <td>replaces the empty string displayed when there is no link and link text, e.g., no previous or next page link </td>
627
  </tr>
704
  Expanding the "attachment tag gallery" example, you can select images using the MLA Att. Tag taxonomy and divide the gallery into fixed-size pages. Following the main gallery shortcode are the previous/next page links:
705
  </p>
706
  <code>
707
+ [mla_gallery attachment_tag="sample" posts_per_page=10 mla_caption="{+title+}"]
708
  <br>&nbsp;<br>
709
  &lt;div style="clear: both; float: left"&gt;<br />
710
+ [mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="previous_page,first" mla_link_text='&amp;larr; Previous Gallery Page' mla_rollover_text="Previous or first page for this tag"]<br>
711
  &lt;/div&gt;<br>
712
  &lt;div style="float: right"&gt;<br>
713
+ [mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="next_page,last" mla_link_text='&amp;larr; Next Gallery Page' mla_rollover_text="Next or last page for this tag"]<br>
714
  &lt;/div&gt;
715
  </code>
716
  <p>
717
  This example is simpler that the earlier single-item paging example because the "current page" handling is done by MLA, and the "sample" tag value is hard-coded. You could also develop a generic "Att. Tag" gallery page and pass the tag value in the URI for that page (as in the single-item pagination example earlier in this section).
718
  </p>
719
+ <h4>Generalized paginated link list; the <code>paginate_links</code> output type</h4>
720
+ <p>
721
+ WordPress provides a function that "<em>can be used to create paginated link list for any area</em>." The "paginate_links" output type is modeled on this function and lets you generate a list of links for moving among "gallery pages".
722
+ </p>
723
+ <p>
724
+ The <strong>Page Selection Parameters</strong>, <strong>Gallery Display Content Parameters</strong> and <strong>Markup Substitution Parameters</strong> defined above also apply to the "paginate_links" output type. There are five additional parameters unique to this output type.
725
+ </p>
726
+ <h4>Specific parameters for the <code>paginate_links</code> output type</h4>
727
+ <table>
728
+ <tr>
729
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_end_size</td>
730
+ <td>How many numbers (default 1) appear on either the start and the end list edges</td>
731
+ </tr>
732
+ <tr>
733
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_mid_size</td>
734
+ <td>How many numbers (default 2) appear to either side of current page, but not including current page</td>
735
+ </tr>
736
+ <tr>
737
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_prev_text</td>
738
+ <td>the "previous page" text (default "&larr; Previous") , which appears when the ",prev_next" qualifier is added to the output_type</td>
739
+ </tr>
740
+ <tr>
741
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_next_text</td>
742
+ <td>the "next page" text (default "Next &rarr;") , which appears when the ",prev_next" qualifier is added to the output_type</td>
743
+ </tr>
744
+ <tr>
745
+ <td style="padding-right: 10px; vertical-align: top; font-weight:bold">mla_paginate_type</td>
746
+ <td>the format of the return value. "<strong>plain</strong>" (the default) returns a string with links separated by the newline character. "<strong>list</strong>" returns an unordered (ul) HTML list.</td>
747
+ </tr>
748
+ </table>
749
+ <p>If you code the "<strong>,show_all</strong>" qualifier, most of the above parameters have no effect; the "mla_paginate_type" parameter is the exception.
750
+ </p>
751
+ <h4>An example of the <code>paginate_links</code> output type</h4>
752
+ <p>
753
+ Expanding the "attachment tag gallery" example, you can select images using the MLA Att. Tag taxonomy and divide the gallery into fixed-size pages. Following the main gallery shortcode is the list of page links:
754
+ </p>
755
+ <code>
756
+ [mla_gallery attachment_tag="sample" posts_per_page=10 mla_caption="{+title+}"]
757
+ <br>&nbsp;<br>
758
+ [mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="paginate_links,prev_next" mla_nolink_text='No Gallery Pages']<br>
759
+ </code>
760
+ <p>
761
+ This example is even simpler that the two earlier examples because there's just one additional <code>[mla_gallery]</code> shortcode for pagination links.
762
+ </p>
763
  <a name="alt_shortcode"></a>
764
  &nbsp;
765
  <p>