Media Library Assistant - Version 2.13

Version Description

  • New: I am delighted to announce Dutch and Swedish translations of the plugin's main screens. Many thanks to Harm Kramer and John Larsen for their contributions!
  • New: For WordPress 4.3+, the Media/Assistant submenu table has been updated to support the new primary column features.
  • New: For the Media/Assistant submenu table, the "Thumbnail" bulk action lets you easily generate thumbnail images for non-image items. These can be used as the Featured Image for mla_viewer processing. A settings option lets you disable this feature if desired.
  • New: For the Media/Assistant submenu table, wildcard searches are now allowed in the Search Media box using an asterisk ("*") as the wildcard placeholder. Pull down the Help menu on the screen and select the Search Media section for more information.
  • New: For the Terms Search popup window and mla_terms_search shortcode parameter, wildcard searches are now allowed using an asterisk ("*") as the wildcard placeholder.
  • New: For IPTC/EXIF custom field mapping rules, Format, Option and Delete Null Values options can be specified and are handled like their equivalents in Custom Field mapping rules.
  • New: For field-level substitution parameters, the id3: prefix gives you access to all of the metadata present in audio and video files.
  • New: For field-level substitution parameters, the ,unpack option lets you expand one level of an array and denote lower-level arrays with an (ARRAY) placeholder.
  • New: The IPTC: and EXIF: field-level substitution parameters can now use all of the format/option suffixes, e.g., ",url".
  • New: A "Bulk Edit Area" tab has been added to the Media/Add New/Upload New Media submenu help menu.
  • New: The /media-library-assistant/examples/mla-custom-field-search-example.php.txt example plugin has been extended to handle queries made in the Media Manager Modal (popup) Window "Search" box.
  • New: If Imagick and/or Ghostcript support is not present, an explicit warning message is displayed in the "Enable thumbnail substitution" portion of the Settings/Media Library Assistant MLA Gallery tab.
  • New: A new filter for the "Media/Assistant Submenu Hooks" allows you to modify the content of the dropdown Help menu. The /media-library-assistant/examples/mla-list-table-hooks-example.php.txt example plugin has been updated with the new filter.
  • New: A new /media-library-assistant/examples/mla-custom-file-size-example.php.txt example plugin has been added to demonstrate a simple example of changing the content of the "Item:" template part.
  • New: Step-by-step instructions for creating custom style and markup templates have been added to the "A Table-based Style and Markup Template Example" section of the Settings/Media Library Assistant Documentation tab.
  • New: On the Settings/Media LIbrary Assistant Debug tab, the error log file name is displayed just above the text area for log content, and better error messages are displayed if the log cannot be reset.
  • New: When 'MLA_DEBUG_LEVEL' is set to 3 in the wp-config.php file, debug information for the Bulk Edit Ajax handler is written to the error log. This includes WPML- and Polylang- specific information.
  • Fix: Wildcard searches containing an underscore character ("_") are now handled correctly. The mla-custom-field-search-example.php.txt example plugin has been updated as well.
  • Fix: Media Manager Modal (popup) Window enhancements work more reliably with plugins such as "SiteOrigin Page Builder Widgets".
  • Fix: When Polylang or WPML is active, Term Assignment has been fixed, accomodating missing translation information for media items and terms and resolving some term_id/term_taxonomy_id issues.
  • Fix: When Polylang is active, "Show all languages" is selected after a Bulk Translate action so results from multiple languages can be displayed.
  • Fix: When Polylang is active, the Media/Assistant submenu table "Trash" view no longer shows the Translations column.
  • Fix: When Polylang is active, Quick and Bulk Edit taxonomy checklists are language-specific when "Refresh" is clicked after a Bulk Edit action.
  • Fix: During a Bulk Edit action, empty taxonomy "Add" actions no longer call wp_set_post_terms().
  • Fix: The /media-library-assistant/examples/mla-hooks-example.php.txt example plugin has been updated to handle the new captiontag_content template substitution parameter.
  • Fix: The default _wpnonce query argument is no longer used, eliminating a conflict between MLA and the "A5 Custom Login Page" plugin.
  • Fix: For the Settings/Media Library Assistant Views and Uploads, the Quick Edit action has been fixed.
  • Fix: For the Media/Assistant submenu table and the Media Manager Modal (popup) Window, default table sorting on a custom field no longer causes WordPress Database Errors.
  • Fix: For the Media/Assistant submenu table, the "View" rollover action is no longer available in the "Trash" view (it never worked).
  • Fix: For the Media/Assistant Quick Edit and Bulk Edit actions, the Custom Field mapping rule "Delete Null Values" option is now handled correctly. When this option is specified, empty values will not be stored in the database.
  • Fix: The "single" option now returns just the first value of a custom field if it has multiple values.
  • Fix: The Terms Search button, terms dropdown filter and "terms" search checkbox are no longer displayed when no taxonomies selected for MLA support.
  • Fix: PHP Warning messages are no longer produced when the Bulk Edit area is used with no taxonomies selected for MLA support.
Download this release

Release Info

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

Code changes from version 2.12 to 2.13

Files changed (84) hide show
  1. css/mla-style.css +4 -23
  2. css/mla-thumbnail-generation.css +97 -0
  3. examples/mla-custom-field-search-example.php.txt +74 -2
  4. examples/mla-file-size-example.php.txt +140 -0
  5. examples/mla-hooks-example.php.txt +43 -27
  6. examples/mla-list-table-hooks-example.php.txt +31 -9
  7. examples/mla-media-modal-hooks-example.php.txt +5 -0
  8. includes/class-mla-data.php +439 -164
  9. includes/class-mla-edit-media.php +60 -4
  10. includes/class-mla-image-processor.php +734 -0
  11. includes/class-mla-list-table.php +187 -78
  12. includes/class-mla-main.php +333 -180
  13. includes/class-mla-media-modal.php +26 -13
  14. includes/class-mla-mime-types.php +5 -1
  15. includes/class-mla-objects.php +1 -1
  16. includes/class-mla-options.php +191 -35
  17. includes/class-mla-polylang-support.php +249 -246
  18. includes/class-mla-settings.php +132 -60
  19. includes/class-mla-shortcodes.php +29 -25
  20. includes/class-mla-thumbnail-generation.php +477 -0
  21. includes/class-mla-upload-list-table.php +3 -3
  22. includes/class-mla-upload-optional-list-table.php +1 -1
  23. includes/class-mla-view-list-table.php +3 -3
  24. includes/class-mla-wpml-support.php +214 -100
  25. includes/mla-main-search-box-template.php +9 -1
  26. includes/mla-media-modal-js-template.php +9 -0
  27. includes/mla-stream-image.php +5 -595
  28. index.php +15 -11
  29. js/mla-inline-edit-scripts.js +3 -3
  30. js/mla-inline-edit-scripts.min.js +1 -1
  31. js/mla-inline-edit-upload-scripts.js +4 -4
  32. js/mla-inline-edit-upload-scripts.min.js +1 -1
  33. js/mla-inline-edit-view-scripts.js +4 -4
  34. js/mla-inline-edit-view-scripts.min.js +1 -1
  35. js/mla-inline-mapping-scripts.js +1 -1
  36. js/mla-inline-mapping-scripts.min.js +1 -1
  37. js/mla-media-modal-scripts.js +11 -18
  38. js/mla-media-modal-scripts.min.js +1 -1
  39. js/mla-polylang-support-scripts.js +1 -1
  40. js/mla-polylang-support-scripts.min.js +1 -1
  41. js/mla-set-parent-scripts.js +1 -1
  42. js/mla-set-parent-scripts.min.js +1 -1
  43. js/mla-thumbnail-generation-scripts.js +132 -0
  44. js/mla-thumbnail-generation-scripts.min.js +1 -0
  45. languages/media-library-assistant-en_US.pot +1388 -1254
  46. languages/media-library-assistant-nl_NL.mo +0 -0
  47. languages/media-library-assistant-sv_SE.mo +0 -0
  48. phpDocs/classes.svg +119 -112
  49. phpDocs/classes/MLA.html +169 -5
  50. phpDocs/classes/MLAData.html +154 -27
  51. phpDocs/classes/MLAEdit.html +1 -1
  52. phpDocs/classes/{MLAStreamImage.html → MLAImageProcessor.html} +101 -12
  53. phpDocs/classes/MLAMime.html +3 -3
  54. phpDocs/classes/MLAModal.html +1 -1
  55. phpDocs/classes/MLAMutex.html +1 -1
  56. phpDocs/classes/MLAObjects.html +1 -1
  57. phpDocs/classes/MLAOptions.html +8 -1
  58. phpDocs/classes/MLAPDF.html +1 -1
  59. phpDocs/classes/MLASettings.html +1 -1
  60. phpDocs/classes/MLAShortcodes.html +26 -48
  61. phpDocs/classes/MLATest.html +1 -1
  62. phpDocs/classes/MLATextWidget.html +1 -1
  63. phpDocs/classes/MLA_Checklist_Walker.html +1 -1
  64. phpDocs/classes/MLA_List_Table.html +1 -1
  65. phpDocs/classes/MLA_Polylang.html +6 -3
  66. phpDocs/classes/MLA_Thumbnail.html +341 -0
  67. phpDocs/classes/MLA_Upload_List_Table.html +1 -1
  68. phpDocs/classes/MLA_Upload_Optional_List_Table.html +1 -1
  69. phpDocs/classes/MLA_View_List_Table.html +1 -1
  70. phpDocs/classes/MLA_WPML.html +1 -1
  71. phpDocs/classes/MLA_WPML_List_Table.html +1 -1
  72. phpDocs/classes/MLA_WPML_Table.html +5 -6
  73. phpDocs/classes/MNA_Pad_Counts_Walker.html +1 -1
  74. phpDocs/deprecated.html +1 -1
  75. phpDocs/errors.html +3 -1
  76. phpDocs/graph_class.html +1 -1
  77. phpDocs/index.html +1 -1
  78. phpDocs/markers.html +1 -1
  79. phpDocs/namespaces/global.html +18 -9
  80. phpDocs/packages/Media Library Assistant.MLA.Child.Theme.html +1 -1
  81. phpDocs/packages/Media Library Assistant.MLA.Child.html +1 -1
  82. phpDocs/packages/Media Library Assistant.MLA.html +1 -1
  83. phpDocs/packages/Media Library Assistant.html +25 -13
  84. phpDocs/structure.xml +851 -690
css/mla-style.css CHANGED
@@ -29,28 +29,6 @@ div.mla_errors {
29
  -webkit-border-radius:5px;
30
  }
31
 
32
- /*
33
- * MLA List Table ID_parent column
34
- */
35
- td.column-ID_parent, th.column-ID_parent {
36
- width: 100px;
37
- max-width: 100px;
38
- }
39
-
40
- /*
41
- * MLA List Table icon/thumbnail column
42
- * These can be overridden by an options setting
43
- */
44
- img.mla_media_thumbnail_64_64 {
45
- max-width: 64px;
46
- max-height: 64px;
47
- }
48
-
49
- img.mla_media_thumbnail_80_60 {
50
- max-width: 80px;
51
- max-height: 60px;
52
- }
53
-
54
  /*
55
  * MLA List Table Terms Search and Clear Filter-by buttons
56
  */
@@ -103,8 +81,10 @@ img.mla_media_thumbnail_80_60 {
103
  }
104
 
105
  .quick-edit-row-attachment fieldset.inline-edit-col-left label span.title,
 
106
  .bulk-edit-row-attachment fieldset.inline-edit-col-right label span.title {
107
- width: 6em
 
108
  }
109
 
110
  .quick-edit-row-attachment fieldset.inline-edit-col-center span.catshow,
@@ -113,6 +93,7 @@ img.mla_media_thumbnail_80_60 {
113
  }
114
 
115
  .quick-edit-row-attachment fieldset.inline-edit-col-left label span.input-text-wrap,
 
116
  .bulk-edit-row-attachment fieldset.inline-edit-col-right label span.input-text-wrap {
117
  margin-left: 6em
118
  }
29
  -webkit-border-radius:5px;
30
  }
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  /*
33
  * MLA List Table Terms Search and Clear Filter-by buttons
34
  */
81
  }
82
 
83
  .quick-edit-row-attachment fieldset.inline-edit-col-left label span.title,
84
+ .quick-edit-row-attachment fieldset.inline-edit-col-right label span.title,
85
  .bulk-edit-row-attachment fieldset.inline-edit-col-right label span.title {
86
+ width: 6em;
87
+ line-height: 1.2
88
  }
89
 
90
  .quick-edit-row-attachment fieldset.inline-edit-col-center span.catshow,
93
  }
94
 
95
  .quick-edit-row-attachment fieldset.inline-edit-col-left label span.input-text-wrap,
96
+ .quick-edit-row-attachment fieldset.inline-edit-col-right label span.input-text-wrap,
97
  .bulk-edit-row-attachment fieldset.inline-edit-col-right label span.input-text-wrap {
98
  margin-left: 6em
99
  }
css/mla-thumbnail-generation.css ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "utf-8";
2
+ /**
3
+ * CSS Document
4
+ *
5
+ * This file contains styling attributes for the Media/Assistant submenu
6
+ * Generate Thumbnails area.
7
+ */
8
+
9
+ #mla-thumbnail-titles {
10
+ line-height: 140%;
11
+ display: block;
12
+ height: 12em;
13
+ border: 1px solid #ddd;
14
+ overflow-y: scroll;
15
+ padding: 0 5px;
16
+ margin: 0 0 5px;
17
+ }
18
+
19
+ #mla-thumbnail-titles div {
20
+ margin: 0.8em 0.3em;
21
+ font-style: normal;
22
+ font-size: 11px;
23
+ }
24
+
25
+ #mla-thumbnail-titles div a {
26
+ cursor: pointer;
27
+ display: block;
28
+ float: left;
29
+ height: 18px;
30
+ margin: 0 3px 0 -2px;
31
+ overflow: hidden;
32
+ position: relative;
33
+ width: 20px;
34
+ }
35
+
36
+ #mla-thumbnail-titles div a:before {
37
+ position: relative;
38
+ top: -3px;
39
+ }
40
+
41
+ #mla-thumbnail-titles div a:before {
42
+ background: none;
43
+ color: #bbb;
44
+ content: '\f153';
45
+ display: block !important;
46
+ font: normal 16px/1 'dashicons';
47
+ speak: none;
48
+ margin: 2px 0;
49
+ height: 20px;
50
+ text-align: center;
51
+ width: 20px;
52
+ -webkit-font-smoothing: antialiased !important;
53
+ }
54
+
55
+ #mla-thumbnail-titles div a:hover:before {
56
+ color: #c00;
57
+ }
58
+
59
+ /**
60
+ * HiDPI Displays
61
+ */
62
+ @media print,
63
+ (-o-min-device-pixel-ratio: 5/4),
64
+ (-webkit-min-device-pixel-ratio: 1.25),
65
+ (min-resolution: 120dpi) {
66
+ #pll-bulk-titles div a,
67
+ #pll-bulk-titles div a:hover {
68
+ background: none !important;
69
+ }
70
+ }
71
+
72
+ /*
73
+ * Generate Thumbnails settings
74
+ */
75
+
76
+ #wpbody-content .bulk-thumbnail-row-attachment fieldset.inline-edit-col-left {
77
+ width: 30%
78
+ }
79
+
80
+ #wpbody-content .bulk-thumbnail-row-attachment fieldset.inline-edit-col-right {
81
+ width: 69%
82
+ }
83
+
84
+ #mla-thumbnail-settings label {
85
+ display: inline;
86
+ float:none;
87
+ }
88
+
89
+ #mla-thumbnail-settings label span.title {
90
+ display: inline;
91
+ float:none;
92
+ }
93
+
94
+ #mla-thumbnail-settings td {
95
+ text-align:right;
96
+ }
97
+
examples/mla-custom-field-search-example.php.txt CHANGED
@@ -3,7 +3,7 @@
3
  * Extends the Media/Assistant "Search Media" box to custom field values
4
  *
5
  * @package MLA Custom Field Search Example
6
- * @version 1.03
7
  */
8
 
9
  /*
@@ -11,7 +11,7 @@ Plugin Name: MLA Custom Field Search Example
11
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
12
  Description: Extends the Media/Assistant "Search Media" box to custom field values
13
  Author: David Lingren
14
- Version: 1.03
15
  Author URI: http://fairtradejudaica.org/our-story/staff/
16
 
17
  Copyright 2014 - 2015 David Lingren
@@ -57,6 +57,12 @@ class MLACustomFieldSearchExample {
57
 
58
  // Defined in /media-library-assistant/includes/class-mla-data.php
59
  add_filter( 'mla_list_table_query_final_terms', 'MLACustomFieldSearchExample::mla_list_table_query_final_terms', 10, 1 );
 
 
 
 
 
 
60
  }
61
 
62
  /**
@@ -144,6 +150,8 @@ class MLACustomFieldSearchExample {
144
 
145
  if ( isset( self::$custom_field_parameters['debug'] ) ) {
146
  MLAData::$query_parameters['debug'] = self::$custom_field_parameters['debug'];
 
 
147
  }
148
 
149
  // Apply default field name?
@@ -226,6 +234,70 @@ class MLACustomFieldSearchExample {
226
 
227
  return $request;
228
  } // mla_list_table_query_final_terms
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  } // Class MLACustomFieldSearchExample
230
 
231
  /*
3
  * Extends the Media/Assistant "Search Media" box to custom field values
4
  *
5
  * @package MLA Custom Field Search Example
6
+ * @version 1.04
7
  */
8
 
9
  /*
11
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
12
  Description: Extends the Media/Assistant "Search Media" box to custom field values
13
  Author: David Lingren
14
+ Version: 1.04
15
  Author URI: http://fairtradejudaica.org/our-story/staff/
16
 
17
  Copyright 2014 - 2015 David Lingren
57
 
58
  // Defined in /media-library-assistant/includes/class-mla-data.php
59
  add_filter( 'mla_list_table_query_final_terms', 'MLACustomFieldSearchExample::mla_list_table_query_final_terms', 10, 1 );
60
+
61
+ // Defined in /media-library-assistant/includes/class-mla-media-modal.php
62
+ add_filter( 'mla_media_modal_query_initial_terms', 'MLACustomFieldSearchExample::mla_media_modal_query_initial_terms', 10, 2 );
63
+
64
+ // Defined in /media-library-assistant/includes/class-mla-data.php
65
+ add_filter( 'mla_media_modal_query_final_terms', 'MLACustomFieldSearchExample::mla_media_modal_query_final_terms', 10, 1 );
66
  }
67
 
68
  /**
150
 
151
  if ( isset( self::$custom_field_parameters['debug'] ) ) {
152
  MLAData::$query_parameters['debug'] = self::$custom_field_parameters['debug'];
153
+ MLAData::$search_parameters['debug'] = self::$custom_field_parameters['debug'];
154
+ MLA::mla_debug_mode( self::$custom_field_parameters['debug'] );
155
  }
156
 
157
  // Apply default field name?
234
 
235
  return $request;
236
  } // mla_list_table_query_final_terms
237
+
238
+ /**
239
+ * MLA Edit Media "Query Attachments" initial terms Filter
240
+ *
241
+ * Gives you an opportunity to change the terms of the
242
+ * Media Manager Modal Window "Query Attachments" query
243
+ * before they are pre-processed by the MLA handler.
244
+ *
245
+ * @since 1.03
246
+ *
247
+ * @param array WP_Query terms supported for "Query Attachments"
248
+ * @param array All terms passed in the request
249
+ */
250
+ public static function mla_media_modal_query_initial_terms( $query, $raw_query ) {
251
+ /*
252
+ * Look for the special "custom:" prefix in the Search Media text box,
253
+ * after checking for the "debug" prefixes.
254
+ */
255
+ if ( isset( $query['mla_search_value'] ) ) {
256
+ switch ( substr( $query['mla_search_value'], 0, 3 ) ) {
257
+ case '>|<':
258
+ self::$custom_field_parameters['debug'] = 'console';
259
+ $start = 3;
260
+ break;
261
+ case '<|>':
262
+ self::$custom_field_parameters['debug'] = 'log';
263
+ $start = 3;
264
+ break;
265
+ default:
266
+ $start = 0;
267
+ }
268
+
269
+ if ( 'custom:' == substr( $query['mla_search_value'], $start, 7 ) ) {
270
+ self::$custom_field_parameters['s'] = substr( $query['mla_search_value'], $start + 7 );
271
+ unset( $query['mla_search_value'] );
272
+ self::$custom_field_parameters['mla_search_connector'] = $query['mla_search_connector'];
273
+ unset( $query['mla_search_connector'] );
274
+ self::$custom_field_parameters['mla_search_fields'] = $query['mla_search_fields'];
275
+ unset( $query['mla_search_fields'] );
276
+ } else {
277
+ self::$custom_field_parameters = array();
278
+ }
279
+ } // isset mla_search_value=custom:
280
+
281
+ return $query;
282
+ }
283
+
284
+ /**
285
+ * MLA Edit Media "Query Attachments" final terms Filter
286
+ *
287
+ * Gives you an opportunity to change the terms of the
288
+ * Media Manager Modal Window "Query Attachments" query
289
+ * after they are processed by the "Prepare List Table Query" handler.
290
+ *
291
+ * @since 1.03
292
+ *
293
+ * @param array WP_Query request prepared by "Prepare List Table Query"
294
+ */
295
+ public static function mla_media_modal_query_final_terms( $request ) {
296
+ /*
297
+ * The logic used in the Media/Assistant Search Media box will work here as well
298
+ */
299
+ return MLACustomFieldSearchExample::mla_list_table_query_final_terms( $request );
300
+ }
301
  } // Class MLACustomFieldSearchExample
302
 
303
  /*
examples/mla-file-size-example.php.txt ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: MLA File Size Example
4
+ Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
5
+ Description: Adds File Size in KB/MB to the caption
6
+ Author: David Lingren
7
+ Version: 1.00
8
+ Author URI: http://fairtradejudaica.org/our-story/staff/
9
+
10
+ Copyright 2015 David Lingren
11
+
12
+ This program is free software; you can redistribute it and/or modify
13
+ it under the terms of the GNU General Public License as published by
14
+ the Free Software Foundation; either version 2 of the License, or
15
+ (at your option) any later version.
16
+
17
+ This program is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ GNU General Public License for more details.
21
+
22
+ You can get a copy of the GNU General Public License by writing to the
23
+ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
24
+ */
25
+
26
+ /**
27
+ * Class MLA File Size Example hooks two of the filters provided by the [mla_gallery] shortcode
28
+ *
29
+ * @package MLA File Size Example
30
+ * @since 1.00
31
+ */
32
+ class MLAFileSizeExample {
33
+ /**
34
+ * Initialization function, similar to __construct()
35
+ *
36
+ * @since 1.00
37
+ */
38
+ public static function initialize() {
39
+ // The filters are only useful for front-end posts/pages; exit if in the admin section
40
+ if ( is_admin() )
41
+ return;
42
+
43
+ add_filter( 'mla_gallery_attributes', 'MLAFileSizeExample::mla_gallery_attributes_filter', 10, 1 );
44
+ add_filter( 'mla_gallery_item_values', 'MLAFileSizeExample::mla_gallery_item_values_filter', 10, 1 );
45
+ }
46
+
47
+ /**
48
+ * Save the shortcode attributes
49
+ *
50
+ * @since 1.00
51
+ *
52
+ * @var array
53
+ */
54
+ private static $shortcode_attributes = array();
55
+
56
+ /**
57
+ * MLA Gallery (Display) Attributes
58
+ *
59
+ * The $shortcode_attributes array is where you will find any of your own parameters that are coded in the
60
+ * shortcode, e.g., [mla_gallery my_parameter="my value"].
61
+ *
62
+ * @since 1.00
63
+ *
64
+ * @param array the shortcode parameters passed in to the shortcode
65
+ */
66
+ public static function mla_gallery_attributes_filter( $shortcode_attributes ) {
67
+ // Save the attributes for use in the later filters
68
+ self::$shortcode_attributes = $shortcode_attributes;
69
+
70
+ return $shortcode_attributes;
71
+ } // mla_gallery_attributes_filter
72
+
73
+ /**
74
+ * Replace the caption value and update captiontag_content as well
75
+ *
76
+ * @since 1.00
77
+ *
78
+ * @param array parameter_name => parameter_value pairs
79
+ * @param string New value for Caption
80
+ *
81
+ * @return array item_values with updated 'caption' and 'captiontag_content'
82
+ */
83
+ private static function _update_caption( $item_values, $new_caption ) {
84
+ $old_caption = $item_values['caption'];
85
+ $item_values['caption'] = $new_caption;
86
+ $item_values['captiontag_content'] = str_replace( $old_caption, $new_caption, $item_values['captiontag_content'] );
87
+
88
+ return $item_values;
89
+ } // _update_caption
90
+
91
+ /**
92
+ * MLA Gallery Item Values
93
+ *
94
+ * @since 1.00
95
+ *
96
+ * @param array parameter_name => parameter_value pairs
97
+ *
98
+ * @return array updated substitution parameter name => value pairs
99
+ */
100
+ public static function mla_gallery_item_values_filter( $item_values ) {
101
+ /*
102
+ * We use a shortcode parameter of our own to apply our filters on a gallery-by-gallery basis,
103
+ * leaving other [mla_gallery] instances untouched. If the "my_filter" parameter is not present,
104
+ * we have nothing to do.
105
+ */
106
+ if ( ! isset( self::$shortcode_attributes['my_filter'] ) ) {
107
+ return $item_values; // leave them unchanged
108
+ }
109
+
110
+ // Add a formatted file size element to the existing caption.
111
+ if ( 'file size' == self::$shortcode_attributes['my_filter'] ) {
112
+
113
+ // You can use MLAOptions::mla_get_data_source() to get anything available.
114
+ $my_setting = array(
115
+ 'data_source' => 'file_size',
116
+ 'option' => 'raw'
117
+ );
118
+ $file_size = (float) MLAOptions::mla_get_data_source( $item_values['attachment_ID'], 'single_attachment_mapping', $my_setting, NULL );
119
+
120
+ if ( 1048576 < $file_size ) {
121
+ $file_size = number_format( ($file_size/1048576), 3 ).' MB';
122
+ } elseif ( 10240 < $file_size ) {
123
+ $file_size = number_format( ($file_size/1024), 3 ).' KB';
124
+ } else {
125
+ $file_size = number_format( $file_size );
126
+ }
127
+
128
+ // Compose a new caption, adding the file size.
129
+ return self::_update_caption( $item_values, sprintf( '%1$s<br>Size: %2$s', $item_values['caption'], $file_size ) );
130
+ }
131
+
132
+ return $item_values;
133
+ } // mla_gallery_item_values_filter
134
+ } // Class MLAFileSizeExample
135
+
136
+ /*
137
+ * Install the filters at an early opportunity
138
+ */
139
+ add_action('init', 'MLAFileSizeExample::initialize');
140
+ ?>
examples/mla-hooks-example.php.txt CHANGED
@@ -16,7 +16,7 @@
16
  * and illustrates some of the techniques you can use to customize the gallery display.
17
  *
18
  * @package MLA Gallery Hooks Example
19
- * @version 1.06
20
  */
21
 
22
  /*
@@ -24,7 +24,7 @@ Plugin Name: MLA Gallery Hooks Example
24
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
25
  Description: Provides examples of hooking the filters provided by the [mla_gallery] shortcode
26
  Author: David Lingren
27
- Version: 1.06
28
  Author URI: http://fairtradejudaica.org/our-story/staff/
29
 
30
  Copyright 2013, 2014 David Lingren
@@ -122,7 +122,7 @@ class MLAGalleryHooksExample {
122
  * @var array
123
  */
124
  private static $shortcode_attributes = array();
125
-
126
  /**
127
  * MLA Gallery Raw (Display) Attributes
128
  *
@@ -216,7 +216,7 @@ class MLAGalleryHooksExample {
216
  * @var NULL|string
217
  */
218
  private static $shortcode_content = NULL;
219
-
220
  /**
221
  * MLA Gallery Enclosed Content, initial filter
222
  *
@@ -251,7 +251,7 @@ class MLAGalleryHooksExample {
251
  * @var array
252
  */
253
  private static $all_display_parameters = array();
254
-
255
  /**
256
  * MLA Gallery (Display) Arguments
257
  *
@@ -283,7 +283,7 @@ class MLAGalleryHooksExample {
283
  * @var array
284
  */
285
  private static $query_attributes = array();
286
-
287
  /**
288
  * MLA Gallery Query Attributes
289
  *
@@ -315,7 +315,7 @@ class MLAGalleryHooksExample {
315
  * @var array
316
  */
317
  private static $all_query_parameters = array();
318
-
319
  /**
320
  * MLA Gallery Query Arguments
321
  *
@@ -537,7 +537,7 @@ class MLAGalleryHooksExample {
537
  * @var array
538
  */
539
  private static $wp_query_properties = array();
540
-
541
  /**
542
  * MLA Gallery WP Query Object
543
  *
@@ -688,7 +688,7 @@ class MLAGalleryHooksExample {
688
 
689
  return $html_markup;
690
  } // mla_gallery_style_parse_filter
691
-
692
  /**
693
  * MLA Gallery Open Values
694
  *
@@ -747,7 +747,7 @@ class MLAGalleryHooksExample {
747
 
748
  return $html_markup;
749
  } // mla_gallery_open_parse_filter
750
-
751
  /**
752
  * MLA Gallery Style
753
  *
@@ -773,7 +773,7 @@ class MLAGalleryHooksExample {
773
 
774
  return $html_markup;
775
  } // mla_gallery_style_filter
776
-
777
  /**
778
  * MLA Gallery Row Open Values
779
  *
@@ -822,7 +822,25 @@ class MLAGalleryHooksExample {
822
 
823
  return $html_markup;
824
  } // mla_gallery_row_open_parse_filter
825
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
826
  /**
827
  * MLA Gallery Item Values
828
  *
@@ -847,7 +865,7 @@ class MLAGalleryHooksExample {
847
  if ( 'format terms' == self::$shortcode_attributes['my_filter'] ) {
848
  $object_terms = wp_get_object_terms ( absint( $item_values['attachment_ID'] ), 'attachment_category', array( 'fields' => 'slugs' ) );
849
  $item_values['terms:attachment_category'] = implode( ' ', $object_terms );
850
- $item_values['caption'] = implode( ' ', $object_terms );
851
 
852
  //error_log( 'MLAGalleryHooksExample::mla_gallery_item_values_filter terms = ' . var_export( $item_values['terms:attachment_category'], true ), 0 );
853
  }
@@ -863,19 +881,19 @@ class MLAGalleryHooksExample {
863
  */
864
  $old_date = $item_values['date'];
865
  $timestamp = mktime( substr( $old_date, 11, 2 ), substr( $old_date, 14, 2 ), substr( $old_date, 17, 2 ), substr( $old_date, 5, 2 ), substr( $old_date, 8, 2 ), substr( $old_date, 0, 4 ) );
866
-
867
  /*
868
  * Update the $item_values and pass them back from the filter.
869
  * We must also update the caption because it was composed before this filter is called.
870
  */
871
  $item_values['date'] = date( 'd/m/Y', $timestamp );
872
- $item_values['caption'] = $item_values['description'] . ', ' . $item_values['date'];
873
 
874
  /*
875
  * This alternative generates a "clickable" caption value
876
  * linked directly to the item's attached file.
877
  */
878
- //$item_values['caption'] = sprintf( '<a href="%1$s">%2$s<br>%3$s</a>', $item_values['file_url'], $item_values['title'], $item_values['date'] );
879
 
880
  return $item_values;
881
  }
@@ -903,13 +921,11 @@ class MLAGalleryHooksExample {
903
  } else {
904
  $file_size = number_format( $file_size );
905
  }
906
-
907
  /*
908
  * Compose a new caption, adding the file size.
909
  */
910
- $item_values['caption'] = sprintf( '%1$s<br>Size: %2$s', $item_values['caption'], $file_size );
911
-
912
- return $item_values;
913
  }
914
 
915
  /*
@@ -963,9 +979,9 @@ class MLAGalleryHooksExample {
963
  if ( current_user_can( 'delete_post', $id ) ) {
964
  // Compose a new caption, adding the deletion link.
965
  $mla_link_href = "{$item_values['page_url']}?attachment_ID={$id}";
966
- $item_values['caption'] = sprintf( '%1$s<br><a href="%2$s" title="Click to delete">Delete this file</a>', $item_values['base_file'], $mla_link_href );
967
  } else {
968
- $item_values['caption'] = sprintf( '%1$s', $item_values['base_file'] );
969
  }
970
  }
971
 
@@ -1006,7 +1022,7 @@ class MLAGalleryHooksExample {
1006
  } // each post
1007
 
1008
  if ( ! empty( $my_caption ) ) {
1009
- $item_values['caption'] = $my_caption;
1010
  }
1011
  } // has inserts
1012
  }
@@ -1085,7 +1101,7 @@ class MLAGalleryHooksExample {
1085
  /*
1086
  * Update the $item_values and pass them back from the filter.
1087
  */
1088
- $item_values['caption'] = $my_caption;
1089
  return $item_values;
1090
  } // mla_gallery_item_values_filter
1091
 
@@ -1122,7 +1138,7 @@ class MLAGalleryHooksExample {
1122
 
1123
  return $html_markup;
1124
  } // mla_gallery_item_parse_filter
1125
-
1126
  /**
1127
  * MLA Gallery Row Close Values
1128
  *
@@ -1171,7 +1187,7 @@ class MLAGalleryHooksExample {
1171
 
1172
  return $html_markup;
1173
  } // mla_gallery_row_close_parse_filter
1174
-
1175
  /**
1176
  * MLA Gallery Close Values
1177
  *
@@ -1220,7 +1236,7 @@ class MLAGalleryHooksExample {
1220
 
1221
  return $html_markup;
1222
  } // mla_gallery_close_parse_filter
1223
-
1224
  } // Class MLAGalleryHooksExample
1225
 
1226
  /*
16
  * and illustrates some of the techniques you can use to customize the gallery display.
17
  *
18
  * @package MLA Gallery Hooks Example
19
+ * @version 1.07
20
  */
21
 
22
  /*
24
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
25
  Description: Provides examples of hooking the filters provided by the [mla_gallery] shortcode
26
  Author: David Lingren
27
+ Version: 1.07
28
  Author URI: http://fairtradejudaica.org/our-story/staff/
29
 
30
  Copyright 2013, 2014 David Lingren
122
  * @var array
123
  */
124
  private static $shortcode_attributes = array();
125
+
126
  /**
127
  * MLA Gallery Raw (Display) Attributes
128
  *
216
  * @var NULL|string
217
  */
218
  private static $shortcode_content = NULL;
219
+
220
  /**
221
  * MLA Gallery Enclosed Content, initial filter
222
  *
251
  * @var array
252
  */
253
  private static $all_display_parameters = array();
254
+
255
  /**
256
  * MLA Gallery (Display) Arguments
257
  *
283
  * @var array
284
  */
285
  private static $query_attributes = array();
286
+
287
  /**
288
  * MLA Gallery Query Attributes
289
  *
315
  * @var array
316
  */
317
  private static $all_query_parameters = array();
318
+
319
  /**
320
  * MLA Gallery Query Arguments
321
  *
537
  * @var array
538
  */
539
  private static $wp_query_properties = array();
540
+
541
  /**
542
  * MLA Gallery WP Query Object
543
  *
688
 
689
  return $html_markup;
690
  } // mla_gallery_style_parse_filter
691
+
692
  /**
693
  * MLA Gallery Open Values
694
  *
747
 
748
  return $html_markup;
749
  } // mla_gallery_open_parse_filter
750
+
751
  /**
752
  * MLA Gallery Style
753
  *
773
 
774
  return $html_markup;
775
  } // mla_gallery_style_filter
776
+
777
  /**
778
  * MLA Gallery Row Open Values
779
  *
822
 
823
  return $html_markup;
824
  } // mla_gallery_row_open_parse_filter
825
+
826
+ /**
827
+ * Replace the caption value and update captiontag_content as well
828
+ *
829
+ * @since 1.07
830
+ *
831
+ * @param array parameter_name => parameter_value pairs
832
+ * @param string New value for Caption
833
+ *
834
+ * @return array item_values with updated 'caption' and 'captiontag_content'
835
+ */
836
+ private static function _update_caption( $item_values, $new_caption ) {
837
+ $old_caption = $item_values['caption'];
838
+ $item_values['caption'] = $new_caption;
839
+ $item_values['captiontag_content'] = str_replace( $old_caption, $new_caption, $item_values['captiontag_content'] );
840
+
841
+ return $item_values;
842
+ } // _update_caption
843
+
844
  /**
845
  * MLA Gallery Item Values
846
  *
865
  if ( 'format terms' == self::$shortcode_attributes['my_filter'] ) {
866
  $object_terms = wp_get_object_terms ( absint( $item_values['attachment_ID'] ), 'attachment_category', array( 'fields' => 'slugs' ) );
867
  $item_values['terms:attachment_category'] = implode( ' ', $object_terms );
868
+ $item_values = self::_update_caption( $item_values, implode( ' ', $object_terms ) );
869
 
870
  //error_log( 'MLAGalleryHooksExample::mla_gallery_item_values_filter terms = ' . var_export( $item_values['terms:attachment_category'], true ), 0 );
871
  }
881
  */
882
  $old_date = $item_values['date'];
883
  $timestamp = mktime( substr( $old_date, 11, 2 ), substr( $old_date, 14, 2 ), substr( $old_date, 17, 2 ), substr( $old_date, 5, 2 ), substr( $old_date, 8, 2 ), substr( $old_date, 0, 4 ) );
884
+
885
  /*
886
  * Update the $item_values and pass them back from the filter.
887
  * We must also update the caption because it was composed before this filter is called.
888
  */
889
  $item_values['date'] = date( 'd/m/Y', $timestamp );
890
+ $item_values = self::_update_caption( $item_values,$item_values['description'] . ', ' . $item_values['date'] );
891
 
892
  /*
893
  * This alternative generates a "clickable" caption value
894
  * linked directly to the item's attached file.
895
  */
896
+ //$item_values = self::_update_caption( $item_values, sprintf( '<a href="%1$s">%2$s<br>%3$s</a>', $item_values['file_url'], $item_values['title'], $item_values['date'] ) );
897
 
898
  return $item_values;
899
  }
921
  } else {
922
  $file_size = number_format( $file_size );
923
  }
924
+
925
  /*
926
  * Compose a new caption, adding the file size.
927
  */
928
+ return self::_update_caption( $item_values, sprintf( '%1$s<br>Size: %2$s', $item_values['caption'], $file_size ) );
 
 
929
  }
930
 
931
  /*
979
  if ( current_user_can( 'delete_post', $id ) ) {
980
  // Compose a new caption, adding the deletion link.
981
  $mla_link_href = "{$item_values['page_url']}?attachment_ID={$id}";
982
+ $item_values = self::_update_caption( $item_values, sprintf( '%1$s<br><a href="%2$s" title="Click to delete">Delete this file</a>', $item_values['base_file'], $mla_link_href ) );
983
  } else {
984
+ $item_values = self::_update_caption( $item_values, sprintf( '%1$s', $item_values['base_file'] ) );
985
  }
986
  }
987
 
1022
  } // each post
1023
 
1024
  if ( ! empty( $my_caption ) ) {
1025
+ $item_values = self::_update_caption( $item_values, $my_caption );
1026
  }
1027
  } // has inserts
1028
  }
1101
  /*
1102
  * Update the $item_values and pass them back from the filter.
1103
  */
1104
+ $item_values = self::_update_caption( $item_values, $my_caption );
1105
  return $item_values;
1106
  } // mla_gallery_item_values_filter
1107
 
1138
 
1139
  return $html_markup;
1140
  } // mla_gallery_item_parse_filter
1141
+
1142
  /**
1143
  * MLA Gallery Row Close Values
1144
  *
1187
 
1188
  return $html_markup;
1189
  } // mla_gallery_row_close_parse_filter
1190
+
1191
  /**
1192
  * MLA Gallery Close Values
1193
  *
1236
 
1237
  return $html_markup;
1238
  } // mla_gallery_close_parse_filter
1239
+
1240
  } // Class MLAGalleryHooksExample
1241
 
1242
  /*
examples/mla-list-table-hooks-example.php.txt CHANGED
@@ -3,7 +3,7 @@
3
  * Provides an example of hooking the filters provided by the MLA_List_Table class
4
  *
5
  * @package MLA List Table Hooks Example
6
- * @version 1.03
7
  */
8
 
9
  /*
@@ -11,7 +11,7 @@ Plugin Name: MLA List Table Hooks Example
11
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
12
  Description: Provides an example of hooking the filters provided by the MLA_List_Table class
13
  Author: David Lingren
14
- Version: 1.03
15
  Author URI: http://fairtradejudaica.org/our-story/staff/
16
 
17
  Copyright 2014 - 2015 David Lingren
@@ -83,6 +83,7 @@ class MLAListTableHooksExample {
83
  /*
84
  * Defined in /media-library-assistant/includes/class-mla-main.php
85
  */
 
86
  add_filter( 'mla_list_table_admin_action', 'MLAListTableHooksExample::mla_list_table_admin_action', 10, 3 );
87
  add_action( 'mla_list_table_custom_admin_action', 'MLAListTableHooksExample::mla_list_table_custom_admin_action', 10, 2 );
88
  add_filter( 'mla_list_table_inline_fields', 'MLAListTableHooksExample::mla_list_table_inline_fields', 10, 1 );
@@ -195,7 +196,7 @@ class MLAListTableHooksExample {
195
  //error_log( 'MLAListTableHooksExample::mla_entries_per_page $per_page = ' . var_export( $per_page, true ), 0 );
196
  return $per_page;
197
  } // mla_entries_per_page
198
-
199
  /**
200
  * Filter the list table sortable columns for a specific screen
201
  *
@@ -347,6 +348,27 @@ class MLAListTableHooksExample {
347
  return $process_action;
348
  } // mla_list_table_admin_action
349
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
350
  /**
351
  * Process an MLA_List_Table custom admin action
352
  *
@@ -586,7 +608,7 @@ class MLAListTableHooksExample {
586
  public static function mla_list_table_clear_filter_by() {
587
  //error_log( 'MLAListTableHooksExample::mla_list_table_clear_filter_by $_REQUEST = ' . var_export( $_REQUEST, true ), 0 );
588
  } // mla_list_table_clear_filter_by
589
-
590
  /**
591
  * Extend the MLA_List_Table class
592
  *
@@ -602,7 +624,7 @@ class MLAListTableHooksExample {
602
  //error_log( 'MLAListTableHooksExample::mla_list_table_new_instance $mla_list_table = ' . var_export( $mla_list_table, true ), 0 );
603
  return $mla_list_table;
604
  } // mla_list_table_new_instance
605
-
606
  /**
607
  * MLA_List_Table inline edit item values
608
  *
@@ -657,7 +679,7 @@ class MLAListTableHooksExample {
657
  //error_log( 'MLAListTableHooksExample::mla_list_table_inline_parse $item_values = ' . var_export( $item_values, true ), 0 );
658
  return $html_markup;
659
  } // mla_list_table_inline_parse
660
-
661
  /**
662
  * Filter the MLA_List_Table columns
663
  *
@@ -804,7 +826,7 @@ class MLAListTableHooksExample {
804
  //error_log( 'MLAListTableHooksExample::mla_list_table_prepare_items_total_items $mla_list_table->get_pagenum() = ' . var_export( $mla_list_table->get_pagenum(), true ), 0 );
805
  return $total_items;
806
  } // mla_list_table_prepare_items_total_items
807
-
808
  /**
809
  * Filter the items returned by prepare_items()
810
  *
@@ -823,7 +845,7 @@ class MLAListTableHooksExample {
823
  //error_log( 'MLAListTableHooksExample::mla_list_table_prepare_items_the_items $mla_list_table->get_pagenum() = ' . var_export( $mla_list_table->get_pagenum(), true ), 0 );
824
  return $items;
825
  } // mla_list_table_prepare_items_the_items
826
-
827
  /**
828
  * Filter the WP_Query request parameters for the prepare_items query
829
  *
@@ -882,7 +904,7 @@ class MLAListTableHooksExample {
882
  * $mla_list_table->items contains the requested items from the database
883
  */
884
  } // mla_list_table_prepare_items
885
-
886
  /**
887
  * Filter the list of item "Rollover" actions
888
  *
3
  * Provides an example of hooking the filters provided by the MLA_List_Table class
4
  *
5
  * @package MLA List Table Hooks Example
6
+ * @version 1.04
7
  */
8
 
9
  /*
11
  Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
12
  Description: Provides an example of hooking the filters provided by the MLA_List_Table class
13
  Author: David Lingren
14
+ Version: 1.04
15
  Author URI: http://fairtradejudaica.org/our-story/staff/
16
 
17
  Copyright 2014 - 2015 David Lingren
83
  /*
84
  * Defined in /media-library-assistant/includes/class-mla-main.php
85
  */
86
+ add_filter( 'mla_list_table_help_template', 'MLAListTableHooksExample::mla_list_table_help_template', 10, 3 );
87
  add_filter( 'mla_list_table_admin_action', 'MLAListTableHooksExample::mla_list_table_admin_action', 10, 3 );
88
  add_action( 'mla_list_table_custom_admin_action', 'MLAListTableHooksExample::mla_list_table_custom_admin_action', 10, 2 );
89
  add_filter( 'mla_list_table_inline_fields', 'MLAListTableHooksExample::mla_list_table_inline_fields', 10, 1 );
196
  //error_log( 'MLAListTableHooksExample::mla_entries_per_page $per_page = ' . var_export( $per_page, true ), 0 );
197
  return $per_page;
198
  } // mla_entries_per_page
199
+
200
  /**
201
  * Filter the list table sortable columns for a specific screen
202
  *
348
  return $process_action;
349
  } // mla_list_table_admin_action
350
 
351
+ /**
352
+ * Load the MLA_List_Table dropdown help menu template
353
+ *
354
+ * This filter gives you the opportunity to add material to the "Help" dropdown menu
355
+ * on the Media/Assistant submenu screen.
356
+ *
357
+ * @since 1.04
358
+ *
359
+ * @param array $template_array NULL, to indicate no replacement template.
360
+ * @param string $file_name the complete name of the default template file.
361
+ * @param string $file_suffix the $screen->id or hook suffix part of the template file name.
362
+ */
363
+ public static function mla_list_table_help_template( $template_array, $file_name, $file_suffix ) {
364
+ //error_log( "MLAListTableHooksExample::mla_list_table_custom_admin_action( {$file_name}, {$file_suffix} )", 0 );
365
+
366
+ // To augment the default template, first load the MLA standard value
367
+ // $template_array = MLAData::mla_load_template( $file_name );
368
+
369
+ return $template_array;
370
+ } // mla_list_table_help_template
371
+
372
  /**
373
  * Process an MLA_List_Table custom admin action
374
  *
608
  public static function mla_list_table_clear_filter_by() {
609
  //error_log( 'MLAListTableHooksExample::mla_list_table_clear_filter_by $_REQUEST = ' . var_export( $_REQUEST, true ), 0 );
610
  } // mla_list_table_clear_filter_by
611
+
612
  /**
613
  * Extend the MLA_List_Table class
614
  *
624
  //error_log( 'MLAListTableHooksExample::mla_list_table_new_instance $mla_list_table = ' . var_export( $mla_list_table, true ), 0 );
625
  return $mla_list_table;
626
  } // mla_list_table_new_instance
627
+
628
  /**
629
  * MLA_List_Table inline edit item values
630
  *
679
  //error_log( 'MLAListTableHooksExample::mla_list_table_inline_parse $item_values = ' . var_export( $item_values, true ), 0 );
680
  return $html_markup;
681
  } // mla_list_table_inline_parse
682
+
683
  /**
684
  * Filter the MLA_List_Table columns
685
  *
826
  //error_log( 'MLAListTableHooksExample::mla_list_table_prepare_items_total_items $mla_list_table->get_pagenum() = ' . var_export( $mla_list_table->get_pagenum(), true ), 0 );
827
  return $total_items;
828
  } // mla_list_table_prepare_items_total_items
829
+
830
  /**
831
  * Filter the items returned by prepare_items()
832
  *
845
  //error_log( 'MLAListTableHooksExample::mla_list_table_prepare_items_the_items $mla_list_table->get_pagenum() = ' . var_export( $mla_list_table->get_pagenum(), true ), 0 );
846
  return $items;
847
  } // mla_list_table_prepare_items_the_items
848
+
849
  /**
850
  * Filter the WP_Query request parameters for the prepare_items query
851
  *
904
  * $mla_list_table->items contains the requested items from the database
905
  */
906
  } // mla_list_table_prepare_items
907
+
908
  /**
909
  * Filter the list of item "Rollover" actions
910
  *
examples/mla-media-modal-hooks-example.php.txt CHANGED
@@ -413,6 +413,11 @@ class MLAMediaModalExample {
413
  public static function mla_media_modal_query_final_terms( $request ) {
414
  //error_log( 'MLAMediaModalExample::mla_media_modal_query_final_terms $request = ' . var_export( $request, true ), 0 );
415
 
 
 
 
 
 
416
  /*
417
  * Comment the next line out to remove items assigned to the
418
  * Att. Categories "Admin" term from the query results.
413
  public static function mla_media_modal_query_final_terms( $request ) {
414
  //error_log( 'MLAMediaModalExample::mla_media_modal_query_final_terms $request = ' . var_export( $request, true ), 0 );
415
 
416
+ /*
417
+ * MLAData::$query_parameters and MLAData::$search_parameters contain
418
+ * additional parameters used in some List Table queries.
419
+ */
420
+
421
  /*
422
  * Comment the next line out to remove items assigned to the
423
  * Att. Categories "Admin" term from the query results.
includes/class-mla-data.php CHANGED
@@ -35,6 +35,15 @@ class MLAData {
35
  */
36
  private static $mla_alt_text_view = NULL;
37
 
 
 
 
 
 
 
 
 
 
38
  /**
39
  * Initialization function, similar to __construct()
40
  *
@@ -43,6 +52,7 @@ class MLAData {
43
  public static function initialize() {
44
  global $table_prefix;
45
  self::$mla_alt_text_view = $table_prefix . MLA_OPTION_PREFIX . self::MLA_ALT_TEXT_VIEW_SUFFIX;
 
46
 
47
  add_action( 'save_post', 'MLAData::mla_save_post_action', 10, 1);
48
  add_action( 'edit_attachment', 'MLAData::mla_save_post_action', 10, 1);
@@ -62,8 +72,8 @@ class MLAData {
62
  * @param string Optional type of template source; 'path', 'file' (default), 'option', 'string'
63
  *
64
  * @return string|array|false|NULL
65
- * string for files that do not contain template divider comments,
66
- * array for files containing template divider comments,
67
  * false if file or option does not exist,
68
  * NULL if file could not be loaded.
69
  */
@@ -72,7 +82,7 @@ class MLAData {
72
  case 'file':
73
  /*
74
  * Look in three places, in this order:
75
- * 1) Custom templates
76
  * 2) Language-specific templates
77
  * 3) Standard templates
78
  */
@@ -103,7 +113,7 @@ class MLAData {
103
  }
104
  break;
105
  case 'option':
106
- $template = MLAOptions::mla_get_option( $source );
107
  if ( $template == false ) {
108
  return false;
109
  }
@@ -594,7 +604,7 @@ class MLAData {
594
  } else { // array of sub-nodes
595
  switch ( $node['type'] ) {
596
  case 'string':
597
- $result[] = self::mla_parse_array_template( $node['value'], $markup_values );
598
  break;
599
  case 'test':
600
  $node_value = $node['value'];
@@ -765,7 +775,7 @@ class MLAData {
765
  * @since 1.50
766
  *
767
  * @param array an array of scalar values
768
- * @param string data option 'text'|'single'|'export'|'array'|'multi'
769
  * @param boolean Optional: for option 'multi', retain existing values
770
  *
771
  * @return array ( parameter => value ) for all field-level parameters and anything in $markup_values
@@ -778,6 +788,24 @@ class MLAData {
778
  case 'export':
779
  $text = sanitize_text_field( var_export( $record, true ) );
780
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
781
  case 'multi':
782
  $record[0x80000000] = 'multi';
783
  $record[0x80000001] = $keep_existing;
@@ -785,7 +813,7 @@ class MLAData {
785
  case 'array':
786
  $text = $record;
787
  break;
788
- default:
789
  $text = '';
790
  foreach ( $record as $term ) {
791
  $term_name = sanitize_text_field( $term );
@@ -994,10 +1022,11 @@ class MLAData {
994
  * @return array ( parameter => value ) for all field-level parameters and anything in $markup_values
995
  */
996
  public static function mla_expand_field_level_parameters( $tpl, $query = NULL, $markup_values = array(), $post_id = 0, $keep_existing = false, $default_option = 'text' ) {
997
- static $cached_post_id = 0, $item_metadata = NULL, $attachment_metadata = NULL;
998
  if ( $cached_post_id != $post_id ) {
999
  $item_metadata = NULL;
1000
  $attachment_metadata = NULL;
 
1001
  $cached_post_id = $post_id;
1002
  }
1003
 
@@ -1150,13 +1179,7 @@ class MLAData {
1150
  }
1151
  }
1152
 
1153
- $record = self::mla_iptc_metadata_value( $value['value'], $attachment_metadata );
1154
- if ( is_array( $record ) ) {
1155
- $markup_values[ $key ] = self::_process_field_level_array( $record, $value['option'], $keep_existing );
1156
- } else {
1157
- $markup_values[ $key ] = $record;
1158
- }
1159
-
1160
  break;
1161
  case 'exif':
1162
  if ( is_null( $attachment_metadata ) ) {
@@ -1167,7 +1190,7 @@ class MLAData {
1167
  }
1168
  }
1169
 
1170
- $record = self::mla_exif_metadata_value( $value['value'], $attachment_metadata );
1171
  if ( is_array( $record ) ) {
1172
  $markup_values[ $key ] = self::_process_field_level_array( $record, $value['option'], $keep_existing );
1173
  } else {
@@ -1184,7 +1207,18 @@ class MLAData {
1184
  }
1185
  }
1186
 
1187
- $markup_values[ $key ] = self::mla_xmp_metadata_value( $value['value'], $value['option'], $keep_existing, $attachment_metadata['mla_xmp_metadata'] );
 
 
 
 
 
 
 
 
 
 
 
1188
  break;
1189
  case 'pdf':
1190
  if ( is_null( $attachment_metadata ) ) {
@@ -1202,6 +1236,7 @@ class MLAData {
1202
  $markup_values[ $key ] = $record;
1203
  }
1204
 
 
1205
  case '':
1206
  $candidate = str_replace( '{', '[', str_replace( '}', ']', $value['value'] ) );
1207
  $key = str_replace( '{', '[', str_replace( '}', ']', $key ) );
@@ -1213,7 +1248,7 @@ class MLAData {
1213
  'format' => 'raw',
1214
  'option' => $value['option'] ); // single, export, text for array values, e.g., alt_text
1215
 
1216
- $markup_values[ $key ] = MLAOptions::mla_get_data_source( $post_id, 'single_attachment_mapping', $data_value );
1217
  } elseif ( isset( $markup_values[ $value['value'] ] ) ) {
1218
  /*
1219
  * A standard element can have a format modifier, e.g., commas, attr
@@ -1305,7 +1340,7 @@ class MLAData {
1305
  $tail = substr( $match, 2);
1306
  }
1307
 
1308
- $match_count = preg_match( '/([^,]+)(,(text|single|export|array|multi|commas|raw|attr|url|timestamp|date|fraction|substr))(\(([^)]+)\))*\+\]/', $tail, $matches );
1309
  if ( 1 == $match_count ) {
1310
  $result['value'] = $matches[1];
1311
  if ( ! empty( $matches[5] ) ) {
@@ -1384,23 +1419,23 @@ class MLAData {
1384
  if ( NULL !== $offset && NULL !== $count ) {
1385
  $request = self::_prepare_list_table_query( $request, $offset, $count );
1386
  $request = apply_filters( 'mla_list_table_query_final_terms', $request );
1387
-
1388
  self::$mla_list_table_items = apply_filters( 'mla_list_table_query_custom_items', NULL, $request );
1389
  if ( is_null( self::$mla_list_table_items ) ) {
1390
  self::$mla_list_table_items = self::_execute_list_table_query( $request );
1391
  }
1392
-
1393
  return self::$mla_list_table_items->found_posts;
1394
  }
1395
 
1396
  $request = self::_prepare_list_table_query( $request );
1397
  $request = apply_filters( 'mla_list_table_query_final_terms', $request );
1398
-
1399
  $results = apply_filters( 'mla_list_table_query_custom_items', NULL, $request );
1400
  if ( is_null( $results ) ) {
1401
  $results = self::_execute_list_table_query( $request );
1402
  }
1403
-
1404
  self::$mla_list_table_items = NULL;
1405
 
1406
  return $results->found_posts;
@@ -1424,7 +1459,7 @@ class MLAData {
1424
  if ( NULL == self::$mla_list_table_items ) {
1425
  $request = self::_prepare_list_table_query( $request, $offset, $count );
1426
  $request = apply_filters( 'mla_list_table_query_final_terms', $request );
1427
-
1428
  self::$mla_list_table_items = apply_filters( 'mla_list_table_query_custom_items', NULL, $request );
1429
  if ( is_null( self::$mla_list_table_items ) ) {
1430
  self::$mla_list_table_items = self::_execute_list_table_query( $request );
@@ -1554,14 +1589,26 @@ class MLAData {
1554
  $default_orderby = array_merge( array( 'none' => array('none',false) ), MLA_List_Table::mla_get_sortable_columns( ) );
1555
  $current_orderby = MLAOptions::mla_get_option( MLAOptions::MLA_DEFAULT_ORDERBY );
1556
  $found_current = false;
1557
- foreach ($default_orderby as $key => $value ) {
1558
  if ( $current_orderby == $value[0] ) {
1559
  $found_current = true;
1560
  break;
1561
  }
1562
  }
1563
 
1564
- if ( ! $found_current ) {
 
 
 
 
 
 
 
 
 
 
 
 
1565
  MLAOptions::mla_delete_option( MLAOptions::MLA_DEFAULT_ORDERBY );
1566
  $current_orderby = MLAOptions::mla_get_option( MLAOptions::MLA_DEFAULT_ORDERBY );
1567
  }
@@ -1766,7 +1813,7 @@ class MLAData {
1766
  /*
1767
  * We must patch the WHERE clause if there are leading spaces in the meta_value
1768
  */
1769
- if ( isset( $clean_request['mla-metavalue'] ) && ( 0 < strlen( $clean_request['mla-metavalue'] ) ) && ( ' ' == $clean_request['mla-metavalue'][0] ) ) {
1770
  self::$query_parameters['mla-metavalue'] = $clean_request['mla-metavalue'];
1771
  }
1772
 
@@ -1799,8 +1846,8 @@ class MLAData {
1799
  self::$search_parameters['exact'] = isset( $clean_request['exact'] );
1800
 
1801
  if ( in_array( 'alt-text', self::$search_parameters['mla_search_fields'] ) ) {
1802
- self::$query_parameters['use_postmeta_view'] = true;
1803
- self::$query_parameters['postmeta_key'] = '_wp_attachment_image_alt';
1804
  }
1805
 
1806
  if ( in_array( 'terms', self::$search_parameters['mla_search_fields'] ) ) {
@@ -1875,7 +1922,7 @@ class MLAData {
1875
  */
1876
  if ( isset( $clean_request['mla_filter_term'] ) ) {
1877
  if ( $clean_request['mla_filter_term'] != 0 ) {
1878
- $tax_filter = MLAOptions::mla_taxonomy_support('', 'filter');
1879
  if ( $clean_request['mla_filter_term'] == -1 ) {
1880
  $term_list = get_terms( $tax_filter, array(
1881
  'fields' => 'ids',
@@ -1906,7 +1953,7 @@ class MLAData {
1906
  unset( $clean_request['mla_filter_term'] );
1907
  } // isset mla_filter_term
1908
 
1909
- if ( isset( $clean_request['mla-tax'] ) && isset( $clean_request['mla-term'] )) {
1910
  $clean_request['tax_query'] = array(
1911
  array(
1912
  'taxonomy' => $clean_request['mla-tax'],
@@ -2020,6 +2067,35 @@ class MLAData {
2020
  return $results;
2021
  }
2022
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2023
  /**
2024
  * Replaces a WordPress function deprecated in v3.7
2025
  *
@@ -2124,8 +2200,19 @@ class MLAData {
2124
  }
2125
  }
2126
  } else {
 
 
 
 
 
 
2127
  // WordPress encodes special characters, e.g., "&" as HTML entities in term names
2128
  $the_terms = get_terms( $terms_search_parameters['taxonomies'], array( 'name__like' => _wp_specialchars( $phrase ), 'fields' => 'all', 'hide_empty' => false ) );
 
 
 
 
 
2129
  // Invalid taxonomy will return WP_Error object
2130
  if ( ! is_array( $the_terms ) ) {
2131
  $the_terms = array();
@@ -2206,29 +2293,30 @@ class MLAData {
2206
  * Process the keyword search argument, if present.
2207
  */
2208
  if ( isset( self::$search_parameters['s'] ) ) {
 
 
 
 
 
2209
  /*
2210
  * Interpret a numeric value as the ID of a specific attachment or the ID of
2211
  * a parent post/page; add it to the regular text-based search.
2212
  */
2213
- if ( is_numeric( self::$search_parameters['s'] ) ) {
2214
- $id = absint( self::$search_parameters['s'] );
2215
  $numeric_clause = '( ( ' . $wpdb->posts . '.ID = ' . $id . ' ) OR ( ' . $wpdb->posts . '.post_parent = ' . $id . ' ) ) OR ';
2216
- } else {
2217
- $numeric_clause = '';
2218
  }
2219
 
2220
- // WordPress v3.7 says: there are no line breaks in <input /> fields
2221
- self::$search_parameters['s'] = str_replace( array( "\r", "\n" ), '', self::$search_parameters['s'] );
2222
-
2223
- if ( self::$search_parameters['sentence'] || self::$search_parameters['exact'] ) {
2224
- $terms_search = array( self::$search_parameters['s'] );
2225
  } else {
2226
  // v3.6.1 was '/".*?("|$)|((?<=[\r\n\t ",+])|^)[^\r\n\t ",+]+/'
2227
- preg_match_all('/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', self::$search_parameters['s'], $matches);
2228
- $terms_search = array_map('MLAData::mla_search_terms_tidy', $matches[0]);
2229
  }
2230
 
2231
  $fields = self::$search_parameters['mla_search_fields'];
 
2232
  $percent = self::$search_parameters['exact'] ? '' : '%';
2233
  $connector = '';
2234
 
@@ -2237,41 +2325,57 @@ class MLAData {
2237
  } else {
2238
  $tax_terms = array();
2239
  $tax_counts = array();
2240
- $wp_4dot0_plus = version_compare( get_bloginfo('version'), '4.0', '>=' );
2241
- foreach ( $terms_search as $term ) {
2242
- if ( $wp_4dot0_plus ) {
2243
- $sql_term = $percent . $wpdb->esc_like( $term ) . $percent;
2244
- $sql_term = $wpdb->prepare( '%s', $sql_term );
 
 
 
 
 
 
 
 
 
 
 
2245
  } else {
2246
- $sql_term = "'" . $percent . esc_sql( like_escape( $term ) ) . $percent . "'";
 
 
 
 
 
2247
  }
2248
 
2249
  $inner_connector = '';
2250
  $inner_clause = '';
2251
 
2252
  if ( in_array( 'content', $fields ) ) {
2253
- $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_content LIKE {$sql_term})";
2254
- $inner_connector = ' OR ';
2255
  }
2256
 
2257
  if ( in_array( 'title', $fields ) ) {
2258
- $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_title LIKE {$sql_term})";
2259
- $inner_connector = ' OR ';
2260
  }
2261
 
2262
  if ( in_array( 'excerpt', $fields ) ) {
2263
- $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_excerpt LIKE {$sql_term})";
2264
- $inner_connector = ' OR ';
2265
  }
2266
 
2267
  if ( in_array( 'alt-text', $fields ) ) {
2268
- $view_name = self::$mla_alt_text_view;
2269
- $inner_clause .= "{$inner_connector}({$view_name}.meta_value LIKE {$sql_term})";
2270
- $inner_connector = ' OR ';
2271
  }
2272
 
2273
  if ( in_array( 'name', $fields ) ) {
2274
- $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_name LIKE {$sql_term})";
2275
  }
2276
 
2277
  $inner_clause = apply_filters( 'mla_list_table_search_filter_inner_clause', $inner_clause, $inner_connector, $wpdb->posts, $sql_term );
@@ -2285,7 +2389,7 @@ class MLAData {
2285
  * Convert search term text to term_taxonomy_id value(s),
2286
  * separated by taxonomy.
2287
  */
2288
- if ( in_array( 'terms', $fields ) ) {
2289
  // WordPress encodes special characters, e.g., "&" as HTML entities in term names
2290
  $the_terms = get_terms( self::$search_parameters['mla_search_taxonomies'], array( 'name__like' => _wp_specialchars( $term ), 'fields' => 'all', 'hide_empty' => false ) );
2291
  // Invalid taxonomy will return WP_Error object
@@ -2304,13 +2408,13 @@ class MLAData {
2304
  }
2305
  } // in_array terms
2306
  } // foreach term
2307
-
2308
- if ( in_array( 'terms', $fields ) ) {
2309
  /*
2310
  * For the AND connector, a taxonomy term must have all of the search terms within it
2311
  */
2312
  if ( 'AND' == self::$search_parameters['mla_search_connector'] ) {
2313
- $search_term_count = count( $terms_search );
2314
  foreach ($tax_terms as $taxonomy => $term_ids ) {
2315
  foreach ( $term_ids as $term_id => $term_taxonomy_id ) {
2316
  if ( $search_term_count != $tax_counts[ $taxonomy ][ $term_id ] ) {
@@ -2423,6 +2527,7 @@ class MLAData {
2423
  */
2424
  if ( isset( self::$query_parameters['patterns'] ) ) {
2425
  foreach ( self::$query_parameters['patterns'] as $pattern ) {
 
2426
  $match_clause = '%' . str_replace( '%', '\\\\%', $pattern ) . '%';
2427
  $where_clause = str_replace( "LIKE '{$match_clause}'", "LIKE '{$pattern}'", $where_clause );
2428
  }
@@ -2482,7 +2587,7 @@ class MLAData {
2482
 
2483
  while ( $tax_index < self::$search_parameters['tax_terms_count'] ) {
2484
  $prefix = 'mlatt' . $tax_index++;
2485
- $tax_clause .= sprintf( ' INNER JOIN %1$s AS %2$s ON (%3$s.ID = %2$s.object_id)', $wpdb->term_relationships, $prefix, $wpdb->posts );
2486
  }
2487
 
2488
  $join_clause .= $tax_clause;
@@ -2609,6 +2714,50 @@ class MLAData {
2609
  return false;
2610
  }
2611
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2612
  /**
2613
  * Filters all clauses for shortcode queries, pre caching plugins
2614
  *
@@ -2825,13 +2974,13 @@ class MLAData {
2825
  * Finds the value of a key in a possibly nested array structure
2826
  *
2827
  * Used primarily to extract fields from the _wp_attachment_metadata custom field.
2828
- * Could also be used with the ID3 metadata exposed in WordPress 3.6 and later.
2829
  *
2830
  * @since 1.30
2831
  *
2832
  * @param string key value, e.g. array1.array2.element
2833
  * @param array PHP nested arrays
2834
- * @param string data option 'text'|'single'|'export'|'array'|'multi'
2835
  * @param boolean keep existing values - for 'multi' option
2836
  *
2837
  * @return mixed string or array value matching key(.key ...) or ''
@@ -2857,7 +3006,7 @@ class MLAData {
2857
  }
2858
 
2859
  if ( 1 == count( $results ) ) {
2860
- $haystack = $results[0];
2861
  } else {
2862
  $haystack = $results;
2863
  }
@@ -2870,13 +3019,13 @@ class MLAData {
2870
  break;
2871
  } else {
2872
  if ( is_array( $haystack ) ) {
2873
- if ( isset( $haystack[ $key ] ) ) {
2874
- $haystack = $haystack[ $key ];
2875
- } else {
2876
- $haystack = '';
2877
- }
2878
  } else {
2879
- $haystack = '';
2880
  }
2881
  } // * != key
2882
  } // foreach $key
@@ -2892,6 +3041,24 @@ class MLAData {
2892
  case 'export':
2893
  $haystack = var_export( $haystack, true );
2894
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2895
  case 'multi':
2896
  $haystack[0x80000000] = $option;
2897
  $haystack[0x80000001] = $keep_existing;
@@ -2900,11 +3067,11 @@ class MLAData {
2900
  return $haystack;
2901
  break;
2902
  default:
2903
- $haystack = @implode( ', ', $haystack );
2904
  } // $option
2905
- }
2906
 
2907
- return sanitize_text_field( $haystack );
2908
  } // mla_find_array_element
2909
 
2910
  /**
@@ -3017,7 +3184,7 @@ class MLAData {
3017
  }
3018
 
3019
  /*
3020
- * inserted_option 'enabled', 'base' or 'disabled'
3021
  * tested_reference true if any of the four where-used types was processed
3022
  * found_reference true if any where-used array is not empty()
3023
  * found_parent true if $parent matches a where-used post ID
@@ -3071,15 +3238,15 @@ class MLAData {
3071
  */
3072
  $parent_data = self::mla_fetch_attachment_parent_data( $parent );
3073
  if ( isset( $parent_data['parent_type'] ) ) {
3074
- $references['parent_type'] = $parent_data['parent_type'];
3075
  }
3076
 
3077
  if ( isset( $parent_data['parent_status'] ) ) {
3078
- $references['parent_status'] = $parent_data['parent_status'];
3079
  }
3080
 
3081
- if ( isset( $parent_data['parent_title'] ) ) {
3082
- $references['parent_title'] = $parent_data['parent_title'];
3083
  }
3084
 
3085
  $references['base_file'] = get_post_meta( $ID, '_wp_attached_file', true );
@@ -3122,7 +3289,7 @@ class MLAData {
3122
  }
3123
 
3124
  /*
3125
- * Accumulate reference test types, e.g., 0 = no tests, 4 = all tests
3126
  */
3127
  $reference_tests = 0;
3128
 
@@ -3173,7 +3340,6 @@ class MLAData {
3173
  $references['inserted_option'] = $inserted_in_option;
3174
  }
3175
 
3176
- $wp_4dot0_plus = version_compare( get_bloginfo('version'), '4.0', '>=' );
3177
  if ( 'base' == $inserted_in_option ) {
3178
  $query_parameters = array();
3179
  $query = array();
@@ -3188,7 +3354,7 @@ class MLAData {
3188
 
3189
  $query[] = 'OR ( POST_CONTENT LIKE %s)';
3190
 
3191
- if ( $wp_4dot0_plus ) {
3192
  $query_parameters[] = '%' . $wpdb->esc_like( $file ) . '%';
3193
  } else {
3194
  $query_parameters[] = '%' . like_escape( $file ) . '%';
@@ -3196,7 +3362,7 @@ class MLAData {
3196
  }
3197
 
3198
  $query[] = ')';
3199
- $query = join(' ', $query);
3200
 
3201
  $inserts = $wpdb->get_results(
3202
  $wpdb->prepare( $query, $query_parameters )
@@ -3219,7 +3385,7 @@ class MLAData {
3219
  continue;
3220
  }
3221
 
3222
- if ( $wp_4dot0_plus ) {
3223
  $like = $wpdb->esc_like( $file );
3224
  } else {
3225
  $like = like_escape( $file );
@@ -3312,7 +3478,7 @@ class MLAData {
3312
 
3313
  if ( $references['is_unattached'] ) {
3314
  $errors .= '(' . __( 'UNATTACHED', 'media-library-assistant' ) . ')';
3315
- } elseif ( empty( $references['parent_title'] ) ) {
3316
  $errors .= '(' . __( 'INVALID PARENT', 'media-library-assistant' ) . ')';
3317
  }
3318
 
@@ -3383,7 +3549,7 @@ class MLAData {
3383
  foreach ( $attachments as $index => $attachment ) {
3384
  $attachment_ids[ $index ] = $attachment->ID;
3385
  $references = array( 'files' => array() );
3386
- if ( isset( $attachment->mla_wp_attached_file ) ) {
3387
  $references['base_file'] = $attachment->mla_wp_attached_file;
3388
  } else {
3389
  $references['base_file'] = '';
@@ -3398,7 +3564,7 @@ class MLAData {
3398
 
3399
  $references['file'] = $pathinfo['basename'];
3400
 
3401
- if ( isset( $attachment->mla_wp_attachment_metadata ) ) {
3402
  $attachment_metadata = $attachment->mla_wp_attachment_metadata;
3403
  } else {
3404
  $attachment_metadata = '';
@@ -3457,7 +3623,6 @@ class MLAData {
3457
  }
3458
 
3459
  if ( MLAOptions::$process_inserted_in ) {
3460
- $wp_4dot0_plus = version_compare( get_bloginfo('version'), '4.0', '>=' );
3461
  $query_parameters = array();
3462
  $query = array();
3463
  $query[] = "SELECT ID, post_type, post_status, post_title, CONVERT(`post_content` USING utf8 ) AS POST_CONTENT FROM {$wpdb->posts} WHERE ( %s=%s";
@@ -3469,7 +3634,7 @@ class MLAData {
3469
  foreach ( $file['files'] as $base_name => $file_data ) {
3470
  $query[] = 'OR ( POST_CONTENT LIKE %s)';
3471
 
3472
- if ( $wp_4dot0_plus ) {
3473
  $query_parameters[] = '%' . $wpdb->esc_like( $base_name ) . '%';
3474
  } else {
3475
  $query_parameters[] = '%' . like_escape( $base_name ) . '%';
@@ -3478,7 +3643,7 @@ class MLAData {
3478
  }
3479
 
3480
  $query[] = "){$exclude_revisions}";
3481
- $query = join(' ', $query);
3482
 
3483
  $results = $wpdb->get_results(
3484
  $wpdb->prepare( $query, $query_parameters )
@@ -3528,20 +3693,20 @@ class MLAData {
3528
  $references['is_unattached'] = false;
3529
 
3530
  if ( isset( $attachment->parent_type ) ) {
3531
- $references['parent_type'] = $attachment->parent_type;
3532
  }
3533
 
3534
  if ( isset( $attachment->parent_status ) ) {
3535
- $references['parent_status'] = $attachment->parent_status;
3536
  }
3537
 
3538
- if ( isset( $attachment->parent_title ) ) {
3539
- $references['parent_title'] = $attachment->parent_title;
3540
  }
3541
  }
3542
 
3543
  /*
3544
- * Accumulate reference test types, e.g., 0 = no tests, 4 = all tests
3545
  */
3546
  $reference_tests = 0;
3547
 
@@ -3656,7 +3821,7 @@ class MLAData {
3656
 
3657
  if ( $references['is_unattached'] ) {
3658
  $errors .= '(' . __( 'UNATTACHED', 'media-library-assistant' ) . ')';
3659
- } elseif ( empty( $references['parent_title'] ) ) {
3660
  $errors .= '(' . __( 'INVALID PARENT', 'media-library-assistant' ) . ')';
3661
  }
3662
 
@@ -3788,8 +3953,7 @@ class MLAData {
3788
  $exclude_revisions = '';
3789
  }
3790
 
3791
- $wp_4dot0_plus = version_compare( get_bloginfo('version'), '4.0', '>=' );
3792
- if ( $wp_4dot0_plus ) {
3793
  $like = $wpdb->esc_like( $shortcode );
3794
  } else {
3795
  $like = like_escape( $shortcode );
@@ -4422,16 +4586,16 @@ class MLAData {
4422
  "2#202" => "ObjectData Preview Data",
4423
 
4424
  // Pre ObjectData Descriptor Record
4425
- "7#010" => "Size Mode",
4426
- "7#020" => "Max Subfile Size",
4427
- "7#090" => "ObjectData Size Announced",
4428
- "7#095" => "Maximum ObjectData Size",
4429
 
4430
  // ObjectData Record
4431
- "8#010" => "Subfile",
4432
 
4433
  // Post ObjectData Descriptor Record
4434
- "9#010" => "Confirmed ObjectData Size"
4435
  );
4436
 
4437
  /**
@@ -4577,7 +4741,7 @@ class MLAData {
4577
  "2#027" => "Max 64 characters of publishable country/geographical location name; repeatable",
4578
  "2#030" => "8 numeric characters of Release Date - CCYYMMDD",
4579
  "2#035" => "11 characters of Release Time (earliest use) - HHMMSS±HHMM",
4580
- "2#037" => "8 numeric characters of Expiration Date (latest use) - CCYYMDD",
4581
  "2#038" => "11 characters of Expiration Time (latest use) - HHMMSS±HHMM",
4582
  "2#040" => "Max 256 Characters of editorial instructions, e.g., embargoes and warnings",
4583
  "2#042" => "2 numeric characters of type of action this object provides to a previous object",
@@ -4620,16 +4784,16 @@ class MLAData {
4620
  "2#202" => "Max 256000 binary octets containing the ObjectData Preview data",
4621
 
4622
  // Pre ObjectData Descriptor Record
4623
- "7#010" => "1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer",
4624
- "7#020" => "4 octet binary maximum subfile dataset(s) size",
4625
- "7#090" => "4 octet binary objectdata size if known at beginning of transfer",
4626
- "7#095" => "4 octet binary largest possible objectdata size",
4627
 
4628
  // ObjectData Record
4629
- "8#010" => "Subfile DataSet containing the objectdata itself; repeatable",
4630
 
4631
  // Post ObjectData Descriptor Record
4632
- "9#010" => "4 octet binary total objectdata size"
4633
  );
4634
 
4635
  /**
@@ -4707,26 +4871,19 @@ class MLAData {
4707
  * @since 1.41
4708
  *
4709
  * @param string field name - IPTC Identifier or friendly name/slug
4710
- * @param string metadata array containing iptc, exif, xmp and pdf metadata arrays
 
 
4711
  *
4712
  * @return mixed string/array representation of metadata value or an empty string
4713
  */
4714
- public static function mla_iptc_metadata_value( $iptc_key, $item_metadata ) {
4715
  // convert friendly name/slug to identifier
4716
  if ( array_key_exists( $iptc_key, self::$mla_iptc_keys ) ) {
4717
  $iptc_key = self::$mla_iptc_keys[ $iptc_key ];
4718
  }
4719
 
4720
- $text = '';
4721
- if ( array_key_exists( $iptc_key, $item_metadata['mla_iptc_metadata'] ) ) {
4722
- $text = $item_metadata['mla_iptc_metadata'][ $iptc_key ];
4723
- if ( is_array( $text ) ) {
4724
- foreach ($text as $key => $value )
4725
- $text[ $key ] = self::_bin_to_utf8( $value );
4726
- } elseif ( is_string( $text ) ) {
4727
- $text = self::_bin_to_utf8( $text );
4728
- }
4729
- } elseif ( 'ALL_IPTC' == $iptc_key ) {
4730
  $clean_data = array();
4731
  foreach ( $item_metadata['mla_iptc_metadata'] as $key => $value ) {
4732
  if ( is_array( $value ) ) {
@@ -4741,10 +4898,10 @@ class MLAData {
4741
  }
4742
  }
4743
 
4744
- $text = var_export( $clean_data, true);
4745
  }
4746
 
4747
- return $text;
4748
  }
4749
 
4750
  /**
@@ -4755,26 +4912,14 @@ class MLAData {
4755
  * @since 1.13
4756
  *
4757
  * @param string field name
4758
- * @param string metadata array containing iptc, exif, xmp and pdf metadata arrays
 
 
4759
  *
4760
  * @return mixed string/array representation of metadata value or an empty string
4761
  */
4762
- public static function mla_exif_metadata_value( $exif_key, $item_metadata ) {
4763
- $text = '';
4764
- if ( array_key_exists( $exif_key, $item_metadata['mla_exif_metadata'] ) ) {
4765
- $text = $item_metadata['mla_exif_metadata'][ $exif_key ];
4766
- if ( is_array( $text ) ) {
4767
- foreach ($text as $key => $value ) {
4768
- if ( is_array( $value ) ) {
4769
- $text[ $key ] = self::_bin_to_utf8( var_export( $value, true ) );
4770
- } else {
4771
- $text[ $key ] = self::_bin_to_utf8( $value );
4772
- }
4773
- }
4774
- } elseif ( is_string( $text ) ) {
4775
- $text = self::_bin_to_utf8( $text );
4776
- }
4777
- } elseif ( 'ALL_EXIF' == $exif_key ) {
4778
  $clean_data = array();
4779
  foreach ( $item_metadata['mla_exif_metadata'] as $key => $value ) {
4780
  if ( is_array( $value ) ) {
@@ -4786,7 +4931,7 @@ class MLAData {
4786
  }
4787
  }
4788
 
4789
- $text = var_export( $clean_data, true);
4790
  } elseif ( 'ALL_IPTC' == $exif_key ) {
4791
  $clean_data = array();
4792
  foreach ( $item_metadata['mla_iptc_metadata'] as $key => $value ) {
@@ -4802,10 +4947,10 @@ class MLAData {
4802
  }
4803
  }
4804
 
4805
- $text = var_export( $clean_data, true);
4806
  }
4807
 
4808
- return $text;
4809
  }
4810
 
4811
  /**
@@ -4816,13 +4961,13 @@ class MLAData {
4816
  * @since 2.10
4817
  *
4818
  * @param string field name
4819
- * @param string data option 'text'|'single'|'export'|'array'|'multi'
 
4820
  * @param boolean Optional: for option 'multi', retain existing values
4821
- * @param string XMP metadata array
4822
  *
4823
  * @return mixed string/array representation of metadata value or an empty string
4824
  */
4825
- public static function mla_xmp_metadata_value( $xmp_key, $option, $keep_existing, $xmp_metadata ) {
4826
  if ( 'ALL_XMP' == $xmp_key ) {
4827
  $clean_data = array();
4828
  foreach ( $xmp_metadata as $key => $value ) {
@@ -4835,12 +4980,43 @@ class MLAData {
4835
  }
4836
  }
4837
 
4838
- $text = var_export( $clean_data, true);
4839
- } else {
4840
- $text = self::mla_find_array_element($xmp_key, $xmp_metadata, $option, $keep_existing );
4841
  }
4842
 
4843
- return $text;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4844
  }
4845
 
4846
  /**
@@ -4989,8 +5165,105 @@ class MLAData {
4989
  $file_name = $path_info['basename'];
4990
  MLAData::$mla_IPTC_EXIF_errors[] = "{$level} ({$type}) - {$string} [{$file_name} : {$line}]";
4991
 
4992
- /* Don't execute PHP internal error handler */
4993
- return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4994
  }
4995
 
4996
  /**
@@ -5043,7 +5316,7 @@ class MLAData {
5043
  }
5044
 
5045
  foreach ( $iptc_values as $key => $value ) {
5046
- if ( in_array( $key, array( '1#000', '1#020', '1#022', '1#120', '1#122', '2#000', '2#200', '2#201' ) ) ) {
5047
  $value = unpack( 'nbinary', $value[0] );
5048
  $results['mla_iptc_metadata'][ $key ] = (string) $value['binary'];
5049
  } elseif ( 1 == count( $value ) ) {
@@ -5157,7 +5430,7 @@ class MLAData {
5157
  if ( in_array( $test, array( 1.3, 1.5, 1.6, 2.5 ) ) ) {
5158
  $new_data['ShutterSpeed'] = '1/' . number_format( 1.0 / $value, 1, '.', '' );
5159
  } else {
5160
- $new_data['ShutterSpeed'] = '1/' . number_format( 1.0 / $value, 0, '.', '' );
5161
  }
5162
  }
5163
  } else {
@@ -5328,15 +5601,15 @@ class MLAData {
5328
  }
5329
 
5330
  /*
5331
- * Expand EXIF array values
5332
- */
5333
  foreach ( $results['mla_exif_metadata'] as $exif_key => $exif_value ) {
5334
  if ( is_array( $exif_value ) ) {
5335
  foreach ( $exif_value as $key => $value ) {
5336
  $results['mla_exif_metadata'][ $exif_key . '.' . $key ] = $value;
5337
  }
5338
  } // is_array
5339
- }
5340
 
5341
  return $results;
5342
  }
@@ -5470,7 +5743,7 @@ class MLAData {
5470
  }
5471
 
5472
  $delete = empty( $old_meta_value );
5473
- } else {
5474
  $delete = NULL === $meta_value;
5475
  }
5476
 
@@ -5606,7 +5879,7 @@ class MLAData {
5606
  $post_data = self::mla_get_attachment_by_id( $post_id, false );
5607
  if ( !isset( $post_data ) ) {
5608
  return array(
5609
- 'message' => __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'Could not retrieve Attachment.', 'media-library-assistant' ),
5610
  'body' => ''
5611
  );
5612
  }
@@ -5798,8 +6071,10 @@ class MLAData {
5798
 
5799
  switch ( $tax_action ) {
5800
  case 'add':
5801
- $action_name = __( 'Adding', 'media-library-assistant' );
5802
- $result = wp_set_post_terms( $post_id, $tags, $taxonomy, true );
 
 
5803
  break;
5804
  case 'remove':
5805
  $action_name = __( 'Removing', 'media-library-assistant' );
35
  */
36
  private static $mla_alt_text_view = NULL;
37
 
38
+ /**
39
+ * WordPress version test for $wpdb->esc_like() Vs esc_sql()
40
+ *
41
+ * @since 2.13
42
+ *
43
+ * @var boolean
44
+ */
45
+ private static $wp_4dot0_plus = true;
46
+
47
  /**
48
  * Initialization function, similar to __construct()
49
  *
52
  public static function initialize() {
53
  global $table_prefix;
54
  self::$mla_alt_text_view = $table_prefix . MLA_OPTION_PREFIX . self::MLA_ALT_TEXT_VIEW_SUFFIX;
55
+ self::$wp_4dot0_plus = version_compare( get_bloginfo('version'), '4.0', '>=' );
56
 
57
  add_action( 'save_post', 'MLAData::mla_save_post_action', 10, 1);
58
  add_action( 'edit_attachment', 'MLAData::mla_save_post_action', 10, 1);
72
  * @param string Optional type of template source; 'path', 'file' (default), 'option', 'string'
73
  *
74
  * @return string|array|false|NULL
75
+ * string for files that do not contain template divider comments,
76
+ * array for files containing template divider comments,
77
  * false if file or option does not exist,
78
  * NULL if file could not be loaded.
79
  */
82
  case 'file':
83
  /*
84
  * Look in three places, in this order:
85
+ * 1) Custom templates
86
  * 2) Language-specific templates
87
  * 3) Standard templates
88
  */
113
  }
114
  break;
115
  case 'option':
116
+ $template = MLAOptions::mla_get_option( $source );
117
  if ( $template == false ) {
118
  return false;
119
  }
604
  } else { // array of sub-nodes
605
  switch ( $node['type'] ) {
606
  case 'string':
607
+ $result[] = self::mla_parse_array_template( $node['value'], $markup_values );
608
  break;
609
  case 'test':
610
  $node_value = $node['value'];
775
  * @since 1.50
776
  *
777
  * @param array an array of scalar values
778
+ * @param string data option; 'text'|'single'|'export'|'array'|'multi'
779
  * @param boolean Optional: for option 'multi', retain existing values
780
  *
781
  * @return array ( parameter => value ) for all field-level parameters and anything in $markup_values
788
  case 'export':
789
  $text = sanitize_text_field( var_export( $record, true ) );
790
  break;
791
+ case 'unpack':
792
+ if ( is_array( $record ) ) {
793
+ $clean_data = array();
794
+ foreach ( $record as $key => $value ) {
795
+ if ( is_array( $value ) ) {
796
+ $clean_data[ $key ] = '(ARRAY)';
797
+ } elseif ( is_string( $value ) ) {
798
+ $clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
799
+ } else {
800
+ $clean_data[ $key ] = $value;
801
+ }
802
+ }
803
+
804
+ $text = sanitize_text_field( var_export( $clean_data, true) );
805
+ } else {
806
+ $text = sanitize_text_field( var_export( $record, true ) );
807
+ }
808
+ break;
809
  case 'multi':
810
  $record[0x80000000] = 'multi';
811
  $record[0x80000001] = $keep_existing;
813
  case 'array':
814
  $text = $record;
815
  break;
816
+ default: // or 'text'
817
  $text = '';
818
  foreach ( $record as $term ) {
819
  $term_name = sanitize_text_field( $term );
1022
  * @return array ( parameter => value ) for all field-level parameters and anything in $markup_values
1023
  */
1024
  public static function mla_expand_field_level_parameters( $tpl, $query = NULL, $markup_values = array(), $post_id = 0, $keep_existing = false, $default_option = 'text' ) {
1025
+ static $cached_post_id = 0, $item_metadata = NULL, $attachment_metadata = NULL, $id3_metadata = NULL;
1026
  if ( $cached_post_id != $post_id ) {
1027
  $item_metadata = NULL;
1028
  $attachment_metadata = NULL;
1029
+ $id3_metadata = NULL;
1030
  $cached_post_id = $post_id;
1031
  }
1032
 
1179
  }
1180
  }
1181
 
1182
+ $markup_values[ $key ] = self::mla_iptc_metadata_value( $value['value'], $attachment_metadata, $value['option'], $keep_existing );
 
 
 
 
 
 
1183
  break;
1184
  case 'exif':
1185
  if ( is_null( $attachment_metadata ) ) {
1190
  }
1191
  }
1192
 
1193
+ $record = self::mla_exif_metadata_value( $value['value'], $attachment_metadata, $value['option'], $keep_existing );
1194
  if ( is_array( $record ) ) {
1195
  $markup_values[ $key ] = self::_process_field_level_array( $record, $value['option'], $keep_existing );
1196
  } else {
1207
  }
1208
  }
1209
 
1210
+ $markup_values[ $key ] = self::mla_xmp_metadata_value( $value['value'], $attachment_metadata['mla_xmp_metadata'], $value['option'], $keep_existing );
1211
+ break;
1212
+ case 'id3':
1213
+ if ( is_null( $id3_metadata ) ) {
1214
+ if ( 0 < $post_id ) {
1215
+ $id3_metadata = self::mla_fetch_attachment_id3_metadata( $post_id );
1216
+ } else {
1217
+ break;
1218
+ }
1219
+ }
1220
+
1221
+ $markup_values[ $key ] = self::mla_id3_metadata_value( $value['value'], $id3_metadata, $value['option'], $keep_existing );
1222
  break;
1223
  case 'pdf':
1224
  if ( is_null( $attachment_metadata ) ) {
1236
  $markup_values[ $key ] = $record;
1237
  }
1238
 
1239
+ break;
1240
  case '':
1241
  $candidate = str_replace( '{', '[', str_replace( '}', ']', $value['value'] ) );
1242
  $key = str_replace( '{', '[', str_replace( '}', ']', $key ) );
1248
  'format' => 'raw',
1249
  'option' => $value['option'] ); // single, export, text for array values, e.g., alt_text
1250
 
1251
+ $markup_values[ $key ] = MLAOptions::mla_get_data_source( $post_id, 'single_attachment_mapping', $data_value );
1252
  } elseif ( isset( $markup_values[ $value['value'] ] ) ) {
1253
  /*
1254
  * A standard element can have a format modifier, e.g., commas, attr
1340
  $tail = substr( $match, 2);
1341
  }
1342
 
1343
+ $match_count = preg_match( '/([^,]+)(,(text|single|export|unpack|array|multi|commas|raw|attr|url|timestamp|date|fraction|substr))(\(([^)]+)\))*\+\]/', $tail, $matches );
1344
  if ( 1 == $match_count ) {
1345
  $result['value'] = $matches[1];
1346
  if ( ! empty( $matches[5] ) ) {
1419
  if ( NULL !== $offset && NULL !== $count ) {
1420
  $request = self::_prepare_list_table_query( $request, $offset, $count );
1421
  $request = apply_filters( 'mla_list_table_query_final_terms', $request );
1422
+
1423
  self::$mla_list_table_items = apply_filters( 'mla_list_table_query_custom_items', NULL, $request );
1424
  if ( is_null( self::$mla_list_table_items ) ) {
1425
  self::$mla_list_table_items = self::_execute_list_table_query( $request );
1426
  }
1427
+
1428
  return self::$mla_list_table_items->found_posts;
1429
  }
1430
 
1431
  $request = self::_prepare_list_table_query( $request );
1432
  $request = apply_filters( 'mla_list_table_query_final_terms', $request );
1433
+
1434
  $results = apply_filters( 'mla_list_table_query_custom_items', NULL, $request );
1435
  if ( is_null( $results ) ) {
1436
  $results = self::_execute_list_table_query( $request );
1437
  }
1438
+
1439
  self::$mla_list_table_items = NULL;
1440
 
1441
  return $results->found_posts;
1459
  if ( NULL == self::$mla_list_table_items ) {
1460
  $request = self::_prepare_list_table_query( $request, $offset, $count );
1461
  $request = apply_filters( 'mla_list_table_query_final_terms', $request );
1462
+
1463
  self::$mla_list_table_items = apply_filters( 'mla_list_table_query_custom_items', NULL, $request );
1464
  if ( is_null( self::$mla_list_table_items ) ) {
1465
  self::$mla_list_table_items = self::_execute_list_table_query( $request );
1589
  $default_orderby = array_merge( array( 'none' => array('none',false) ), MLA_List_Table::mla_get_sortable_columns( ) );
1590
  $current_orderby = MLAOptions::mla_get_option( MLAOptions::MLA_DEFAULT_ORDERBY );
1591
  $found_current = false;
1592
+ foreach ( $default_orderby as $key => $value ) {
1593
  if ( $current_orderby == $value[0] ) {
1594
  $found_current = true;
1595
  break;
1596
  }
1597
  }
1598
 
1599
+ if ( $found_current ) {
1600
+ /*
1601
+ * Custom fields can have HTML reserved characters, which are encoded by
1602
+ * mla_get_sortable_columns, so a separate, unencoded list is required.
1603
+ */
1604
+ $default_orderby = MLAOptions::mla_custom_field_support( 'custom_sortable_columns' );
1605
+ foreach ( $default_orderby as $sort_key => $sort_value ) {
1606
+ if ( $current_orderby == $sort_key ) {
1607
+ $current_orderby = 'c_' . $sort_value[0];
1608
+ break;
1609
+ }
1610
+ } // foreach
1611
+ } else {
1612
  MLAOptions::mla_delete_option( MLAOptions::MLA_DEFAULT_ORDERBY );
1613
  $current_orderby = MLAOptions::mla_get_option( MLAOptions::MLA_DEFAULT_ORDERBY );
1614
  }
1813
  /*
1814
  * We must patch the WHERE clause if there are leading spaces in the meta_value
1815
  */
1816
+ if ( isset( $clean_request['mla-metavalue'] ) && ( 0 < strlen( $clean_request['mla-metavalue'] ) ) && ( ' ' == $clean_request['mla-metavalue'][0] ) ) {
1817
  self::$query_parameters['mla-metavalue'] = $clean_request['mla-metavalue'];
1818
  }
1819
 
1846
  self::$search_parameters['exact'] = isset( $clean_request['exact'] );
1847
 
1848
  if ( in_array( 'alt-text', self::$search_parameters['mla_search_fields'] ) ) {
1849
+ self::$query_parameters['use_postmeta_view'] = true;
1850
+ self::$query_parameters['postmeta_key'] = '_wp_attachment_image_alt';
1851
  }
1852
 
1853
  if ( in_array( 'terms', self::$search_parameters['mla_search_fields'] ) ) {
1922
  */
1923
  if ( isset( $clean_request['mla_filter_term'] ) ) {
1924
  if ( $clean_request['mla_filter_term'] != 0 ) {
1925
+ $tax_filter = MLAOptions::mla_taxonomy_support('', 'filter');
1926
  if ( $clean_request['mla_filter_term'] == -1 ) {
1927
  $term_list = get_terms( $tax_filter, array(
1928
  'fields' => 'ids',
1953
  unset( $clean_request['mla_filter_term'] );
1954
  } // isset mla_filter_term
1955
 
1956
+ if ( isset( $clean_request['mla-tax'] ) && isset( $clean_request['mla-term'] )) {
1957
  $clean_request['tax_query'] = array(
1958
  array(
1959
  'taxonomy' => $clean_request['mla-tax'],
2067
  return $results;
2068
  }
2069
 
2070
+ /**
2071
+ * Detects wildcard searches, i.e., containing an asterisk outside quotes
2072
+ *
2073
+ * Defined as public because it's a callback from array_map().
2074
+ *
2075
+ * @since 2.13
2076
+ *
2077
+ * @param string search string
2078
+ *
2079
+ * @return boolean true if wildcard
2080
+ */
2081
+ private static function _wildcard_search_string( $search_string ) {
2082
+ preg_match_all('/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', $search_string, $matches);
2083
+
2084
+ if ( is_array( $matches ) ) {
2085
+ foreach ( $matches[0] as $term ) {
2086
+ if ( '"' == substr( $term, 0, 1) ) {
2087
+ continue;
2088
+ }
2089
+
2090
+ if ( false !== strpos( $term, '*' ) ) {
2091
+ return true;
2092
+ }
2093
+ }
2094
+ }
2095
+
2096
+ return false;
2097
+ }
2098
+
2099
  /**
2100
  * Replaces a WordPress function deprecated in v3.7
2101
  *
2200
  }
2201
  }
2202
  } else {
2203
+ $is_wildcard_search = ( ! $quoted[ $index ] ) && self::_wildcard_search_string( $phrase );
2204
+
2205
+ if ( $is_wildcard_search ) {
2206
+ add_filter( 'terms_clauses', 'MLAData::mla_query_terms_clauses_filter', 0x7FFFFFFF, 3 );
2207
+ }
2208
+
2209
  // WordPress encodes special characters, e.g., "&" as HTML entities in term names
2210
  $the_terms = get_terms( $terms_search_parameters['taxonomies'], array( 'name__like' => _wp_specialchars( $phrase ), 'fields' => 'all', 'hide_empty' => false ) );
2211
+
2212
+ if ( $is_wildcard_search ) {
2213
+ remove_filter( 'terms_clauses', 'MLAData::mla_query_terms_clauses_filter', 0x7FFFFFFF );
2214
+ }
2215
+
2216
  // Invalid taxonomy will return WP_Error object
2217
  if ( ! is_array( $the_terms ) ) {
2218
  $the_terms = array();
2293
  * Process the keyword search argument, if present.
2294
  */
2295
  if ( isset( self::$search_parameters['s'] ) ) {
2296
+
2297
+ // WordPress v3.7 says: there are no line breaks in <input /> fields
2298
+ $keyword_string = str_replace( array( "\r", "\n" ), '', self::$search_parameters['s'] );
2299
+ $is_wildcard_search = self::_wildcard_search_string( $keyword_string );
2300
+
2301
  /*
2302
  * Interpret a numeric value as the ID of a specific attachment or the ID of
2303
  * a parent post/page; add it to the regular text-based search.
2304
  */
2305
+ if ( is_numeric( $keyword_string ) ) {
2306
+ $id = absint( $keyword_string );
2307
  $numeric_clause = '( ( ' . $wpdb->posts . '.ID = ' . $id . ' ) OR ( ' . $wpdb->posts . '.post_parent = ' . $id . ' ) ) OR ';
 
 
2308
  }
2309
 
2310
+ if ( $is_wildcard_search || self::$search_parameters['sentence'] || self::$search_parameters['exact'] ) {
2311
+ $keyword_array = array( $keyword_string );
 
 
 
2312
  } else {
2313
  // v3.6.1 was '/".*?("|$)|((?<=[\r\n\t ",+])|^)[^\r\n\t ",+]+/'
2314
+ preg_match_all('/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', $keyword_string, $matches);
2315
+ $keyword_array = array_map( 'MLAData::mla_search_terms_tidy', $matches[0]);
2316
  }
2317
 
2318
  $fields = self::$search_parameters['mla_search_fields'];
2319
+ $allow_terms_search = in_array( 'terms', $fields ) && ( ! $is_wildcard_search );
2320
  $percent = self::$search_parameters['exact'] ? '' : '%';
2321
  $connector = '';
2322
 
2325
  } else {
2326
  $tax_terms = array();
2327
  $tax_counts = array();
2328
+ foreach ( $keyword_array as $term ) {
2329
+ if ( $is_wildcard_search ) {
2330
+ /*
2331
+ * Escape any % in the source string
2332
+ */
2333
+ if ( self::$wp_4dot0_plus ) {
2334
+ $sql_term = $wpdb->esc_like( $term );
2335
+ $sql_term = $wpdb->prepare( '%s', $sql_term );
2336
+ } else {
2337
+ $sql_term = "'" . esc_sql( like_escape( $term ) ) . "'";
2338
+ }
2339
+
2340
+ /*
2341
+ * Convert wildcard * to SQL %
2342
+ */
2343
+ $sql_term = str_replace( '*', '%', $sql_term );
2344
  } else {
2345
+ if ( self::$wp_4dot0_plus ) {
2346
+ $sql_term = $percent . $wpdb->esc_like( $term ) . $percent;
2347
+ $sql_term = $wpdb->prepare( '%s', $sql_term );
2348
+ } else {
2349
+ $sql_term = "'" . $percent . esc_sql( like_escape( $term ) ) . $percent . "'";
2350
+ }
2351
  }
2352
 
2353
  $inner_connector = '';
2354
  $inner_clause = '';
2355
 
2356
  if ( in_array( 'content', $fields ) ) {
2357
+ $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_content LIKE {$sql_term})";
2358
+ $inner_connector = ' OR ';
2359
  }
2360
 
2361
  if ( in_array( 'title', $fields ) ) {
2362
+ $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_title LIKE {$sql_term})";
2363
+ $inner_connector = ' OR ';
2364
  }
2365
 
2366
  if ( in_array( 'excerpt', $fields ) ) {
2367
+ $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_excerpt LIKE {$sql_term})";
2368
+ $inner_connector = ' OR ';
2369
  }
2370
 
2371
  if ( in_array( 'alt-text', $fields ) ) {
2372
+ $view_name = self::$mla_alt_text_view;
2373
+ $inner_clause .= "{$inner_connector}({$view_name}.meta_value LIKE {$sql_term})";
2374
+ $inner_connector = ' OR ';
2375
  }
2376
 
2377
  if ( in_array( 'name', $fields ) ) {
2378
+ $inner_clause .= "{$inner_connector}({$wpdb->posts}.post_name LIKE {$sql_term})";
2379
  }
2380
 
2381
  $inner_clause = apply_filters( 'mla_list_table_search_filter_inner_clause', $inner_clause, $inner_connector, $wpdb->posts, $sql_term );
2389
  * Convert search term text to term_taxonomy_id value(s),
2390
  * separated by taxonomy.
2391
  */
2392
+ if ( $allow_terms_search ) {
2393
  // WordPress encodes special characters, e.g., "&" as HTML entities in term names
2394
  $the_terms = get_terms( self::$search_parameters['mla_search_taxonomies'], array( 'name__like' => _wp_specialchars( $term ), 'fields' => 'all', 'hide_empty' => false ) );
2395
  // Invalid taxonomy will return WP_Error object
2408
  }
2409
  } // in_array terms
2410
  } // foreach term
2411
+
2412
+ if ( $allow_terms_search ) {
2413
  /*
2414
  * For the AND connector, a taxonomy term must have all of the search terms within it
2415
  */
2416
  if ( 'AND' == self::$search_parameters['mla_search_connector'] ) {
2417
+ $search_term_count = count( $keyword_array );
2418
  foreach ($tax_terms as $taxonomy => $term_ids ) {
2419
  foreach ( $term_ids as $term_id => $term_taxonomy_id ) {
2420
  if ( $search_term_count != $tax_counts[ $taxonomy ][ $term_id ] ) {
2527
  */
2528
  if ( isset( self::$query_parameters['patterns'] ) ) {
2529
  foreach ( self::$query_parameters['patterns'] as $pattern ) {
2530
+ $pattern = str_replace( '_', '\\\\_', $pattern );
2531
  $match_clause = '%' . str_replace( '%', '\\\\%', $pattern ) . '%';
2532
  $where_clause = str_replace( "LIKE '{$match_clause}'", "LIKE '{$pattern}'", $where_clause );
2533
  }
2587
 
2588
  while ( $tax_index < self::$search_parameters['tax_terms_count'] ) {
2589
  $prefix = 'mlatt' . $tax_index++;
2590
+ $tax_clause .= sprintf( ' LEFT JOIN %1$s AS %2$s ON (%3$s.ID = %2$s.object_id)', $wpdb->term_relationships, $prefix, $wpdb->posts );
2591
  }
2592
 
2593
  $join_clause .= $tax_clause;
2714
  return false;
2715
  }
2716
 
2717
+ /**
2718
+ * Filters all clauses for get_terms queries
2719
+ *
2720
+ * Defined as public because it's a filter.
2721
+ *
2722
+ * @since 2.13
2723
+ *
2724
+ * @param array $pieces Terms query SQL clauses.
2725
+ * @param array $taxonomies An array of taxonomies.
2726
+ * @param array $args An array of terms query arguments.
2727
+ */
2728
+ public static function mla_query_terms_clauses_filter( $pieces, $taxonomies, $args ) {
2729
+ global $wpdb;
2730
+
2731
+ if ( empty( $args['name__like'] ) ) {
2732
+ return $pieces;
2733
+ }
2734
+
2735
+ $term = $args['name__like'];
2736
+
2737
+ /*
2738
+ * Escape any % in the source string
2739
+ */
2740
+ if ( self::$wp_4dot0_plus ) {
2741
+ $sql_term = $wpdb->esc_like( $term );
2742
+ $sql_term = $wpdb->prepare( '%s', $sql_term );
2743
+ } else {
2744
+ $sql_term = "'" . esc_sql( like_escape( $term ) ) . "'";
2745
+ }
2746
+
2747
+ /*
2748
+ * Convert wildcard * to SQL %
2749
+ */
2750
+ $sql_term = str_replace( '*', '%', $sql_term );
2751
+
2752
+ /*
2753
+ * Replace the LIKE pattern in the WHERE clause
2754
+ */
2755
+ $match_clause = '%' . str_replace( '%', '\\\\%', $term ) . '%';
2756
+ $pieces['where'] = str_replace( "LIKE '{$match_clause}'", "LIKE {$sql_term}", $pieces['where'] );
2757
+
2758
+ return $pieces;
2759
+ }
2760
+
2761
  /**
2762
  * Filters all clauses for shortcode queries, pre caching plugins
2763
  *
2974
  * Finds the value of a key in a possibly nested array structure
2975
  *
2976
  * Used primarily to extract fields from the _wp_attachment_metadata custom field.
2977
+ * Also used with the audio/video ID3 metadata exposed in WordPress 3.6 and later.
2978
  *
2979
  * @since 1.30
2980
  *
2981
  * @param string key value, e.g. array1.array2.element
2982
  * @param array PHP nested arrays
2983
+ * @param string data option; 'text'|'single'|'export'|'array'|'multi'
2984
  * @param boolean keep existing values - for 'multi' option
2985
  *
2986
  * @return mixed string or array value matching key(.key ...) or ''
3006
  }
3007
 
3008
  if ( 1 == count( $results ) ) {
3009
+ $haystack = $results[0];
3010
  } else {
3011
  $haystack = $results;
3012
  }
3019
  break;
3020
  } else {
3021
  if ( is_array( $haystack ) ) {
3022
+ if ( isset( $haystack[ $key ] ) ) {
3023
+ $haystack = $haystack[ $key ];
3024
+ } else {
3025
+ $haystack = '';
3026
+ }
3027
  } else {
3028
+ $haystack = '';
3029
  }
3030
  } // * != key
3031
  } // foreach $key
3041
  case 'export':
3042
  $haystack = var_export( $haystack, true );
3043
  break;
3044
+ case 'unpack':
3045
+ if ( is_array( $haystack ) ) {
3046
+ $clean_data = array();
3047
+ foreach ( $haystack as $key => $value ) {
3048
+ if ( is_array( $value ) ) {
3049
+ $clean_data[ $key ] = '(ARRAY)';
3050
+ } elseif ( is_string( $value ) ) {
3051
+ $clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
3052
+ } else {
3053
+ $clean_data[ $key ] = $value;
3054
+ }
3055
+ }
3056
+
3057
+ $haystack = var_export( $clean_data, true);
3058
+ } else {
3059
+ $haystack = var_export( $record, true );
3060
+ }
3061
+ break;
3062
  case 'multi':
3063
  $haystack[0x80000000] = $option;
3064
  $haystack[0x80000001] = $keep_existing;
3067
  return $haystack;
3068
  break;
3069
  default:
3070
+ $haystack = self::_bin_to_utf8( @implode( ', ', $haystack ) );
3071
  } // $option
3072
+ } // is_array
3073
 
3074
+ return sanitize_text_field( self::_bin_to_utf8( $haystack ) );
3075
  } // mla_find_array_element
3076
 
3077
  /**
3184
  }
3185
 
3186
  /*
3187
+ * inserted_option 'enabled', 'base' or 'disabled'
3188
  * tested_reference true if any of the four where-used types was processed
3189
  * found_reference true if any where-used array is not empty()
3190
  * found_parent true if $parent matches a where-used post ID
3238
  */
3239
  $parent_data = self::mla_fetch_attachment_parent_data( $parent );
3240
  if ( isset( $parent_data['parent_type'] ) ) {
3241
+ $references['parent_type'] = $parent_data['parent_type'];
3242
  }
3243
 
3244
  if ( isset( $parent_data['parent_status'] ) ) {
3245
+ $references['parent_status'] = $parent_data['parent_status'];
3246
  }
3247
 
3248
+ if ( isset( $parent_data['parent_title'] ) ) {
3249
+ $references['parent_title'] = $parent_data['parent_title'];
3250
  }
3251
 
3252
  $references['base_file'] = get_post_meta( $ID, '_wp_attached_file', true );
3289
  }
3290
 
3291
  /*
3292
+ * Accumulate reference test types, e.g., 0 = no tests, 4 = all tests
3293
  */
3294
  $reference_tests = 0;
3295
 
3340
  $references['inserted_option'] = $inserted_in_option;
3341
  }
3342
 
 
3343
  if ( 'base' == $inserted_in_option ) {
3344
  $query_parameters = array();
3345
  $query = array();
3354
 
3355
  $query[] = 'OR ( POST_CONTENT LIKE %s)';
3356
 
3357
+ if ( self::$wp_4dot0_plus ) {
3358
  $query_parameters[] = '%' . $wpdb->esc_like( $file ) . '%';
3359
  } else {
3360
  $query_parameters[] = '%' . like_escape( $file ) . '%';
3362
  }
3363
 
3364
  $query[] = ')';
3365
+ $query = join(' ', $query);
3366
 
3367
  $inserts = $wpdb->get_results(
3368
  $wpdb->prepare( $query, $query_parameters )
3385
  continue;
3386
  }
3387
 
3388
+ if ( self::$wp_4dot0_plus ) {
3389
  $like = $wpdb->esc_like( $file );
3390
  } else {
3391
  $like = like_escape( $file );
3478
 
3479
  if ( $references['is_unattached'] ) {
3480
  $errors .= '(' . __( 'UNATTACHED', 'media-library-assistant' ) . ')';
3481
+ } elseif ( empty( $references['parent_title'] ) ) {
3482
  $errors .= '(' . __( 'INVALID PARENT', 'media-library-assistant' ) . ')';
3483
  }
3484
 
3549
  foreach ( $attachments as $index => $attachment ) {
3550
  $attachment_ids[ $index ] = $attachment->ID;
3551
  $references = array( 'files' => array() );
3552
+ if ( isset( $attachment->mla_wp_attached_file ) ) {
3553
  $references['base_file'] = $attachment->mla_wp_attached_file;
3554
  } else {
3555
  $references['base_file'] = '';
3564
 
3565
  $references['file'] = $pathinfo['basename'];
3566
 
3567
+ if ( isset( $attachment->mla_wp_attachment_metadata ) ) {
3568
  $attachment_metadata = $attachment->mla_wp_attachment_metadata;
3569
  } else {
3570
  $attachment_metadata = '';
3623
  }
3624
 
3625
  if ( MLAOptions::$process_inserted_in ) {
 
3626
  $query_parameters = array();
3627
  $query = array();
3628
  $query[] = "SELECT ID, post_type, post_status, post_title, CONVERT(`post_content` USING utf8 ) AS POST_CONTENT FROM {$wpdb->posts} WHERE ( %s=%s";
3634
  foreach ( $file['files'] as $base_name => $file_data ) {
3635
  $query[] = 'OR ( POST_CONTENT LIKE %s)';
3636
 
3637
+ if ( self::$wp_4dot0_plus ) {
3638
  $query_parameters[] = '%' . $wpdb->esc_like( $base_name ) . '%';
3639
  } else {
3640
  $query_parameters[] = '%' . like_escape( $base_name ) . '%';
3643
  }
3644
 
3645
  $query[] = "){$exclude_revisions}";
3646
+ $query = join(' ', $query);
3647
 
3648
  $results = $wpdb->get_results(
3649
  $wpdb->prepare( $query, $query_parameters )
3693
  $references['is_unattached'] = false;
3694
 
3695
  if ( isset( $attachment->parent_type ) ) {
3696
+ $references['parent_type'] = $attachment->parent_type;
3697
  }
3698
 
3699
  if ( isset( $attachment->parent_status ) ) {
3700
+ $references['parent_status'] = $attachment->parent_status;
3701
  }
3702
 
3703
+ if ( isset( $attachment->parent_title ) ) {
3704
+ $references['parent_title'] = $attachment->parent_title;
3705
  }
3706
  }
3707
 
3708
  /*
3709
+ * Accumulate reference test types, e.g., 0 = no tests, 4 = all tests
3710
  */
3711
  $reference_tests = 0;
3712
 
3821
 
3822
  if ( $references['is_unattached'] ) {
3823
  $errors .= '(' . __( 'UNATTACHED', 'media-library-assistant' ) . ')';
3824
+ } elseif ( empty( $references['parent_title'] ) ) {
3825
  $errors .= '(' . __( 'INVALID PARENT', 'media-library-assistant' ) . ')';
3826
  }
3827
 
3953
  $exclude_revisions = '';
3954
  }
3955
 
3956
+ if ( self::$wp_4dot0_plus ) {
 
3957
  $like = $wpdb->esc_like( $shortcode );
3958
  } else {
3959
  $like = like_escape( $shortcode );
4586
  "2#202" => "ObjectData Preview Data",
4587
 
4588
  // Pre ObjectData Descriptor Record
4589
+ "7#010" => "Size Mode",
4590
+ "7#020" => "Max Subfile Size",
4591
+ "7#090" => "ObjectData Size Announced",
4592
+ "7#095" => "Maximum ObjectData Size",
4593
 
4594
  // ObjectData Record
4595
+ "8#010" => "Subfile",
4596
 
4597
  // Post ObjectData Descriptor Record
4598
+ "9#010" => "Confirmed ObjectData Size"
4599
  );
4600
 
4601
  /**
4741
  "2#027" => "Max 64 characters of publishable country/geographical location name; repeatable",
4742
  "2#030" => "8 numeric characters of Release Date - CCYYMMDD",
4743
  "2#035" => "11 characters of Release Time (earliest use) - HHMMSS±HHMM",
4744
+ "2#037" => "8 numeric characters of Expiration Date (latest use) - CCYYMDD",
4745
  "2#038" => "11 characters of Expiration Time (latest use) - HHMMSS±HHMM",
4746
  "2#040" => "Max 256 Characters of editorial instructions, e.g., embargoes and warnings",
4747
  "2#042" => "2 numeric characters of type of action this object provides to a previous object",
4784
  "2#202" => "Max 256000 binary octets containing the ObjectData Preview data",
4785
 
4786
  // Pre ObjectData Descriptor Record
4787
+ "7#010" => "1 numeric character - 0=objectdata size not known, 1=objectdata size known at beginning of transfer",
4788
+ "7#020" => "4 octet binary maximum subfile dataset(s) size",
4789
+ "7#090" => "4 octet binary objectdata size if known at beginning of transfer",
4790
+ "7#095" => "4 octet binary largest possible objectdata size",
4791
 
4792
  // ObjectData Record
4793
+ "8#010" => "Subfile DataSet containing the objectdata itself; repeatable",
4794
 
4795
  // Post ObjectData Descriptor Record
4796
+ "9#010" => "4 octet binary total objectdata size"
4797
  );
4798
 
4799
  /**
4871
  * @since 1.41
4872
  *
4873
  * @param string field name - IPTC Identifier or friendly name/slug
4874
+ * @param array metadata array containing iptc, exif, xmp and pdf metadata arrays
4875
+ * @param string data option; 'text'|'single'|'export'|'array'|'multi'
4876
+ * @param boolean Optional: for option 'multi', retain existing values
4877
  *
4878
  * @return mixed string/array representation of metadata value or an empty string
4879
  */
4880
+ public static function mla_iptc_metadata_value( $iptc_key, $item_metadata, $option = 'text', $keep_existing = false ) {
4881
  // convert friendly name/slug to identifier
4882
  if ( array_key_exists( $iptc_key, self::$mla_iptc_keys ) ) {
4883
  $iptc_key = self::$mla_iptc_keys[ $iptc_key ];
4884
  }
4885
 
4886
+ if ( 'ALL_IPTC' == $iptc_key ) {
 
 
 
 
 
 
 
 
 
4887
  $clean_data = array();
4888
  foreach ( $item_metadata['mla_iptc_metadata'] as $key => $value ) {
4889
  if ( is_array( $value ) ) {
4898
  }
4899
  }
4900
 
4901
+ return var_export( $clean_data, true);
4902
  }
4903
 
4904
+ return self::mla_find_array_element( $iptc_key, $item_metadata['mla_iptc_metadata'], $option, $keep_existing );
4905
  }
4906
 
4907
  /**
4912
  * @since 1.13
4913
  *
4914
  * @param string field name
4915
+ * @param array metadata array containing iptc, exif, xmp and pdf metadata arrays
4916
+ * @param string data option; 'text'|'single'|'export'|'array'|'multi'
4917
+ * @param boolean Optional: for option 'multi', retain existing values
4918
  *
4919
  * @return mixed string/array representation of metadata value or an empty string
4920
  */
4921
+ public static function mla_exif_metadata_value( $exif_key, $item_metadata, $option = 'text', $keep_existing = false ) {
4922
+ if ( 'ALL_EXIF' == $exif_key ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4923
  $clean_data = array();
4924
  foreach ( $item_metadata['mla_exif_metadata'] as $key => $value ) {
4925
  if ( is_array( $value ) ) {
4931
  }
4932
  }
4933
 
4934
+ return var_export( $clean_data, true);
4935
  } elseif ( 'ALL_IPTC' == $exif_key ) {
4936
  $clean_data = array();
4937
  foreach ( $item_metadata['mla_iptc_metadata'] as $key => $value ) {
4947
  }
4948
  }
4949
 
4950
+ return var_export( $clean_data, true);
4951
  }
4952
 
4953
+ return self::mla_find_array_element( $exif_key, $item_metadata['mla_exif_metadata'], $option, $keep_existing );
4954
  }
4955
 
4956
  /**
4961
  * @since 2.10
4962
  *
4963
  * @param string field name
4964
+ * @param array XMP metadata array
4965
+ * @param string data option; 'text'|'single'|'export'|'array'|'multi'
4966
  * @param boolean Optional: for option 'multi', retain existing values
 
4967
  *
4968
  * @return mixed string/array representation of metadata value or an empty string
4969
  */
4970
+ public static function mla_xmp_metadata_value( $xmp_key, $xmp_metadata, $option = 'text', $keep_existing = false ) {
4971
  if ( 'ALL_XMP' == $xmp_key ) {
4972
  $clean_data = array();
4973
  foreach ( $xmp_metadata as $key => $value ) {
4980
  }
4981
  }
4982
 
4983
+ return var_export( $clean_data, true);
 
 
4984
  }
4985
 
4986
+ return self::mla_find_array_element($xmp_key, $xmp_metadata, $option, $keep_existing );
4987
+ }
4988
+
4989
+ /**
4990
+ * Parse one ID3 (audio/visual) metadata field
4991
+ *
4992
+ * Also handles the special pseudo-value 'ALL_ID3'.
4993
+ *
4994
+ * @since 2.13
4995
+ *
4996
+ * @param string field name
4997
+ * @param array ID3 metadata array
4998
+ * @param string data option; 'text'|'single'|'export'|'array'|'multi'
4999
+ * @param boolean Optional: for option 'multi', retain existing values
5000
+ *
5001
+ * @return mixed string/array representation of metadata value or an empty string
5002
+ */
5003
+ public static function mla_id3_metadata_value( $id3_key, $id3_metadata, $option, $keep_existing ) {
5004
+ if ( 'ALL_ID3' == $id3_key ) {
5005
+ $clean_data = array();
5006
+ foreach ( $id3_metadata as $key => $value ) {
5007
+ if ( is_array( $value ) ) {
5008
+ $clean_data[ $key ] = '(ARRAY)';
5009
+ } elseif ( is_string( $value ) ) {
5010
+ $clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
5011
+ } else {
5012
+ $clean_data[ $key ] = $value;
5013
+ }
5014
+ }
5015
+
5016
+ return var_export( $clean_data, true);
5017
+ }
5018
+
5019
+ return self::mla_find_array_element($id3_key, $id3_metadata, $option, $keep_existing );
5020
  }
5021
 
5022
  /**
5165
  $file_name = $path_info['basename'];
5166
  MLAData::$mla_IPTC_EXIF_errors[] = "{$level} ({$type}) - {$string} [{$file_name} : {$line}]";
5167
 
5168
+ /* Don't execute PHP internal error handler */
5169
+ return true;
5170
+ }
5171
+
5172
+ /**
5173
+ * Fetch and filter ID3 metadata for an audio or video attachment
5174
+ *
5175
+ * Adapted from /wp-admin/includes/media.php functions wp_add_id3_tag_data,
5176
+ * wp_read_video_metadata and wp_read_audio_metadata
5177
+ *
5178
+ * @since 2.13
5179
+ *
5180
+ * @param int post ID of attachment
5181
+ * @param string optional; if $post_id is zero, path to the image file.
5182
+ *
5183
+ * @return array Meta data variables, including 'audio' and 'video'
5184
+ */
5185
+ public static function mla_fetch_attachment_id3_metadata( $post_id, $path = '' ) {
5186
+ static $id3 = NULL;
5187
+
5188
+ if ( 0 != $post_id ) {
5189
+ $path = get_attached_file($post_id);
5190
+ }
5191
+
5192
+ if ( ! empty( $path ) ) {
5193
+ if ( ! class_exists( 'getID3' ) ) {
5194
+ require( ABSPATH . WPINC . '/ID3/getid3.php' );
5195
+ }
5196
+
5197
+ if ( NULL == $id3 ) {
5198
+ $id3 = new getID3();
5199
+ }
5200
+
5201
+ $data = $id3->analyze( $path );
5202
+ }
5203
+
5204
+ if ( ! empty( $data['filesize'] ) )
5205
+ $data['filesize'] = (int) $data['filesize'];
5206
+ if ( ! empty( $data['playtime_seconds'] ) )
5207
+ $data['length'] = (int) round( $data['playtime_seconds'] );
5208
+
5209
+ // from wp_read_video_metadata
5210
+ if ( ! empty( $data['video'] ) ) {
5211
+ if ( ! empty( $data['video']['bitrate'] ) )
5212
+ $data['bitrate'] = (int) $data['video']['bitrate'];
5213
+ if ( ! empty( $data['video']['resolution_x'] ) )
5214
+ $data['width'] = (int) $data['video']['resolution_x'];
5215
+ if ( ! empty( $data['video']['resolution_y'] ) )
5216
+ $data['height'] = (int) $data['video']['resolution_y'];
5217
+ }
5218
+
5219
+ // from wp_read_audio_metadata
5220
+ if ( ! empty( $data['audio'] ) ) {
5221
+ unset( $data['audio']['streams'] );
5222
+ }
5223
+
5224
+ // from wp_add_id3_tag_data
5225
+ foreach ( array( 'id3v2', 'id3v1' ) as $version ) {
5226
+ if ( ! empty( $data[ $version ]['comments'] ) ) {
5227
+ foreach ( $data[ $version ]['comments'] as $key => $list ) {
5228
+ if ( 'length' !== $key && ! empty( $list ) ) {
5229
+ $data[ $key ] = reset( $list );
5230
+ // Fix bug in byte stream analysis.
5231
+ if ( 'terms_of_use' === $key && 0 === strpos( $metadata[ $key ], 'yright notice.' ) )
5232
+ $metadata[ $key ] = 'Cop' . $metadata[$key];
5233
+ }
5234
+ }
5235
+ break;
5236
+ }
5237
+ }
5238
+ unset( $data['id3v2']['comments'] );
5239
+ unset( $data['id3v1']['comments'] );
5240
+
5241
+ if ( ! empty( $data['id3v2']['APIC'] ) ) {
5242
+ $image = reset( $data['id3v2']['APIC']);
5243
+ if ( ! empty( $image['data'] ) ) {
5244
+ $data['image'] = array(
5245
+ 'data' => $image['data'],
5246
+ 'mime' => $image['image_mime'],
5247
+ 'width' => $image['image_width'],
5248
+ 'height' => $image['image_height']
5249
+ );
5250
+ }
5251
+
5252
+ unset( $data['id3v2']['APIC'] );
5253
+ } elseif ( ! empty( $data['comments']['picture'] ) ) {
5254
+ $image = reset( $data['comments']['picture'] );
5255
+ if ( ! empty( $image['data'] ) ) {
5256
+ $data['image'] = array(
5257
+ 'data' => $image['data'],
5258
+ 'mime' => $image['image_mime']
5259
+ );
5260
+ }
5261
+
5262
+ unset( $data['comments']['picture'] );
5263
+ }
5264
+
5265
+ $data['post_id'] = $post_id;
5266
+ return $data;
5267
  }
5268
 
5269
  /**
5316
  }
5317
 
5318
  foreach ( $iptc_values as $key => $value ) {
5319
+ if ( in_array( $key, array( '1#000', '1#020', '1#022', '1#120', '1#122', '2#000', '2#200', '2#201' ) ) ) {
5320
  $value = unpack( 'nbinary', $value[0] );
5321
  $results['mla_iptc_metadata'][ $key ] = (string) $value['binary'];
5322
  } elseif ( 1 == count( $value ) ) {
5430
  if ( in_array( $test, array( 1.3, 1.5, 1.6, 2.5 ) ) ) {
5431
  $new_data['ShutterSpeed'] = '1/' . number_format( 1.0 / $value, 1, '.', '' );
5432
  } else {
5433
+ $new_data['ShutterSpeed'] = '1/' . number_format( 1.0 / $value, 0, '.', '' );
5434
  }
5435
  }
5436
  } else {
5601
  }
5602
 
5603
  /*
5604
+ * Expand EXIF array values - replaced by mla_find_array_element MLA v2.13
5605
+ * /
5606
  foreach ( $results['mla_exif_metadata'] as $exif_key => $exif_value ) {
5607
  if ( is_array( $exif_value ) ) {
5608
  foreach ( $exif_value as $key => $value ) {
5609
  $results['mla_exif_metadata'][ $exif_key . '.' . $key ] = $value;
5610
  }
5611
  } // is_array
5612
+ } // */
5613
 
5614
  return $results;
5615
  }
5743
  }
5744
 
5745
  $delete = empty( $old_meta_value );
5746
+ } else {
5747
  $delete = NULL === $meta_value;
5748
  }
5749
 
5879
  $post_data = self::mla_get_attachment_by_id( $post_id, false );
5880
  if ( !isset( $post_data ) ) {
5881
  return array(
5882
+ 'message' => __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'Could not retrieve Attachment.', 'media-library-assistant' ),
5883
  'body' => ''
5884
  );
5885
  }
6071
 
6072
  switch ( $tax_action ) {
6073
  case 'add':
6074
+ if ( ! empty( $tags ) ) {
6075
+ $action_name = __( 'Adding', 'media-library-assistant' );
6076
+ $result = wp_set_post_terms( $post_id, $tags, $taxonomy, true );
6077
+ }
6078
  break;
6079
  case 'remove':
6080
  $action_name = __( 'Removing', 'media-library-assistant' );
includes/class-mla-edit-media.php CHANGED
@@ -164,6 +164,10 @@ class MLAEdit {
164
  */
165
  public static function mla_admin_enqueue_scripts_action( $page_hook ) {
166
  $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
 
 
 
 
167
  if ( 'media-new.php' == $page_hook && ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ADD_NEW_BULK_EDIT ) ) ) {
168
  wp_register_style( 'mla-add-new-bulk-edit', MLA_PLUGIN_URL . 'css/mla-add-new-bulk-edit.css', false, MLA::CURRENT_MLA_VERSION );
169
  wp_enqueue_style( 'mla-add-new-bulk-edit' );
@@ -219,6 +223,7 @@ class MLAEdit {
219
  }
220
 
221
  /*
 
222
  * Register and queue the style sheet, if needed
223
  */
224
  wp_register_style( self::JAVASCRIPT_EDIT_MEDIA_STYLES, MLA_PLUGIN_URL . 'css/mla-edit-media-style.css', false, MLA::CURRENT_MLA_VERSION );
@@ -400,10 +405,10 @@ class MLAEdit {
400
  }
401
 
402
  $custom_fields = '';
403
- foreach (MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $label ) {
404
  $page_values = array(
405
  'slug' => $slug,
406
- 'label' => esc_attr( $label ),
407
  );
408
  $custom_fields .= MLAData::mla_parse_template( $page_template_array['custom_field'], $page_values );
409
  }
@@ -411,6 +416,7 @@ class MLAEdit {
411
  $set_parent_form = MLA::mla_set_parent_form( false );
412
 
413
  $page_values = array(
 
414
  'Toggle' => __( 'Open Bulk Edit area', 'media-library-assistant' ),
415
  'category_fieldset' => $category_fieldset,
416
  'tag_fieldset' => $tag_fieldset,
@@ -535,9 +541,9 @@ class MLAEdit {
535
 
536
  echo '<span id="mla_metadata_links" style="font-weight: bold; line-height: 2em">';
537
 
538
- echo '<a href="' . add_query_arg( $view_args, wp_nonce_url( 'upload.php?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Map Custom Field metadata for this item', 'media-library-assistant' ) . '">' . __( 'Map Custom Field metadata', 'media-library-assistant' ) . '</a><br>';
539
 
540
- echo '<a href="' . add_query_arg( $view_args, wp_nonce_url( 'upload.php?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_MAP, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Map IPTC/EXIF metadata for this item', 'media-library-assistant' ) . '">' . __( 'Map IPTC/EXIF metadata', 'media-library-assistant' ) . '</a>';
541
 
542
  echo "</span>\n";
543
  echo "</div><!-- .misc-pub-section -->\n";
@@ -654,6 +660,56 @@ class MLAEdit {
654
  public static function mla_edit_add_help_tab( $admin_title, $title ) {
655
  $screen = get_current_screen();
656
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  if ( ( 'attachment' != $screen->id ) || ( 'attachment' != $screen->post_type ) || ( 'post' != $screen->base ) ) {
658
  return $admin_title;
659
  }
164
  */
165
  public static function mla_admin_enqueue_scripts_action( $page_hook ) {
166
  $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
167
+
168
+ /*
169
+ * Add New Bulk Edit Area
170
+ */
171
  if ( 'media-new.php' == $page_hook && ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ADD_NEW_BULK_EDIT ) ) ) {
172
  wp_register_style( 'mla-add-new-bulk-edit', MLA_PLUGIN_URL . 'css/mla-add-new-bulk-edit.css', false, MLA::CURRENT_MLA_VERSION );
173
  wp_enqueue_style( 'mla-add-new-bulk-edit' );
223
  }
224
 
225
  /*
226
+ * Media/Edit Media submenu
227
  * Register and queue the style sheet, if needed
228
  */
229
  wp_register_style( self::JAVASCRIPT_EDIT_MEDIA_STYLES, MLA_PLUGIN_URL . 'css/mla-edit-media-style.css', false, MLA::CURRENT_MLA_VERSION );
405
  }
406
 
407
  $custom_fields = '';
408
+ foreach (MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $details ) {
409
  $page_values = array(
410
  'slug' => $slug,
411
+ 'label' => esc_attr( $details['name'] ),
412
  );
413
  $custom_fields .= MLAData::mla_parse_template( $page_template_array['custom_field'], $page_values );
414
  }
416
  $set_parent_form = MLA::mla_set_parent_form( false );
417
 
418
  $page_values = array(
419
+ 'NOTE' => __( 'IMPORTANT: Make your entries BEFORE uploading new items. Pull down the Help menu for more information.', 'media-library-assistant' ),
420
  'Toggle' => __( 'Open Bulk Edit area', 'media-library-assistant' ),
421
  'category_fieldset' => $category_fieldset,
422
  'tag_fieldset' => $tag_fieldset,
541
 
542
  echo '<span id="mla_metadata_links" style="font-weight: bold; line-height: 2em">';
543
 
544
+ echo '<a href="' . add_query_arg( $view_args, wp_nonce_url( 'upload.php?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Map Custom Field metadata for this item', 'media-library-assistant' ) . '">' . __( 'Map Custom Field metadata', 'media-library-assistant' ) . '</a><br>';
545
 
546
+ echo '<a href="' . add_query_arg( $view_args, wp_nonce_url( 'upload.php?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_MAP, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Map IPTC/EXIF metadata for this item', 'media-library-assistant' ) . '">' . __( 'Map IPTC/EXIF metadata', 'media-library-assistant' ) . '</a>';
547
 
548
  echo "</span>\n";
549
  echo "</div><!-- .misc-pub-section -->\n";
660
  public static function mla_edit_add_help_tab( $admin_title, $title ) {
661
  $screen = get_current_screen();
662
 
663
+ /*
664
+ * Upload New Media Bulk Edit Area
665
+ */
666
+ if ( ( 'media' == $screen->id ) && ( 'add' == $screen->action ) ) {
667
+ $template_array = MLAData::mla_load_template( 'help-for-upload-new-media.tpl' );
668
+ if ( empty( $template_array ) ) {
669
+ return $admin_title;
670
+ }
671
+
672
+ /*
673
+ * Replace sidebar content
674
+ */
675
+ if ( !empty( $template_array['sidebar'] ) ) {
676
+ $page_values = array( 'settingsURL' => admin_url('options-general.php') );
677
+ $content = MLAData::mla_parse_template( $template_array['sidebar'], $page_values );
678
+ $screen->set_help_sidebar( $content );
679
+ }
680
+ unset( $template_array['sidebar'] );
681
+
682
+ /*
683
+ * Provide explicit control over tab order
684
+ */
685
+ $tab_array = array();
686
+
687
+ foreach ( $template_array as $id => $content ) {
688
+ $match_count = preg_match( '#\<!-- title="(.+)" order="(.+)" --\>#', $content, $matches, PREG_OFFSET_CAPTURE );
689
+
690
+ if ( $match_count > 0 ) {
691
+ $tab_array[ $matches[ 2 ][ 0 ] ] = array(
692
+ 'id' => $id,
693
+ 'title' => $matches[ 1 ][ 0 ],
694
+ 'content' => $content
695
+ );
696
+ } else {
697
+ /* translators: 1: ERROR tag 2: function name 3: template key */
698
+ error_log( sprintf( _x( '%1$s: %2$s discarding "%3$s"; no title/order', 'error_log', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), 'mla_edit_add_help_tab', $id ), 0 );
699
+ }
700
+ }
701
+
702
+ ksort( $tab_array, SORT_NUMERIC );
703
+ foreach ( $tab_array as $indx => $value ) {
704
+ $screen->add_help_tab( $value );
705
+ }
706
+
707
+ return $admin_title;
708
+ }
709
+
710
+ /*
711
+ * Media/Edit Media submenu
712
+ */
713
  if ( ( 'attachment' != $screen->id ) || ( 'attachment' != $screen->post_type ) || ( 'post' != $screen->base ) ) {
714
  return $admin_title;
715
  }
includes/class-mla-image-processor.php ADDED
@@ -0,0 +1,734 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Image processing support for mla_viewer and thumbnail generation
4
+ *
5
+ * @package Media Library Assistant
6
+ * @since 2.13
7
+ */
8
+
9
+ /**
10
+ * Class MLA (Media Library Assistant) Image Processor provides PDF thumbnails
11
+ * for the [mla_gallery] mla_viewer
12
+ * and Media/Assistant thumbnail generator.
13
+ *
14
+ * @package Media Library Assistant
15
+ * @since 2.10
16
+ */
17
+ class MLAImageProcessor {
18
+ /**
19
+ * Log debug information if true
20
+ *
21
+ * @since 2.12
22
+ *
23
+ * @var boolean
24
+ */
25
+ public static $mla_debug = false;
26
+
27
+ /**
28
+ * Generate a unique, writable file in the temporary directory
29
+ *
30
+ * @since 2.10
31
+ *
32
+ * @param string $extension File extension for the temporary file
33
+ *
34
+ * @return string Writable path and file name.
35
+ */
36
+ private static function _get_temp_file( $extension = '.tmp' ) {
37
+ static $temp = NULL;
38
+
39
+ /*
40
+ * Find a temp directory
41
+ */
42
+ if ( NULL == $temp ) {
43
+ if ( function_exists('sys_get_temp_dir') ) {
44
+ $temp = sys_get_temp_dir();
45
+ if ( @is_dir( $temp ) ) {
46
+ $temp = rtrim( $temp, '/\\' ) . '/';
47
+ }
48
+ } else {
49
+ $temp = ini_get('upload_tmp_dir');
50
+ if ( @is_dir( $temp ) ) {
51
+ $temp = rtrim( $temp, '/\\' ) . '/';
52
+ } else {
53
+ $temp = '/tmp/';
54
+ if ( false == @is_dir( $temp ) ) {
55
+ self::_mla_debug_add( 'Temp directory failure' );
56
+ return false;
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ /*
63
+ * Create a unique file
64
+ */
65
+ $path = $temp . uniqid( mt_rand() ) . $extension;
66
+ $f = @fopen( $path, 'a' );
67
+ if ( $f === false ) {
68
+ self::_mla_debug_add( 'Temp file failure' );
69
+ return false;
70
+ }
71
+
72
+ fclose( $f );
73
+ return $path;
74
+ }
75
+
76
+ /**
77
+ * Imagick object for the image to be streamed
78
+ *
79
+ * @since 2.10
80
+ *
81
+ * @var Imagick
82
+ */
83
+ protected static $image;
84
+
85
+ /**
86
+ * Direct Ghostscript file conversion
87
+ *
88
+ * @since 2.10
89
+ * @uses self::$image loads the converted file to this Imagick object
90
+ *
91
+ * @param string $file Input file, e.g., a PDF document
92
+ * @param string $frame Page/frame within the file, zero-based
93
+ * @param string $resolution Output file DPI. Default 72.
94
+ * @param string $output_type Output MIME type; 'image/jpeg' or 'image/png'.
95
+ * @param string $explicit_path Optional. Non-standard location to override default search, e.g., 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'
96
+ *
97
+ * @return boolean true if conversion succeeds else false
98
+ */
99
+ private static function _ghostscript_convert( $file, $frame, $resolution, $output_type, $explicit_path = '' ) {
100
+ /*
101
+ * Look for exec() - from http://stackoverflow.com/a/12980534/866618
102
+ */
103
+ if ( ini_get('safe_mode') ) {
104
+ self::_mla_debug_add( 'safe_mode failure' );
105
+ return false;
106
+ }
107
+
108
+ $blacklist = preg_split( '/,\s*/', ini_get('disable_functions') . ',' . ini_get('suhosin.executor.func.blacklist') );
109
+ if ( in_array('exec', $blacklist) ) {
110
+ self::_mla_debug_add( 'blacklist failure' );
111
+ return false;
112
+ }
113
+
114
+ /*
115
+ * Look for the Ghostscript executable
116
+ */
117
+ $ghostscript_path = NULL;
118
+ do {
119
+
120
+ if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3) ) ) {
121
+ if ( ! empty( $explicit_path ) ) {
122
+ $ghostscript_path = exec( 'dir /o:n/s/b "' . $explicit_path . '"' );
123
+ if ( ! empty( $ghostscript_path ) ) {
124
+ break;
125
+ } else {
126
+ $ghostscript_path = NULL;
127
+ break;
128
+ }
129
+ }
130
+
131
+ if ( $ghostscript_path = getenv('GSC') ) {
132
+ break;
133
+ }
134
+
135
+ $ghostscript_path = exec('where gswin*c.exe');
136
+ if ( ! empty( $ghostscript_path ) ) {
137
+ break;
138
+ }
139
+
140
+ $ghostscript_path = exec('dir /o:n/s/b "C:\Program Files\gs\*gswin*c.exe"');
141
+ if ( ! empty( $ghostscript_path ) ) {
142
+ break;
143
+ }
144
+
145
+ $ghostscript_path = exec('dir /o:n/s/b "C:\Program Files (x86)\gs\*gswin32c.exe"');
146
+ if ( ! empty( $ghostscript_path ) ) {
147
+ break;
148
+ }
149
+
150
+ $ghostscript_path = NULL;
151
+ break;
152
+ } // Windows platform
153
+
154
+ if ( ! empty( $explicit_path ) ) {
155
+ exec( 'test -e ' . $explicit_path, $dummy, $ghostscript_path );
156
+ if ( $explicit_path !== $ghostscript_path ) {
157
+ $ghostscript_path = NULL;
158
+ }
159
+
160
+ break;
161
+ }
162
+
163
+ $ghostscript_path = exec('which gs');
164
+ if ( ! empty( $ghostscript_path ) ) {
165
+ break;
166
+ }
167
+
168
+ $test_path = '/usr/bin/gs';
169
+ exec('test -e ' . $test_path, $dummy, $ghostscript_path);
170
+
171
+ if ( $test_path !== $ghostscript_path ) {
172
+ $ghostscript_path = NULL;
173
+ }
174
+ } while ( false );
175
+
176
+ if ( isset( $ghostscript_path ) ) {
177
+ if ( 'image/jpeg' == $output_type ) {
178
+ $device = 'jpeg';
179
+ $extension = '.jpg';
180
+ } else {
181
+ $device = 'png16m';
182
+ $extension = '.png';
183
+ }
184
+
185
+ /*
186
+ * Generate a unique temporary file
187
+ */
188
+ $output_file = self::_get_temp_file( $extension );
189
+
190
+ $cmd = escapeshellarg( $ghostscript_path ) . ' -sDEVICE=%1$s -r%2$dx%2$d -dFirstPage=%3$d -dLastPage=%3$d -dFitPage -o %4$s %5$s 2>&1';
191
+ $cmd = sprintf( $cmd, $device, $resolution, ( $frame + 1 ), escapeshellarg( $output_file ), escapeshellarg( $file ) );
192
+ exec( $cmd, $stdout, $return );
193
+ if ( 0 != $return ) {
194
+ self::_mla_debug_add( "ERROR: _ghostscript_convert exec returned '{$return}, cmd = " . var_export( $cmd, true ) );
195
+ self::_mla_debug_add( "ERROR: _ghostscript_convert exec returned '{$return}, details = " . var_export( $stdout, true ) );
196
+ return false;
197
+ }
198
+
199
+ try {
200
+ self::$image->readImage( $output_file );
201
+ }
202
+ catch ( Exception $e ) {
203
+ self::_mla_debug_add( "ERROR: _ghostscript_convert readImage Exception = " . var_export( $e->getMessage(), true ) );
204
+ return false;
205
+ }
206
+
207
+ @unlink( $output_file );
208
+ return true;
209
+ } // found Ghostscript
210
+
211
+ self::_mla_debug_add( 'Ghostscript detection failure' );
212
+ return false;
213
+ } // _ghostscript_convert
214
+
215
+ /**
216
+ * Prepare the image for output, scaling and flattening as required
217
+ *
218
+ * @since 2.10
219
+ * @uses self::$image updates the image in this Imagick object
220
+ *
221
+ * @param integer zero or new width
222
+ * @param integer zero or new height
223
+ * @param boolean proportional fit (true) or exact fit (false)
224
+ * @param string output MIME type
225
+ * @param integer compression quality; 1 - 100
226
+ *
227
+ * @return void
228
+ */
229
+ private static function _prepare_image( $width, $height, $best_fit, $type, $quality ) {
230
+ if ( is_callable( array( self::$image, 'scaleImage' ) ) ) {
231
+ if ( 0 < $width && 0 < $height ) {
232
+ // Both are set; use them as-is
233
+ self::$image->scaleImage( $width, $height, $best_fit );
234
+ } elseif ( 0 < $width || 0 < $height ) {
235
+ // One is set; scale the other one proportionally if reducing
236
+ $image_size = self::$image->getImageGeometry();
237
+
238
+ if ( $width && isset( $image_size['width'] ) && $width < $image_size['width'] ) {
239
+ self::$image->scaleImage( $width, 0 );
240
+ } elseif ( $height && isset( $image_size['height'] ) && $height < $image_size['height'] ) {
241
+ self::$image->scaleImage( 0, $height );
242
+ }
243
+ } else {
244
+ // Neither is specified, apply defaults
245
+ self::$image->scaleImage( 150, 0 );
246
+ }
247
+ }
248
+
249
+ if ( 0 < $quality && 101 > $quality ) {
250
+ if ( 'image/jpeg' == $type ) {
251
+ self::$image->setImageCompressionQuality( $quality );
252
+ self::$image->setImageCompression( imagick::COMPRESSION_JPEG );
253
+ }
254
+ else {
255
+ self::$image->setImageCompressionQuality( $quality );
256
+ }
257
+ }
258
+
259
+ if ( 'image/jpeg' == $type ) {
260
+ if ( is_callable( array( self::$image, 'setImageBackgroundColor' ) ) ) {
261
+ self::$image->setImageBackgroundColor('white');
262
+ }
263
+
264
+ if ( is_callable( array( self::$image, 'mergeImageLayers' ) ) ) {
265
+ self::$image = self::$image->mergeImageLayers( imagick::LAYERMETHOD_FLATTEN );
266
+ } elseif ( is_callable( array( self::$image, 'flattenImages' ) ) ) {
267
+ self::$image = self::$image->flattenImages();
268
+ }
269
+ }
270
+ } // _prepare_image
271
+
272
+ /**
273
+ * Log debug information
274
+ *
275
+ * @since 2.12
276
+ *
277
+ * @param string $message Error message.
278
+ */
279
+ private static function _mla_debug_add( $message ) {
280
+ if ( self::$mla_debug ) {
281
+ if ( class_exists( 'MLA' ) ) {
282
+ MLA::mla_debug_add( $message );
283
+ } else {
284
+ error_log( $message, 0);
285
+ }
286
+ }
287
+ }
288
+
289
+ /**
290
+ * Abort the operation and exit
291
+ *
292
+ * @since 2.10
293
+ *
294
+ * @param string $message Error message.
295
+ * @param string $title Optional. Error title. Default empty.
296
+ * @param integer $response Optional. HTML response code. Default 500.
297
+
298
+ * @return void echos page content and calls exit();
299
+ */
300
+ private static function _mla_die( $message, $title = '', $response = 500 ) {
301
+ self::_mla_debug_add( __LINE__ . " _mla_die( '{$message}', '{$title}', '{$response}' )" );
302
+ exit();
303
+ }
304
+
305
+ /**
306
+ * Log the message and return error message array
307
+ *
308
+ * @since 2.10
309
+ *
310
+ * @param string $message Error message.
311
+ * @param string $line Optional. Line number in the caller.
312
+ *
313
+ * @return array( 'error' => message )
314
+ */
315
+ private static function _mla_error_return( $message, $line = '' ) {
316
+ self::_mla_debug_add( $line . " MLAImageProcessor::_mla_error_return '{$message}'" );
317
+ return array( 'error' => $message );
318
+ }
319
+
320
+ /**
321
+ * Process Imagick thumbnail conversion request, e.g., for a PDF thumbnail
322
+ *
323
+ * Replaces download_url() in the Codex "Function Reference/wp handle sideload" example.
324
+ *
325
+ * @since 2.13
326
+ *
327
+ * @param string $input_file Path and name of the source file relative to upload directory
328
+ * @param array $args Generation parameters
329
+ *
330
+ * @return array file attributes ( 'file', 'url', 'type' ) on success, ( 'error' ) on failure
331
+ */
332
+ public static function mla_handle_thumbnail_sideload( $input_file, $args ) {
333
+ if ( ! class_exists( 'Imagick' ) ) {
334
+ return self::_mla_error_return( 'Imagick not installed', __LINE__ );
335
+ }
336
+
337
+ if( ini_get( 'zlib.output_compression' ) ) {
338
+ ini_set( 'zlib.output_compression', 'Off' );
339
+ }
340
+
341
+ if ( ! is_file( $input_file ) ) {
342
+ return self::_mla_error_return( 'File not found: ' . $input_file, __LINE__ );
343
+ }
344
+
345
+ /*
346
+ * Process generation parameters and supply defaults
347
+ */
348
+ $width = isset( $args['width'] ) ? abs( intval( $args['width'] ) ) : 0;
349
+ $height = isset( $args['height'] ) ? abs( intval( $args['height'] ) ) : 0;
350
+ $type = isset( $args['type'] ) ? $args['type'] : 'image/jpeg';
351
+ $quality = isset( $args['quality'] ) ? abs( intval( $args['quality'] ) ) : 0;
352
+ $frame = isset( $args['frame'] ) ? abs( intval( $args['frame'] ) ) : 0;
353
+ $resolution = isset( $args['resolution'] ) ? abs( intval( $args['resolution'] ) ) : 72;
354
+ $best_fit = isset( $args['best_fit'] ) ? (boolean) $args['best_fit'] : false;
355
+ $ghostscript_path = isset( $args['ghostscript_path'] ) ? $args['ghostscript_path'] : '';
356
+
357
+ /*
358
+ * Convert the file to an image format and load it
359
+ */
360
+ try {
361
+ self::$image = new Imagick();
362
+
363
+ /*
364
+ * this must be called before reading the image, otherwise has no effect -
365
+ * "-density {$x_resolution}x{$y_resolution}"
366
+ * this is important to give good quality output, otherwise text might be unclear
367
+ * default resolution is 72,72
368
+ */
369
+ self::$image->setResolution( $resolution, $resolution );
370
+
371
+ $result = self::_ghostscript_convert( $input_file, $frame, $resolution, $type, $ghostscript_path );
372
+
373
+ if ( false === $result ) {
374
+ try {
375
+ self::$image->readImage( $input_file . '[' . $frame . ']' );
376
+ }
377
+ catch ( Exception $e ) {
378
+ self::$image->readImage( $input_file . '[0]' );
379
+ }
380
+
381
+ if ( 'image/jpeg' == $type ) {
382
+ $extension = 'JPG';
383
+ } else {
384
+ $extension = 'PNG';
385
+ }
386
+
387
+ self::$image->setImageFormat( $extension );
388
+ }
389
+
390
+ if ( ! self::$image->valid() ) {
391
+ self::_mla_die( 'File not loaded', __LINE__, 404 );
392
+ }
393
+ }
394
+ catch ( Exception $e ) {
395
+ return self::_mla_error_return( 'Image load exception: ' . $e->getMessage(), __LINE__ );
396
+ }
397
+
398
+ /*
399
+ * Prepare the output image; resize and flatten, if necessary
400
+ */
401
+ try {
402
+ self::_prepare_image( $width, $height, $best_fit, $type, $quality );
403
+ }
404
+ catch ( Exception $e ) {
405
+ return self::_mla_error_return( '_prepare_image exception: ' . $e->getMessage(), __LINE__ );
406
+ }
407
+
408
+ /*
409
+ * Write the image to an appropriately-named file
410
+ */
411
+ try {
412
+ $output_file = wp_tempnam( $input_file );
413
+ self::$image->writeImage( $output_file );
414
+ }
415
+ catch ( Exception $e ) {
416
+ @unlink( $output_file );
417
+ return self::_mla_error_return( 'Image write exception: ' . $e->getMessage(), __LINE__ );
418
+ }
419
+
420
+ // array based on $_FILE as seen in PHP file uploads
421
+ $results = array(
422
+ 'name' => basename( $input_file ),
423
+ 'type' => $type,
424
+ 'tmp_name' => $output_file,
425
+ 'error' => 0,
426
+ 'size' => filesize( $output_file ),
427
+ );
428
+
429
+ return $results;
430
+ }
431
+
432
+ /**
433
+ * Process Imagick image stream request, e.g., for a PDF thumbnail
434
+ *
435
+ * Requires mla_stream_file (relative to wp_upload_dir ) in $_REQUEST;
436
+ * optional $_REQUEST parameters are:
437
+ * mla_stream_width, mla_stream_height, mla_stream_frame, mla_stream_resolution,
438
+ * mla_stream_quality, mla_stream_type, mla_stream_fit, mla_ghostscript_path
439
+ *
440
+ * @since 2.10
441
+ *
442
+ * @return void echos image content and calls exit();
443
+ */
444
+ public static function mla_process_stream_image() {
445
+ if ( ! class_exists( 'Imagick' ) ) {
446
+ self::_mla_die( 'Imagick not installed', __LINE__, 500 );
447
+ }
448
+
449
+ if( ini_get( 'zlib.output_compression' ) ) {
450
+ ini_set( 'zlib.output_compression', 'Off' );
451
+ }
452
+
453
+ $file = $_REQUEST['mla_stream_file'];
454
+ if ( ! is_file( $file ) ) {
455
+ self::_mla_die( 'File not found', __LINE__, 404 );
456
+ }
457
+
458
+ $use_mutex = isset( $_REQUEST['mla_single_thread'] );
459
+ $width = isset( $_REQUEST['mla_stream_width'] ) ? abs( intval( $_REQUEST['mla_stream_width'] ) ) : 0;
460
+ $height = isset( $_REQUEST['mla_stream_height'] ) ? abs( intval( $_REQUEST['mla_stream_height'] ) ) : 0;
461
+ $type = isset( $_REQUEST['mla_stream_type'] ) ? $_REQUEST['mla_stream_type'] : 'image/jpeg';
462
+ $quality = isset( $_REQUEST['mla_stream_quality'] ) ? abs( intval( $_REQUEST['mla_stream_quality'] ) ) : 0;
463
+ $frame = isset( $_REQUEST['mla_stream_frame'] ) ? abs( intval( $_REQUEST['mla_stream_frame'] ) ) : 0;
464
+ $resolution = isset( $_REQUEST['mla_stream_resolution'] ) ? abs( intval( $_REQUEST['mla_stream_resolution'] ) ) : 72;
465
+ /*
466
+ * If mla_ghostscript_path is present, a non-standard GS location can be found in a file written by
467
+ * the [mla_gallery] shortcode processor.
468
+ */
469
+ $ghostscript_path = isset( $_REQUEST['mla_ghostscript_path'] ) ? $_REQUEST['mla_ghostscript_path'] : '';
470
+ if ( ! empty( $ghostscript_path ) ) {
471
+ $ghostscript_path = @file_get_contents( dirname( __FILE__ ) . '/' . 'mla-ghostscript-path.txt' );
472
+ }
473
+
474
+ if ( $use_mutex ) {
475
+ $temp_file = self::_get_temp_file();
476
+ @unlink( $temp_file );
477
+ $temp_file = pathinfo( $temp_file, PATHINFO_DIRNAME ) . '/mla-mutex.txt';
478
+
479
+ $mutex = new MLAMutex();
480
+ $mutex->init( 1, $temp_file );
481
+ $mutex->acquire();
482
+ }
483
+
484
+ /*
485
+ * Convert the file to an image format and load it
486
+ */
487
+ try {
488
+ self::$image = new Imagick();
489
+
490
+ /*
491
+ * this must be called before reading the image, otherwise has no effect -
492
+ * "-density {$x_resolution}x{$y_resolution}"
493
+ * this is important to give good quality output, otherwise text might be unclear
494
+ * default resolution is 72,72
495
+ */
496
+ self::$image->setResolution( $resolution, $resolution );
497
+
498
+ //$result = false;
499
+ $result = self::_ghostscript_convert( $file, $frame, $resolution, $type, $ghostscript_path );
500
+
501
+ if ( false === $result ) {
502
+ try {
503
+ self::$image->readImage( $file . '[' . $frame . ']' );
504
+ }
505
+ catch ( Exception $e ) {
506
+ self::$image->readImage( $file . '[0]' );
507
+ }
508
+
509
+ if ( 'image/jpeg' == $type ) {
510
+ $extension = 'JPG';
511
+ } else {
512
+ $extension = 'PNG';
513
+ }
514
+
515
+ self::$image->setImageFormat( $extension );
516
+ }
517
+
518
+ if ( ! self::$image->valid() ) {
519
+ self::_mla_die( 'File not loaded', __LINE__, 404 );
520
+ }
521
+ }
522
+ catch ( Exception $e ) {
523
+ self::_mla_die( 'Image load exception: ' . $e->getMessage(), __LINE__, 404 );
524
+ }
525
+
526
+ /*
527
+ * Prepare the output image; resize and flatten, if necessary
528
+ */
529
+ try {
530
+ if ( isset( $_REQUEST['mla_stream_fit'] ) ) {
531
+ $best_fit = ( '1' == $_REQUEST['mla_stream_fit'] );
532
+ } else {
533
+ $best_fit = false;
534
+ }
535
+
536
+ self::_prepare_image( $width, $height, $best_fit, $type, $quality );
537
+ }
538
+ catch ( Exception $e ) {
539
+ self::_mla_die( '_prepare_image exception: ' . $e->getMessage(), __LINE__, 500 );
540
+ }
541
+
542
+ /*
543
+ * Stream the image back to the requestor
544
+ */
545
+ try {
546
+ header( "Content-Type: $type" );
547
+ echo self::$image->getImageBlob();
548
+ }
549
+ catch ( Exception $e ) {
550
+ self::_mla_die( 'Image stream exception: ' . $e->getMessage(), __LINE__, 500 );
551
+ }
552
+
553
+ if ( $use_mutex ) {
554
+ $mutex->release();
555
+ }
556
+
557
+ exit();
558
+ } // mla_process_stream_image
559
+ } // Class MLAImageProcessor
560
+
561
+ /**
562
+ * Class MLA (Media Library Assistant) Mutex provides a simple "mutual exclusion" semaphore
563
+ * for the [mla_gallery] mla_viewer=single option
564
+ *
565
+ * Adapted from the example by mr.smaon@gmail.com in the PHP Manual "Semaphore Functions" page.
566
+ *
567
+ * @package Media Library Assistant
568
+ * @since 2.10
569
+ */
570
+ class MLAMutex {
571
+ /**
572
+ * Semaphore identifier returned by sem_get()
573
+ *
574
+ * @since 2.10
575
+ *
576
+ * @var resource
577
+ */
578
+ private $sem_id;
579
+
580
+ /**
581
+ * True if the semaphore has been acquired
582
+ *
583
+ * @since 2.10
584
+ *
585
+ * @var boolean
586
+ */
587
+ private $is_acquired = false;
588
+
589
+ /**
590
+ * True if using a file lock instead of a semaphore
591
+ *
592
+ * @since 2.10
593
+ *
594
+ * @var boolean
595
+ */
596
+ private $use_file_lock = false;
597
+
598
+ /**
599
+ * Name of the (locked) file used as a semaphore
600
+ *
601
+ * @since 2.10
602
+ *
603
+ * @var string
604
+ */
605
+ private $filename = '';
606
+
607
+ /**
608
+ * File system pointer resource of the (locked) file used as a semaphore
609
+ *
610
+ * @since 2.10
611
+ *
612
+ * @var resource
613
+ */
614
+ private $filepointer;
615
+
616
+ /**
617
+ * Initializes the choice of semaphore Vs file lock
618
+ *
619
+ * @since 2.10
620
+ *
621
+ * @param boolean $use_lock True to force use of file locking
622
+ *
623
+ * @return void
624
+ */
625
+ function __construct( $use_lock = false ) {
626
+ /*
627
+ * If sem_ functions are not available require file locking
628
+ */
629
+ if ( ! is_callable( 'sem_get' ) ) {
630
+ $use_lock = true;
631
+ }
632
+
633
+ if ( $use_lock || 'WIN' == substr( PHP_OS, 0, 3 ) ) {
634
+ $this->use_file_lock = true;
635
+ }
636
+ }
637
+
638
+ /**
639
+ * Creates the semaphore or sets the (lock) file name
640
+ *
641
+ * @since 2.10
642
+ *
643
+ * @param integer $id Key to identify the semaphore
644
+ * @param string $filename Absolute path and name of the file for locking
645
+ *
646
+ * @return boolean True if the initialization succeeded
647
+ */
648
+ public function init( $id, $filename = '' ) {
649
+
650
+ if( $this->use_file_lock ) {
651
+ if( empty( $filename ) ) {
652
+ return false;
653
+ } else {
654
+ $this->filename = $filename;
655
+ }
656
+ } else {
657
+ if( ! ( $this->sem_id = sem_get( $id, 1) ) ) {
658
+ return false;
659
+ }
660
+ }
661
+
662
+ return true;
663
+ }
664
+
665
+ /**
666
+ * Acquires the semaphore or opens and locks the file
667
+ *
668
+ * @since 2.10
669
+ *
670
+ * @return boolean True if the acquisition succeeded
671
+ */
672
+ public function acquire() {
673
+ if( $this->use_file_lock ) {
674
+ if ( empty( $this->filename ) ) {
675
+ return true;
676
+ }
677
+
678
+ if( false == ( $this->filepointer = @fopen( $this->filename, "w+" ) ) ) {
679
+ return false;
680
+ }
681
+
682
+ if( false == flock( $this->filepointer, LOCK_EX ) ) {
683
+ return false;
684
+ }
685
+ } else {
686
+ if ( ! sem_acquire( $this->sem_id ) ) {
687
+ return false;
688
+ }
689
+ }
690
+
691
+ $this->is_acquired = true;
692
+ return true;
693
+ }
694
+
695
+ /**
696
+ * Releases the semaphore or unlocks and closes (but does not unlink) the file
697
+ *
698
+ * @since 2.10
699
+ *
700
+ * @return boolean True if the release succeeded
701
+ */
702
+ public function release() {
703
+ if( ! $this->is_acquired ) {
704
+ return true;
705
+ }
706
+
707
+ if( $this->use_file_lock ) {
708
+ if( false == flock( $this->filepointer, LOCK_UN ) ) {
709
+ return false;
710
+ }
711
+
712
+ fclose( $this->filepointer );
713
+ } else {
714
+ if ( ! sem_release( $this->sem_id ) ) {
715
+ return false;
716
+ }
717
+ }
718
+
719
+ $this->is_acquired = false;
720
+ return true;
721
+ }
722
+
723
+ /**
724
+ * Returns the semaphore identifier, if it exists, else NULL
725
+ *
726
+ * @since 2.10
727
+ *
728
+ * @return resource Semaphore identifier or NULL
729
+ */
730
+ public function getId() {
731
+ return $this->sem_id;
732
+ }
733
+ } // MLAMutex
734
+ ?>
includes/class-mla-list-table.php CHANGED
@@ -22,7 +22,6 @@ if ( !class_exists( 'WP_List_Table' ) ) {
22
  * @since 0.1
23
  */
24
  class MLA_List_Table extends WP_List_Table {
25
-
26
  /**
27
  * True if the current view is "Unattached"
28
  *
@@ -224,16 +223,15 @@ class MLA_List_Table extends WP_List_Table {
224
  /**
225
  * Builds the $default_columns array with translated source texts.
226
  *
227
- * Called from MLA:mla_plugins_loaded_action because the $default_columns information might be
228
- * accessed from "front end" posts/pages.
229
  *
230
  * @since 1.71
231
- *
232
- * @return void
233
  */
234
  public static function mla_localize_default_columns_array( ) {
235
  /*
236
- * Build the default columns array at runtime to accomodate calls to the localization functions
 
237
  */
238
  self::$default_columns = array(
239
  'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
@@ -473,6 +471,13 @@ class MLA_List_Table extends WP_List_Table {
473
  * @return array list of table columns
474
  */
475
  public static function mla_manage_columns_filter( ) {
 
 
 
 
 
 
 
476
  return apply_filters( 'mla_list_table_get_columns', self::$default_columns );
477
  }
478
 
@@ -483,8 +488,6 @@ class MLA_List_Table extends WP_List_Table {
483
  * created in time to affect the "screen options" setup.
484
  *
485
  * @since 0.30
486
- *
487
- * @return void
488
  */
489
  public static function mla_admin_init_action( ) {
490
  $taxonomies = get_taxonomies( array ( 'show_ui' => true ), 'names' );
@@ -508,14 +511,17 @@ class MLA_List_Table extends WP_List_Table {
508
  * calls the parent constructor to set some default configs.
509
  *
510
  * @since 0.1
511
- *
512
- * @return void
513
  */
514
- function __construct( ) {
515
  $this->detached = isset( $_REQUEST['detached'] ) && ( '1' == $_REQUEST['detached'] );
516
  $this->attached = isset( $_REQUEST['detached'] ) && ( '0' == $_REQUEST['detached'] );
517
  $this->is_trash = isset( $_REQUEST['status'] ) && $_REQUEST['status'] == 'trash';
518
 
 
 
 
 
 
519
  //Set parent defaults
520
  parent::__construct( array(
521
  'singular' => 'attachment', //singular name of the listed records
@@ -535,6 +541,15 @@ class MLA_List_Table extends WP_List_Table {
535
  */
536
  }
537
 
 
 
 
 
 
 
 
 
 
538
  /**
539
  * Supply a column value if no column-specific function has been defined
540
  *
@@ -569,12 +584,12 @@ class MLA_List_Table extends WP_List_Table {
569
  $list = array();
570
  foreach ( $terms as $term ) {
571
  $term_name = esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, $taxonomy, 'display' ) );
572
- $list[] = sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
573
  'page' => MLA::ADMIN_PAGE_SLUG,
574
  'mla-tax' => $taxonomy,
575
  'mla-term' => $term->slug,
576
  'heading_suffix' => urlencode( $tax_object->label . ': ' . $term->name )
577
- ) ), 'upload.php' ) ), $term_name, $term_name );
578
  } // foreach $term
579
 
580
  return join( ', ', $list );
@@ -602,12 +617,12 @@ class MLA_List_Table extends WP_List_Table {
602
  if ( is_array( $value ) ) {
603
  $list[] = 'array( ' . @implode( ', ', $value ) . ' )';
604
  } else {
605
- $list[] = sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
606
  'page' => MLA::ADMIN_PAGE_SLUG,
607
  'mla-metakey' => urlencode( self::$default_columns[ $column_name ] ),
608
  'mla-metavalue' => urlencode( $value ),
609
  'heading_suffix' => urlencode( self::$default_columns[ $column_name ] . ': ' . $value )
610
- ) ), 'upload.php' ) ), esc_html( substr( $value, 0, 64 ) ), esc_html( $value ) );
611
  }
612
  }
613
 
@@ -654,17 +669,37 @@ class MLA_List_Table extends WP_List_Table {
654
  * @return string HTML markup to be placed inside the column
655
  */
656
  function column_icon( $item ) {
 
657
  if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ENABLE_MLA_ICONS ) ) {
658
- $dimensions = array( 64, 64 );
659
- $thumb = wp_get_attachment_image( $item->ID, $dimensions, true, array( 'class' => 'mla_media_thumbnail_64_64' ) );
 
 
 
660
  } else {
661
- $dimensions = array( 80, 60 );
662
- $thumb = wp_get_attachment_image( $item->ID, $dimensions, true, array( 'class' => 'mla_media_thumbnail_80_60' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
663
  }
664
 
 
 
 
665
  if ( in_array( $item->post_mime_type, array( 'image/svg+xml' ) ) ) {
666
- $thumb = preg_replace( '/width=\"[^\"]*\"/', sprintf( 'width="%1$d"', $dimensions[1] ), $thumb );
667
- $thumb = preg_replace( '/height=\"[^\"]*\"/', sprintf( 'height="%1$d"', $dimensions[0] ), $thumb );
668
  }
669
 
670
  if ( $this->is_trash || ! current_user_can( 'edit_post', $item->ID ) ) {
@@ -681,7 +716,7 @@ class MLA_List_Table extends WP_List_Table {
681
  $edit_url = 'post.php?post=' . $item->ID . '&action=edit&mla_source=edit';
682
  }
683
 
684
- return sprintf( '<a href="%1$s" title="' . __( 'Edit', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', admin_url( $edit_url ), esc_attr( $item->post_title ), $thumb );
685
  }
686
 
687
  /**
@@ -716,7 +751,60 @@ class MLA_List_Table extends WP_List_Table {
716
  }
717
 
718
  /**
719
- * Add rollover actions to exactly one of the following displayed columns:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
720
  * 'ID_parent', 'title_name', 'post_title', 'post_name'
721
  *
722
  * @since 0.1
@@ -728,6 +816,7 @@ class MLA_List_Table extends WP_List_Table {
728
  */
729
  protected function _build_rollover_actions( $item, $column ) {
730
  $actions = array();
 
731
 
732
  if ( ( $this->rollover_id != $item->ID ) && !in_array( $column, $this->currently_hidden ) ) {
733
  /*
@@ -742,7 +831,7 @@ class MLA_List_Table extends WP_List_Table {
742
 
743
  if ( current_user_can( 'edit_post', $item->ID ) ) {
744
  if ( $this->is_trash ) {
745
- $actions['restore'] = '<a class="submitdelete" href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_RESTORE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Restore this item from the Trash', 'media-library-assistant' ) . '">' . __( 'Restore', 'media-library-assistant' ) . '</a>';
746
  } else {
747
  /*
748
  * Use the WordPress Edit Media screen
@@ -760,12 +849,12 @@ class MLA_List_Table extends WP_List_Table {
760
 
761
  if ( current_user_can( 'delete_post', $item->ID ) ) {
762
  if ( !$this->is_trash && EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
763
- $actions['trash'] = '<a class="submitdelete" href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_TRASH, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Move this item to the Trash', 'media-library-assistant' ) . '">' . __( 'Move to Trash', 'media-library-assistant' ) . '</a>';
764
  } else {
765
  // If using trash for posts and pages but not for attachments, warn before permanently deleting
766
  $delete_ays = EMPTY_TRASH_DAYS && !MEDIA_TRASH ? ' onclick="return showNotice.warn();"' : '';
767
 
768
- $actions['delete'] = '<a class="submitdelete"' . $delete_ays . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
769
  }
770
  } // delete_post
771
 
@@ -773,11 +862,13 @@ class MLA_List_Table extends WP_List_Table {
773
  $file = get_attached_file( $item->ID );
774
  $download_args = array( 'page' => MLA::ADMIN_PAGE_SLUG, 'mla_download_file' => urlencode( $file ), 'mla_download_type' => $item->post_mime_type );
775
 
776
- $actions['download'] = '<a href="' . add_query_arg( $download_args, wp_nonce_url( 'upload.php', MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' &#8220;' . esc_attr( $item->post_title ) . '&#8221;">' . __( 'Download', 'media-library-assistant' ) . '</a>';
777
  }
778
 
779
- $actions['view'] = '<a href="' . site_url( ) . '?attachment_id=' . $item->ID . '" rel="permalink" title="' . __( 'View', 'media-library-assistant' ) . ' &#8220;' . esc_attr( $item->post_title ) . '&#8221;">' . __( 'View', 'media-library-assistant' ) . '</a>';
780
-
 
 
781
  $actions = apply_filters( 'mla_list_table_build_rollover_actions', $actions, $item, $column );
782
 
783
  $this->rollover_id = $item->ID;
@@ -834,8 +925,8 @@ class MLA_List_Table extends WP_List_Table {
834
 
835
  $custom_fields = MLAOptions::mla_custom_field_support( 'quick_edit' );
836
  $custom_fields = array_merge( $custom_fields, MLAOptions::mla_custom_field_support( 'bulk_edit' ) );
837
- foreach ($custom_fields as $slug => $label ) {
838
- $value = get_metadata( 'post', $item->ID, $label, true );
839
  $inline_data .= ' <div class="' . $slug . '">' . esc_html( $value ) . "</div>\r\n";
840
  }
841
 
@@ -880,6 +971,46 @@ class MLA_List_Table extends WP_List_Table {
880
  return $inline_data;
881
  }
882
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
883
  /**
884
  * Supply the content for a custom column
885
  *
@@ -889,7 +1020,6 @@ class MLA_List_Table extends WP_List_Table {
889
  * @return string HTML markup to be placed inside the column
890
  */
891
  function column_ID_parent( $item ) {
892
- $row_actions = self::_build_rollover_actions( $item, 'ID_parent' );
893
  if ( $item->post_parent ) {
894
  if ( isset( $item->parent_title ) ) {
895
  $parent_title = $item->parent_title;
@@ -897,20 +1027,17 @@ class MLA_List_Table extends WP_List_Table {
897
  $parent_title = sprintf( '%1$d %2$s', $item->post_parent, __( '(no title)', 'media-library-assistant' ) );
898
  }
899
 
900
- $parent = sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' ' . __( 'Parent ID', 'media-library-assistant' ) . '">(parent:%2$s)</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
901
  'page' => MLA::ADMIN_PAGE_SLUG,
902
  'parent' => $item->post_parent,
903
  'heading_suffix' => urlencode( __( 'Parent', 'media-library-assistant' ) . ': ' . $parent_title )
904
- ) ), 'upload.php' ) ), (string) $item->post_parent );
905
  } else {// $item->post_parent
906
  $parent = 'parent:0';
907
  }
908
 
909
- if ( !empty( $row_actions ) ) {
910
- return sprintf( '%1$s<br><span style="color:silver">%2$s</span><br>%3$s%4$s', /*%1$s*/ $item->ID, /*%2$s*/ $parent, /*%3$s*/ $this->row_actions( $row_actions ), /*%4$s*/ $this->_build_inline_data( $item ) );
911
- } else {
912
- return sprintf( '%1$s<br><span style="color:silver">%2$s</span>', /*%1$s*/ $item->ID, /*%2$s*/ $parent );
913
- }
914
  }
915
 
916
  /**
@@ -922,19 +1049,13 @@ class MLA_List_Table extends WP_List_Table {
922
  * @return string HTML markup to be placed inside the column
923
  */
924
  function column_title_name( $item ) {
925
- $row_actions = self::_build_rollover_actions( $item, 'title_name' );
926
- $post_title = esc_attr( $item->post_title );
927
- $post_name = esc_attr( $item->post_name );
928
  $errors = $item->mla_references['parent_errors'];
929
  if ( '(' . __( 'NO REFERENCE TESTS', 'media-library-assistant' ) . ')' == $errors ) {
930
  $errors = '';
931
  }
932
 
933
- if ( !empty( $row_actions ) ) {
934
- return sprintf( '%1$s<br>%2$s<br>%3$s%4$s%5$s', /*%1$s*/ $post_title, /*%2$s*/ $post_name, /*%3$s*/ $errors, /*%4$s*/ $this->row_actions( $row_actions ), /*%5$s*/ $this->_build_inline_data( $item ) );
935
- } else {
936
- return sprintf( '%1$s<br>%2$s<br>%3$s', /*%1$s*/ $post_title, /*%2$s*/ $post_name, /*%3$s*/ $errors );
937
- }
938
  }
939
 
940
  /**
@@ -946,13 +1067,7 @@ class MLA_List_Table extends WP_List_Table {
946
  * @return string HTML markup to be placed inside the column
947
  */
948
  function column_post_title( $item ) {
949
- $row_actions = self::_build_rollover_actions( $item, 'post_title' );
950
-
951
- if ( !empty( $row_actions ) ) {
952
- return sprintf( '%1$s<br>%2$s%3$s', /*%1$s*/ esc_attr( $item->post_title ), /*%2$s*/ $this->row_actions( $row_actions ), /*%3$s*/ $this->_build_inline_data( $item ) );
953
- } else {
954
- return esc_attr( $item->post_title );
955
- }
956
  }
957
 
958
  /**
@@ -964,13 +1079,7 @@ class MLA_List_Table extends WP_List_Table {
964
  * @return string HTML markup to be placed inside the column
965
  */
966
  function column_post_name( $item ) {
967
- $row_actions = self::_build_rollover_actions( $item, 'post_name' );
968
-
969
- if ( !empty( $row_actions ) ) {
970
- return sprintf( '%1$s<br>%2$s%3$s', /*%1$s*/ esc_attr( $item->post_name ), /*%2$s*/ $this->row_actions( $row_actions ), /*%3$s*/ $this->_build_inline_data( $item ) );
971
- } else {
972
- return esc_attr( $item->post_name );
973
- }
974
  }
975
 
976
  /**
@@ -989,11 +1098,11 @@ class MLA_List_Table extends WP_List_Table {
989
  $parent_title = __( '(no title: bad ID)', 'media-library-assistant' );
990
  }
991
 
992
- return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' ' . __( 'Parent ID', 'media-library-assistant' ) . '">%2$s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
993
  'page' => MLA::ADMIN_PAGE_SLUG,
994
  'parent' => $item->post_parent,
995
  'heading_suffix' => urlencode( __( 'Parent', 'media-library-assistant' ) . ': ' . $parent_title )
996
- ) ), 'upload.php' ) ), (string) $item->post_parent );
997
  } else {
998
  return (string) $item->post_parent;
999
  }
@@ -1212,12 +1321,12 @@ class MLA_List_Table extends WP_List_Table {
1212
  $alt_text = $item->mla_wp_attachment_image_alt;
1213
  }
1214
 
1215
- return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
1216
  'page' => MLA::ADMIN_PAGE_SLUG,
1217
  'mla-metakey' => '_wp_attachment_image_alt',
1218
  'mla-metavalue' => urlencode( $alt_text ),
1219
  'heading_suffix' => urlencode( __( 'ALT Text', 'media-library-assistant' ) . ': ' . $alt_text )
1220
- ) ), 'upload.php' ) ), esc_html( $alt_text ), esc_html( $alt_text ) );
1221
  }
1222
 
1223
  return '';
@@ -1256,11 +1365,11 @@ class MLA_List_Table extends WP_List_Table {
1256
  * @return string HTML markup to be placed inside the column
1257
  */
1258
  function column_post_mime_type( $item ) {
1259
- return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%2$s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
1260
  'page' => MLA::ADMIN_PAGE_SLUG,
1261
  'post_mime_type' => urlencode( $item->post_mime_type ),
1262
  'heading_suffix' => urlencode( __( 'MIME Type', 'media-library-assistant' ) . ': ' . $item->post_mime_type )
1263
- ) ), 'upload.php' ) ), esc_html( $item->post_mime_type ), esc_html( $item->post_mime_type ) );
1264
  }
1265
 
1266
  /**
@@ -1288,12 +1397,12 @@ class MLA_List_Table extends WP_List_Table {
1288
  function column_base_file( $item ) {
1289
  $base_file = isset( $item->mla_wp_attached_file ) ? $item->mla_wp_attached_file : '';
1290
 
1291
- return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%2$s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
1292
  'page' => MLA::ADMIN_PAGE_SLUG,
1293
  'mla-metakey' => urlencode( '_wp_attached_file' ),
1294
  'mla-metavalue' => urlencode( $base_file ),
1295
  'heading_suffix' => urlencode( __( 'Base File', 'media-library-assistant' ) . ': ' . $base_file )
1296
- ) ), 'upload.php' ) ), esc_html( $base_file ) );
1297
  }
1298
 
1299
  /**
@@ -1372,11 +1481,11 @@ class MLA_List_Table extends WP_List_Table {
1372
  $user = get_user_by( 'id', $item->post_author );
1373
 
1374
  if ( isset( $user->data->display_name ) ) {
1375
- return sprintf( '<a href="%s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' ' . __( 'Author', 'media-library-assistant' ) . '">%s</a>', esc_url( add_query_arg( array_merge( self::mla_submenu_arguments( false ), array(
1376
  'page' => MLA::ADMIN_PAGE_SLUG,
1377
  'author' => $item->post_author,
1378
  'heading_suffix' => urlencode( __( 'Author', 'media-library-assistant' ) . ': ' . $user->data->display_name )
1379
- ) ), 'upload.php' ) ), esc_html( $user->data->display_name ) );
1380
  }
1381
 
1382
  return 'unknown';
@@ -1414,7 +1523,7 @@ class MLA_List_Table extends WP_List_Table {
1414
  $parent = '(' . _x( 'Unattached', 'table_view_singular', 'media-library-assistant' ) . ')';
1415
  }
1416
 
1417
- $set_parent = sprintf( '<a class="hide-if-no-js" id="mla-child-%2$s" onclick="mla.inlineEditAttachment.tableParentOpen( \'%1$s\',\'%2$s\',\'%3$s\' ); return false;" href="#the-list">%4$s</a><br>', /*%1$s*/ $item->post_parent, /*%2$s*/ $item->ID, /*%3$s*/ esc_attr( $item->post_title ), /*%4$s*/ __( 'Set Parent', 'media-library-assistant' ) );
1418
 
1419
  return $parent . "<br>\n" . $set_parent . "\n";
1420
  }
@@ -1425,7 +1534,6 @@ class MLA_List_Table extends WP_List_Table {
1425
  * @since 1.42
1426
  *
1427
  * @param string 'top' | 'bottom'
1428
- * @return void
1429
  */
1430
  function pagination( $which ) {
1431
  $save_uri = $_SERVER['REQUEST_URI'];
@@ -1744,9 +1852,12 @@ class MLA_List_Table extends WP_List_Table {
1744
  'id' => 'post-query-submit'
1745
  ) );
1746
 
1747
- submit_button( __( 'Terms Search', 'media-library-assistant' ), 'secondary', 'mla_filter', false, array(
1748
- 'id' => 'mla-terms-search-open', 'onclick' => 'mlaTaxonomy.termsSearch.open()'
1749
- ) );
 
 
 
1750
  }
1751
 
1752
  if ( self::mla_submenu_arguments( true ) != self::mla_submenu_arguments( false ) ) {
@@ -1769,8 +1880,6 @@ class MLA_List_Table extends WP_List_Table {
1769
  * $this->set_pagination_args().
1770
  *
1771
  * @since 0.1
1772
- *
1773
- * @return void
1774
  */
1775
  function prepare_items( ) {
1776
  // Initialize $this->_column_headers
22
  * @since 0.1
23
  */
24
  class MLA_List_Table extends WP_List_Table {
 
25
  /**
26
  * True if the current view is "Unattached"
27
  *
223
  /**
224
  * Builds the $default_columns array with translated source texts.
225
  *
226
+ * Called from MLA:mla_plugins_loaded_action because the $default_columns information
227
+ * might be accessed from "front end" posts/pages.
228
  *
229
  * @since 1.71
 
 
230
  */
231
  public static function mla_localize_default_columns_array( ) {
232
  /*
233
+ * Build the default columns array at runtime to accomodate calls to the
234
+ * localization functions
235
  */
236
  self::$default_columns = array(
237
  'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
471
  * @return array list of table columns
472
  */
473
  public static function mla_manage_columns_filter( ) {
474
+ /*
475
+ * For WP 4.3+ icon will be merged with the first visible preferred column
476
+ */
477
+ if ( version_compare( get_bloginfo('version'), '4.2.99', '>' ) ) {
478
+ unset( self::$default_columns['icon'] );
479
+ }
480
+
481
  return apply_filters( 'mla_list_table_get_columns', self::$default_columns );
482
  }
483
 
488
  * created in time to affect the "screen options" setup.
489
  *
490
  * @since 0.30
 
 
491
  */
492
  public static function mla_admin_init_action( ) {
493
  $taxonomies = get_taxonomies( array ( 'show_ui' => true ), 'names' );
511
  * calls the parent constructor to set some default configs.
512
  *
513
  * @since 0.1
 
 
514
  */
515
+ public function __construct() {
516
  $this->detached = isset( $_REQUEST['detached'] ) && ( '1' == $_REQUEST['detached'] );
517
  $this->attached = isset( $_REQUEST['detached'] ) && ( '0' == $_REQUEST['detached'] );
518
  $this->is_trash = isset( $_REQUEST['status'] ) && $_REQUEST['status'] == 'trash';
519
 
520
+ // MLA does not use this
521
+ $this->modes = array(
522
+ 'list' => __( 'List View' ),
523
+ );
524
+
525
  //Set parent defaults
526
  parent::__construct( array(
527
  'singular' => 'attachment', //singular name of the listed records
541
  */
542
  }
543
 
544
+ /**
545
+ * Checks the current user's permissions
546
+ *
547
+ * @return bool
548
+ */
549
+ public function ajax_user_can() {
550
+ return current_user_can('upload_files');
551
+ }
552
+
553
  /**
554
  * Supply a column value if no column-specific function has been defined
555
  *
584
  $list = array();
585
  foreach ( $terms as $term ) {
586
  $term_name = esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, $taxonomy, 'display' ) );
587
+ $list[] = sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array_merge( array(
588
  'page' => MLA::ADMIN_PAGE_SLUG,
589
  'mla-tax' => $taxonomy,
590
  'mla-term' => $term->slug,
591
  'heading_suffix' => urlencode( $tax_object->label . ': ' . $term->name )
592
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), $term_name, $term_name );
593
  } // foreach $term
594
 
595
  return join( ', ', $list );
617
  if ( is_array( $value ) ) {
618
  $list[] = 'array( ' . @implode( ', ', $value ) . ' )';
619
  } else {
620
+ $list[] = sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array_merge( array(
621
  'page' => MLA::ADMIN_PAGE_SLUG,
622
  'mla-metakey' => urlencode( self::$default_columns[ $column_name ] ),
623
  'mla-metavalue' => urlencode( $value ),
624
  'heading_suffix' => urlencode( self::$default_columns[ $column_name ] . ': ' . $value )
625
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), esc_html( substr( $value, 0, 64 ) ), esc_html( $value ) );
626
  }
627
  }
628
 
669
  * @return string HTML markup to be placed inside the column
670
  */
671
  function column_icon( $item ) {
672
+ $icon_width = MLAOptions::mla_get_option( MLAOptions::MLA_TABLE_ICON_SIZE );
673
  if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ENABLE_MLA_ICONS ) ) {
674
+ if ( empty( $icon_width ) ) {
675
+ $icon_width = $icon_height = 64;
676
+ } else {
677
+ $icon_width = $icon_height = absint( $icon_width );
678
+ }
679
  } else {
680
+ if ( empty( $icon_width ) ) {
681
+ if ( MLATest::$wp_4dot3_plus ) {
682
+ $icon_width = 60;
683
+ } else {
684
+ $icon_width = 80;
685
+ }
686
+ } else {
687
+ $icon_width = absint( $icon_width );
688
+ }
689
+
690
+ if ( MLATest::$wp_4dot3_plus ) {
691
+ $icon_height = $icon_width;
692
+ } else {
693
+ $icon_height = absint( .75 * (float) $icon_width );
694
+ }
695
  }
696
 
697
+ $dimensions = array( $icon_width, $icon_height );
698
+ $thumb = wp_get_attachment_image( $item->ID, $dimensions, true, array( 'class' => 'mla_media_thumbnail' ) );
699
+
700
  if ( in_array( $item->post_mime_type, array( 'image/svg+xml' ) ) ) {
701
+ $thumb = preg_replace( '/width=\"[^\"]*\"/', sprintf( 'width="%1$d"', $dimensions[0] ), $thumb );
702
+ $thumb = preg_replace( '/height=\"[^\"]*\"/', sprintf( 'height="%1$d"', $dimensions[1] ), $thumb );
703
  }
704
 
705
  if ( $this->is_trash || ! current_user_can( 'edit_post', $item->ID ) ) {
716
  $edit_url = 'post.php?post=' . $item->ID . '&action=edit&mla_source=edit';
717
  }
718
 
719
+ return sprintf( '<a href="%1$s" title="' . __( 'Edit', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', admin_url( $edit_url ), _draft_or_post_title( $item ), $thumb );
720
  }
721
 
722
  /**
751
  }
752
 
753
  /**
754
+ * Get the name of the default primary column.
755
+ *
756
+ * @since 4.3.0
757
+ * @access protected
758
+ *
759
+ * @return string Name of the default primary column, in this case, 'title'.
760
+ */
761
+ protected function get_default_primary_column_name() {
762
+ $hidden_columns = $this->get_hidden_columns();
763
+
764
+ $primary_column = '';
765
+ foreach ( array( 'ID_parent', 'title_name', 'post_title', 'post_name' ) as $column_name ) {
766
+ if ( ! in_array( $column_name, $hidden_columns ) ) {
767
+ $primary_column = $column_name;
768
+ break;
769
+ }
770
+ }
771
+
772
+ // Fallback to the first visible column
773
+ if ( empty( $primary_column ) ) {
774
+ foreach ( $this->get_columns() as $column_name => $column_title ) {
775
+ if ( ( 'cb' !== $column_name ) && ! in_array( $column_name, $hidden_columns ) ) {
776
+ $primary_column = $column_name;
777
+ break;
778
+ }
779
+ }
780
+ }
781
+
782
+ return $primary_column;
783
+ }
784
+
785
+ /**
786
+ * Generate and display row actions links.
787
+ *
788
+ * @since 2.13
789
+ * @access protected
790
+ *
791
+ * @param object $item Attachment being acted upon.
792
+ * @param string $column_name Current column name.
793
+ * @param string $primary Primary column name.
794
+ * @return string Row actions output for media attachments.
795
+ */
796
+ protected function handle_row_actions( $item, $column_name, $primary ) {
797
+ if ( $primary === $column_name ) {
798
+ $actions = $this->row_actions( $this->_build_rollover_actions( $item, $column_name ) );
799
+ $actions .= $this->_build_inline_data( $item );
800
+ return $actions;
801
+ }
802
+
803
+ return '';
804
+ }
805
+
806
+ /**
807
+ * Add rollover actions to the current primary column, one of:
808
  * 'ID_parent', 'title_name', 'post_title', 'post_name'
809
  *
810
  * @since 0.1
816
  */
817
  protected function _build_rollover_actions( $item, $column ) {
818
  $actions = array();
819
+ $att_title = _draft_or_post_title( $item );
820
 
821
  if ( ( $this->rollover_id != $item->ID ) && !in_array( $column, $this->currently_hidden ) ) {
822
  /*
831
 
832
  if ( current_user_can( 'edit_post', $item->ID ) ) {
833
  if ( $this->is_trash ) {
834
+ $actions['restore'] = '<a class="submitdelete" href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_RESTORE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Restore this item from the Trash', 'media-library-assistant' ) . '">' . __( 'Restore', 'media-library-assistant' ) . '</a>';
835
  } else {
836
  /*
837
  * Use the WordPress Edit Media screen
849
 
850
  if ( current_user_can( 'delete_post', $item->ID ) ) {
851
  if ( !$this->is_trash && EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
852
+ $actions['trash'] = '<a class="submitdelete" href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_TRASH, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Move this item to the Trash', 'media-library-assistant' ) . '">' . __( 'Move to Trash', 'media-library-assistant' ) . '</a>';
853
  } else {
854
  // If using trash for posts and pages but not for attachments, warn before permanently deleting
855
  $delete_ays = EMPTY_TRASH_DAYS && !MEDIA_TRASH ? ' onclick="return showNotice.warn();"' : '';
856
 
857
+ $actions['delete'] = '<a class="submitdelete"' . $delete_ays . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
858
  }
859
  } // delete_post
860
 
862
  $file = get_attached_file( $item->ID );
863
  $download_args = array( 'page' => MLA::ADMIN_PAGE_SLUG, 'mla_download_file' => urlencode( $file ), 'mla_download_type' => $item->post_mime_type );
864
 
865
+ $actions['download'] = '<a href="' . add_query_arg( $download_args, wp_nonce_url( 'upload.php', MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' &#8220;' . $att_title . '&#8221;">' . __( 'Download', 'media-library-assistant' ) . '</a>';
866
  }
867
 
868
+ if ( ! $this->is_trash ) {
869
+ $actions['view'] = '<a href="' . site_url( ) . '?attachment_id=' . $item->ID . '" rel="permalink" title="' . __( 'View', 'media-library-assistant' ) . ' &#8220;' . $att_title . '&#8221;">' . __( 'View', 'media-library-assistant' ) . '</a>';
870
+ }
871
+
872
  $actions = apply_filters( 'mla_list_table_build_rollover_actions', $actions, $item, $column );
873
 
874
  $this->rollover_id = $item->ID;
925
 
926
  $custom_fields = MLAOptions::mla_custom_field_support( 'quick_edit' );
927
  $custom_fields = array_merge( $custom_fields, MLAOptions::mla_custom_field_support( 'bulk_edit' ) );
928
+ foreach ( $custom_fields as $slug => $details ) {
929
+ $value = get_metadata( 'post', $item->ID, $details['name'], true );
930
  $inline_data .= ' <div class="' . $slug . '">' . esc_html( $value ) . "</div>\r\n";
931
  }
932
 
971
  return $inline_data;
972
  }
973
 
974
+ /**
975
+ * Format primary column before/after Wordpress v4.3
976
+ *
977
+ * For WordPress before 4.3, add rollover actions and inline_data to the
978
+ * first visible column. For 4.3 and later, merge the icon with the primary
979
+ * visible column and add div tags.
980
+ *
981
+ * @since 2.13
982
+ *
983
+ * @param object A singular attachment (post) object
984
+ * @param string Current column name
985
+ * @param string Current column contents
986
+ *
987
+ * @return string Complete column content
988
+ */
989
+ protected function _handle_primary_column( $item, $column_name, $column_content ) {
990
+ if ( MLATest::$wp_4dot3_plus ) {
991
+ static $primary_column = NULL;
992
+
993
+ if ( NULL == $primary_column ) {
994
+ $primary_column = $this->get_default_primary_column_name();
995
+ }
996
+
997
+ if ( $primary_column != $column_name ) {
998
+ return $column_content;
999
+ }
1000
+
1001
+ list( $mime ) = explode( '/', $item->post_mime_type );
1002
+ $final_content = "<div class=\"attachment-icon {$mime}-icon\">\n" . $this->column_icon( $item ) . "\n</div>\n";
1003
+ return $final_content . "<div class=\"attachment-info\">\n" . $column_content . "\n</div>\n";
1004
+ }
1005
+
1006
+ $actions = $this->row_actions( $this->_build_rollover_actions( $item, $column_name ) );
1007
+ if ( ! empty( $actions ) ) {
1008
+ $column_content .= $actions . $this->_build_inline_data( $item );
1009
+ }
1010
+
1011
+ return $column_content;
1012
+ }
1013
+
1014
  /**
1015
  * Supply the content for a custom column
1016
  *
1020
  * @return string HTML markup to be placed inside the column
1021
  */
1022
  function column_ID_parent( $item ) {
 
1023
  if ( $item->post_parent ) {
1024
  if ( isset( $item->parent_title ) ) {
1025
  $parent_title = $item->parent_title;
1027
  $parent_title = sprintf( '%1$d %2$s', $item->post_parent, __( '(no title)', 'media-library-assistant' ) );
1028
  }
1029
 
1030
+ $parent = sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' ' . __( 'Parent ID', 'media-library-assistant' ) . '">(parent:%2$s)</a>', esc_url( add_query_arg( array_merge( array(
1031
  'page' => MLA::ADMIN_PAGE_SLUG,
1032
  'parent' => $item->post_parent,
1033
  'heading_suffix' => urlencode( __( 'Parent', 'media-library-assistant' ) . ': ' . $parent_title )
1034
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), (string) $item->post_parent );
1035
  } else {// $item->post_parent
1036
  $parent = 'parent:0';
1037
  }
1038
 
1039
+ $content = sprintf( '%1$s<br><span style="color:silver">%2$s</span>', /*%1$s*/ $item->ID, /*%2$s*/ $parent );
1040
+ return $this->_handle_primary_column( $item, 'ID_parent', $content );
 
 
 
1041
  }
1042
 
1043
  /**
1049
  * @return string HTML markup to be placed inside the column
1050
  */
1051
  function column_title_name( $item ) {
 
 
 
1052
  $errors = $item->mla_references['parent_errors'];
1053
  if ( '(' . __( 'NO REFERENCE TESTS', 'media-library-assistant' ) . ')' == $errors ) {
1054
  $errors = '';
1055
  }
1056
 
1057
+ $content = sprintf( '%1$s<br>%2$s<br>%3$s', /*%1$s*/ _draft_or_post_title( $item ), /*%2$s*/ esc_attr( $item->post_name ), /*%3$s*/ $errors );
1058
+ return $this->_handle_primary_column( $item, 'title_name', $content );
 
 
 
1059
  }
1060
 
1061
  /**
1067
  * @return string HTML markup to be placed inside the column
1068
  */
1069
  function column_post_title( $item ) {
1070
+ return $this->_handle_primary_column( $item, 'post_title', _draft_or_post_title( $item ) );
 
 
 
 
 
 
1071
  }
1072
 
1073
  /**
1079
  * @return string HTML markup to be placed inside the column
1080
  */
1081
  function column_post_name( $item ) {
1082
+ return $this->_handle_primary_column( $item, 'post_name', esc_attr( $item->post_name ) );
 
 
 
 
 
 
1083
  }
1084
 
1085
  /**
1098
  $parent_title = __( '(no title: bad ID)', 'media-library-assistant' );
1099
  }
1100
 
1101
+ return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' ' . __( 'Parent ID', 'media-library-assistant' ) . '">%2$s</a>', esc_url( add_query_arg( array_merge( array(
1102
  'page' => MLA::ADMIN_PAGE_SLUG,
1103
  'parent' => $item->post_parent,
1104
  'heading_suffix' => urlencode( __( 'Parent', 'media-library-assistant' ) . ': ' . $parent_title )
1105
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), (string) $item->post_parent );
1106
  } else {
1107
  return (string) $item->post_parent;
1108
  }
1321
  $alt_text = $item->mla_wp_attachment_image_alt;
1322
  }
1323
 
1324
+ return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%3$s</a>', esc_url( add_query_arg( array_merge( array(
1325
  'page' => MLA::ADMIN_PAGE_SLUG,
1326
  'mla-metakey' => '_wp_attachment_image_alt',
1327
  'mla-metavalue' => urlencode( $alt_text ),
1328
  'heading_suffix' => urlencode( __( 'ALT Text', 'media-library-assistant' ) . ': ' . $alt_text )
1329
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), esc_html( $alt_text ), esc_html( $alt_text ) );
1330
  }
1331
 
1332
  return '';
1365
  * @return string HTML markup to be placed inside the column
1366
  */
1367
  function column_post_mime_type( $item ) {
1368
+ return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%2$s</a>', esc_url( add_query_arg( array_merge( array(
1369
  'page' => MLA::ADMIN_PAGE_SLUG,
1370
  'post_mime_type' => urlencode( $item->post_mime_type ),
1371
  'heading_suffix' => urlencode( __( 'MIME Type', 'media-library-assistant' ) . ': ' . $item->post_mime_type )
1372
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), esc_html( $item->post_mime_type ), esc_html( $item->post_mime_type ) );
1373
  }
1374
 
1375
  /**
1397
  function column_base_file( $item ) {
1398
  $base_file = isset( $item->mla_wp_attached_file ) ? $item->mla_wp_attached_file : '';
1399
 
1400
+ return sprintf( '<a href="%1$s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' &#8220;%2$s&#8221;">%2$s</a>', esc_url( add_query_arg( array_merge( array(
1401
  'page' => MLA::ADMIN_PAGE_SLUG,
1402
  'mla-metakey' => urlencode( '_wp_attached_file' ),
1403
  'mla-metavalue' => urlencode( $base_file ),
1404
  'heading_suffix' => urlencode( __( 'Base File', 'media-library-assistant' ) . ': ' . $base_file )
1405
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), esc_html( $base_file ) );
1406
  }
1407
 
1408
  /**
1481
  $user = get_user_by( 'id', $item->post_author );
1482
 
1483
  if ( isset( $user->data->display_name ) ) {
1484
+ return sprintf( '<a href="%s" title="' . __( 'Filter by', 'media-library-assistant' ) . ' ' . __( 'Author', 'media-library-assistant' ) . '">%s</a>', esc_url( add_query_arg( array_merge( array(
1485
  'page' => MLA::ADMIN_PAGE_SLUG,
1486
  'author' => $item->post_author,
1487
  'heading_suffix' => urlencode( __( 'Author', 'media-library-assistant' ) . ': ' . $user->data->display_name )
1488
+ ), self::mla_submenu_arguments( false ) ), 'upload.php' ) ), esc_html( $user->data->display_name ) );
1489
  }
1490
 
1491
  return 'unknown';
1523
  $parent = '(' . _x( 'Unattached', 'table_view_singular', 'media-library-assistant' ) . ')';
1524
  }
1525
 
1526
+ $set_parent = sprintf( '<a class="hide-if-no-js" id="mla-child-%2$s" onclick="mla.inlineEditAttachment.tableParentOpen( \'%1$s\',\'%2$s\',\'%3$s\' ); return false;" href="#the-list">%4$s</a><br>', /*%1$s*/ $item->post_parent, /*%2$s*/ $item->ID, /*%3$s*/ _draft_or_post_title( $item ), /*%4$s*/ __( 'Set Parent', 'media-library-assistant' ) );
1527
 
1528
  return $parent . "<br>\n" . $set_parent . "\n";
1529
  }
1534
  * @since 1.42
1535
  *
1536
  * @param string 'top' | 'bottom'
 
1537
  */
1538
  function pagination( $which ) {
1539
  $save_uri = $_SERVER['REQUEST_URI'];
1852
  'id' => 'post-query-submit'
1853
  ) );
1854
 
1855
+ $term_search_taxonomies = MLAOptions::mla_supported_taxonomies('term-search');
1856
+ if ( ! empty( $term_search_taxonomies ) ) {
1857
+ submit_button( __( 'Terms Search', 'media-library-assistant' ), 'secondary', 'mla_filter', false, array(
1858
+ 'id' => 'mla-terms-search-open', 'onclick' => 'mlaTaxonomy.termsSearch.open()'
1859
+ ) );
1860
+ }
1861
  }
1862
 
1863
  if ( self::mla_submenu_arguments( true ) != self::mla_submenu_arguments( false ) ) {
1880
  * $this->set_pagination_args().
1881
  *
1882
  * @since 0.1
 
 
1883
  */
1884
  function prepare_items( ) {
1885
  // Initialize $this->_column_headers
includes/class-mla-main.php CHANGED
@@ -29,7 +29,7 @@ class MLA {
29
  *
30
  * @var string
31
  */
32
- const CURRENT_MLA_VERSION = '2.12';
33
 
34
  /**
35
  * Current date for Development Version, empty for production versions
@@ -77,13 +77,22 @@ class MLA {
77
  const ADMIN_PAGE_SLUG = 'mla-menu';
78
 
79
  /**
80
- * Action name; uniquely identifies the nonce
81
  *
82
  * @since 0.1
83
  *
84
  * @var string
85
  */
86
- const MLA_ADMIN_NONCE = 'mla_admin';
 
 
 
 
 
 
 
 
 
87
 
88
  /**
89
  * mla_admin_action value for permanently deleting a single item
@@ -213,6 +222,15 @@ class MLA {
213
  public static function initialize( ) {
214
  global $sitepress, $polylang;
215
 
 
 
 
 
 
 
 
 
 
216
  /*
217
  * Check for WPML/Polylang presence before loading language support class,
218
  * then immediately initialize it since we're already in the "init" action.
@@ -302,12 +320,12 @@ class MLA {
302
  * @return void
303
  */
304
  public static function mla_admin_init_action() {
305
- //error_log( 'DEBUG: MLA::mla_admin_init_action $_REQUEST = ' . var_export( $_REQUEST, true ), 0 );
306
  /*
307
  * Process secure file download requests
308
  */
309
  if ( isset( $_REQUEST['mla_download_file'] ) && isset( $_REQUEST['mla_download_type'] ) ) {
310
- check_admin_referer( self::MLA_ADMIN_NONCE );
311
  self::_process_mla_download_file();
312
  exit();
313
  }
@@ -319,7 +337,7 @@ class MLA {
319
  if ( isset( $_REQUEST['mla-set-parent-ajax-nonce'] ) ) {
320
  check_admin_referer( 'mla_find_posts', 'mla-set-parent-ajax-nonce' );
321
  } else {
322
- check_admin_referer( self::MLA_ADMIN_NONCE );
323
  }
324
 
325
  if ( apply_filters( 'mla_list_table_admin_action', true, $_REQUEST['mla_admin_action'], ( isset( $_REQUEST['mla_item_ID'] ) ? $_REQUEST['mla_item_ID'] : 0 ) ) ) {
@@ -353,11 +371,111 @@ class MLA {
353
  } // apply_filters mla_list_table_admin_action
354
  } // (!empty($_REQUEST['mla_admin_action'])
355
 
356
- if ( ( defined('WP_ADMIN') && WP_ADMIN ) && ( defined('DOING_AJAX') && DOING_AJAX ) ) {
357
- add_action( 'wp_ajax_' . self::JAVASCRIPT_INLINE_EDIT_SLUG, 'MLA::mla_inline_edit_ajax_action' );
358
- add_action( 'wp_ajax_' . self::JAVASCRIPT_INLINE_EDIT_SLUG . '-set-parent', 'MLA::mla_set_parent_ajax_action' );
359
- add_action( 'wp_ajax_' . 'mla_find_posts', 'MLA::mla_find_posts_ajax_action' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  }
 
 
361
  }
362
 
363
  /**
@@ -404,7 +522,7 @@ class MLA {
404
  $fields = array( 'post_title', 'post_name', 'post_excerpt', 'post_content', 'image_alt', 'post_parent', 'post_parent_title', 'menu_order', 'post_author' );
405
  $custom_fields = MLAOptions::mla_custom_field_support( 'quick_edit' );
406
  $custom_fields = array_merge( $custom_fields, MLAOptions::mla_custom_field_support( 'bulk_edit' ) );
407
- foreach ($custom_fields as $slug => $label ) {
408
  $fields[] = $slug;
409
  }
410
 
@@ -428,7 +546,7 @@ class MLA {
428
  'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
429
  'useSpinnerClass' => false,
430
  'ajax_action' => self::JAVASCRIPT_INLINE_EDIT_SLUG,
431
- 'ajax_nonce' => wp_create_nonce( self::MLA_ADMIN_NONCE )
432
  );
433
 
434
  if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
@@ -600,7 +718,11 @@ class MLA {
600
  } // $taxonomy switch
601
  } // is taxonomy
602
 
603
- $template_array = MLAData::mla_load_template( 'help-for-' . $file_suffix . '.tpl' );
 
 
 
 
604
  if ( empty( $template_array ) ) {
605
  return;
606
  }
@@ -899,16 +1021,23 @@ class MLA {
899
  * Custom field support
900
  */
901
  $custom_fields = array();
902
- foreach ( $custom_field_map as $slug => $label ) {
903
- if ( isset( $request[ $slug ] ) ) {
904
- $test_value = self::_process_bulk_value( $post_id, $request[ $slug ] );
905
- if ( ! empty( $test_value ) ) {
906
- $custom_fields[ $label ] = $test_value;
907
- } elseif ( is_null( $test_value ) ) {
908
- $custom_fields[ $label ] = '';
 
 
 
 
 
 
 
909
  }
910
- }
911
- } // foreach
912
 
913
  if ( ! empty( $custom_fields ) ) {
914
  $new_data[ 'custom_updates' ] = $custom_fields;
@@ -917,108 +1046,120 @@ class MLA {
917
  /*
918
  * Taxonomy Support
919
  */
920
- $tax_input = array();
921
- foreach ( $request['tax_input'] as $taxonomy => $terms ) {
922
- if ( ! empty( $request['tax_action'] ) ) {
923
- $tax_action = $request['tax_action'][ $taxonomy ];
924
- } else {
925
- $tax_action = 'replace';
926
- }
927
-
928
- /*
929
- * Ignore empty updates
930
- */
931
- if ( $hierarchical = is_array( $terms ) ) {
932
- if ( false !== ( $index = array_search( 0, $terms ) ) ) {
933
- unset( $terms[ $index ] );
934
  }
935
- } else {
 
 
936
  /*
937
- * Parse out individual terms
938
  */
939
- $comma = _x( ',', 'tag_delimiter', 'media-library-assistant' );
940
- if ( ',' !== $comma ) {
941
- $tags = str_replace( $comma, ',', $terms );
942
- }
943
-
944
- $fragments = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) );
945
- $terms = array();
946
- foreach( $fragments as $fragment ) {
947
- // WordPress encodes special characters, e.g., "&" as HTML entities in term names
948
- $fragment = _wp_specialchars( trim( wp_unslash( $fragment ) ) );
949
- if ( ! empty( $fragment ) ) {
950
- $terms[] = $fragment;
951
  }
952
- } // foreach fragment
953
 
954
- $terms = array_unique( $terms );
955
- }
 
 
 
 
 
 
 
956
 
957
- if ( empty( $terms ) && 'replace' != $tax_action ) {
958
- continue;
959
- }
960
 
961
- $post_terms = get_object_term_cache( $post_id, $taxonomy );
962
- if ( false === $post_terms ) {
963
- $post_terms = wp_get_object_terms( $post_id, $taxonomy );
964
- wp_cache_add( $post_id, $post_terms, $taxonomy . '_relationships' );
965
- }
966
 
967
- $current_terms = array();
968
- foreach( $post_terms as $new_term ) {
969
- if ( $hierarchical ) {
970
- $current_terms[ $new_term->term_id ] = $new_term->term_id;
971
- } else {
972
- $current_terms[ $new_term->name ] = $new_term->name;
973
  }
974
- }
975
 
976
- if ( 'add' == $tax_action ) {
977
- /*
978
- * Add new terms; remove existing terms
979
- */
980
- foreach ( $terms as $index => $new_term ) {
981
- if ( isset( $current_terms[ $new_term ] ) ) {
982
- unset( $terms[ $index ] );
983
  }
984
  }
 
 
 
 
 
 
 
 
 
 
 
985
 
986
- $do_update = ! empty( $terms );
987
- } elseif ( 'remove' == $tax_action ) {
988
- /*
989
- * Remove only the existing terms
990
- */
991
- foreach ( $terms as $index => $new_term ) {
992
- if ( ! isset( $current_terms[ $new_term ] ) ) {
993
- unset( $terms[ $index ] );
 
994
  }
995
- }
996
 
997
- $do_update = ! empty( $terms );
998
- } else {
999
- /*
1000
- * Replace all terms; if the new terms match the term
1001
- * cache, we can skip the update
1002
- */
1003
- foreach ( $terms as $new_term ) {
1004
- if ( isset( $current_terms[ $new_term ] ) ) {
1005
- unset( $current_terms[ $new_term ] );
1006
- } else {
1007
- $current_terms[ $new_term ] = $new_term;
1008
- break; // not a match; stop checking
 
1009
  }
 
 
1010
  }
1011
 
1012
- $do_update = ! empty( $current_terms );
1013
- }
1014
 
1015
- if ( $do_update ) {
1016
- $tax_input[ $taxonomy ] = $terms;
1017
- }
1018
- } // foreach taxonomy
 
 
1019
 
1020
- $new_data[ 'tax_input' ] = $tax_input;
1021
- $new_data[ 'tax_action' ] = $tax_action;
1022
 
1023
  return $new_data;
1024
  }
@@ -1049,6 +1190,7 @@ class MLA {
1049
  }
1050
 
1051
  $request = apply_filters( 'mla_list_table_bulk_action_initial_request', $request, $bulk_action, $custom_field_map );
 
1052
 
1053
  if ( isset( $request['cb_attachment'] ) ) {
1054
  $item_content = apply_filters( 'mla_list_table_begin_bulk_action', NULL, $bulk_action );
@@ -1113,11 +1255,14 @@ class MLA {
1113
  }
1114
 
1115
  $new_data = self::mla_prepare_bulk_edits( $post_id, $request, $custom_field_map );
 
1116
  $tax_input = $new_data['tax_input'];
 
1117
  unset( $new_data['tax_input'] );
1118
  unset( $new_data['tax_action'] );
1119
 
1120
- $item_content = MLAData::mla_update_single_item( $post_id, $new_data, $tax_input, $request['tax_action'] );
 
1121
  break;
1122
  case 'restore':
1123
  $item_content = self::_restore_single_item( $post_id );
@@ -1192,8 +1337,9 @@ class MLA {
1192
  unset( $_REQUEST['tax_input'] );
1193
  unset( $_REQUEST['tax_action'] );
1194
 
1195
- foreach (MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $label )
1196
  unset( $_REQUEST[ $slug ] );
 
1197
 
1198
  unset( $_REQUEST['cb_attachment'] );
1199
  }
@@ -1213,6 +1359,30 @@ class MLA {
1213
  return $page_content;
1214
  }
1215
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1216
  /**
1217
  * Render the "Assistant" subpage in the Media section, using the list_table package
1218
  *
@@ -1237,6 +1407,14 @@ class MLA {
1237
  $_GET['orderby'] = $_REQUEST['orderby'];
1238
  }
1239
 
 
 
 
 
 
 
 
 
1240
  $bulk_action = self::_current_bulk_action();
1241
 
1242
  $page_title = MLAOptions::mla_get_option( MLAOptions::MLA_SCREEN_PAGE_TITLE );
@@ -1287,14 +1465,7 @@ class MLA {
1287
  } // $bulk_action
1288
 
1289
  if ( isset( $_REQUEST['clear_filter_by'] ) ) {
1290
- unset( $_REQUEST['heading_suffix'] );
1291
- unset( $_REQUEST['parent'] );
1292
- unset( $_REQUEST['author'] );
1293
- unset( $_REQUEST['mla-tax'] );
1294
- unset( $_REQUEST['mla-term'] );
1295
- unset( $_REQUEST['mla-metakey'] );
1296
- unset( $_REQUEST['mla-metavalue'] );
1297
- do_action( 'mla_list_table_clear_filter_by' );
1298
  }
1299
 
1300
  /*
@@ -1327,7 +1498,7 @@ class MLA {
1327
  * Process row-level actions that affect a single item
1328
  */
1329
  if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
1330
- check_admin_referer( self::MLA_ADMIN_NONCE );
1331
 
1332
  $page_content = apply_filters( 'mla_list_table_single_action', NULL, $_REQUEST['mla_admin_action'], ( isset( $_REQUEST['mla_item_ID'] ) ? $_REQUEST['mla_item_ID'] : 0 ) );
1333
  if ( is_null( $page_content ) ) {
@@ -1441,54 +1612,6 @@ class MLA {
1441
  echo " </p></div>\n"; // id="message"
1442
  }
1443
 
1444
- /*
1445
- * Optional - limit width of the views list
1446
- */
1447
- $option_value = MLAOptions::mla_get_option( MLAOptions::MLA_TABLE_VIEWS_WIDTH );
1448
- if ( !empty( $option_value ) ) {
1449
- if ( is_numeric( $option_value ) ) {
1450
- $option_value .= 'px';
1451
- }
1452
-
1453
- echo " <style type='text/css'>\n";
1454
- echo " ul.subsubsub {\n";
1455
- echo " width: {$option_value};\n";
1456
- echo " max-width: {$option_value};\n";
1457
- echo " }\n";
1458
- echo " </style>\n";
1459
- }
1460
-
1461
- /*
1462
- * Optional - change the size of the thumbnail/icon images
1463
- */
1464
- $option_value = MLAOptions::mla_get_option( MLAOptions::MLA_TABLE_ICON_SIZE );
1465
- if ( !empty( $option_value ) ) {
1466
- if ( is_numeric( $option_value ) ) {
1467
- $option_value .= 'px';
1468
- }
1469
-
1470
- if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ENABLE_MLA_ICONS ) ) {
1471
- $class = 'mla_media_thumbnail_64_64';
1472
- } else {
1473
- $class = 'mla_media_thumbnail_80_60';
1474
- }
1475
-
1476
- echo " <style type='text/css'>\n";
1477
- echo " #icon.column-icon {\n";
1478
- echo " width: {$option_value};\n";
1479
- echo " max-width: {$option_value};\n";
1480
- //echo " height: {$option_value};\n";
1481
- //echo " max-height: {$option_value};\n";
1482
- echo " }\n";
1483
- echo " img.{$class} {\n";
1484
- echo " width: {$option_value};\n";
1485
- echo " max-width: {$option_value};\n";
1486
- echo " height: {$option_value};\n";
1487
- echo " max-height: {$option_value};\n";
1488
- echo " }\n";
1489
- echo " </style>\n";
1490
- }
1491
-
1492
  // Create an instance of our package class...
1493
  $MLAListTable = apply_filters( 'mla_list_table_new_instance', NULL );
1494
  if ( is_null( $MLAListTable ) ) {
@@ -1567,7 +1690,7 @@ class MLA {
1567
  public static function mla_find_posts_ajax_action() {
1568
  global $wpdb;
1569
 
1570
- check_ajax_referer( 'mla_find_posts' );
1571
 
1572
  $post_types = get_post_types( array( 'public' => true ), 'objects' );
1573
  unset( $post_types['attachment'] );
@@ -1654,7 +1777,7 @@ class MLA {
1654
  * @return void echo HTML <td> innerHTML for updated call or error message, then die()
1655
  */
1656
  public static function mla_set_parent_ajax_action() {
1657
- check_ajax_referer( self::MLA_ADMIN_NONCE, 'nonce' );
1658
 
1659
  if ( empty( $_REQUEST['post_ID'] ) ) {
1660
  echo __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'No post ID found', 'media-library-assistant' );
@@ -1692,6 +1815,8 @@ class MLA {
1692
  * @return void echo json results or error message, then die()
1693
  */
1694
  private static function _bulk_edit_ajax_handler() {
 
 
1695
  /*
1696
  * The category taxonomy (edit screens) is a special case because
1697
  * post_categories_meta_box() changes the input name
@@ -1735,7 +1860,7 @@ class MLA {
1735
  public static function mla_inline_edit_ajax_action() {
1736
  set_current_screen( $_REQUEST['screen'] );
1737
 
1738
- check_ajax_referer( self::MLA_ADMIN_NONCE, 'nonce' );
1739
 
1740
  if ( ! empty( $_REQUEST['bulk_action'] ) ) {
1741
  self::_bulk_edit_ajax_handler();
@@ -1756,11 +1881,17 @@ class MLA {
1756
  * Custom field support
1757
  */
1758
  $custom_fields = array();
1759
- foreach (MLAOptions::mla_custom_field_support( 'quick_edit' ) as $slug => $label ) {
1760
  if ( isset( $_REQUEST[ $slug ] ) ) {
1761
- $custom_fields[ $label ] = $_REQUEST[ $slug ];
1762
  unset ( $_REQUEST[ $slug ] );
1763
- }
 
 
 
 
 
 
1764
  }
1765
 
1766
  if ( ! empty( $custom_fields ) ) {
@@ -1932,7 +2063,7 @@ class MLA {
1932
  $page_values = array(
1933
  'mla_set_parent_url' => esc_url( add_query_arg( array_merge( MLA_List_Table::mla_submenu_arguments( false ), array( 'page' => MLA::ADMIN_PAGE_SLUG ) ), admin_url( 'upload.php' ) ) ),
1934
  'mla_set_parent_action' => self::MLA_ADMIN_SET_PARENT,
1935
- 'wpnonce' => wp_nonce_field( self::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1936
  'mla_set_parent_div' => $set_parent_div,
1937
  );
1938
 
@@ -1982,10 +2113,10 @@ class MLA {
1982
  }
1983
 
1984
  $custom_fields = '';
1985
- foreach (MLAOptions::mla_custom_field_support( 'quick_edit' ) as $slug => $label ) {
1986
  $page_values = array(
1987
  'slug' => $slug,
1988
- 'label' => esc_attr( $label ),
1989
  );
1990
  $custom_fields .= MLAData::mla_parse_template( $page_template_array['custom_field'], $page_values );
1991
  }
@@ -2084,10 +2215,10 @@ class MLA {
2084
  }
2085
 
2086
  $bulk_custom_fields = '';
2087
- foreach (MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $label ) {
2088
  $page_values = array(
2089
  'slug' => $slug,
2090
- 'label' => esc_attr( $label ),
2091
  );
2092
  $bulk_custom_fields .= MLAData::mla_parse_template( $page_template_array['custom_field'], $page_values );
2093
  }
@@ -2353,7 +2484,7 @@ class MLA {
2353
  if ( 'array' == $format ) {
2354
  return self::$mla_debug_messages;
2355
  }
2356
-
2357
  // format == 'string'
2358
  if ( '<p>' == $glue ) {
2359
  return '<p>' . implode( '</p><p>', self::$mla_debug_messages ) . '</p>';
@@ -2374,7 +2505,7 @@ class MLA {
2374
  */
2375
  public static function mla_debug_flush( $destination = 'buffer', $stop_collecting = true ) {
2376
  $results = '';
2377
-
2378
  switch ( $destination ) {
2379
  case 'buffer':
2380
  $results = self::mla_debug_content();
@@ -2390,9 +2521,9 @@ class MLA {
2390
  }
2391
  break;
2392
  }
2393
-
2394
  self::$mla_debug_messages = array();
2395
-
2396
  if ( $stop_collecting ) {
2397
  self::$mla_debug_mode = 'none';
2398
  }
@@ -2400,15 +2531,37 @@ class MLA {
2400
  return $results;
2401
  }
2402
 
 
 
 
 
 
 
 
 
 
2403
  /**
2404
  * Add a debug message to the collection
2405
  *
2406
  * @since 2.12
2407
  *
2408
  * @param string $message Message text
 
2409
  */
2410
- public static function mla_debug_add( $message ) {
2411
- switch ( self::$mla_debug_mode ) {
 
 
 
 
 
 
 
 
 
 
 
 
2412
  case 'buffer':
2413
  self::$mla_debug_messages[] = $message;
2414
  break;
29
  *
30
  * @var string
31
  */
32
+ const CURRENT_MLA_VERSION = '2.13';
33
 
34
  /**
35
  * Current date for Development Version, empty for production versions
77
  const ADMIN_PAGE_SLUG = 'mla-menu';
78
 
79
  /**
80
+ * Action name; gives a context for the nonce
81
  *
82
  * @since 0.1
83
  *
84
  * @var string
85
  */
86
+ const MLA_ADMIN_NONCE_ACTION = 'mla_admin_nonce_action';
87
+
88
+ /**
89
+ * Nonce name; uniquely identifies the nonce
90
+ *
91
+ * @since 2.13
92
+ *
93
+ * @var string
94
+ */
95
+ const MLA_ADMIN_NONCE_NAME = 'mla_admin_nonce';
96
 
97
  /**
98
  * mla_admin_action value for permanently deleting a single item
222
  public static function initialize( ) {
223
  global $sitepress, $polylang;
224
 
225
+ if ( 'checked' == MLAOptions::mla_get_option( 'enable_featured_image_generation' ) ) {
226
+ if ( class_exists( 'MLA_Thumbnail' ) ) {
227
+ self::$mla_language_support_error_messages .= "<li>class MLA_Thumbnail</li>";
228
+ } else {
229
+ require_once( MLA_PLUGIN_PATH . 'includes/class-mla-thumbnail-generation.php' );
230
+ MLA_Thumbnail::initialize();
231
+ }
232
+ }
233
+
234
  /*
235
  * Check for WPML/Polylang presence before loading language support class,
236
  * then immediately initialize it since we're already in the "init" action.
320
  * @return void
321
  */
322
  public static function mla_admin_init_action() {
323
+ //error_log( __LINE__ . ' DEBUG: MLA::mla_admin_init_action $_REQUEST = ' . var_export( $_REQUEST, true ), 0 );
324
  /*
325
  * Process secure file download requests
326
  */
327
  if ( isset( $_REQUEST['mla_download_file'] ) && isset( $_REQUEST['mla_download_type'] ) ) {
328
+ check_admin_referer( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
329
  self::_process_mla_download_file();
330
  exit();
331
  }
337
  if ( isset( $_REQUEST['mla-set-parent-ajax-nonce'] ) ) {
338
  check_admin_referer( 'mla_find_posts', 'mla-set-parent-ajax-nonce' );
339
  } else {
340
+ check_admin_referer( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
341
  }
342
 
343
  if ( apply_filters( 'mla_list_table_admin_action', true, $_REQUEST['mla_admin_action'], ( isset( $_REQUEST['mla_item_ID'] ) ? $_REQUEST['mla_item_ID'] : 0 ) ) ) {
371
  } // apply_filters mla_list_table_admin_action
372
  } // (!empty($_REQUEST['mla_admin_action'])
373
 
374
+ if ( defined('WP_ADMIN') && WP_ADMIN ) {
375
+ if ( defined('DOING_AJAX') && DOING_AJAX ) {
376
+ add_action( 'wp_ajax_' . self::JAVASCRIPT_INLINE_EDIT_SLUG, 'MLA::mla_inline_edit_ajax_action' );
377
+ add_action( 'wp_ajax_' . self::JAVASCRIPT_INLINE_EDIT_SLUG . '-set-parent', 'MLA::mla_set_parent_ajax_action' );
378
+ add_action( 'wp_ajax_' . 'mla_find_posts', 'MLA::mla_find_posts_ajax_action' );
379
+ } else {
380
+ add_action( 'admin_print_styles', 'MLA::mla_admin_print_styles_action' );
381
+ }
382
+ }
383
+ }
384
+
385
+ /**
386
+ * Print optional in-lne styles for Media/Assistant submenu table
387
+ *
388
+ * @since 2.13
389
+ */
390
+ public static function mla_admin_print_styles_action() {
391
+ echo "<style type='text/css'>\n";
392
+
393
+ /*
394
+ * Optional - limit width of the views list
395
+ */
396
+ $width_value = MLAOptions::mla_get_option( MLAOptions::MLA_TABLE_VIEWS_WIDTH );
397
+ if ( !empty( $width_value ) ) {
398
+ if ( is_numeric( $width_value ) ) {
399
+ $width_value .= 'px';
400
+ }
401
+
402
+ echo " ul.subsubsub {\n";
403
+ echo " width: {$width_value};\n";
404
+ echo " max-width: {$width_value};\n";
405
+ echo " }\n";
406
+ }
407
+
408
+ echo " img.mla_media_thumbnail {\n";
409
+
410
+ /*
411
+ * Optional - change the size of the thumbnail/icon images
412
+ */
413
+ $icon_value = MLAOptions::mla_get_option( MLAOptions::MLA_TABLE_ICON_SIZE );
414
+ if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_ENABLE_MLA_ICONS ) ) {
415
+ if ( empty( $icon_value ) ) {
416
+ $icon_value = 64;
417
+ } else
418
+ if ( is_numeric( $icon_value ) ) {
419
+ $icon_value = absint( $icon_value );
420
+ }
421
+
422
+ $icon_width = $icon_height = $icon_value . 'px';;
423
+
424
+ echo " width: {$icon_width};\n";
425
+ echo " height: {$icon_height};\n";
426
+ echo " max-width: {$icon_width};\n";
427
+ echo " max-height: {$icon_height};\n";
428
+ } else {
429
+ if ( empty( $icon_value ) ) {
430
+ if ( MLATest::$wp_4dot3_plus ) {
431
+ $icon_value = 60;
432
+ } else {
433
+ $icon_value = 80;
434
+ }
435
+ }
436
+
437
+ $icon_width = absint( $icon_value ) . 'px';
438
+ echo " max-width: {$icon_width};\n";
439
+
440
+ if ( MLATest::$wp_4dot3_plus ) {
441
+ echo " max-height: auto;\n";
442
+ } else {
443
+ $icon_height = ( absint( .75 * (float) $icon_value ) ) . 'px';
444
+ echo " max-height: {$icon_height};\n";
445
+ }
446
+ }
447
+
448
+ echo " }\n";
449
+
450
+ if ( MLATest::$wp_4dot3_plus ) {
451
+ /*
452
+ * Primary column including icon and some margin
453
+ */
454
+ $icon_width = ( $icon_value + 10 ) . 'px';;
455
+
456
+ echo " table.attachments td.column-primary {\n";
457
+ echo " position: relative;\n";
458
+ echo " }\n";
459
+ echo " table.attachments div.attachment-icon {\n";
460
+ echo " position: absolute;\n";
461
+ echo " top: 8px;\n";
462
+ echo " left: 10px;\n";
463
+ echo " }\n";
464
+ echo " table.attachments div.attachment-info {\n";
465
+ echo " margin-left: {$icon_width};\n";
466
+ echo " min-height: {$icon_width};\n";
467
+ echo " }\n";
468
+ } else {
469
+ /*
470
+ * Separate ID_parent column
471
+ */
472
+ echo " td.column-ID_parent, th.column-ID_parent {\n";
473
+ echo " width: 100px;\n";
474
+ echo " max-width: 100px;\n";
475
+ echo " }\n";
476
  }
477
+
478
+ echo "</style>\n";
479
  }
480
 
481
  /**
522
  $fields = array( 'post_title', 'post_name', 'post_excerpt', 'post_content', 'image_alt', 'post_parent', 'post_parent_title', 'menu_order', 'post_author' );
523
  $custom_fields = MLAOptions::mla_custom_field_support( 'quick_edit' );
524
  $custom_fields = array_merge( $custom_fields, MLAOptions::mla_custom_field_support( 'bulk_edit' ) );
525
+ foreach ( $custom_fields as $slug => $details ) {
526
  $fields[] = $slug;
527
  }
528
 
546
  'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
547
  'useSpinnerClass' => false,
548
  'ajax_action' => self::JAVASCRIPT_INLINE_EDIT_SLUG,
549
+ 'ajax_nonce' => wp_create_nonce( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME )
550
  );
551
 
552
  if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
718
  } // $taxonomy switch
719
  } // is taxonomy
720
 
721
+ $template_array = apply_filters( 'mla_list_table_help_template', NULL, 'help-for-' . $file_suffix . '.tpl', $file_suffix );
722
+ if ( is_null( $template_array ) ) {
723
+ $template_array = MLAData::mla_load_template( 'help-for-' . $file_suffix . '.tpl' );
724
+ }
725
+
726
  if ( empty( $template_array ) ) {
727
  return;
728
  }
1021
  * Custom field support
1022
  */
1023
  $custom_fields = array();
1024
+
1025
+ if ( is_array( $custom_field_map ) ) {
1026
+ foreach ( $custom_field_map as $slug => $details ) {
1027
+ if ( isset( $request[ $slug ] ) ) {
1028
+ $test_value = self::_process_bulk_value( $post_id, $request[ $slug ] );
1029
+ if ( ! empty( $test_value ) ) {
1030
+ $custom_fields[ $details['name'] ] = $test_value;
1031
+ } elseif ( is_null( $test_value ) ) {
1032
+ if ( $details['no_null'] ) {
1033
+ $custom_fields[ $details['name'] ] = NULL;
1034
+ } else {
1035
+ $custom_fields[ $details['name'] ] = '';
1036
+ }
1037
+ }
1038
  }
1039
+ } // foreach
1040
+ }
1041
 
1042
  if ( ! empty( $custom_fields ) ) {
1043
  $new_data[ 'custom_updates' ] = $custom_fields;
1046
  /*
1047
  * Taxonomy Support
1048
  */
1049
+ $tax_inputs = array();
1050
+ $tax_actions = array();
1051
+ self::mla_debug_add( "mla_prepare_bulk_edits( {$post_id} ) tax_input = " . var_export( $request['tax_input'], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1052
+
1053
+ if ( isset( $request['tax_input'] ) && is_array( $request['tax_input'] ) ) {
1054
+ foreach ( $request['tax_input'] as $taxonomy => $terms ) {
1055
+ if ( ! empty( $request['tax_action'] ) ) {
1056
+ $tax_action = $request['tax_action'][ $taxonomy ];
1057
+ } else {
1058
+ $tax_action = 'replace';
 
 
 
 
1059
  }
1060
+
1061
+ self::mla_debug_add( "mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) terms = " . var_export( $terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1062
+
1063
  /*
1064
+ * Ignore empty updates
1065
  */
1066
+ if ( $hierarchical = is_array( $terms ) ) {
1067
+ if ( false !== ( $index = array_search( 0, $terms ) ) ) {
1068
+ unset( $terms[ $index ] );
1069
+ }
1070
+ } else {
1071
+ /*
1072
+ * Parse out individual terms
1073
+ */
1074
+ $comma = _x( ',', 'tag_delimiter', 'media-library-assistant' );
1075
+ if ( ',' !== $comma ) {
1076
+ $tags = str_replace( $comma, ',', $terms );
 
1077
  }
 
1078
 
1079
+ $fragments = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) );
1080
+ $terms = array();
1081
+ foreach( $fragments as $fragment ) {
1082
+ // WordPress encodes special characters, e.g., "&" as HTML entities in term names
1083
+ $fragment = _wp_specialchars( trim( wp_unslash( $fragment ) ) );
1084
+ if ( ! empty( $fragment ) ) {
1085
+ $terms[] = $fragment;
1086
+ }
1087
+ } // foreach fragment
1088
 
1089
+ $terms = array_unique( $terms );
1090
+ }
 
1091
 
1092
+ if ( empty( $terms ) && 'replace' != $tax_action ) {
1093
+ continue;
1094
+ }
 
 
1095
 
1096
+ $post_terms = get_object_term_cache( $post_id, $taxonomy );
1097
+ if ( false === $post_terms ) {
1098
+ $post_terms = wp_get_object_terms( $post_id, $taxonomy );
1099
+ wp_cache_add( $post_id, $post_terms, $taxonomy . '_relationships' );
 
 
1100
  }
 
1101
 
1102
+ $current_terms = array();
1103
+ foreach( $post_terms as $new_term ) {
1104
+ if ( $hierarchical ) {
1105
+ $current_terms[ $new_term->term_id ] = $new_term->term_id;
1106
+ } else {
1107
+ $current_terms[ $new_term->name ] = $new_term->name;
 
1108
  }
1109
  }
1110
+ self::mla_debug_add( "mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) current_terms = " . var_export( $current_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1111
+
1112
+ if ( 'add' == $tax_action ) {
1113
+ /*
1114
+ * Add new terms; remove existing terms
1115
+ */
1116
+ foreach ( $terms as $index => $new_term ) {
1117
+ if ( isset( $current_terms[ $new_term ] ) ) {
1118
+ unset( $terms[ $index ] );
1119
+ }
1120
+ }
1121
 
1122
+ $do_update = ! empty( $terms );
1123
+ } elseif ( 'remove' == $tax_action ) {
1124
+ /*
1125
+ * Remove only the existing terms
1126
+ */
1127
+ foreach ( $terms as $index => $new_term ) {
1128
+ if ( ! isset( $current_terms[ $new_term ] ) ) {
1129
+ unset( $terms[ $index ] );
1130
+ }
1131
  }
 
1132
 
1133
+ $do_update = ! empty( $terms );
1134
+ } else {
1135
+ /*
1136
+ * Replace all terms; if the new terms match the term
1137
+ * cache, we can skip the update
1138
+ */
1139
+ foreach ( $terms as $new_term ) {
1140
+ if ( isset( $current_terms[ $new_term ] ) ) {
1141
+ unset( $current_terms[ $new_term ] );
1142
+ } else {
1143
+ $current_terms[ $new_term ] = $new_term;
1144
+ break; // not a match; stop checking
1145
+ }
1146
  }
1147
+
1148
+ $do_update = ! empty( $current_terms );
1149
  }
1150
 
1151
+ self::mla_debug_add( "mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) do_update = " . var_export( $do_update, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1152
+ self::mla_debug_add( "mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) new terms = " . var_export( $terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1153
 
1154
+ if ( $do_update ) {
1155
+ $tax_inputs[ $taxonomy ] = $terms;
1156
+ $tax_actions[ $taxonomy ] = $tax_action;
1157
+ }
1158
+ } // foreach taxonomy
1159
+ }
1160
 
1161
+ $new_data[ 'tax_input' ] = $tax_inputs;
1162
+ $new_data[ 'tax_action' ] = $tax_actions;
1163
 
1164
  return $new_data;
1165
  }
1190
  }
1191
 
1192
  $request = apply_filters( 'mla_list_table_bulk_action_initial_request', $request, $bulk_action, $custom_field_map );
1193
+ self::mla_debug_add( 'mla_process_bulk_action $request = ' . var_export( $request, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1194
 
1195
  if ( isset( $request['cb_attachment'] ) ) {
1196
  $item_content = apply_filters( 'mla_list_table_begin_bulk_action', NULL, $bulk_action );
1255
  }
1256
 
1257
  $new_data = self::mla_prepare_bulk_edits( $post_id, $request, $custom_field_map );
1258
+ self::mla_debug_add( "mla_process_bulk_action( {$post_id} ) new_data = " . var_export( $new_data, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1259
  $tax_input = $new_data['tax_input'];
1260
+ $tax_action = $new_data['tax_action'];
1261
  unset( $new_data['tax_input'] );
1262
  unset( $new_data['tax_action'] );
1263
 
1264
+ $item_content = MLAData::mla_update_single_item( $post_id, $new_data, $tax_input, $tax_action );
1265
+ self::mla_debug_add( "mla_process_bulk_action( {$post_id} ) item_content = " . var_export( $item_content, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1266
  break;
1267
  case 'restore':
1268
  $item_content = self::_restore_single_item( $post_id );
1337
  unset( $_REQUEST['tax_input'] );
1338
  unset( $_REQUEST['tax_action'] );
1339
 
1340
+ foreach ( MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $details ) {
1341
  unset( $_REQUEST[ $slug ] );
1342
+ }
1343
 
1344
  unset( $_REQUEST['cb_attachment'] );
1345
  }
1359
  return $page_content;
1360
  }
1361
 
1362
+ /**
1363
+ * Clear the Media/Assistant submenu Filter-by variables
1364
+ *
1365
+ * @since 2.13
1366
+ *
1367
+ * @param array $preserves Filters to be retained
1368
+ *
1369
+ * @return void
1370
+ */
1371
+ public static function mla_clear_filter_by( $preserves = array() ) {
1372
+ $filters = array( 'author', 'heading_suffix', 'ids', 'mla-metakey', 'mla-metavalue', 'mla-tax', 'mla-term', 'parent' );
1373
+
1374
+ $filters = apply_filters( 'mla_list_table_clear_filter_by_filters', $filters, $preserves );
1375
+ $preserves = apply_filters( 'mla_list_table_clear_filter_by_preserves', $preserves, $filters );
1376
+
1377
+ foreach ( $filters as $filter ) {
1378
+ if ( ! in_array( $filter, $preserves ) ) {
1379
+ unset( $_REQUEST[ $filter ] );
1380
+ }
1381
+ }
1382
+
1383
+ do_action( 'mla_list_table_clear_filter_by' );
1384
+ }
1385
+
1386
  /**
1387
  * Render the "Assistant" subpage in the Media section, using the list_table package
1388
  *
1407
  $_GET['orderby'] = $_REQUEST['orderby'];
1408
  }
1409
 
1410
+ // bulk_refresh simply refreshes the page, ignoring other bulk actions
1411
+ if ( ! empty( $_REQUEST['bulk_refresh'] ) ) {
1412
+ unset( $_REQUEST['action'] );
1413
+ unset( $_POST['action'] );
1414
+ unset( $_REQUEST['action2'] );
1415
+ unset( $_POST['action2'] );
1416
+ }
1417
+
1418
  $bulk_action = self::_current_bulk_action();
1419
 
1420
  $page_title = MLAOptions::mla_get_option( MLAOptions::MLA_SCREEN_PAGE_TITLE );
1465
  } // $bulk_action
1466
 
1467
  if ( isset( $_REQUEST['clear_filter_by'] ) ) {
1468
+ self::mla_clear_filter_by();
 
 
 
 
 
 
 
1469
  }
1470
 
1471
  /*
1498
  * Process row-level actions that affect a single item
1499
  */
1500
  if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
1501
+ check_admin_referer( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1502
 
1503
  $page_content = apply_filters( 'mla_list_table_single_action', NULL, $_REQUEST['mla_admin_action'], ( isset( $_REQUEST['mla_item_ID'] ) ? $_REQUEST['mla_item_ID'] : 0 ) );
1504
  if ( is_null( $page_content ) ) {
1612
  echo " </p></div>\n"; // id="message"
1613
  }
1614
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1615
  // Create an instance of our package class...
1616
  $MLAListTable = apply_filters( 'mla_list_table_new_instance', NULL );
1617
  if ( is_null( $MLAListTable ) ) {
1690
  public static function mla_find_posts_ajax_action() {
1691
  global $wpdb;
1692
 
1693
+ check_ajax_referer( 'mla_find_posts', MLA::MLA_ADMIN_NONCE_NAME );
1694
 
1695
  $post_types = get_post_types( array( 'public' => true ), 'objects' );
1696
  unset( $post_types['attachment'] );
1777
  * @return void echo HTML <td> innerHTML for updated call or error message, then die()
1778
  */
1779
  public static function mla_set_parent_ajax_action() {
1780
+ check_ajax_referer( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1781
 
1782
  if ( empty( $_REQUEST['post_ID'] ) ) {
1783
  echo __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'No post ID found', 'media-library-assistant' );
1815
  * @return void echo json results or error message, then die()
1816
  */
1817
  private static function _bulk_edit_ajax_handler() {
1818
+ self::mla_debug_add( '_bulk_edit_ajax_handler $_REQUEST = ' . var_export( $_REQUEST, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1819
+
1820
  /*
1821
  * The category taxonomy (edit screens) is a special case because
1822
  * post_categories_meta_box() changes the input name
1860
  public static function mla_inline_edit_ajax_action() {
1861
  set_current_screen( $_REQUEST['screen'] );
1862
 
1863
+ check_ajax_referer( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1864
 
1865
  if ( ! empty( $_REQUEST['bulk_action'] ) ) {
1866
  self::_bulk_edit_ajax_handler();
1881
  * Custom field support
1882
  */
1883
  $custom_fields = array();
1884
+ foreach ( MLAOptions::mla_custom_field_support( 'quick_edit' ) as $slug => $details ) {
1885
  if ( isset( $_REQUEST[ $slug ] ) ) {
1886
+ $value = trim( $_REQUEST[ $slug ] );
1887
  unset ( $_REQUEST[ $slug ] );
1888
+
1889
+ if ( $details['no_null'] && empty( $value ) ) {
1890
+ $custom_fields[ $details['name'] ] = NULL;
1891
+ } else {
1892
+ $custom_fields[ $details['name'] ] = $value;
1893
+ }
1894
+ }
1895
  }
1896
 
1897
  if ( ! empty( $custom_fields ) ) {
2063
  $page_values = array(
2064
  'mla_set_parent_url' => esc_url( add_query_arg( array_merge( MLA_List_Table::mla_submenu_arguments( false ), array( 'page' => MLA::ADMIN_PAGE_SLUG ) ), admin_url( 'upload.php' ) ) ),
2065
  'mla_set_parent_action' => self::MLA_ADMIN_SET_PARENT,
2066
+ 'wpnonce' => wp_nonce_field( self::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2067
  'mla_set_parent_div' => $set_parent_div,
2068
  );
2069
 
2113
  }
2114
 
2115
  $custom_fields = '';
2116
+ foreach ( MLAOptions::mla_custom_field_support( 'quick_edit' ) as $slug => $details ) {
2117
  $page_values = array(
2118
  'slug' => $slug,
2119
+ 'label' => esc_attr( $details['name'] ),
2120
  );
2121
  $custom_fields .= MLAData::mla_parse_template( $page_template_array['custom_field'], $page_values );
2122
  }
2215
  }
2216
 
2217
  $bulk_custom_fields = '';
2218
+ foreach ( MLAOptions::mla_custom_field_support( 'bulk_edit' ) as $slug => $details ) {
2219
  $page_values = array(
2220
  'slug' => $slug,
2221
+ 'label' => esc_attr( $details['name'] ),
2222
  );
2223
  $bulk_custom_fields .= MLAData::mla_parse_template( $page_template_array['custom_field'], $page_values );
2224
  }
2484
  if ( 'array' == $format ) {
2485
  return self::$mla_debug_messages;
2486
  }
2487
+
2488
  // format == 'string'
2489
  if ( '<p>' == $glue ) {
2490
  return '<p>' . implode( '</p><p>', self::$mla_debug_messages ) . '</p>';
2505
  */
2506
  public static function mla_debug_flush( $destination = 'buffer', $stop_collecting = true ) {
2507
  $results = '';
2508
+
2509
  switch ( $destination ) {
2510
  case 'buffer':
2511
  $results = self::mla_debug_content();
2521
  }
2522
  break;
2523
  }
2524
+
2525
  self::$mla_debug_messages = array();
2526
+
2527
  if ( $stop_collecting ) {
2528
  self::$mla_debug_mode = 'none';
2529
  }
2531
  return $results;
2532
  }
2533
 
2534
+ /**
2535
+ * Constant to log Ajax debug activity
2536
+ *
2537
+ * @since 2.13
2538
+ *
2539
+ * @var integer
2540
+ */
2541
+ CONST MLA_DEBUG_CATEGORY_AJAX = 0x00000002;
2542
+
2543
  /**
2544
  * Add a debug message to the collection
2545
  *
2546
  * @since 2.12
2547
  *
2548
  * @param string $message Message text
2549
+ * @param integer $debug_level Optional. Debug category.
2550
  */
2551
+ public static function mla_debug_add( $message, $debug_level = NULL ) {
2552
+ $mode = self::$mla_debug_mode;
2553
+
2554
+ if ( NULL != $debug_level ) {
2555
+ if ( ( 0 == ( MLA_DEBUG_LEVEL & 1 ) ) || ( 0 == ( MLA_DEBUG_LEVEL & $debug_level ) ) ) {
2556
+ return;
2557
+ }
2558
+
2559
+ if ( 'none' == self::$mla_debug_mode ) {
2560
+ $mode = 'log';
2561
+ }
2562
+ }
2563
+
2564
+ switch ( $mode ) {
2565
  case 'buffer':
2566
  self::$mla_debug_messages[] = $message;
2567
  break;
includes/class-mla-media-modal.php CHANGED
@@ -413,7 +413,7 @@ class MLAModal {
413
  }
414
 
415
  self::$mla_media_modal_settings['comma'] = _x( ',', 'tag_delimiter', 'media-library-assistant' );
416
- self::$mla_media_modal_settings['ajaxNonce'] = wp_create_nonce( MLA::MLA_ADMIN_NONCE );
417
  self::$mla_media_modal_settings['mimeTypes'] = MLAMime::mla_pluck_table_views();
418
  self::$mla_media_modal_settings['mimeTypes']['detached'] = MLAOptions::$mla_option_definitions[ MLAOptions::MLA_POST_MIME_TYPES ]['std']['detached']['plural'];
419
  self::$mla_media_modal_settings['mimeTypes']['attached'] = MLAOptions::$mla_option_definitions[ MLAOptions::MLA_POST_MIME_TYPES ]['std']['attached']['plural'];
@@ -443,9 +443,13 @@ class MLAModal {
443
  self::$mla_media_modal_settings['enableMonthsDropdown'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_MONTHS ) );
444
  self::$mla_media_modal_settings['enableSearchBox'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_SEARCHBOX ) );
445
  self::$mla_media_modal_settings['enableSearchBoxControls'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_SEARCHBOX_CONTROLS ) );
446
- self::$mla_media_modal_settings['enableTermsDropdown'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_TERMS ) );
447
- self::$mla_media_modal_settings['enableTermsSearch'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_TERMS_SEARCH ) );
448
- self::$mla_media_modal_settings['enableTermsAutofill'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_DETAILS_AUTOFILL ) );
 
 
 
 
449
 
450
  /*
451
  * Compile a list of the enhanced taxonomies
@@ -488,6 +492,15 @@ class MLAModal {
488
 
489
  $initial_values = apply_filters( 'mla_media_modal_initial_filters', $initial_values, $post );
490
 
 
 
 
 
 
 
 
 
 
491
  /*
492
  * Except for filterMime/post_mime_type, these will be passed
493
  * back to the server in the query['s'] field.
@@ -593,7 +606,7 @@ class MLAModal {
593
 
594
  // Include mla javascript templates
595
  $template_path = apply_filters( 'mla_media_modal_template_path', MLA_PLUGIN_PATH . 'includes/mla-media-modal-js-template.php', $screen);
596
-
597
  if ( ! empty( $template_path ) ) {
598
  require_once $template_path;
599
  }
@@ -929,24 +942,24 @@ class MLAModal {
929
  */
930
  public static function mla_update_compat_fields_action() {
931
  global $post;
932
-
933
  if ( empty( $_REQUEST['id'] ) || ! $post_id = absint( $_REQUEST['id'] ) ) {
934
  wp_send_json_error();
935
  }
936
-
937
  if ( empty( $post ) ) {
938
  $post = get_post( $post_id ); // for filters and wp_popular_terms_checklist
939
  }
940
 
941
  do_action( 'mla_media_modal_begin_update_compat_fields', $post );
942
-
943
  $taxonomies = array();
944
  $results = array();
945
 
946
  foreach ( get_taxonomies( array ( 'show_ui' => true ), 'objects' ) as $key => $value ) {
947
  if ( isset( $_REQUEST[ $key ] ) && MLAOptions::mla_taxonomy_support( $key ) ) {
948
  $taxonomies[ $key ] = $value;
949
-
950
  if ( ! $use_checklist = $value->hierarchical ) {
951
  $use_checklist = MLAOptions::mla_taxonomy_support( $key, 'flat-checklist' );
952
  }
@@ -958,12 +971,12 @@ class MLAModal {
958
  }
959
 
960
  $terms = apply_filters( 'mla_media_modal_update_compat_fields_terms', $terms, $key, $value, $post_id );
961
-
962
  if ( is_array( $terms ) ) {
963
  wp_set_object_terms( $post_id, $terms, $key, false );
964
  delete_transient( MLA_OPTION_PREFIX . 't_term_counts_' . $key );
965
  }
966
-
967
  if ( $use_checklist ) {
968
  ob_start();
969
  $popular_ids = wp_popular_terms_checklist( $key );
@@ -1000,7 +1013,7 @@ class MLAModal {
1000
 
1001
  sort( $list );
1002
  $hidden_list = join( ',', $list );
1003
-
1004
  $results[$key]["object-terms"] = $object_terms;
1005
  $results[$key]["mla-attachments-{$post_id}-{$key}"] = "\t\t<input name='attachments[{$post_id}][{$key}]' class='the-tags' id='mla-attachments-{$post_id}-{$key}' type='hidden' value='{$hidden_list}'>\n";
1006
  $results[$key]["mla-tags-{$post_id}-{$key}"] = "\t\t<input name='mla_tags[{$post_id}][{$key}]' class='server-tags' id='mla-tags-{$post_id}-{$key}' type='hidden' value='{$hidden_list}'>\n";
@@ -1265,7 +1278,7 @@ class MLAModal {
1265
  $page_values = array(
1266
  'mla_terms_search_url' => esc_url( add_query_arg( array_merge( MLA_List_Table::mla_submenu_arguments( false ), array( 'page' => MLA::ADMIN_PAGE_SLUG ) ), admin_url( 'upload.php' ) ) ),
1267
  'mla_terms_search_action' => MLA::MLA_ADMIN_TERMS_SEARCH,
1268
- 'wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1269
  'mla_terms_search_div' => $terms_search_tpl,
1270
  );
1271
  $terms_search_tpl = MLAData::mla_parse_template( $page_template_array['mla-terms-search-form'], $page_values );
413
  }
414
 
415
  self::$mla_media_modal_settings['comma'] = _x( ',', 'tag_delimiter', 'media-library-assistant' );
416
+ self::$mla_media_modal_settings['ajaxNonce'] = wp_create_nonce( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
417
  self::$mla_media_modal_settings['mimeTypes'] = MLAMime::mla_pluck_table_views();
418
  self::$mla_media_modal_settings['mimeTypes']['detached'] = MLAOptions::$mla_option_definitions[ MLAOptions::MLA_POST_MIME_TYPES ]['std']['detached']['plural'];
419
  self::$mla_media_modal_settings['mimeTypes']['attached'] = MLAOptions::$mla_option_definitions[ MLAOptions::MLA_POST_MIME_TYPES ]['std']['attached']['plural'];
443
  self::$mla_media_modal_settings['enableMonthsDropdown'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_MONTHS ) );
444
  self::$mla_media_modal_settings['enableSearchBox'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_SEARCHBOX ) );
445
  self::$mla_media_modal_settings['enableSearchBoxControls'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_SEARCHBOX_CONTROLS ) );
446
+
447
+ $supported_taxonomies = MLAOptions::mla_supported_taxonomies('support');
448
+ self::$mla_media_modal_settings['enableTermsDropdown'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_TERMS ) ) && ( ! empty( $supported_taxonomies ) );
449
+ self::$mla_media_modal_settings['enableTermsAutofill'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_DETAILS_AUTOFILL ) ) && ( ! empty( $supported_taxonomies ) );
450
+
451
+ $supported_taxonomies = MLAOptions::mla_supported_taxonomies('term-search');
452
+ self::$mla_media_modal_settings['enableTermsSearch'] = ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_MEDIA_MODAL_TERMS_SEARCH ) ) && ( ! empty( $supported_taxonomies ) );
453
 
454
  /*
455
  * Compile a list of the enhanced taxonomies
492
 
493
  $initial_values = apply_filters( 'mla_media_modal_initial_filters', $initial_values, $post );
494
 
495
+ // No supported taxonomies implies no "terms" search
496
+ $supported_taxonomies = MLAOptions::mla_supported_taxonomies('support');
497
+ if ( empty( $supported_taxonomies ) ) {
498
+ $index = array_search( 'terms', $initial_values['searchFields'] );
499
+ if ( false !== $index ) {
500
+ unset( $initial_values['searchFields'][ $index ] );
501
+ }
502
+ }
503
+
504
  /*
505
  * Except for filterMime/post_mime_type, these will be passed
506
  * back to the server in the query['s'] field.
606
 
607
  // Include mla javascript templates
608
  $template_path = apply_filters( 'mla_media_modal_template_path', MLA_PLUGIN_PATH . 'includes/mla-media-modal-js-template.php', $screen);
609
+
610
  if ( ! empty( $template_path ) ) {
611
  require_once $template_path;
612
  }
942
  */
943
  public static function mla_update_compat_fields_action() {
944
  global $post;
945
+
946
  if ( empty( $_REQUEST['id'] ) || ! $post_id = absint( $_REQUEST['id'] ) ) {
947
  wp_send_json_error();
948
  }
949
+
950
  if ( empty( $post ) ) {
951
  $post = get_post( $post_id ); // for filters and wp_popular_terms_checklist
952
  }
953
 
954
  do_action( 'mla_media_modal_begin_update_compat_fields', $post );
955
+
956
  $taxonomies = array();
957
  $results = array();
958
 
959
  foreach ( get_taxonomies( array ( 'show_ui' => true ), 'objects' ) as $key => $value ) {
960
  if ( isset( $_REQUEST[ $key ] ) && MLAOptions::mla_taxonomy_support( $key ) ) {
961
  $taxonomies[ $key ] = $value;
962
+
963
  if ( ! $use_checklist = $value->hierarchical ) {
964
  $use_checklist = MLAOptions::mla_taxonomy_support( $key, 'flat-checklist' );
965
  }
971
  }
972
 
973
  $terms = apply_filters( 'mla_media_modal_update_compat_fields_terms', $terms, $key, $value, $post_id );
974
+
975
  if ( is_array( $terms ) ) {
976
  wp_set_object_terms( $post_id, $terms, $key, false );
977
  delete_transient( MLA_OPTION_PREFIX . 't_term_counts_' . $key );
978
  }
979
+
980
  if ( $use_checklist ) {
981
  ob_start();
982
  $popular_ids = wp_popular_terms_checklist( $key );
1013
 
1014
  sort( $list );
1015
  $hidden_list = join( ',', $list );
1016
+
1017
  $results[$key]["object-terms"] = $object_terms;
1018
  $results[$key]["mla-attachments-{$post_id}-{$key}"] = "\t\t<input name='attachments[{$post_id}][{$key}]' class='the-tags' id='mla-attachments-{$post_id}-{$key}' type='hidden' value='{$hidden_list}'>\n";
1019
  $results[$key]["mla-tags-{$post_id}-{$key}"] = "\t\t<input name='mla_tags[{$post_id}][{$key}]' class='server-tags' id='mla-tags-{$post_id}-{$key}' type='hidden' value='{$hidden_list}'>\n";
1278
  $page_values = array(
1279
  'mla_terms_search_url' => esc_url( add_query_arg( array_merge( MLA_List_Table::mla_submenu_arguments( false ), array( 'page' => MLA::ADMIN_PAGE_SLUG ) ), admin_url( 'upload.php' ) ) ),
1280
  'mla_terms_search_action' => MLA::MLA_ADMIN_TERMS_SEARCH,
1281
+ 'wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1282
  'mla_terms_search_div' => $terms_search_tpl,
1283
  );
1284
  $terms_search_tpl = MLAData::mla_parse_template( $page_template_array['mla-terms-search-form'], $page_values );
includes/class-mla-mime-types.php CHANGED
@@ -863,11 +863,15 @@ class MLAMime {
863
  *
864
  * @since 1.40
865
  *
866
- * @param string A specification, e.g., "custom:Field,null" or "audio,application/vnd.*ms*"
867
  *
868
  * @return array ( ['prefix'] => string, ['name'] => string, ['value'] => string, ['option'] => string, optional ['error'] => string )
869
  */
870
  public static function mla_parse_view_specification( $specification ) {
 
 
 
 
871
  $result = array( 'prefix' => '', 'name' => '', 'value' => '', 'option' => '' );
872
  $match_count = preg_match( '/^(.+):(.+)/', $specification, $matches );
873
  if ( 1 == $match_count ) {
863
  *
864
  * @since 1.40
865
  *
866
+ * @param string|array A specification, e.g., "custom:Field,null" or "audio,application/vnd.*ms*"
867
  *
868
  * @return array ( ['prefix'] => string, ['name'] => string, ['value'] => string, ['option'] => string, optional ['error'] => string )
869
  */
870
  public static function mla_parse_view_specification( $specification ) {
871
+ if ( is_array( $specification ) ) {
872
+ $specification = @implode( ',', $specification );
873
+ }
874
+
875
  $result = array( 'prefix' => '', 'name' => '', 'value' => '', 'option' => '' );
876
  $match_count = preg_match( '/^(.+):(.+)/', $specification, $matches );
877
  if ( 1 == $match_count ) {
includes/class-mla-objects.php CHANGED
@@ -159,7 +159,7 @@ class MLAObjects {
159
  /*
160
  * Adding or inline-editing a tag is done with AJAX, and there's no current screen object
161
  */
162
- if ( isset( $_POST['action'] ) && in_array( $_POST['action'], array( 'add-tag', 'inline-save-tax' ) ) ) {
163
  $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
164
  } else {
165
  $screen = get_current_screen();
159
  /*
160
  * Adding or inline-editing a tag is done with AJAX, and there's no current screen object
161
  */
162
+ if ( defined('DOING_AJAX') && DOING_AJAX ) {
163
  $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
164
  } else {
165
  $screen = get_current_screen();
includes/class-mla-options.php CHANGED
@@ -960,12 +960,17 @@ class MLAOptions {
960
  'size' => 10,
961
  'help' => __( 'Enter the CSS "width" property value, in length (px, em, pt, etc.), percent (%), "auto" or "inherit".<br>&nbsp;&nbsp;Enter "calculate" (the default) to calculate the value taking the "margin" value into account.<br>&nbsp;&nbsp;Enter "exact" to calculate the value without considering the "margin" value.<br>&nbsp;&nbsp;Enter "none" to remove the property entirely.', 'media-library-assistant' )),
962
 
 
 
 
 
 
963
  'enable_mla_viewer' =>
964
  array('tab' => 'mla_gallery',
965
  'name' => __( 'Enable thumbnail substitution', 'media-library-assistant' ),
966
  'type' => 'checkbox',
967
  'std' => 'checked',
968
- 'help' => __( 'Check this option to allow the "mla_viewer" to generate thumbnail images for PDF documents. Thumbnails are generated dynamically, each time the item appears in an [mla_gallery] display.<br>&nbsp;&nbsp;<strong>IMPORTANT: both Ghostscript and Imagick/Imagemagick must be installed for this feature.</strong>', 'media-library-assistant' )),
969
 
970
  'enable_featured_image' =>
971
  array('tab' => 'mla_gallery',
@@ -974,12 +979,19 @@ class MLAOptions {
974
  'std' => 'checked',
975
  'help' => __( 'Check this option to extend Featured Image support to all Media Library items. The Featured Image can be used as a thumbnail image for the item in an [mla_gallery] display.', 'media-library-assistant' )),
976
 
 
 
 
 
 
 
 
977
  'enable_ghostscript_check' =>
978
  array('tab' => 'mla_gallery',
979
  'name' => __( 'Enable explicit Ghostscript check', 'media-library-assistant' ),
980
  'type' => 'checkbox',
981
  'std' => 'checked',
982
- 'help' => __( 'Check this option to enable the explicit check for Ghostscript support required for thumbnail generation. If your Ghostscript software is in a non-standard location, unchecking this option bypasses the check. Bad things can happen if Ghostscript is missing but Imagick/Imagemagick is present, so leave this option checked unless you know it is safe to turn it off.', 'media-library-assistant' )),
983
 
984
  'ghostscript_path' =>
985
  array('tab' => 'mla_gallery',
@@ -1254,7 +1266,7 @@ class MLAOptions {
1254
  'type' => 'text',
1255
  'std' => '',
1256
  'size' => 5,
1257
- 'help' => __( 'Enter the maximum number of debug log characters to display; enter zero for no limit.', 'media-library-assistant' )),
1258
 
1259
  /* Here are examples of the other option types
1260
  'textarea' =>
@@ -2252,12 +2264,12 @@ class MLAOptions {
2252
  break;
2253
  case 'quick_edit':
2254
  if ( $value['quick_edit'] ) {
2255
- $results[ $slug ] = $value['name'];
2256
  }
2257
  break;
2258
  case 'bulk_edit':
2259
  if ( $value['bulk_edit'] ) {
2260
- $results[ $slug ] = $value['name'];
2261
  }
2262
  break;
2263
  } // switch support_type
@@ -2613,7 +2625,7 @@ class MLAOptions {
2613
  $result = MLAData::mla_find_array_element( $data_value['meta_name'], $attachment_metadata, $data_value['option'], $data_value['keep_existing'] );
2614
  break;
2615
  case 'template':
2616
- if ( in_array( $data_value['option'], array ( 'export', 'array', 'multi' ) ) ) {
2617
  $default_option = 'array';
2618
  } else {
2619
  $default_option = 'text';
@@ -3049,7 +3061,7 @@ class MLAOptions {
3049
  } else {
3050
  $old_text = '';
3051
  }
3052
- } else {
3053
  if ( is_string( $old_text = get_metadata( 'post', $post_id, $setting_value['name'], true ) ) ) {
3054
  $old_text = trim( $old_text );
3055
  }
@@ -3058,7 +3070,7 @@ class MLAOptions {
3058
  if ( ( ' ' != $new_text ) && empty( $old_text ) ) {
3059
  $custom_updates[ $setting_value['name'] ] = $new_text;
3060
  }
3061
- } else {
3062
  if ( ' ' == $new_text && $setting_value['no_null'] ) {
3063
  $new_text = NULL;
3064
  }
@@ -3533,6 +3545,8 @@ class MLAOptions {
3533
  foreach ( $sorted_keys as $row_name ) {
3534
  $current_value = $current_values[ $row_name ];
3535
  $row_values = array (
 
 
3536
  'index' => $index++,
3537
  'key' => esc_attr( $row_name ),
3538
  'name_attr' => esc_attr( $row_name ),
@@ -3551,10 +3565,8 @@ class MLAOptions {
3551
  'mla_column_checked' => '',
3552
  'quick_edit_checked' => '',
3553
  'bulk_edit_checked' => '',
3554
- 'column_count' => 7,
3555
  'meta_name_size' => 30,
3556
  'meta_name' => esc_attr( $current_value['meta_name'] ),
3557
- 'column_count_meta' => (7 - 2),
3558
  'Option' => __( 'Option', 'media-library-assistant' ),
3559
  'text_option' => '',
3560
  'Text' => __( 'Text', 'media-library-assistant' ),
@@ -3581,9 +3593,6 @@ class MLAOptions {
3581
  }
3582
 
3583
  switch( $current_value['format'] ) {
3584
- case 'native':
3585
- $row_values['native_format'] = 'selected="selected"';
3586
- break;
3587
  case 'commas':
3588
  $row_values['commas_format'] = 'selected="selected"';
3589
  break;
@@ -3637,6 +3646,7 @@ class MLAOptions {
3637
  $row_template = self::$mla_option_templates['custom-field-new-rule-row'];
3638
  $row_values = array (
3639
  'column_count' => 7,
 
3640
  'Add new Rule' => __( 'Add a new Mapping Rule', 'media-library-assistant' ),
3641
  'index' => self::MLA_NEW_CUSTOM_RULE,
3642
  'field_name_options' => self::_compose_custom_field_option_list( 'none', $current_values ),
@@ -3656,7 +3666,6 @@ class MLAOptions {
3656
  'bulk_edit_checked' => '',
3657
  'meta_name_size' => 30,
3658
  'meta_name' => '',
3659
- 'column_count_meta' => (7 - 2),
3660
  'Option' => __( 'Option', 'media-library-assistant' ),
3661
  'text_option' => '',
3662
  'Text' => __( 'Text', 'media-library-assistant' ),
@@ -3681,6 +3690,7 @@ class MLAOptions {
3681
  $row_template = self::$mla_option_templates['custom-field-new-field-row'];
3682
  $row_values = array (
3683
  'column_count' => 7,
 
3684
  'Add new Field' => __( 'Add a new Field and Mapping Rule', 'media-library-assistant' ),
3685
  'index' => self::MLA_NEW_CUSTOM_FIELD,
3686
  'field_name_size' => '24',
@@ -3700,7 +3710,6 @@ class MLAOptions {
3700
  'bulk_edit_checked' => '',
3701
  'meta_name_size' => 30,
3702
  'meta_name' => '',
3703
- 'column_count_meta' => (7 - 2),
3704
  'Option' => __( 'Option', 'media-library-assistant' ),
3705
  'text_option' => '',
3706
  'Text' => __( 'Text', 'media-library-assistant' ),
@@ -3833,6 +3842,8 @@ class MLAOptions {
3833
  $image_metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
3834
  $updates = array();
3835
  $update_all = ( 'iptc_exif_mapping' == $category );
 
 
3836
  if ( NULL == $settings ) {
3837
  $settings = self::mla_get_option( 'iptc_exif_mapping' );
3838
  }
@@ -3865,7 +3876,7 @@ class MLAOptions {
3865
  'format' => 'native',
3866
  'option' => 'text' );
3867
 
3868
- $exif_value = self::_evaluate_data_source( $post->ID, 'single_attachment_mapping', $data_value, $attachment_metadata );
3869
  if ( ' ' == $exif_value ) {
3870
  $exif_value = '';
3871
  }
@@ -3973,7 +3984,7 @@ class MLAOptions {
3973
  'format' => 'native',
3974
  'option' => 'array' );
3975
 
3976
- $exif_value = self::_evaluate_data_source( $post->ID, 'single_attachment_mapping', $data_value, $attachment_metadata );
3977
  if ( ' ' == $exif_value ) {
3978
  $exif_value = '';
3979
  }
@@ -4103,14 +4114,19 @@ class MLAOptions {
4103
  }
4104
  } // foreach new setting
4105
 
4106
- if ( ! empty( $tax_inputs ) ) {
4107
- $updates['taxonomy_updates'] = array ( 'inputs' => $tax_inputs, 'actions' => $tax_actions );
4108
- }
4109
  } // update taxonomy term mappings
4110
 
4111
  if ( $update_all || ( 'iptc_exif_custom_mapping' == $category ) ) {
4112
  $custom_updates = array();
4113
  foreach ( $settings['custom'] as $setting_key => $setting_value ) {
 
 
 
 
 
4114
  $setting_name = $setting_value['name'];
4115
  $setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
4116
  if ( NULL === $setting_value ) {
@@ -4120,26 +4136,41 @@ class MLAOptions {
4120
  if ( 'none' == $setting_value['iptc_value'] ) {
4121
  $iptc_value = '';
4122
  } else {
4123
- $iptc_value = MLAData::mla_iptc_metadata_value( $setting_value['iptc_value'], $image_metadata );
 
 
 
 
 
 
 
 
 
 
 
4124
  }
4125
 
4126
  $iptc_value = apply_filters( 'mla_mapping_iptc_value', $iptc_value, $setting_key, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
4127
 
4128
- if ( 'template:' == substr( $setting_value['exif_value'], 0, 9 ) ) {
 
4129
  $data_value = array(
4130
  'name' => $setting_key,
4131
  'data_source' => 'template',
4132
- 'meta_name' => substr( $setting_value['exif_value'], 9 ),
4133
  'keep_existing' => $setting_value['keep_existing'],
4134
- 'format' => 'native',
4135
- 'option' => 'text' );
4136
 
4137
- $exif_value = self::_evaluate_data_source( $post->ID, 'single_attachment_mapping', $data_value, $attachment_metadata );
 
 
 
 
 
 
4138
  if ( ' ' == $exif_value ) {
4139
  $exif_value = '';
4140
  }
4141
- } else {
4142
- $exif_value = MLAData::mla_exif_metadata_value( $setting_value['exif_value'], $image_metadata );
4143
  }
4144
 
4145
  $exif_value = apply_filters( 'mla_mapping_exif_value', $exif_value, $setting_key, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
@@ -4158,10 +4189,6 @@ class MLAOptions {
4158
  }
4159
  }
4160
 
4161
- if ( is_array( $new_text ) ) {
4162
- $new_text = implode( ',', $new_text );
4163
- }
4164
-
4165
  if ( $setting_value['keep_existing'] ) {
4166
  if ( 'meta:' == substr( $setting_name, 0, 5 ) ) {
4167
  $meta_key = substr( $setting_name, 5 );
@@ -4184,8 +4211,11 @@ class MLAOptions {
4184
  if ( ( ! empty( $new_text ) ) && empty( $old_value ) ) {
4185
  $custom_updates[ $setting_name ] = $new_text;
4186
  }
4187
- } // keep_existing
4188
- else {
 
 
 
4189
  $custom_updates[ $setting_name ] = $new_text;
4190
  }
4191
  } // foreach new setting
@@ -4550,7 +4580,10 @@ class MLAOptions {
4550
  'iptc_value' => 'none',
4551
  'exif_value' => '',
4552
  'iptc_first' => true,
4553
- 'keep_existing' => true
 
 
 
4554
  );
4555
  }
4556
 
@@ -4607,6 +4640,34 @@ class MLAOptions {
4607
  $old_values['keep_existing'] = $boolean_value;
4608
  }
4609
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4610
  if ( $any_setting_changed ) {
4611
  $settings_changed = true;
4612
  $current_values['custom'][ $new_key ] = $old_values;
@@ -4861,6 +4922,7 @@ class MLAOptions {
4861
  $current_value = $current_values['custom'][ $row_name ];
4862
  $row_values = array (
4863
  'column_count' => 5,
 
4864
  'index' => $index++,
4865
  'key' => esc_attr( $row_name ),
4866
  'name_attr' => esc_attr( $current_value['name'] ),
@@ -4876,6 +4938,26 @@ class MLAOptions {
4876
  'Keep' => __( 'Keep', 'media-library-assistant' ),
4877
  'replace_selected' => '',
4878
  'Replace' => __( 'Replace', 'media-library-assistant' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4879
  'Delete Rule' => __( 'Delete Rule', 'media-library-assistant' ),
4880
  'Delete Field' => __( 'Delete Rule AND Field', 'media-library-assistant' ),
4881
  'Update Rule' => __( 'Update Rule', 'media-library-assistant' ),
@@ -4894,6 +4976,38 @@ class MLAOptions {
4894
  $row_values['replace_selected'] = 'selected="selected"';
4895
  }
4896
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4897
  $table_rows .= MLAData::mla_parse_template( $row_template, $row_values );
4898
  } // foreach current_values key
4899
  } // foreach sorted_name
@@ -4904,6 +5018,7 @@ class MLAOptions {
4904
  $row_template = self::$mla_option_templates['iptc-exif-custom-new-rule-row'];
4905
  $row_values = array (
4906
  'column_count' => 5 ,
 
4907
  'Add new Rule' => __( 'Add a new Mapping Rule', 'media-library-assistant' ),
4908
  'index' => self::MLA_NEW_CUSTOM_RULE,
4909
  'field_name_options' => self::_compose_custom_field_option_list( 'none', $current_values['custom'] ),
@@ -4918,6 +5033,26 @@ class MLAOptions {
4918
  'Keep' => __( 'Keep', 'media-library-assistant' ),
4919
  'replace_selected' => '',
4920
  'Replace' => __( 'Replace', 'media-library-assistant' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4921
  'Add Rule' => __( 'Add Rule', 'media-library-assistant' ),
4922
  'Map All Attachments' => __( 'Add Rule and Map All Attachments', 'media-library-assistant' ),
4923
  );
@@ -4929,6 +5064,7 @@ class MLAOptions {
4929
  $row_template = self::$mla_option_templates['iptc-exif-custom-new-field-row'];
4930
  $row_values = array (
4931
  'column_count' => 5 ,
 
4932
  'Add new Field' => __( 'Add a new Field and Mapping Rule', 'media-library-assistant' ),
4933
  'index' => self::MLA_NEW_CUSTOM_FIELD,
4934
  'field_name_size' => '24',
@@ -4943,6 +5079,26 @@ class MLAOptions {
4943
  'Keep' => __( 'Keep', 'media-library-assistant' ),
4944
  'replace_selected' => '',
4945
  'Replace' => __( 'Replace', 'media-library-assistant' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4946
  'Add Field' => __( 'Add Field', 'media-library-assistant' ),
4947
  'Map All Attachments' => __( 'Add Field and Map All Attachments', 'media-library-assistant' ),
4948
  );
960
  'size' => 10,
961
  'help' => __( 'Enter the CSS "width" property value, in length (px, em, pt, etc.), percent (%), "auto" or "inherit".<br>&nbsp;&nbsp;Enter "calculate" (the default) to calculate the value taking the "margin" value into account.<br>&nbsp;&nbsp;Enter "exact" to calculate the value without considering the "margin" value.<br>&nbsp;&nbsp;Enter "none" to remove the property entirely.', 'media-library-assistant' )),
962
 
963
+ 'mal_viewer_header' =>
964
+ array('tab' => 'mla_gallery',
965
+ 'name' => __( 'Thumbnail Substitution Support, mla_viewer', 'media-library-assistant' ),
966
+ 'type' => 'subheader'),
967
+
968
  'enable_mla_viewer' =>
969
  array('tab' => 'mla_gallery',
970
  'name' => __( 'Enable thumbnail substitution', 'media-library-assistant' ),
971
  'type' => 'checkbox',
972
  'std' => 'checked',
973
+ 'help' => __( 'Check this option to allow the "mla_viewer" to generate thumbnail images for PDF documents. Thumbnails are generated dynamically, each time the item appears in an [mla_gallery] display.<br>&nbsp;&nbsp;<strong>IMPORTANT: both Ghostscript and Imagick/ImageMagick must be installed for this feature.</strong>', 'media-library-assistant' )),
974
 
975
  'enable_featured_image' =>
976
  array('tab' => 'mla_gallery',
979
  'std' => 'checked',
980
  'help' => __( 'Check this option to extend Featured Image support to all Media Library items. The Featured Image can be used as a thumbnail image for the item in an [mla_gallery] display.', 'media-library-assistant' )),
981
 
982
+ 'enable_featured_image_generation' =>
983
+ array('tab' => 'mla_gallery',
984
+ 'name' => __( 'Enable Featured Image Generation', 'media-library-assistant' ),
985
+ 'type' => 'checkbox',
986
+ 'std' => 'checked',
987
+ 'help' => __( 'Check this option to enable the "Thumbnail" generation action in the Media/Assistant submenu Bulk Actions dropdown.', 'media-library-assistant' )),
988
+
989
  'enable_ghostscript_check' =>
990
  array('tab' => 'mla_gallery',
991
  'name' => __( 'Enable explicit Ghostscript check', 'media-library-assistant' ),
992
  'type' => 'checkbox',
993
  'std' => 'checked',
994
+ 'help' => __( 'Check this option to enable the explicit check for Ghostscript support required for thumbnail generation. If your Ghostscript software is in a non-standard location, unchecking this option bypasses the check. Bad things can happen if Ghostscript is missing but Imagick/ImageMagick is present, so leave this option checked unless you know it is safe to turn it off.', 'media-library-assistant' )),
995
 
996
  'ghostscript_path' =>
997
  array('tab' => 'mla_gallery',
1266
  'type' => 'text',
1267
  'std' => '',
1268
  'size' => 5,
1269
+ 'help' => __( 'Enter the maximum number of debug log characters to display; enter zero or leave blank for no limit.', 'media-library-assistant' )),
1270
 
1271
  /* Here are examples of the other option types
1272
  'textarea' =>
2264
  break;
2265
  case 'quick_edit':
2266
  if ( $value['quick_edit'] ) {
2267
+ $results[ $slug ] = $value;
2268
  }
2269
  break;
2270
  case 'bulk_edit':
2271
  if ( $value['bulk_edit'] ) {
2272
+ $results[ $slug ] = $value;
2273
  }
2274
  break;
2275
  } // switch support_type
2625
  $result = MLAData::mla_find_array_element( $data_value['meta_name'], $attachment_metadata, $data_value['option'], $data_value['keep_existing'] );
2626
  break;
2627
  case 'template':
2628
+ if ( in_array( $data_value['option'], array ( 'single', 'export', 'array', 'multi' ) ) ) {
2629
  $default_option = 'array';
2630
  } else {
2631
  $default_option = 'text';
3061
  } else {
3062
  $old_text = '';
3063
  }
3064
+ } else { // } meta:
3065
  if ( is_string( $old_text = get_metadata( 'post', $post_id, $setting_value['name'], true ) ) ) {
3066
  $old_text = trim( $old_text );
3067
  }
3070
  if ( ( ' ' != $new_text ) && empty( $old_text ) ) {
3071
  $custom_updates[ $setting_value['name'] ] = $new_text;
3072
  }
3073
+ } else { // } keep_existing
3074
  if ( ' ' == $new_text && $setting_value['no_null'] ) {
3075
  $new_text = NULL;
3076
  }
3545
  foreach ( $sorted_keys as $row_name ) {
3546
  $current_value = $current_values[ $row_name ];
3547
  $row_values = array (
3548
+ 'column_count' => 7,
3549
+ 'column_count_meta' => (7 - 2),
3550
  'index' => $index++,
3551
  'key' => esc_attr( $row_name ),
3552
  'name_attr' => esc_attr( $row_name ),
3565
  'mla_column_checked' => '',
3566
  'quick_edit_checked' => '',
3567
  'bulk_edit_checked' => '',
 
3568
  'meta_name_size' => 30,
3569
  'meta_name' => esc_attr( $current_value['meta_name'] ),
 
3570
  'Option' => __( 'Option', 'media-library-assistant' ),
3571
  'text_option' => '',
3572
  'Text' => __( 'Text', 'media-library-assistant' ),
3593
  }
3594
 
3595
  switch( $current_value['format'] ) {
 
 
 
3596
  case 'commas':
3597
  $row_values['commas_format'] = 'selected="selected"';
3598
  break;
3646
  $row_template = self::$mla_option_templates['custom-field-new-rule-row'];
3647
  $row_values = array (
3648
  'column_count' => 7,
3649
+ 'column_count_meta' => (7 - 2),
3650
  'Add new Rule' => __( 'Add a new Mapping Rule', 'media-library-assistant' ),
3651
  'index' => self::MLA_NEW_CUSTOM_RULE,
3652
  'field_name_options' => self::_compose_custom_field_option_list( 'none', $current_values ),
3666
  'bulk_edit_checked' => '',
3667
  'meta_name_size' => 30,
3668
  'meta_name' => '',
 
3669
  'Option' => __( 'Option', 'media-library-assistant' ),
3670
  'text_option' => '',
3671
  'Text' => __( 'Text', 'media-library-assistant' ),
3690
  $row_template = self::$mla_option_templates['custom-field-new-field-row'];
3691
  $row_values = array (
3692
  'column_count' => 7,
3693
+ 'column_count_meta' => (7 - 2),
3694
  'Add new Field' => __( 'Add a new Field and Mapping Rule', 'media-library-assistant' ),
3695
  'index' => self::MLA_NEW_CUSTOM_FIELD,
3696
  'field_name_size' => '24',
3710
  'bulk_edit_checked' => '',
3711
  'meta_name_size' => 30,
3712
  'meta_name' => '',
 
3713
  'Option' => __( 'Option', 'media-library-assistant' ),
3714
  'text_option' => '',
3715
  'Text' => __( 'Text', 'media-library-assistant' ),
3842
  $image_metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
3843
  $updates = array();
3844
  $update_all = ( 'iptc_exif_mapping' == $category );
3845
+ $data_source_category = $update_all ? 'single_attachment_mapping' : 'custom_field_mapping';
3846
+
3847
  if ( NULL == $settings ) {
3848
  $settings = self::mla_get_option( 'iptc_exif_mapping' );
3849
  }
3876
  'format' => 'native',
3877
  'option' => 'text' );
3878
 
3879
+ $exif_value = self::_evaluate_data_source( $post->ID, $data_source_category, $data_value, $attachment_metadata );
3880
  if ( ' ' == $exif_value ) {
3881
  $exif_value = '';
3882
  }
3984
  'format' => 'native',
3985
  'option' => 'array' );
3986
 
3987
+ $exif_value = self::_evaluate_data_source( $post->ID, $data_source_category, $data_value, $attachment_metadata );
3988
  if ( ' ' == $exif_value ) {
3989
  $exif_value = '';
3990
  }
4114
  }
4115
  } // foreach new setting
4116
 
4117
+ if ( ! empty( $tax_inputs ) ) {
4118
+ $updates['taxonomy_updates'] = array ( 'inputs' => $tax_inputs, 'actions' => $tax_actions );
4119
+ }
4120
  } // update taxonomy term mappings
4121
 
4122
  if ( $update_all || ( 'iptc_exif_custom_mapping' == $category ) ) {
4123
  $custom_updates = array();
4124
  foreach ( $settings['custom'] as $setting_key => $setting_value ) {
4125
+ /*
4126
+ * Convert checkbox value(s)
4127
+ */
4128
+ $setting_value['no_null'] = isset( $setting_value['no_null'] );
4129
+
4130
  $setting_name = $setting_value['name'];
4131
  $setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
4132
  if ( NULL === $setting_value ) {
4136
  if ( 'none' == $setting_value['iptc_value'] ) {
4137
  $iptc_value = '';
4138
  } else {
4139
+ $data_value = array(
4140
+ 'name' => $setting_key,
4141
+ 'data_source' => 'template',
4142
+ 'meta_name' => '([+iptc:' . $setting_value['iptc_value'] . '+])',
4143
+ 'keep_existing' => $setting_value['keep_existing'],
4144
+ 'format' => $setting_value['format'],
4145
+ 'option' => $setting_value['option'] );
4146
+
4147
+ $iptc_value = self::_evaluate_data_source( $post->ID, $data_source_category, $data_value, $attachment_metadata );
4148
+ if ( ' ' == $iptc_value ) {
4149
+ $iptc_value = '';
4150
+ }
4151
  }
4152
 
4153
  $iptc_value = apply_filters( 'mla_mapping_iptc_value', $iptc_value, $setting_key, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
4154
 
4155
+ $exif_value = trim( $setting_value['exif_value'] );
4156
+ if ( ! empty( $exif_value ) ) {
4157
  $data_value = array(
4158
  'name' => $setting_key,
4159
  'data_source' => 'template',
 
4160
  'keep_existing' => $setting_value['keep_existing'],
4161
+ 'format' => $setting_value['format'],
4162
+ 'option' => $setting_value['option'] );
4163
 
4164
+ if ( 'template:' == substr( $exif_value, 0, 9 ) ) {
4165
+ $data_value['meta_name'] = substr( $exif_value, 9 );
4166
+ } else {
4167
+ $data_value['meta_name'] = '([+exif:' . $exif_value . '+])';
4168
+ }
4169
+
4170
+ $exif_value = self::_evaluate_data_source( $post->ID, $data_source_category, $data_value, $attachment_metadata );
4171
  if ( ' ' == $exif_value ) {
4172
  $exif_value = '';
4173
  }
 
 
4174
  }
4175
 
4176
  $exif_value = apply_filters( 'mla_mapping_exif_value', $exif_value, $setting_key, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
4189
  }
4190
  }
4191
 
 
 
 
 
4192
  if ( $setting_value['keep_existing'] ) {
4193
  if ( 'meta:' == substr( $setting_name, 0, 5 ) ) {
4194
  $meta_key = substr( $setting_name, 5 );
4211
  if ( ( ! empty( $new_text ) ) && empty( $old_value ) ) {
4212
  $custom_updates[ $setting_name ] = $new_text;
4213
  }
4214
+ } else { // } keep_existing
4215
+ if ( empty( $new_text ) && $setting_value['no_null'] ) {
4216
+ $new_text = NULL;
4217
+ }
4218
+
4219
  $custom_updates[ $setting_name ] = $new_text;
4220
  }
4221
  } // foreach new setting
4580
  'iptc_value' => 'none',
4581
  'exif_value' => '',
4582
  'iptc_first' => true,
4583
+ 'keep_existing' => true,
4584
+ 'format' => 'native',
4585
+ 'option' => 'text',
4586
+ 'no_null' => false
4587
  );
4588
  }
4589
 
4640
  $old_values['keep_existing'] = $boolean_value;
4641
  }
4642
 
4643
+ if ( $old_values['format'] != $new_value['format'] ) {
4644
+ $any_setting_changed = true;
4645
+ /* translators: 1: custom field name 2: attribute 3: old value 4: new value */
4646
+ $message_list .= '<br>' . sprintf( __( '%1$s changing %2$s from %3$s to %4$s.', 'media-library-assistant' ), esc_html( $old_values['name'] ), __( 'Format', 'media-library-assistant' ), $old_values['format'], $new_value['format'] ) . "\r\n";
4647
+ $old_values['format'] = $new_value['format'];
4648
+ }
4649
+
4650
+ if ( $old_values['option'] != $new_value['option'] ) {
4651
+ $any_setting_changed = true;
4652
+ /* translators: 1: custom field name 2: attribute 3: old value 4: new value */
4653
+ $message_list .= '<br>' . sprintf( __( '%1$s changing %2$s from %3$s to %4$s.', 'media-library-assistant' ), esc_html( $old_values['name'] ), __( 'Option', 'media-library-assistant' ), $old_values['option'], $new_value['option'] ) . "\r\n";
4654
+ $old_values['option'] = $new_value['option'];
4655
+ }
4656
+
4657
+ if ( isset( $new_value['no_null'] ) ) {
4658
+ $boolean_value = true;
4659
+ $boolean_text = __( 'unchecked to checked', 'media-library-assistant' );
4660
+ } else {
4661
+ $boolean_value = false;
4662
+ $boolean_text = __( 'checked to unchecked', 'media-library-assistant' );
4663
+ }
4664
+ if ( $old_values['no_null'] != $boolean_value ) {
4665
+ $any_setting_changed = true;
4666
+ /* translators: 1: custom field name 2: attribute 3: old value 'to' new value */
4667
+ $message_list .= '<br>' . sprintf( __( '%1$s changing %2$s value from %3$s.', 'media-library-assistant' ), esc_html( $old_values['name'] ), __( 'Delete NULL values', 'media-library-assistant' ), $boolean_text ) . "\r\n";
4668
+ $old_values['no_null'] = $boolean_value;
4669
+ }
4670
+
4671
  if ( $any_setting_changed ) {
4672
  $settings_changed = true;
4673
  $current_values['custom'][ $new_key ] = $old_values;
4922
  $current_value = $current_values['custom'][ $row_name ];
4923
  $row_values = array (
4924
  'column_count' => 5,
4925
+ 'column_count_meta' => (5 - 2),
4926
  'index' => $index++,
4927
  'key' => esc_attr( $row_name ),
4928
  'name_attr' => esc_attr( $current_value['name'] ),
4938
  'Keep' => __( 'Keep', 'media-library-assistant' ),
4939
  'replace_selected' => '',
4940
  'Replace' => __( 'Replace', 'media-library-assistant' ),
4941
+ 'Format' => __( 'Format', 'media-library-assistant' ),
4942
+ 'native_format' => '',
4943
+ 'Native' => __( 'Native', 'media-library-assistant' ),
4944
+ 'commas_format' => '',
4945
+ 'Commas' => __( 'Commas', 'media-library-assistant' ),
4946
+ 'raw_format' => '',
4947
+ 'Raw' => __( 'Raw', 'media-library-assistant' ),
4948
+ 'Option' => __( 'Option', 'media-library-assistant' ),
4949
+ 'text_option' => '',
4950
+ 'Text' => __( 'Text', 'media-library-assistant' ),
4951
+ 'single_option' => '',
4952
+ 'Single' => __( 'Single', 'media-library-assistant' ),
4953
+ 'export_option' => '',
4954
+ 'Export' => __( 'Export', 'media-library-assistant' ),
4955
+ 'array_option' => '',
4956
+ 'Array' => __( 'Array', 'media-library-assistant' ),
4957
+ 'multi_option' => '',
4958
+ 'Multi' => __( 'Multi', 'media-library-assistant' ),
4959
+ 'no_null_checked' => '',
4960
+ 'Delete NULL values' => __( 'Delete NULL values', 'media-library-assistant' ),
4961
  'Delete Rule' => __( 'Delete Rule', 'media-library-assistant' ),
4962
  'Delete Field' => __( 'Delete Rule AND Field', 'media-library-assistant' ),
4963
  'Update Rule' => __( 'Update Rule', 'media-library-assistant' ),
4976
  $row_values['replace_selected'] = 'selected="selected"';
4977
  }
4978
 
4979
+ switch( $current_value['format'] ) {
4980
+ case 'commas':
4981
+ $row_values['commas_format'] = 'selected="selected"';
4982
+ break;
4983
+ case 'raw':
4984
+ $row_values['raw_format'] = 'selected="selected"';
4985
+ break;
4986
+ default:
4987
+ $row_values['native_format'] = 'selected="selected"';
4988
+ } // format
4989
+
4990
+ switch( $current_value['option'] ) {
4991
+ case 'single':
4992
+ $row_values['single_option'] = 'selected="selected"';
4993
+ break;
4994
+ case 'export':
4995
+ $row_values['export_option'] = 'selected="selected"';
4996
+ break;
4997
+ case 'array':
4998
+ $row_values['array_option'] = 'selected="selected"';
4999
+ break;
5000
+ case 'multi':
5001
+ $row_values['multi_option'] = 'selected="selected"';
5002
+ break;
5003
+ default:
5004
+ $row_values['text_option'] = 'selected="selected"';
5005
+ } // option
5006
+
5007
+ if ( $current_value['no_null'] ) {
5008
+ $row_values['no_null_checked'] = 'checked="checked"';
5009
+ }
5010
+
5011
  $table_rows .= MLAData::mla_parse_template( $row_template, $row_values );
5012
  } // foreach current_values key
5013
  } // foreach sorted_name
5018
  $row_template = self::$mla_option_templates['iptc-exif-custom-new-rule-row'];
5019
  $row_values = array (
5020
  'column_count' => 5 ,
5021
+ 'column_count_meta' => (5 - 2),
5022
  'Add new Rule' => __( 'Add a new Mapping Rule', 'media-library-assistant' ),
5023
  'index' => self::MLA_NEW_CUSTOM_RULE,
5024
  'field_name_options' => self::_compose_custom_field_option_list( 'none', $current_values['custom'] ),
5033
  'Keep' => __( 'Keep', 'media-library-assistant' ),
5034
  'replace_selected' => '',
5035
  'Replace' => __( 'Replace', 'media-library-assistant' ),
5036
+ 'Format' => __( 'Format', 'media-library-assistant' ),
5037
+ 'native_format' => 'selected="selected"',
5038
+ 'Native' => __( 'Native', 'media-library-assistant' ),
5039
+ 'commas_format' => '',
5040
+ 'Commas' => __( 'Commas', 'media-library-assistant' ),
5041
+ 'raw_format' => '',
5042
+ 'Raw' => __( 'Raw', 'media-library-assistant' ),
5043
+ 'Option' => __( 'Option', 'media-library-assistant' ),
5044
+ 'text_option' => '',
5045
+ 'Text' => __( 'Text', 'media-library-assistant' ),
5046
+ 'single_option' => '',
5047
+ 'Single' => __( 'Single', 'media-library-assistant' ),
5048
+ 'export_option' => '',
5049
+ 'Export' => __( 'Export', 'media-library-assistant' ),
5050
+ 'array_option' => '',
5051
+ 'Array' => __( 'Array', 'media-library-assistant' ),
5052
+ 'multi_option' => '',
5053
+ 'Multi' => __( 'Multi', 'media-library-assistant' ),
5054
+ 'no_null_checked' => '',
5055
+ 'Delete NULL values' => __( 'Delete NULL values', 'media-library-assistant' ),
5056
  'Add Rule' => __( 'Add Rule', 'media-library-assistant' ),
5057
  'Map All Attachments' => __( 'Add Rule and Map All Attachments', 'media-library-assistant' ),
5058
  );
5064
  $row_template = self::$mla_option_templates['iptc-exif-custom-new-field-row'];
5065
  $row_values = array (
5066
  'column_count' => 5 ,
5067
+ 'column_count_meta' => (5 - 2),
5068
  'Add new Field' => __( 'Add a new Field and Mapping Rule', 'media-library-assistant' ),
5069
  'index' => self::MLA_NEW_CUSTOM_FIELD,
5070
  'field_name_size' => '24',
5079
  'Keep' => __( 'Keep', 'media-library-assistant' ),
5080
  'replace_selected' => '',
5081
  'Replace' => __( 'Replace', 'media-library-assistant' ),
5082
+ 'Format' => __( 'Format', 'media-library-assistant' ),
5083
+ 'native_format' => 'selected="selected"',
5084
+ 'Native' => __( 'Native', 'media-library-assistant' ),
5085
+ 'commas_format' => '',
5086
+ 'Commas' => __( 'Commas', 'media-library-assistant' ),
5087
+ 'raw_format' => '',
5088
+ 'Raw' => __( 'Raw', 'media-library-assistant' ),
5089
+ 'Option' => __( 'Option', 'media-library-assistant' ),
5090
+ 'text_option' => '',
5091
+ 'Text' => __( 'Text', 'media-library-assistant' ),
5092
+ 'single_option' => '',
5093
+ 'Single' => __( 'Single', 'media-library-assistant' ),
5094
+ 'export_option' => '',
5095
+ 'Export' => __( 'Export', 'media-library-assistant' ),
5096
+ 'array_option' => '',
5097
+ 'Array' => __( 'Array', 'media-library-assistant' ),
5098
+ 'multi_option' => '',
5099
+ 'Multi' => __( 'Multi', 'media-library-assistant' ),
5100
+ 'no_null_checked' => '',
5101
+ 'Delete NULL values' => __( 'Delete NULL values', 'media-library-assistant' ),
5102
  'Add Field' => __( 'Add Field', 'media-library-assistant' ),
5103
  'Map All Attachments' => __( 'Add Field and Map All Attachments', 'media-library-assistant' ),
5104
  );
includes/class-mla-polylang-support.php CHANGED
@@ -60,13 +60,12 @@ class MLA_Polylang {
60
  /*
61
  * Defined in wp-includes/post.php function wp_insert_post
62
  */
63
- add_filter( 'wp_insert_post_empty_content', 'MLA_Polylang::wp_insert_post_empty_content', 10, 2 );
64
  add_action( 'edit_attachment', 'MLA_Polylang::edit_attachment', 10, 1 );
65
 
66
- /*
67
- * Defined in /wp-admin/includes/class-wp-list-table.php
68
- */
69
- add_filter( 'views_media_page_mla-menu', 'MLA_Polylang::views_media_page_mla_menu', 10, 1 );
70
 
71
  /*
72
  * Defined in /media-library-assistant/includes/class-mla-media-modal.php
@@ -182,6 +181,13 @@ class MLA_Polylang {
182
  * Localize $mla_language_option_definitions array
183
  */
184
  MLA_Polylang::mla_localize_language_option_definitions();
 
 
 
 
 
 
 
185
  }
186
 
187
  /**
@@ -258,7 +264,7 @@ class MLA_Polylang {
258
  public static function quick_translate() {
259
  global $polylang;
260
 
261
- check_ajax_referer( MLA::MLA_ADMIN_NONCE, 'nonce' );
262
 
263
  if ( empty( $_REQUEST['post_ID'] ) ) {
264
  echo __( 'ERROR: No post ID found', 'media-library-assistant' );
@@ -285,13 +291,13 @@ class MLA_Polylang {
285
  // Language dropdown in Quick Edit area
286
  if ( isset( $_REQUEST['inline_lang_choice'] ) ) {
287
  $translations = $polylang->model->get_translations( 'post', $post_id );
288
-
289
  if ( ! array_key_exists( $_REQUEST['inline_lang_choice'], $translations ) ) {
290
  $post = get_post( $post_id );
291
  // save_post() does a check_admin_referer() security test
292
  $_REQUEST['_inline_edit'] = wp_create_nonce( 'inlineeditnonce' );
293
  $polylang->filters_post->save_post( $post_id, $post, true );
294
-
295
  if ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
296
  // Record new language for Term Assignment and Synchronization
297
  if ( ! empty( $_REQUEST['tax_input'] ) ) {
@@ -299,14 +305,14 @@ class MLA_Polylang {
299
  unset( self::$existing_terms[ self::$existing_terms['slug'] ] );
300
  self::$existing_terms['slug'] = $_REQUEST['inline_lang_choice'];
301
  }
302
-
303
  self::_build_existing_terms( $post_id );
304
  self::_build_tax_input( $post_id );
305
  $tax_inputs = self::_apply_tax_input( 0, $_REQUEST['inline_lang_choice'] );
306
  } else {
307
  $tax_inputs = NULL;
308
  }
309
-
310
  if ( !empty( $tax_inputs ) ) {
311
  MLAData::mla_update_single_item( $post_id, array(), $tax_inputs );
312
  }
@@ -326,12 +332,12 @@ class MLA_Polylang {
326
  if ( $new_id == $post_id ) {
327
  continue;
328
  }
329
-
330
  $new_item = (object) MLAData::mla_get_attachment_by_id( $post_id );
331
  $MLAListTable->single_row( $new_item );
332
  echo "\n";
333
  }
334
-
335
  die(); // this is required to return a proper result
336
  } // quick_translate
337
 
@@ -371,7 +377,7 @@ class MLA_Polylang {
371
  'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
372
  'useSpinnerClass' => false,
373
  'ajax_action' => MLA_Polylang::MLA_PLL_QUICK_TRANSLATE,
374
- 'ajax_nonce' => wp_create_nonce( MLA::MLA_ADMIN_NONCE )
375
  );
376
 
377
  if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
@@ -435,6 +441,9 @@ class MLA_Polylang {
435
  /**
436
  * Taxonomy terms and translations
437
  *
 
 
 
438
  * @since 2.11
439
  *
440
  * @var array [ $term_taxonomy_id ] => array( $term, $translations )
@@ -453,12 +462,21 @@ class MLA_Polylang {
453
  private static function _add_relevant_term( $term, $translations = NULL ) {
454
  global $polylang;
455
 
 
 
 
 
456
  if ( ! array_key_exists( $term->term_taxonomy_id, self::$relevant_terms ) ) {
457
  if ( empty( $translations ) ) {
458
  $translations = array();
459
  foreach ( $polylang->model->get_translations( 'term', $term->term_id ) as $language_code => $translation ) {
460
  $translations[ $language_code ] = (object) array( 'element_id' => $translation );
461
  }
 
 
 
 
 
462
  }
463
 
464
  self::$relevant_terms[ $term->term_taxonomy_id ]['term'] = $term;
@@ -466,7 +484,7 @@ class MLA_Polylang {
466
  }
467
 
468
  return self::$relevant_terms[ $term->term_taxonomy_id ];
469
- } // mla_post_updated_messages_filter
470
 
471
  /**
472
  * Finds a $relevant_term (if defined) given a key and (optional) a language
@@ -478,8 +496,9 @@ class MLA_Polylang {
478
  * @param mixed $value to search for; integer, string or integer
479
  * @param string $taxonomy to search in; slug
480
  * @param string $language code; string; optional
 
481
  */
482
- private static function _get_relevant_term( $field, $value, $taxonomy, $language = NULL ) {
483
  /*
484
  * WordPress encodes special characters, e.g., "&" as HTML entities in term names
485
  */
@@ -516,18 +535,22 @@ class MLA_Polylang {
516
  }
517
  } // relevant term
518
 
 
 
 
 
519
  /*
520
- * If no match; try to add it and its translations
521
  */
522
  if ( ( false === $relevant_term ) && $candidate = get_term_by( $field, $value, $taxonomy ) ) {
523
  $relevant_term = self::_add_relevant_term( $candidate );
524
 
525
  foreach ( $relevant_term['translations'] as $translation ) {
526
- if ( array_key_exists( $translation->element_id, self::$relevant_terms ) ) {
527
  continue;
528
  }
529
 
530
- $term_object = get_term_by( 'term_taxonomy_id', $translation->element_id, $taxonomy );
531
  self::_add_relevant_term( $term_object, $relevant_term['translations'] );
532
  } // translation
533
  } // new term
@@ -552,6 +575,8 @@ class MLA_Polylang {
552
  * @since 2.11
553
  *
554
  * @var array ['element_id'] => $post_id;
 
 
555
  * [ $language ][ translation_details ]
556
  * [ $language ][ $taxonomy ][ $term_taxonomy_id ] => $term
557
  */
@@ -578,12 +603,27 @@ class MLA_Polylang {
578
  return;
579
  }
580
 
581
- $language_details = (array) $polylang->model->get_post_language( $post_id );
 
 
 
 
 
 
 
 
 
 
 
582
  $translations = array();
583
  foreach ( $polylang->model->get_translations( 'post', $post_id ) as $language_code => $translation ) {
584
  $translations[ $language_code ] = array( 'element_id' => $translation );
585
  }
586
 
 
 
 
 
587
  self::$existing_terms = array_merge( array( 'element_id' => $post_id, 'slug' => $language_details['slug'] ), $translations );
588
  $taxonomies = $polylang->model->get_translated_taxonomies();
589
 
@@ -608,15 +648,17 @@ class MLA_Polylang {
608
  */
609
  foreach ( self::$relevant_terms as $term ) {
610
  foreach ( $term['translations'] as $translation ) {
611
- if ( array_key_exists( $translation->element_id, self::$relevant_terms ) ) {
612
  continue;
613
  }
614
 
615
- $term_object = get_term_by( 'term_taxonomy_id', $translation->element_id, $term['term']->taxonomy );
616
  self::_add_relevant_term( $term_object, $term['translations'] );
617
  } // translation
618
  } // term
619
 
 
 
620
  return;
621
  }
622
 
@@ -637,15 +679,23 @@ class MLA_Polylang {
637
  */
638
  private static function _update_existing_terms( $post_id ) {
639
  global $polylang;
 
 
640
 
641
  if ( $post_id != self::$existing_terms['element_id'] ) {
642
  return false;
643
  }
644
 
645
  $language_code = self::$existing_terms['slug'];
646
- $translation = self::$existing_terms[ $language_code ];
 
 
 
 
 
 
647
  $terms_before = array();
648
-
649
  /*
650
  * Find all assigned terms and update the array
651
  */
@@ -668,15 +718,17 @@ class MLA_Polylang {
668
  */
669
  foreach ( self::$relevant_terms as $term ) {
670
  foreach ( $term['translations'] as $translation ) {
671
- if ( array_key_exists( $translation->element_id, self::$relevant_terms ) ) {
672
  continue;
673
  }
674
 
675
- $term_object = get_term_by( 'term_taxonomy_id', $translation->element_id, $term['term']->taxonomy );
676
  self::_add_relevant_term( $term_object, $term['translations'] );
677
  } // translation
678
  } // term
679
 
 
 
680
  return $terms_before;
681
  }
682
 
@@ -767,11 +819,11 @@ class MLA_Polylang {
767
  continue;
768
  }
769
 
770
- $relevant_term = self::_get_relevant_term( 'term_id', $term, $taxonomy );
771
  if ( isset( $relevant_term['translations'] ) ) {
772
  foreach ( $relevant_term['translations'] as $language => $translation ) {
773
- if ($translated_term = self::_get_relevant_term( 'term_taxonomy_id', $translation->element_id, $taxonomy ) ) {
774
- $input_terms[ $language ][ $translation->element_id ] = $translated_term['term'];
775
  }
776
  } // for each language
777
  } // translations exist
@@ -785,8 +837,8 @@ class MLA_Polylang {
785
  $relevant_term = self::_get_relevant_term( 'name', $term_name, $taxonomy );
786
  if ( isset( $relevant_term['translations'] ) ) {
787
  foreach ( $relevant_term['translations'] as $language => $translation ) {
788
- if ( $translated_term = self::_get_relevant_term( 'term_taxonomy_id', $translation->element_id, $taxonomy ) ) {
789
- $input_terms[ $language ][ $translation->element_id ] = $translated_term['term'];
790
  }
791
  } // for each language
792
  } // translations exist
@@ -834,6 +886,9 @@ class MLA_Polylang {
834
  } // language
835
 
836
  } // foreach taxonomy
 
 
 
837
  } // _build_tax_input
838
 
839
  /**
@@ -860,6 +915,8 @@ class MLA_Polylang {
860
  }
861
  }
862
 
 
 
863
  return self::$tax_input[ $post_language ];
864
  } // _apply_tax_input
865
 
@@ -873,44 +930,77 @@ class MLA_Polylang {
873
  * @uses MLA_Polylang::$existing_terms
874
  *
875
  * @param string $language the target translation code
876
- * @param array $terms_before source terms before updates/Term Assignment
877
  *
878
  * @return array $tax_inputs for Term Synchronization
879
  */
880
- private static function _apply_synch_input( $language, $terms_before ) {
 
 
881
  // Make sure there IS a target translation
882
  if ( empty( self::$existing_terms[ $language ] ) ) {
883
  return false;
884
  }
 
 
 
885
 
886
- $terms_after = self::$existing_terms[ self::$existing_terms['slug'] ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
887
 
888
  /*
889
- * Remove terms in common, leaving terms_after => add, terms_before => remove
890
  */
891
- foreach ( $terms_before as $taxonomy => $terms ) {
892
  foreach ( $terms as $ttid => $term ) {
893
- if ( isset( $terms_after[ $taxonomy ][ $ttid ] ) ) {
894
- unset( $terms_before[ $taxonomy ][ $ttid ] );
895
- unset( $terms_after[ $taxonomy ][ $ttid ] );
896
  }
897
  } // terms
898
  } // taxonomies
899
-
900
  /*
901
  * Compute "replace" tax_inputs for the target translation
902
  */
903
  $translation = self::$existing_terms[ $language ];
904
  $synch_inputs = array();
905
 
906
- foreach ( $terms_before as $taxonomy => $terms ) {
907
  $translation_terms = isset( $translation[ $taxonomy ] ) ? $translation[ $taxonomy ] : array();
908
  $terms_changed = false;
909
-
910
  // Remove common terms
911
- foreach ( $terms_before[ $taxonomy ] as $ttid => $term ) {
912
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
913
- $ttid = self::$relevant_terms[ $ttid ]['translations'][ $language ]->element_id;
 
914
  if ( isset( $translation_terms[ $ttid ] ) ) {
915
  unset( $translation_terms[ $ttid ] );
916
  $terms_changed = true;
@@ -919,23 +1009,22 @@ class MLA_Polylang {
919
  }
920
 
921
  // Add common terms
922
- foreach ( $terms_after[ $taxonomy ] as $ttid => $term ) {
923
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
924
- $term_translation = self::$relevant_terms[ $ttid ]['translations'][ $language ];
925
- $term_translation = self::$relevant_terms[ $term_translation->element_id ]['term'];
926
- $ttid = $term_translation->term_taxonomy_id;
927
  if ( ! isset( $translation_terms[ $ttid ] ) ) {
928
- $translation_terms[ $ttid ] = (object) array( 'term_id' => absint( $term_translation->term_id ), 'name' => $term_translation->name );
929
  $terms_changed = true;
930
  }
931
  }
932
  }
933
-
934
  if ( $terms_changed ) {
935
  $synch_inputs[ $taxonomy ] = $translation_terms;
936
  }
937
  } // taxonomies
938
-
939
  /*
940
  * Convert synch terms to $tax_inputs format
941
  */
@@ -957,28 +1046,29 @@ class MLA_Polylang {
957
  $tax_inputs[ $taxonomy_name ] = implode( ',', $input_terms );
958
  }
959
  } // synch_inputs
960
-
961
  return $tax_inputs;
962
  } // _apply_synch_input
963
 
964
  /**
965
  * Captures "before update" term assignments from the Media/Edit Media screen
966
  *
967
- * @since 2.11
968
  *
969
- * @param bool $maybe_empty Whether the post should be considered "empty".
970
- * @param array $postarr Array of post data.
971
  */
972
- public static function wp_insert_post_empty_content( $maybe_empty, $postarr ) {
973
- if ( isset( $_REQUEST['action'] ) && 'editpost' == $_REQUEST['action'] && isset( $_REQUEST['post_ID'] ) ) {
974
- self::_build_existing_terms( $_REQUEST['post_ID'] );
975
  }
976
 
977
- return $maybe_empty;
978
- } // wp_insert_post_empty_content
979
 
980
  /**
981
- * Filters taxonomy updates by language.
 
982
  *
983
  * @since 2.11
984
  *
@@ -1017,9 +1107,9 @@ class MLA_Polylang {
1017
  MLAData::mla_update_single_item( $post_id, $updates, $tax_inputs );
1018
 
1019
  /*
1020
- * Synchronize the changes to all other translations
1021
  */
1022
- if ( 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
1023
  foreach( self::$tax_input as $language => $tax_inputs ) {
1024
  /*
1025
  * Skip 'tax_input_post_id' and the language we've already updated
@@ -1041,160 +1131,68 @@ class MLA_Polylang {
1041
  } // Upload New Media Bulk Edit
1042
 
1043
  /*
1044
- * The category taxonomy (edit screens) is a special case because
1045
- * post_categories_meta_box() changes the input name
1046
  */
1047
- if ( isset( $_REQUEST['tax_input'] ) ) {
1048
- $tax_inputs = $_REQUEST['tax_input'];
1049
- } else {
1050
- $tax_inputs = array();
1051
- }
1052
-
1053
- if ( isset( $_REQUEST['post_category'] ) ) {
1054
- $tax_inputs['category'] = $_REQUEST['post_category'];
1055
- }
1056
-
1057
- if ( isset( $_REQUEST['tax_action'] ) ) {
1058
- $tax_actions = $_REQUEST['tax_action'];
1059
- } else {
1060
- $tax_actions = NULL;
1061
- }
1062
-
1063
- if ( ( ! empty( $tax_inputs ) ) && ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_Polylang::$mla_language_option_definitions ) ) ) {
1064
- self::_build_tax_input( $post_id, $tax_inputs, $tax_actions );
1065
- $tax_inputs = self::_apply_tax_input( $post_id );
1066
- }
 
 
 
 
 
 
 
 
 
 
1067
 
1068
- if ( ! empty( $tax_inputs ) ) {
1069
- MLAData::mla_update_single_item( $post_id, array(), $tax_inputs );
 
 
1070
 
1071
  /*
1072
- * Synchronize the changes to all other translations
1073
  */
1074
- if ( 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
1075
 
 
 
1076
  /*
1077
- * Update terms because they have changed
1078
  */
1079
- $terms_before = self::_update_existing_terms( $post_id );
1080
-
1081
- // $tax_input is a convenient source of language codes; ignore $tax_inputs
1082
- foreach( self::$tax_input as $language => $tax_inputs ) {
1083
- /*
1084
- * Skip 'tax_input_post_id' and the language we've already updated
1085
- */
1086
- if ( ( ! isset( self::$existing_terms[ $language ] ) ) || ( self::$existing_terms[ 'slug' ] == $language ) ) {
1087
- continue;
1088
- }
1089
 
1090
- $tax_inputs = self::_apply_synch_input( $language, $terms_before );
 
1091
  $translation = self::$existing_terms[ $language ]['element_id'];
1092
  $already_updating = $translation; // prevent recursion
1093
  MLAData::mla_update_single_item( $translation, array(), $tax_inputs );
1094
  $already_updating = $post_id;
1095
- } // translation
1096
- } // do synchronization
1097
- } // $tax_inputs
1098
- } // edit_attachment
1099
-
1100
- /**
1101
- * PolyMLA custom views for the Media/Assistant submenu
1102
- *
1103
- * @since 2.11
1104
- *
1105
- * @param string The slug for the custom view to evaluate
1106
- * @param string The slug for the current custom view, or ''
1107
- *
1108
- * @return mixed HTML for link to display the view, false if count = zero
1109
- */
1110
- private static function _get_view( $view_slug, $current_view ) {
1111
- global $wpdb;
1112
- static $posts_per_view = NULL, $view_singular = array (), $view_plural = array ();
1113
-
1114
- /*
1115
- * Calculate the common values once per page load
1116
- */
1117
- if ( is_null( $posts_per_view ) ) {
1118
- if ( empty( MLA_Polylang::$list_table_parameters['total_items'] ) ) {
1119
- MLA_Polylang::$list_table_parameters['total_items'] = (integer) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_parent > 0 AND post_type = 'attachment' AND post_status = 'inherit'" );
1120
- }
1121
-
1122
- $posts_per_view = array( 'attached' => MLA_Polylang::$list_table_parameters['total_items'] );
1123
-
1124
- $view_singular = array (
1125
- 'attached' => __( 'Attached', 'media-library-assistant' ),
1126
- );
1127
- $view_plural = array (
1128
- 'attached' => __( 'Attached', 'media-library-assistant' ),
1129
- );
1130
- }
1131
-
1132
- /*
1133
- * Make sure the slug is in our list and has posts
1134
- */
1135
- if ( array_key_exists( $view_slug, $posts_per_view ) ) {
1136
- $post_count = $posts_per_view[ $view_slug ];
1137
- $singular = sprintf('%s <span class="count">(%%s)</span>', $view_singular[ $view_slug ] );
1138
- $plural = sprintf('%s <span class="count">(%%s)</span>', $view_plural[ $view_slug ] );
1139
- $nooped_plural = _n_noop( $singular, $plural, 'media-library-assistant' );
1140
- } else {
1141
- return false;
1142
- }
1143
-
1144
- if ( $post_count ) {
1145
- $query = array( 'pll_view' => $view_slug );
1146
- $base_url = 'upload.php?page=mla-menu';
1147
- $class = ( $view_slug == $current_view ) ? ' class="current"' : '';
1148
-
1149
- return "<a href='" . add_query_arg( $query, $base_url ) . "'$class>" . sprintf( translate_nooped_plural( $nooped_plural, $post_count, 'media-library-assistant' ), number_format_i18n( $post_count ) ) . '</a>';
1150
- }
1151
-
1152
- return false;
1153
- }
1154
-
1155
- /**
1156
- * Views for media page MLA Menu
1157
- *
1158
- * This filter gives you an opportunity to filter the list of available list table views.
1159
- *
1160
- * @since 2.11
1161
- *
1162
- * @param array $views An array of available list table views.
1163
- * format: view_slug => link to the view, with count
1164
- *
1165
- * @return array updated list table views.
1166
- */
1167
- public static function views_media_page_mla_menu( $views ) {
1168
- if ( isset( $_REQUEST['pll_view'] ) ) {
1169
- switch( $_REQUEST['pll_view'] ) {
1170
- case 'attached':
1171
- $current_view = 'attached';
1172
- break;
1173
- default:
1174
- $current_view = '';
1175
- } // pll_view
1176
- } else {
1177
- $current_view = '';
1178
- }
1179
-
1180
- foreach ( $views as $slug => $view ) {
1181
- // Find/update the current view
1182
- if ( strpos( $view, ' class="current"' ) ) {
1183
- if ( ! empty( $current_view ) ) {
1184
- $views[ $slug ] = str_replace( ' class="current"', '', $view );
1185
- } else {
1186
- $current_view = $slug;
1187
  }
1188
- }
1189
- } // each view
1190
-
1191
- $value = MLA_Polylang::_get_view( 'attached', $current_view );
1192
- if ( $value ) {
1193
- //$views['attached'] = $value;
1194
- }
1195
-
1196
- return $views;
1197
- } // views_media_page_mla_menu
1198
 
1199
  /**
1200
  * Captures the existing term assignments before the
@@ -1229,7 +1227,7 @@ class MLA_Polylang {
1229
  } else {
1230
  $tax_inputs = array( $key => implode( ',', $terms ) );
1231
  }
1232
-
1233
  if ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
1234
  self::_build_tax_input( $post_id, $tax_inputs );
1235
  $tax_inputs = self::_apply_tax_input( $post_id );
@@ -1275,7 +1273,7 @@ class MLA_Polylang {
1275
  continue;
1276
  }
1277
 
1278
- $tax_inputs = self::_apply_synch_input( $language, $terms_before );
1279
  if ( ! empty( $tax_inputs ) ) {
1280
  MLAData::mla_update_single_item( self::$existing_terms[ $language ]['element_id'], array(), $tax_inputs );
1281
  }
@@ -1319,7 +1317,6 @@ class MLA_Polylang {
1319
  unset( self::$existing_terms[ self::$existing_terms['slug'] ] );
1320
  self::$existing_terms['slug'] = $_REQUEST['inline_lang_choice'];
1321
  }
1322
-
1323
  } // change language
1324
  }
1325
 
@@ -1338,19 +1335,12 @@ class MLA_Polylang {
1338
  * @return array updated bulk action request parameters
1339
  */
1340
  public static function mla_list_table_bulk_action_initial_request( $request, $bulk_action, $custom_field_map ) {
1341
- /*
1342
- * Check for Bulk Edit processing during Upload New Media
1343
- */
1344
- if ( ( NULL == self::$upload_bulk_edit_args ) && ( 'edit' == $bulk_action ) && ! empty( $_REQUEST['mlaAddNewBulkEdit']['formString'] ) ) {
1345
- /*
1346
- * Suppress WPML processing in wpml-media.class.php function save_attachment_actions,
1347
- * which wipes out attachment meta data.
1348
- */
1349
- //global $action;
1350
- //$action = 'upload-plugin';
1351
-
1352
- self::$upload_bulk_edit_args = $request;
1353
- self::$upload_bulk_edit_map = $custom_field_map;
1354
  }
1355
 
1356
  return $request;
@@ -1391,8 +1381,16 @@ class MLA_Polylang {
1391
  self::_build_existing_terms( $post_id );
1392
  self::_build_tax_input( $post_id, $request['tax_input'], $request['tax_action'] );
1393
  $request['tax_input'] = self::_apply_tax_input( $post_id );
 
 
 
 
 
 
1394
  }
1395
 
 
 
1396
  return $request;
1397
  } // mla_list_table_bulk_action_item_request
1398
 
@@ -1415,7 +1413,7 @@ class MLA_Polylang {
1415
  global $polylang;
1416
 
1417
  // Language dropdown in Bulk Edit area
1418
- if ( isset( $_POST['inline_lang_choice'] ) ) {
1419
  $post = get_post( $post_id );
1420
  // save_post() does a check_admin_referer() security test
1421
  $_REQUEST['_wpnonce'] = wp_create_nonce( 'bulk-posts' );
@@ -1479,13 +1477,7 @@ class MLA_Polylang {
1479
 
1480
  // Clear all the "Filter-by" parameters
1481
  if ( isset( $_REQUEST['bulk_tr_options']['clear_filters'] ) ) {
1482
- unset( $_REQUEST['heading_suffix'] );
1483
- unset( $_REQUEST['parent'] );
1484
- unset( $_REQUEST['author'] );
1485
- unset( $_REQUEST['mla-tax'] );
1486
- unset( $_REQUEST['mla-term'] );
1487
- unset( $_REQUEST['mla-metakey'] );
1488
- unset( $_REQUEST['mla-metavalue'] );
1489
  }
1490
 
1491
  if ( empty( $translations ) ) {
@@ -1523,7 +1515,7 @@ class MLA_Polylang {
1523
  /**
1524
  * MLA_List_Table inline edit item values
1525
  *
1526
- * Builds the Language dropdown and edit ttranslation links
1527
  * for the Quick and Bulk Edit forms.
1528
  *
1529
  * @since 2.11
@@ -1680,8 +1672,18 @@ class MLA_Polylang {
1680
  if ( is_null( MLA_Polylang::$language_columns ) ) {
1681
  global $polylang;
1682
 
 
 
 
1683
  $show_language = 'checked' == MLAOptions::mla_get_option( 'language_column', false, false, MLA_Polylang::$mla_language_option_definitions );
1684
- $show_translations = 'checked' == MLAOptions::mla_get_option( 'translations_column', false, false, MLA_Polylang::$mla_language_option_definitions );
 
 
 
 
 
 
 
1685
 
1686
  MLA_Polylang::$language_columns = array();
1687
 
@@ -1696,7 +1698,7 @@ class MLA_Polylang {
1696
  MLA_Polylang::$language_columns['pll_translations'] = $flags_column;
1697
  }
1698
  }
1699
- }
1700
 
1701
  if ( ! empty( MLA_Polylang::$language_columns ) ) {
1702
  $end = array_slice( $columns, 2) ;
@@ -1745,7 +1747,7 @@ class MLA_Polylang {
1745
 
1746
  if ( 'language' == $column_name ) {
1747
  $item_language = $polylang->model->get_post_language( $item->ID );
1748
- $content = $item_language->name;
1749
  } elseif ('pll_translations' == $column_name ) {
1750
  if ( is_null( $languages ) ) {
1751
  $current_language = $polylang->curlang;
@@ -1795,7 +1797,10 @@ class MLA_Polylang {
1795
  /**
1796
  * Filter the "sticky" submenu URL parameters
1797
  *
1798
- * Maintains the pll_view and list of Bulk Translate items in the URLs for paging through the results.
 
 
 
1799
  *
1800
  * @since 2.11
1801
  *
@@ -1805,8 +1810,14 @@ class MLA_Polylang {
1805
  * @return array updated submenu_arguments.
1806
  */
1807
  public static function mla_list_table_submenu_arguments( $submenu_arguments, $include_filters ) {
1808
- if ( isset( $_REQUEST['pll_view'] ) ) {
1809
- $submenu_arguments['pll_view'] = $_REQUEST['pll_view'];
 
 
 
 
 
 
1810
  }
1811
 
1812
  if ( $include_filters && ( ! empty( MLA_Polylang::$bulk_action_includes ) ) ) {
@@ -1838,7 +1849,8 @@ class MLA_Polylang {
1838
  /**
1839
  * Filter the total items count for prepare_items()
1840
  *
1841
- * A convenient place to add the query argument required for the "attached" custom view.
 
1842
  *
1843
  * @since 2.11
1844
  *
@@ -1854,15 +1866,6 @@ class MLA_Polylang {
1854
  $_REQUEST['ids'] = MLA_Polylang::$bulk_action_includes;
1855
  }
1856
 
1857
- if ( isset( $_REQUEST['pll_view'] ) ) {
1858
- switch( $_REQUEST['pll_view'] ) {
1859
- case 'attached':
1860
- $_REQUEST['detached'] = '0';
1861
- break;
1862
- default:
1863
- } // pll_view
1864
- }
1865
-
1866
  return $total_items;
1867
  } // mla_list_table_prepare_items_total_items_filter
1868
 
@@ -2061,10 +2064,10 @@ class MLA_Polylang {
2061
  * Initialize page messages and content.
2062
  */
2063
  if ( !empty( $_REQUEST['mla-language-options-save'] ) ) {
2064
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2065
  $page_content = MLA_Polylang::_save_language_settings( );
2066
  } elseif ( !empty( $_REQUEST['mla-language-options-reset'] ) ) {
2067
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2068
  $page_content = MLA_Polylang::_reset_language_settings( );
2069
  } else {
2070
  $page_content = array(
@@ -2086,7 +2089,7 @@ class MLA_Polylang {
2086
  'settingsURL' => admin_url('options-general.php'),
2087
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2088
  'Delete Language options' => __( 'Delete Language options and restore default settings', 'media-library-assistant' ),
2089
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
2090
  '_wp_http_referer' => wp_referer_field( false ),
2091
  'Go to Top' => __( 'Go to Top', 'media-library-assistant' ),
2092
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-language&mla_tab=language',
60
  /*
61
  * Defined in wp-includes/post.php function wp_insert_post
62
  */
 
63
  add_action( 'edit_attachment', 'MLA_Polylang::edit_attachment', 10, 1 );
64
 
65
+ /*
66
+ * Defined in wp-admin/includes/post.php function edit_post
67
+ */
68
+ add_filter( 'attachment_fields_to_save', 'MLA_Polylang::attachment_fields_to_save', 10, 2 );
69
 
70
  /*
71
  * Defined in /media-library-assistant/includes/class-mla-media-modal.php
181
  * Localize $mla_language_option_definitions array
182
  */
183
  MLA_Polylang::mla_localize_language_option_definitions();
184
+
185
+ if ( isset( $_REQUEST['pll-bulk-translate'] ) ) {
186
+ // Set "Show all languages" to display mixed-language results
187
+ $request['lang'] = 'all';
188
+ $_REQUEST['lang'] = 'all';
189
+ $_GET['lang'] = 'all';
190
+ }
191
  }
192
 
193
  /**
264
  public static function quick_translate() {
265
  global $polylang;
266
 
267
+ check_ajax_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
268
 
269
  if ( empty( $_REQUEST['post_ID'] ) ) {
270
  echo __( 'ERROR: No post ID found', 'media-library-assistant' );
291
  // Language dropdown in Quick Edit area
292
  if ( isset( $_REQUEST['inline_lang_choice'] ) ) {
293
  $translations = $polylang->model->get_translations( 'post', $post_id );
294
+
295
  if ( ! array_key_exists( $_REQUEST['inline_lang_choice'], $translations ) ) {
296
  $post = get_post( $post_id );
297
  // save_post() does a check_admin_referer() security test
298
  $_REQUEST['_inline_edit'] = wp_create_nonce( 'inlineeditnonce' );
299
  $polylang->filters_post->save_post( $post_id, $post, true );
300
+
301
  if ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
302
  // Record new language for Term Assignment and Synchronization
303
  if ( ! empty( $_REQUEST['tax_input'] ) ) {
305
  unset( self::$existing_terms[ self::$existing_terms['slug'] ] );
306
  self::$existing_terms['slug'] = $_REQUEST['inline_lang_choice'];
307
  }
308
+
309
  self::_build_existing_terms( $post_id );
310
  self::_build_tax_input( $post_id );
311
  $tax_inputs = self::_apply_tax_input( 0, $_REQUEST['inline_lang_choice'] );
312
  } else {
313
  $tax_inputs = NULL;
314
  }
315
+
316
  if ( !empty( $tax_inputs ) ) {
317
  MLAData::mla_update_single_item( $post_id, array(), $tax_inputs );
318
  }
332
  if ( $new_id == $post_id ) {
333
  continue;
334
  }
335
+
336
  $new_item = (object) MLAData::mla_get_attachment_by_id( $post_id );
337
  $MLAListTable->single_row( $new_item );
338
  echo "\n";
339
  }
340
+
341
  die(); // this is required to return a proper result
342
  } // quick_translate
343
 
377
  'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
378
  'useSpinnerClass' => false,
379
  'ajax_action' => MLA_Polylang::MLA_PLL_QUICK_TRANSLATE,
380
+ 'ajax_nonce' => wp_create_nonce( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME )
381
  );
382
 
383
  if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
441
  /**
442
  * Taxonomy terms and translations
443
  *
444
+ * NOTE: WPML uses term_taxonomy_id as the "element_id" in its translations;
445
+ * Polylang uses term_id as the "element_id".
446
+ *
447
  * @since 2.11
448
  *
449
  * @var array [ $term_taxonomy_id ] => array( $term, $translations )
462
  private static function _add_relevant_term( $term, $translations = NULL ) {
463
  global $polylang;
464
 
465
+ if ( ! is_object( $term ) ) {
466
+ return false;
467
+ }
468
+
469
  if ( ! array_key_exists( $term->term_taxonomy_id, self::$relevant_terms ) ) {
470
  if ( empty( $translations ) ) {
471
  $translations = array();
472
  foreach ( $polylang->model->get_translations( 'term', $term->term_id ) as $language_code => $translation ) {
473
  $translations[ $language_code ] = (object) array( 'element_id' => $translation );
474
  }
475
+
476
+ if ( empty( $translations ) ) {
477
+ $language_code = pll_default_language();
478
+ $translations[ $language_code ] = (object) array( 'element_id' => $term->term_id );
479
+ }
480
  }
481
 
482
  self::$relevant_terms[ $term->term_taxonomy_id ]['term'] = $term;
484
  }
485
 
486
  return self::$relevant_terms[ $term->term_taxonomy_id ];
487
+ } // _add_relevant_term
488
 
489
  /**
490
  * Finds a $relevant_term (if defined) given a key and (optional) a language
496
  * @param mixed $value to search for; integer, string or integer
497
  * @param string $taxonomy to search in; slug
498
  * @param string $language code; string; optional
499
+ * @param boolean $test_only false (default) to add missing term, true to leave term out
500
  */
501
+ private static function _get_relevant_term( $field, $value, $taxonomy, $language = NULL, $test_only = false ) {
502
  /*
503
  * WordPress encodes special characters, e.g., "&" as HTML entities in term names
504
  */
535
  }
536
  } // relevant term
537
 
538
+ if ( ( false === $relevant_term ) && $test_only ) {
539
+ return false;
540
+ }
541
+
542
  /*
543
+ * If no match, try to add it and its translations
544
  */
545
  if ( ( false === $relevant_term ) && $candidate = get_term_by( $field, $value, $taxonomy ) ) {
546
  $relevant_term = self::_add_relevant_term( $candidate );
547
 
548
  foreach ( $relevant_term['translations'] as $translation ) {
549
+ if ( get_term_by( 'id', $translation->element_id, $taxonomy, NULL, true ) ) {
550
  continue;
551
  }
552
 
553
+ $term_object = get_term_by( 'id', $translation->element_id, $taxonomy );
554
  self::_add_relevant_term( $term_object, $relevant_term['translations'] );
555
  } // translation
556
  } // new term
575
  * @since 2.11
576
  *
577
  * @var array ['element_id'] => $post_id;
578
+ * [ 'language_code' ] => WPML item language or default language, e.g., 'en'
579
+ * [ 'slug' ] => Polylang item language or default language, e.g., 'en'
580
  * [ $language ][ translation_details ]
581
  * [ $language ][ $taxonomy ][ $term_taxonomy_id ] => $term
582
  */
603
  return;
604
  }
605
 
606
+ $language_details = $polylang->model->get_post_language( $post_id );
607
+ MLA::mla_debug_add( "MLA_Polylang::_build_existing_terms( {$post_id} ) \$polylang->model->get_post_language = " . var_export( $language_details, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
608
+
609
+ if ( is_object( $language_details ) ) {
610
+ $language_details = (array) $language_details;
611
+ } else {
612
+ MLA::mla_debug_add( "MLA_Polylang::_build_existing_terms( {$post_id} ) pll_default_language() = " . var_export( pll_default_language(), true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
613
+ $language_details = (array) $polylang->model->get_language( pll_default_language() );
614
+ MLA::mla_debug_add( "MLA_Polylang::_build_existing_terms( {$post_id} ) \$polylang->model->get_language( pll_default_language() ) = " . var_export( $language_details, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
615
+ }
616
+
617
+ MLA::mla_debug_add( "MLA_Polylang::_build_existing_terms( {$post_id} ) \$polylang->model->get_translations() = " . var_export( $polylang->model->get_translations( 'post', $post_id ), true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
618
  $translations = array();
619
  foreach ( $polylang->model->get_translations( 'post', $post_id ) as $language_code => $translation ) {
620
  $translations[ $language_code ] = array( 'element_id' => $translation );
621
  }
622
 
623
+ if ( empty( $translations ) ) {
624
+ $translations[ $language_details['slug'] ] = array( 'element_id' => $post_id );
625
+ }
626
+
627
  self::$existing_terms = array_merge( array( 'element_id' => $post_id, 'slug' => $language_details['slug'] ), $translations );
628
  $taxonomies = $polylang->model->get_translated_taxonomies();
629
 
648
  */
649
  foreach ( self::$relevant_terms as $term ) {
650
  foreach ( $term['translations'] as $translation ) {
651
+ if ( get_term_by( 'id', $translation->element_id, $term['term']->taxonomy, NULL, true ) ) {
652
  continue;
653
  }
654
 
655
+ $term_object = get_term_by( 'id', $translation->element_id, $term['term']->taxonomy );
656
  self::_add_relevant_term( $term_object, $term['translations'] );
657
  } // translation
658
  } // term
659
 
660
+ MLA::mla_debug_add( "MLA_Polylang::_build_existing_terms( {$post_id} ) self::\$existing_terms = " . var_export( self::$existing_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
661
+ MLA::mla_debug_add( "MLA_Polylang::_build_existing_terms( {$post_id} ) self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
662
  return;
663
  }
664
 
679
  */
680
  private static function _update_existing_terms( $post_id ) {
681
  global $polylang;
682
+ MLA::mla_debug_add( "MLA_Polylang::_update_existing_terms( {$post_id} ) initial self::\$existing_terms = " . var_export( self::$existing_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
683
+ MLA::mla_debug_add( "MLA_Polylang::_update_existing_terms( {$post_id} ) initial self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
684
 
685
  if ( $post_id != self::$existing_terms['element_id'] ) {
686
  return false;
687
  }
688
 
689
  $language_code = self::$existing_terms['slug'];
690
+
691
+ if ( isset( self::$existing_terms[ $language_code ] ) ) {
692
+ $translation = self::$existing_terms[ $language_code ];
693
+ } else {
694
+ $translation = array();
695
+ }
696
+
697
  $terms_before = array();
698
+
699
  /*
700
  * Find all assigned terms and update the array
701
  */
718
  */
719
  foreach ( self::$relevant_terms as $term ) {
720
  foreach ( $term['translations'] as $translation ) {
721
+ if ( get_term_by( 'id', $translation->element_id, $term['term']->taxonomy, NULL, true ) ) {
722
  continue;
723
  }
724
 
725
+ $term_object = get_term_by( 'id', $translation->element_id, $term['term']->taxonomy );
726
  self::_add_relevant_term( $term_object, $term['translations'] );
727
  } // translation
728
  } // term
729
 
730
+ MLA::mla_debug_add( "MLA_Polylang::_update_existing_terms( {$post_id} ) final self::\$existing_terms = " . var_export( self::$existing_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
731
+ MLA::mla_debug_add( "MLA_Polylang::_update_existing_terms( {$post_id} ) final self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
732
  return $terms_before;
733
  }
734
 
819
  continue;
820
  }
821
 
822
+ $relevant_term = self::_get_relevant_term( 'id', $term, $taxonomy );
823
  if ( isset( $relevant_term['translations'] ) ) {
824
  foreach ( $relevant_term['translations'] as $language => $translation ) {
825
+ if ( $translated_term = self::_get_relevant_term( 'id', $translation->element_id, $taxonomy ) ) {
826
+ $input_terms[ $language ][ $translated_term['term']->term_taxonomy_id ] = $translated_term['term'];
827
  }
828
  } // for each language
829
  } // translations exist
837
  $relevant_term = self::_get_relevant_term( 'name', $term_name, $taxonomy );
838
  if ( isset( $relevant_term['translations'] ) ) {
839
  foreach ( $relevant_term['translations'] as $language => $translation ) {
840
+ if ( $translated_term = self::_get_relevant_term( 'id', $translation->element_id, $taxonomy ) ) {
841
+ $input_terms[ $language ][ $translated_term['term']->term_taxonomy_id ] = $translated_term['term'];
842
  }
843
  } // for each language
844
  } // translations exist
886
  } // language
887
 
888
  } // foreach taxonomy
889
+
890
+ MLA::mla_debug_add( "MLA_Polylang::_build_tax_input( {$post_id} ) self::\$tax_input = " . var_export( self::$tax_input, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
891
+ MLA::mla_debug_add( "MLA_Polylang::_build_tax_input( {$post_id} ) self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
892
  } // _build_tax_input
893
 
894
  /**
915
  }
916
  }
917
 
918
+ MLA::mla_debug_add( "MLA_Polylang::_apply_tax_input( {$post_id} ) \$post_language = " . var_export( $post_language, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
919
+ MLA::mla_debug_add( "MLA_Polylang::_apply_tax_input( {$post_id} ) self::\$tax_input[ \$post_language ] = " . var_export( self::$tax_input[ $post_language ], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
920
  return self::$tax_input[ $post_language ];
921
  } // _apply_tax_input
922
 
930
  * @uses MLA_Polylang::$existing_terms
931
  *
932
  * @param string $language the target translation code
 
933
  *
934
  * @return array $tax_inputs for Term Synchronization
935
  */
936
+ private static function _apply_synch_input( $language ) {
937
+ global $polylang;
938
+
939
  // Make sure there IS a target translation
940
  if ( empty( self::$existing_terms[ $language ] ) ) {
941
  return false;
942
  }
943
+
944
+ $source_language = self::$existing_terms['slug'];
945
+ $taxonomies = $polylang->model->get_translated_taxonomies();
946
 
947
+ /*
948
+ * Find all source terms with a destination equivalent, record destination equivalent
949
+ */
950
+ $new_terms = array();
951
+ foreach ( $taxonomies as $taxonomy ) {
952
+ $new_terms[ $taxonomy ] = array();
953
+ foreach( self::$existing_terms[ $source_language ][ $taxonomy ] as $ttid => $term ) {
954
+ $source_term = self::_get_relevant_term( 'term_taxonomy_id', $ttid, $taxonomy );
955
+ if ( isset( $source_term['translations'][ $language ] ) ) {
956
+ $dest_term = self::_get_relevant_term( 'id', $source_term['translations'][ $language ]->element_id, $taxonomy );
957
+ $new_terms[ $taxonomy ][ $dest_term['term']->term_taxonomy_id ] = $dest_term['term'];
958
+ }
959
+ }
960
+ }
961
+
962
+ /*
963
+ * Find all destination terms with a source equivalent, record destination equivalent
964
+ */
965
+ $old_terms = array();
966
+ foreach ( $taxonomies as $taxonomy ) {
967
+ $old_terms[ $taxonomy ] = array();
968
+ foreach( self::$existing_terms[ $language ][ $taxonomy ] as $ttid => $term ) {
969
+ $source_term = self::_get_relevant_term( 'term_taxonomy_id', $ttid, $taxonomy );
970
+ if ( isset( $source_term['translations'][ $source_language ] ) ) {
971
+ $dest_term = self::_get_relevant_term( 'id', $source_term['translations'][ $language ]->element_id, $taxonomy );
972
+ $old_terms[ $taxonomy ][ $dest_term['term']->term_taxonomy_id ] = $dest_term['term'];
973
+ }
974
+ }
975
+ }
976
 
977
  /*
978
+ * Remove terms in common, leaving new_terms => add, old_terms => remove
979
  */
980
+ foreach ( $old_terms as $taxonomy => $terms ) {
981
  foreach ( $terms as $ttid => $term ) {
982
+ if ( isset( $new_terms[ $taxonomy ][ $ttid ] ) ) {
983
+ unset( $old_terms[ $taxonomy ][ $ttid ] );
984
+ unset( $new_terms[ $taxonomy ][ $ttid ] );
985
  }
986
  } // terms
987
  } // taxonomies
988
+
989
  /*
990
  * Compute "replace" tax_inputs for the target translation
991
  */
992
  $translation = self::$existing_terms[ $language ];
993
  $synch_inputs = array();
994
 
995
+ foreach ( $old_terms as $taxonomy => $terms ) {
996
  $translation_terms = isset( $translation[ $taxonomy ] ) ? $translation[ $taxonomy ] : array();
997
  $terms_changed = false;
998
+
999
  // Remove common terms
1000
+ foreach ( $old_terms[ $taxonomy ] as $ttid => $term ) {
1001
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
1002
+ $term = self::_get_relevant_term( 'id', self::$relevant_terms[ $ttid ]['translations'][ $language ]->element_id, $taxonomy );
1003
+ $ttid = $term['term']->term_taxonomy_id;
1004
  if ( isset( $translation_terms[ $ttid ] ) ) {
1005
  unset( $translation_terms[ $ttid ] );
1006
  $terms_changed = true;
1009
  }
1010
 
1011
  // Add common terms
1012
+ foreach ( $new_terms[ $taxonomy ] as $ttid => $term ) {
1013
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
1014
+ $term = self::_get_relevant_term( 'id', self::$relevant_terms[ $ttid ]['translations'][ $language ]->element_id, $taxonomy );
1015
+ $ttid = $term['term']->term_taxonomy_id;
 
1016
  if ( ! isset( $translation_terms[ $ttid ] ) ) {
1017
+ $translation_terms[ $ttid ] = (object) array( 'term_id' => absint( $term['term']->term_id ), 'name' => $term['term']->name );
1018
  $terms_changed = true;
1019
  }
1020
  }
1021
  }
1022
+
1023
  if ( $terms_changed ) {
1024
  $synch_inputs[ $taxonomy ] = $translation_terms;
1025
  }
1026
  } // taxonomies
1027
+
1028
  /*
1029
  * Convert synch terms to $tax_inputs format
1030
  */
1046
  $tax_inputs[ $taxonomy_name ] = implode( ',', $input_terms );
1047
  }
1048
  } // synch_inputs
1049
+
1050
  return $tax_inputs;
1051
  } // _apply_synch_input
1052
 
1053
  /**
1054
  * Captures "before update" term assignments from the Media/Edit Media screen
1055
  *
1056
+ * @since 2.13
1057
  *
1058
+ * @param WP_Post $post The WP_Post object.
1059
+ * @param array $attachment An array of attachment metadata.
1060
  */
1061
+ public static function attachment_fields_to_save( $post, $attachment ) {
1062
+ if ( 'editpost' == $post['action'] && 'attachment' == $post['post_type'] ) {
1063
+ self::_build_existing_terms( $post['post_ID'] );
1064
  }
1065
 
1066
+ return $post;
1067
+ }
1068
 
1069
  /**
1070
+ * Filters taxonomy updates by language for Bulk Edit during Add New Media
1071
+ * and the Media/Edit Media screen
1072
  *
1073
  * @since 2.11
1074
  *
1107
  MLAData::mla_update_single_item( $post_id, $updates, $tax_inputs );
1108
 
1109
  /*
1110
+ * Synchronize the changes to all other translations - NOT NEEDED
1111
  */
1112
+ if ( false && 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
1113
  foreach( self::$tax_input as $language => $tax_inputs ) {
1114
  /*
1115
  * Skip 'tax_input_post_id' and the language we've already updated
1131
  } // Upload New Media Bulk Edit
1132
 
1133
  /*
1134
+ * For the Bulk Edit action on the Media/Assistant screen, only synchronization is needed
 
1135
  */
1136
+ if ( ! ( isset( $_REQUEST['bulk_action'] ) && 'bulk_edit' == $_REQUEST['bulk_action'] ) ) {
1137
+ /*
1138
+ * The category taxonomy (edit screens) is a special case because
1139
+ * post_categories_meta_box() changes the input name
1140
+ */
1141
+ if ( isset( $_REQUEST['tax_input'] ) ) {
1142
+ $tax_inputs = $_REQUEST['tax_input'];
1143
+ } else {
1144
+ $tax_inputs = array();
1145
+ }
1146
+
1147
+ if ( isset( $_REQUEST['post_category'] ) ) {
1148
+ $tax_inputs['category'] = $_REQUEST['post_category'];
1149
+ }
1150
+
1151
+ if ( isset( $_REQUEST['tax_action'] ) ) {
1152
+ $tax_actions = $_REQUEST['tax_action'];
1153
+ } else {
1154
+ $tax_actions = NULL;
1155
+ }
1156
+
1157
+ if ( ( ! empty( $tax_inputs ) ) && ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_Polylang::$mla_language_option_definitions ) ) ) {
1158
+ self::_build_tax_input( $post_id, $tax_inputs, $tax_actions );
1159
+ $tax_inputs = self::_apply_tax_input( $post_id );
1160
+ }
1161
+
1162
+ if ( ! empty( $tax_inputs ) ) {
1163
+ MLAData::mla_update_single_item( $post_id, array(), $tax_inputs );
1164
+ }
1165
+ } // NOT Bulk Edit
1166
 
1167
+ /*
1168
+ * Synchronize the changes to all other translations
1169
+ */
1170
+ if ( 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
1171
 
1172
  /*
1173
+ * Update terms because they have changed
1174
  */
1175
+ $terms_before = self::_update_existing_terms( $post_id );
1176
 
1177
+ // $tax_input is a convenient source of language codes; ignore $tax_inputs
1178
+ foreach( self::$tax_input as $language => $tax_inputs ) {
1179
  /*
1180
+ * Skip 'tax_input_post_id' and the language we've already updated
1181
  */
1182
+ if ( ( ! isset( self::$existing_terms[ $language ] ) ) || ( self::$existing_terms[ 'slug' ] == $language ) ) {
1183
+ continue;
1184
+ }
 
 
 
 
 
 
 
1185
 
1186
+ $tax_inputs = self::_apply_synch_input( $language );
1187
+ if ( ! empty( $tax_inputs ) ) {
1188
  $translation = self::$existing_terms[ $language ]['element_id'];
1189
  $already_updating = $translation; // prevent recursion
1190
  MLAData::mla_update_single_item( $translation, array(), $tax_inputs );
1191
  $already_updating = $post_id;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1192
  }
1193
+ } // translation
1194
+ } // do synchronization
1195
+ } // edit_attachment
 
 
 
 
 
 
 
1196
 
1197
  /**
1198
  * Captures the existing term assignments before the
1227
  } else {
1228
  $tax_inputs = array( $key => implode( ',', $terms ) );
1229
  }
1230
+
1231
  if ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_Polylang::$mla_language_option_definitions ) ) {
1232
  self::_build_tax_input( $post_id, $tax_inputs );
1233
  $tax_inputs = self::_apply_tax_input( $post_id );
1273
  continue;
1274
  }
1275
 
1276
+ $tax_inputs = self::_apply_synch_input( $language );
1277
  if ( ! empty( $tax_inputs ) ) {
1278
  MLAData::mla_update_single_item( self::$existing_terms[ $language ]['element_id'], array(), $tax_inputs );
1279
  }
1317
  unset( self::$existing_terms[ self::$existing_terms['slug'] ] );
1318
  self::$existing_terms['slug'] = $_REQUEST['inline_lang_choice'];
1319
  }
 
1320
  } // change language
1321
  }
1322
 
1335
  * @return array updated bulk action request parameters
1336
  */
1337
  public static function mla_list_table_bulk_action_initial_request( $request, $bulk_action, $custom_field_map ) {
1338
+ if ( 'edit' == $bulk_action ) {
1339
+ // Check for Bulk Edit processing during Upload New Media
1340
+ if ( ( NULL == self::$upload_bulk_edit_args ) && ! empty( $_REQUEST['mlaAddNewBulkEdit']['formString'] ) ) {
1341
+ self::$upload_bulk_edit_args = $request;
1342
+ self::$upload_bulk_edit_map = $custom_field_map;
1343
+ }
 
 
 
 
 
 
 
1344
  }
1345
 
1346
  return $request;
1381
  self::_build_existing_terms( $post_id );
1382
  self::_build_tax_input( $post_id, $request['tax_input'], $request['tax_action'] );
1383
  $request['tax_input'] = self::_apply_tax_input( $post_id );
1384
+ foreach( $request['tax_action'] as $taxonomy => $action ) {
1385
+ // _apply_tax_input changes a remove to a replace
1386
+ if ( 'remove' == $action ) {
1387
+ $request['tax_action'][ $taxonomy ] = 'replace';
1388
+ }
1389
+ }
1390
  }
1391
 
1392
+ MLA::mla_debug_add( "MLA_Polylang::bulk_action_item_request( {$post_id} ) \$request['tax_input'] = " . var_export( $request['tax_input'], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1393
+ MLA::mla_debug_add( "MLA_Polylang::bulk_action_item_request( {$post_id} ) \$request['tax_action'] = " . var_export( $request['tax_action'], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
1394
  return $request;
1395
  } // mla_list_table_bulk_action_item_request
1396
 
1413
  global $polylang;
1414
 
1415
  // Language dropdown in Bulk Edit area
1416
+ if ( isset( $_POST['inline_lang_choice'] ) && ( '-1' != $_POST['inline_lang_choice'] ) ) {
1417
  $post = get_post( $post_id );
1418
  // save_post() does a check_admin_referer() security test
1419
  $_REQUEST['_wpnonce'] = wp_create_nonce( 'bulk-posts' );
1477
 
1478
  // Clear all the "Filter-by" parameters
1479
  if ( isset( $_REQUEST['bulk_tr_options']['clear_filters'] ) ) {
1480
+ MLA::mla_clear_filter_by();
 
 
 
 
 
 
1481
  }
1482
 
1483
  if ( empty( $translations ) ) {
1515
  /**
1516
  * MLA_List_Table inline edit item values
1517
  *
1518
+ * Builds the Language dropdown and edit translation links
1519
  * for the Quick and Bulk Edit forms.
1520
  *
1521
  * @since 2.11
1672
  if ( is_null( MLA_Polylang::$language_columns ) ) {
1673
  global $polylang;
1674
 
1675
+ /*
1676
+ * Build language management columns
1677
+ */
1678
  $show_language = 'checked' == MLAOptions::mla_get_option( 'language_column', false, false, MLA_Polylang::$mla_language_option_definitions );
1679
+
1680
+ $languages = count( $polylang->model->get_languages_list() );
1681
+ $view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
1682
+ if ( 1 < $languages && $view_status != 'trash' ) {
1683
+ $show_translations = 'checked' == MLAOptions::mla_get_option( 'translations_column', false, false, MLA_Polylang::$mla_language_option_definitions );
1684
+ } else {
1685
+ $show_translations = false;
1686
+ }
1687
 
1688
  MLA_Polylang::$language_columns = array();
1689
 
1698
  MLA_Polylang::$language_columns['pll_translations'] = $flags_column;
1699
  }
1700
  }
1701
+ } // add columns
1702
 
1703
  if ( ! empty( MLA_Polylang::$language_columns ) ) {
1704
  $end = array_slice( $columns, 2) ;
1747
 
1748
  if ( 'language' == $column_name ) {
1749
  $item_language = $polylang->model->get_post_language( $item->ID );
1750
+ $content = is_object( $item_language ) ? $item_language->name : 'none';
1751
  } elseif ('pll_translations' == $column_name ) {
1752
  if ( is_null( $languages ) ) {
1753
  $current_language = $polylang->curlang;
1797
  /**
1798
  * Filter the "sticky" submenu URL parameters
1799
  *
1800
+ * Adds a language ('lang') parameter to the URL parameters that
1801
+ * will be retained when the submenu page refreshes.
1802
+ * Maintains the list of Bulk Translate items in the URLs for
1803
+ * paging through the results.
1804
  *
1805
  * @since 2.11
1806
  *
1810
  * @return array updated submenu_arguments.
1811
  */
1812
  public static function mla_list_table_submenu_arguments( $submenu_arguments, $include_filters ) {
1813
+ global $polylang;
1814
+
1815
+ if ( isset( $_REQUEST['lang'] ) ) {
1816
+ $submenu_arguments['lang'] = $_REQUEST['lang'];
1817
+ } elseif ( $polylang->curlang ) {
1818
+ $submenu_arguments['lang'] = $polylang->curlang->slug;
1819
+ } else {
1820
+ $submenu_arguments['lang'] = 'all';
1821
  }
1822
 
1823
  if ( $include_filters && ( ! empty( MLA_Polylang::$bulk_action_includes ) ) ) {
1849
  /**
1850
  * Filter the total items count for prepare_items()
1851
  *
1852
+ * A convenient place to add the query argument required for the
1853
+ * "Bulk Translate" custom view.
1854
  *
1855
  * @since 2.11
1856
  *
1866
  $_REQUEST['ids'] = MLA_Polylang::$bulk_action_includes;
1867
  }
1868
 
 
 
 
 
 
 
 
 
 
1869
  return $total_items;
1870
  } // mla_list_table_prepare_items_total_items_filter
1871
 
2064
  * Initialize page messages and content.
2065
  */
2066
  if ( !empty( $_REQUEST['mla-language-options-save'] ) ) {
2067
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2068
  $page_content = MLA_Polylang::_save_language_settings( );
2069
  } elseif ( !empty( $_REQUEST['mla-language-options-reset'] ) ) {
2070
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2071
  $page_content = MLA_Polylang::_reset_language_settings( );
2072
  } else {
2073
  $page_content = array(
2089
  'settingsURL' => admin_url('options-general.php'),
2090
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2091
  'Delete Language options' => __( 'Delete Language options and restore default settings', 'media-library-assistant' ),
2092
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2093
  '_wp_http_referer' => wp_referer_field( false ),
2094
  'Go to Top' => __( 'Go to Top', 'media-library-assistant' ),
2095
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-language&mla_tab=language',
includes/class-mla-settings.php CHANGED
@@ -102,7 +102,7 @@ class MLASettings {
102
  * @return void
103
  */
104
  public static function initialize( ) {
105
- // add_action( 'admin_page_access_denied', 'MLASettings::mla_admin_page_access_denied_action' );
106
  add_action( 'admin_init', 'MLASettings::mla_admin_init_action' );
107
  add_action( 'admin_menu', 'MLASettings::mla_admin_menu_action' );
108
  add_action( 'admin_enqueue_scripts', 'MLASettings::mla_admin_enqueue_scripts_action' );
@@ -229,6 +229,24 @@ class MLASettings {
229
  MLAMime::mla_update_upload_mime();
230
  } // version is less than 1.72
231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  MLAOptions::mla_update_option( MLAOptions::MLA_VERSION_OPTION, MLA::CURRENT_MLA_VERSION );
233
  }
234
 
@@ -281,6 +299,7 @@ class MLASettings {
281
  global $plugin_page;
282
  global $_registered_pages;
283
 
 
284
  error_log( 'DEBUG: mla_admin_page_access_denied_action $_SERVER[REQUEST_URI] = ' . var_export( $_SERVER['REQUEST_URI'], true), 0 );
285
  error_log( 'DEBUG: mla_admin_page_access_denied_action $_REQUEST = ' . var_export( $_REQUEST, true), 0 );
286
  error_log( 'DEBUG: mla_admin_page_access_denied_action $pagenow = ' . var_export( $pagenow, true), 0 );
@@ -339,7 +358,7 @@ class MLASettings {
339
  'notitle' => '(' . __( 'no slug', 'media-library-assistant' ) . ')',
340
  'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
341
  'useSpinnerClass' => false,
342
- 'ajax_nonce' => wp_create_nonce( MLA::MLA_ADMIN_NONCE )
343
  );
344
 
345
  if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
@@ -618,7 +637,7 @@ class MLASettings {
618
  public static function mla_inline_edit_view_action() {
619
  set_current_screen( $_REQUEST['screen'] );
620
 
621
- check_ajax_referer( MLA::MLA_ADMIN_NONCE, 'nonce' );
622
 
623
  if ( empty( $_REQUEST['original_slug'] ) ) {
624
  echo __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'No view slug found', 'media-library-assistant' );
@@ -661,7 +680,7 @@ class MLASettings {
661
  public static function mla_inline_edit_upload_action() {
662
  set_current_screen( $_REQUEST['screen'] );
663
 
664
- check_ajax_referer( MLA::MLA_ADMIN_NONCE, 'nonce' );
665
 
666
  if ( empty( $_REQUEST['original_slug'] ) ) {
667
  echo __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'No upload slug found', 'media-library-assistant' );
@@ -697,7 +716,7 @@ class MLASettings {
697
  */
698
  public static function mla_inline_mapping_custom_action() {
699
  set_current_screen( $_REQUEST['screen'] );
700
- check_ajax_referer( MLA::MLA_ADMIN_NONCE, 'nonce' );
701
 
702
  /*
703
  * Convert the ajax bulk_action back to the older Submit button equivalent
@@ -820,7 +839,7 @@ class MLASettings {
820
  */
821
  public static function mla_inline_mapping_iptc_exif_action() {
822
  set_current_screen( $_REQUEST['screen'] );
823
- check_ajax_referer( MLA::MLA_ADMIN_NONCE, 'nonce' );
824
 
825
  /*
826
  * Convert the ajax bulk_action back to the older Submit button equivalent
@@ -1311,16 +1330,16 @@ class MLASettings {
1311
  * Initialize page messages and content.
1312
  */
1313
  if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
1314
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1315
  $page_content = self::_save_general_settings( );
1316
  } elseif ( !empty( $_REQUEST['mla-general-options-export'] ) ) {
1317
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1318
  $page_content = self::_export_settings( );
1319
  } elseif ( !empty( $_REQUEST['mla-general-options-import'] ) ) {
1320
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1321
  $page_content = self::_import_settings( );
1322
  } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
1323
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1324
  $page_content = self::_reset_general_settings( );
1325
  } else {
1326
  $page_content = array(
@@ -1340,7 +1359,7 @@ class MLASettings {
1340
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
1341
  'Export ALL Settings' => __( 'Export ALL Settings', 'media-library-assistant' ),
1342
  'Delete General options' => __( 'Delete General options and restore default settings', 'media-library-assistant' ),
1343
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1344
  '_wp_http_referer' => wp_referer_field( false ),
1345
  'Go to Top' => __( 'Go to Top', 'media-library-assistant' ),
1346
  'Support Our Work' => __( 'Support Our Work', 'media-library-assistant' ),
@@ -1493,7 +1512,7 @@ class MLASettings {
1493
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-view&mla_tab=view',
1494
  'action' => MLA::MLA_ADMIN_SINGLE_EDIT_UPDATE,
1495
  'original_slug' => $view['slug'],
1496
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1497
  'Slug' => __( 'Slug', 'media-library-assistant' ),
1498
  'The slug is' => __( 'The &#8220;slug&#8221; is the URL-friendly, unique key for the view. It must be all lowercase and contain only letters, numbers, periods (.), slashes (/) and hyphens (-). For &#8220;<strong>Post MIME Type</strong>&#8221; views, the slug is also the MIME type specification and <strong>must be a valid MIME</strong> type, e.g., &#8220;image&#8221; or &#8220;image/jpeg&#8221;.', 'media-library-assistant' ),
1499
  'Singular Label' => __( 'Singular Label', 'media-library-assistant' ),
@@ -1568,10 +1587,10 @@ class MLASettings {
1568
  );
1569
 
1570
  if ( !empty( $_REQUEST['mla-view-options-save'] ) ) {
1571
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1572
  $page_content = self::_save_view_settings( );
1573
  } elseif ( !empty( $_REQUEST['mla-add-view-submit'] ) ) {
1574
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1575
  $page_content = MLAMime::mla_add_post_mime_type( $_REQUEST['mla_view_item'] );
1576
  if ( false !== strpos( $page_content['message'], __( 'ERROR', 'media-library-assistant' ) ) ) {
1577
  $add_form_values = $_REQUEST['mla_view_item'];
@@ -1637,7 +1656,7 @@ class MLASettings {
1637
  * Process row-level actions that affect a single item
1638
  */
1639
  if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
1640
- check_admin_referer( MLA::MLA_ADMIN_NONCE );
1641
 
1642
  switch ( $_REQUEST['mla_admin_action'] ) {
1643
  case MLA::MLA_ADMIN_SINGLE_DELETE:
@@ -1696,7 +1715,7 @@ class MLASettings {
1696
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-view&mla_tab=view',
1697
  'options_list' => $options_list,
1698
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
1699
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1700
  );
1701
 
1702
  $page_content['body'] .= MLAData::mla_parse_template( $page_template_array['view-disabled'], $page_values );
@@ -1743,7 +1762,7 @@ class MLASettings {
1743
  'You can find' => sprintf( __( 'You can find more information about library views, Post MIME types and how MLA and WordPress use them in the %1$s section of the Documentation or by clicking the <strong>"Help"</strong> tab in the upper-right corner of this screen.', 'media-library-assistant' ), '<a href="[+settingsURL+]?page=mla-settings-menu-documentation&amp;mla_tab=documentation#mla_views" title="' . __( 'Library View Processing documentation', 'media-library-assistant' ) . '">' . __( 'Library Views/Post MIME Type Processing', 'media-library-assistant' ) . '</a>' ),
1744
  'settingsURL' => admin_url('options-general.php'),
1745
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-view&mla_tab=view',
1746
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1747
  'results' => ! empty( $_REQUEST['s'] ) ? '<h3 style="float:left">' . __( 'Displaying search results for', 'media-library-assistant' ) . ': "' . $_REQUEST['s'] . '"</h3>' : '',
1748
  'Search Views' => __( 'Search Views', 'media-library-assistant' ),
1749
  's' => isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '',
@@ -1852,7 +1871,7 @@ class MLASettings {
1852
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
1853
  'action' => MLA::MLA_ADMIN_SINGLE_EDIT_UPDATE,
1854
  'original_slug' => $item['slug'],
1855
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1856
  'Extension' => __( 'Extension', 'media-library-assistant' ),
1857
  'The extension is' => __( 'The &#8220;extension&#8221; is the file extension for this type, and a unique key for the item. It must be all lowercase and contain only letters and numbers.', 'media-library-assistant' ),
1858
  'MIME Type' => __( 'MIME Type', 'media-library-assistant' ),
@@ -1931,7 +1950,7 @@ class MLASettings {
1931
 
1932
  $page_values = array(
1933
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
1934
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1935
  'Known File Extension' => __( 'Known File Extension/MIME Type Associations', 'media-library-assistant' ),
1936
  'results' => ! empty( $_REQUEST['s'] ) ? '<br>&nbsp;<br>' . __( 'Displaying search results for', 'media-library-assistant' ) . ': "' . $_REQUEST['s'] . '"' : '',
1937
  'Search Known MIME' => __( 'Search Known MIME Types', 'media-library-assistant' ),
@@ -2019,10 +2038,10 @@ class MLASettings {
2019
  );
2020
 
2021
  if ( !empty( $_REQUEST['mla-upload-options-save'] ) ) {
2022
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2023
  $page_content = self::_save_upload_settings( );
2024
  } elseif ( !empty( $_REQUEST['mla-optional-uploads-search'] ) ) {
2025
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2026
  $page_content = self::_compose_optional_upload_tab( $page_template_array );
2027
  } elseif ( !empty( $_REQUEST['mla-optional-uploads-cancel'] ) ) {
2028
  $page_content = array(
@@ -2031,12 +2050,12 @@ class MLASettings {
2031
  );
2032
  } elseif ( !empty( $_REQUEST['mla-optional-uploads-display'] ) ) {
2033
  if ( 'true' != $_REQUEST['mla-optional-uploads-display'] ) {
2034
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2035
  unset( $_REQUEST['s'] );
2036
  }
2037
  $page_content = self::_compose_optional_upload_tab( $page_template_array );
2038
  } elseif ( !empty( $_REQUEST['mla-add-upload-submit'] ) ) {
2039
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2040
  $page_content = MLAMime::mla_add_upload_mime( $_REQUEST['mla_upload_item'] );
2041
  if ( false !== strpos( $page_content['message'], __( 'ERROR', 'media-library-assistant' ) ) ) {
2042
  $add_form_values = $_REQUEST['mla_upload_item'];
@@ -2104,7 +2123,7 @@ class MLASettings {
2104
  * Process row-level actions that affect a single item
2105
  */
2106
  if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
2107
- check_admin_referer( MLA::MLA_ADMIN_NONCE );
2108
 
2109
  switch ( $_REQUEST['mla_admin_action'] ) {
2110
  case MLA::MLA_ADMIN_SINGLE_DELETE:
@@ -2165,7 +2184,7 @@ class MLASettings {
2165
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
2166
  'options_list' => $options_list,
2167
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2168
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
2169
  );
2170
 
2171
  $page_content['body'] .= MLAData::mla_parse_template( $page_template_array['upload-disabled'], $page_values );
@@ -2212,7 +2231,7 @@ class MLASettings {
2212
  'Search Uploads' => __( 'Search Uploads', 'media-library-assistant' ),
2213
  'To search by' => __( 'To search by extension, use ".", e.g., ".doc"', 'media-library-assistant' ),
2214
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
2215
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
2216
  'options_list' => $options_list,
2217
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2218
  /* translators: %s: add new Upload MIME Type */
@@ -2229,7 +2248,7 @@ class MLASettings {
2229
  'Description' => __( 'Description', 'media-library-assistant' ),
2230
  'The description can' => __( 'The description can contain any documentation or notes you need to understand or use the item.', 'media-library-assistant' ),
2231
  'Add Upload MIME' => __( 'Add Upload MIME Type', 'media-library-assistant' ),
2232
- 'search_url' => wp_nonce_url( '?page=mla-settings-menu-upload&mla_tab=upload&mla-optional-uploads-search=Search', MLA::MLA_ADMIN_NONCE ),
2233
  'Search Known Types' => __( 'Search Known Types', 'media-library-assistant' ),
2234
  'colspan' => count( $MLAListUploadTable->get_columns() ),
2235
  'Quick Edit' => __( '<strong>Quick Edit</strong>', 'media-library-assistant' ),
@@ -2277,7 +2296,7 @@ class MLASettings {
2277
  * Initialize page messages and content.
2278
  */
2279
  if ( !empty( $_REQUEST['mla-gallery-options-save'] ) ) {
2280
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2281
  $page_content = self::_save_gallery_settings( );
2282
  } else {
2283
  $page_content = array(
@@ -2303,7 +2322,7 @@ class MLASettings {
2303
  'Markup Templates' => __( 'Markup Templates', 'media-library-assistant' ),
2304
  'markup_options_list' => '',
2305
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2306
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
2307
  '_wp_http_referer' => wp_referer_field( false )
2308
  );
2309
 
@@ -2337,6 +2356,25 @@ class MLASettings {
2337
  MLAOptions::$mla_option_definitions['default_markup']['texts'][] = $key;
2338
  }
2339
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2340
  /*
2341
  * Start with any page-level options
2342
  */
@@ -2628,7 +2666,7 @@ class MLASettings {
2628
  * Initialize page messages and content.
2629
  */
2630
  if ( isset( $_REQUEST['custom_field_mapping'] ) && is_array( $_REQUEST['custom_field_mapping'] ) ) {
2631
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2632
 
2633
  /*
2634
  * Check for page-level submit buttons to change settings or map attachments.
@@ -2731,7 +2769,7 @@ class MLASettings {
2731
  'Click Save Changes' => sprintf( __( 'Click %1$s to update the "Enable custom field mapping..." checkbox and/or all rule changes and additions at once. <strong>No rule mapping will be performed.</strong>', 'media-library-assistant' ), '<strong>' . __( 'Save Changes', 'media-library-assistant' ) . '</strong>' ),
2732
  /* translators: 1: "Map All Rules..." */
2733
  'Click Map All' => sprintf( __( 'Click %1$s to apply all the rules at once (rule changes will be applied but not saved).', 'media-library-assistant' ), '<strong>' . __( 'Map All Rules, All Attachments Now', 'media-library-assistant' ) . '</strong>' ),
2734
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
2735
  '_wp_http_referer' => wp_referer_field( false )
2736
  );
2737
 
@@ -2775,7 +2813,7 @@ class MLASettings {
2775
  );
2776
 
2777
  if ( isset( $_REQUEST['iptc_exif_mapping'] ) && is_array( $_REQUEST['iptc_exif_mapping'] ) ) {
2778
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2779
 
2780
  if ( !empty( $_REQUEST['iptc-exif-options-save'] ) ) {
2781
  $page_content = self::_save_iptc_exif_settings( );
@@ -2870,7 +2908,7 @@ class MLASettings {
2870
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2871
  /* translators: 1: "Save Changes" */
2872
  'Click Save Changes' => sprintf( __( 'Click %1$s to update the "Enable IPTC/EXIF mapping..." checkbox and/or all rule changes and additions at once. <strong>No rule mapping will be performed.</strong>', 'media-library-assistant' ), '<strong>' . __( 'Save Changes', 'media-library-assistant' ) . '</strong>' ),
2873
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
2874
  '_wp_http_referer' => wp_referer_field( false )
2875
  );
2876
 
@@ -2968,6 +3006,7 @@ class MLASettings {
2968
 
2969
  $page_values = array();
2970
  $error_log_name = ini_get( 'error_log' );
 
2971
 
2972
  /*
2973
  * Check for page-level actions
@@ -2984,11 +3023,20 @@ class MLASettings {
2984
  }
2985
 
2986
  if ( $file_error ) {
2987
- /* translators: 1: ERROR tag 2: file type 3: file name */
2988
- $page_content['message'] = sprintf( __( '%1$s: The %2$s file ( %3$s ) could not be reset.', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), __( 'Error Log', 'media-library-assistant' ), $error_log_name );
 
 
 
 
 
 
 
 
 
2989
  }
2990
  } elseif ( !empty( $_REQUEST['mla-debug-options-save'] ) ) {
2991
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
2992
  $page_content = self::_save_debug_settings();
2993
  }
2994
 
@@ -3002,42 +3050,65 @@ class MLASettings {
3002
  }
3003
  }
3004
 
3005
- /*
3006
- * Add debug content
3007
- */
3008
- $error_log_contents = @file_get_contents( $error_log_name, false );
3009
- if ( false === $error_log_contents ) {
3010
- $error_info = error_get_last();
3011
- if ( false !== ( $tail = strpos( $error_info['message'], '</a>]: ' ) ) ) {
3012
- $php_errormsg = ':<br>' . substr( $error_info['message'], $tail + 7 );
 
 
 
 
3013
  } else {
3014
- $php_errormsg = '.';
3015
  }
3016
 
3017
- /* translators: 1: ERROR tag 2: file type 3: file name 4: error message*/
3018
- $page_content['message'] = sprintf( __( '%1$s: Reading the %2$s file ( %3$s ) "%4$s".', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), __( 'Error Log', 'media-library-assistant' ), $error_log_name, $php_errormsg );
3019
- $error_log_contents = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
3020
  } else {
3021
- $display_limit = absint( MLAOptions::mla_get_option( MLAOptions::MLA_DEBUG_DISPLAY_LIMIT ) );
3022
- if ( 0 < $display_limit ) {
3023
- $error_log_contents = substr( $error_log_contents, 0 - $display_limit );
3024
  }
3025
- }
 
 
3026
 
3027
  if ( current_user_can( 'upload_files' ) ) {
3028
- $args = array(
3029
- 'page' => MLA::ADMIN_PAGE_SLUG,
3030
- 'mla_download_file' => urlencode( $error_log_name ),
3031
- 'mla_download_type' => 'text/plain'
3032
- );
3033
- $download_link = '<a class="button-secondary" href="' . add_query_arg( $args, wp_nonce_url( 'upload.php', MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' &#8220;' . __( 'Error Log', 'media-library-assistant' ) . '&#8221;">' . __( 'Download', 'media-library-assistant' ) . '</a>';
 
 
 
 
3034
 
3035
  $args = array(
3036
  'page' => 'mla-settings-menu-debug',
3037
  'mla_tab' => 'debug',
3038
  'mla_reset_log' => 'true'
3039
  );
3040
- $reset_link = '<a class="button-secondary" href="' . add_query_arg( $args, wp_nonce_url( 'options-general.php', MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Reset', 'media-library-assistant' ) . ' &#8220;' . __( 'Error Log', 'media-library-assistant' ) . '&#8221;">' . __( 'Reset', 'media-library-assistant' ) . '</a>';
3041
  }
3042
 
3043
  $error_level = ini_get( 'error_reporting' );
@@ -3050,13 +3121,14 @@ class MLASettings {
3050
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-debug&mla_tab=debug',
3051
  'options_list' => $options_list,
3052
  'Error Log' => $error_log_title,
 
3053
  'error_log_text' => $error_log_contents,
3054
  'download_link' => $download_link,
3055
  'reset_link' => $reset_link,
3056
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
3057
  /* translators: 1: "Save Changes" */
3058
  'Click Save Changes' => sprintf( __( 'Click %1$s to update the %2$s.', 'media-library-assistant' ), '<strong>' . __( 'Save Changes', 'media-library-assistant' ) . '</strong>', __( 'Debug Options', 'media-library-assistant' ) ),
3059
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
3060
  '_wp_http_referer' => wp_referer_field( false )
3061
  );
3062
 
102
  * @return void
103
  */
104
  public static function initialize( ) {
105
+ //add_action( 'admin_page_access_denied', 'MLASettings::mla_admin_page_access_denied_action' );
106
  add_action( 'admin_init', 'MLASettings::mla_admin_init_action' );
107
  add_action( 'admin_menu', 'MLASettings::mla_admin_menu_action' );
108
  add_action( 'admin_enqueue_scripts', 'MLASettings::mla_admin_enqueue_scripts_action' );
229
  MLAMime::mla_update_upload_mime();
230
  } // version is less than 1.72
231
 
232
+ if ( version_compare( '2.13', $current_version, '>' ) ) {
233
+ /*
234
+ * Add format, option and no_null to IPTC/EXIF custom mapping rules
235
+ */
236
+ $option_value = MLAOptions::mla_get_option( 'iptc_exif_mapping' );
237
+ $new_values = array();
238
+
239
+ foreach ( $option_value['custom'] as $key => $value ) {
240
+ $value['format'] = isset( $value['format'] ) ? $value['format'] : 'native';
241
+ $value['option'] = isset( $value['option'] ) ? $value['option'] : 'text';
242
+ $value['no_null'] = isset( $value['no_null'] ) ? $value['no_null'] : false;
243
+ $new_values[ $key ] = $value;
244
+ }
245
+
246
+ $option_value['custom'] = $new_values;
247
+ MLAOptions::mla_update_option( 'iptc_exif_mapping', $option_value );
248
+ } // version is less than 2.13
249
+
250
  MLAOptions::mla_update_option( MLAOptions::MLA_VERSION_OPTION, MLA::CURRENT_MLA_VERSION );
251
  }
252
 
299
  global $plugin_page;
300
  global $_registered_pages;
301
 
302
+ error_log( 'DEBUG: mla_admin_page_access_denied_action xdebug_get_function_stack = ' . var_export( xdebug_get_function_stack(), true), 0 );
303
  error_log( 'DEBUG: mla_admin_page_access_denied_action $_SERVER[REQUEST_URI] = ' . var_export( $_SERVER['REQUEST_URI'], true), 0 );
304
  error_log( 'DEBUG: mla_admin_page_access_denied_action $_REQUEST = ' . var_export( $_REQUEST, true), 0 );
305
  error_log( 'DEBUG: mla_admin_page_access_denied_action $pagenow = ' . var_export( $pagenow, true), 0 );
358
  'notitle' => '(' . __( 'no slug', 'media-library-assistant' ) . ')',
359
  'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
360
  'useSpinnerClass' => false,
361
+ 'ajax_nonce' => wp_create_nonce( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME )
362
  );
363
 
364
  if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
637
  public static function mla_inline_edit_view_action() {
638
  set_current_screen( $_REQUEST['screen'] );
639
 
640
+ check_ajax_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
641
 
642
  if ( empty( $_REQUEST['original_slug'] ) ) {
643
  echo __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'No view slug found', 'media-library-assistant' );
680
  public static function mla_inline_edit_upload_action() {
681
  set_current_screen( $_REQUEST['screen'] );
682
 
683
+ check_ajax_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
684
 
685
  if ( empty( $_REQUEST['original_slug'] ) ) {
686
  echo __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'No upload slug found', 'media-library-assistant' );
716
  */
717
  public static function mla_inline_mapping_custom_action() {
718
  set_current_screen( $_REQUEST['screen'] );
719
+ check_ajax_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
720
 
721
  /*
722
  * Convert the ajax bulk_action back to the older Submit button equivalent
839
  */
840
  public static function mla_inline_mapping_iptc_exif_action() {
841
  set_current_screen( $_REQUEST['screen'] );
842
+ check_ajax_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
843
 
844
  /*
845
  * Convert the ajax bulk_action back to the older Submit button equivalent
1330
  * Initialize page messages and content.
1331
  */
1332
  if ( !empty( $_REQUEST['mla-general-options-save'] ) ) {
1333
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1334
  $page_content = self::_save_general_settings( );
1335
  } elseif ( !empty( $_REQUEST['mla-general-options-export'] ) ) {
1336
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1337
  $page_content = self::_export_settings( );
1338
  } elseif ( !empty( $_REQUEST['mla-general-options-import'] ) ) {
1339
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1340
  $page_content = self::_import_settings( );
1341
  } elseif ( !empty( $_REQUEST['mla-general-options-reset'] ) ) {
1342
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1343
  $page_content = self::_reset_general_settings( );
1344
  } else {
1345
  $page_content = array(
1359
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
1360
  'Export ALL Settings' => __( 'Export ALL Settings', 'media-library-assistant' ),
1361
  'Delete General options' => __( 'Delete General options and restore default settings', 'media-library-assistant' ),
1362
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1363
  '_wp_http_referer' => wp_referer_field( false ),
1364
  'Go to Top' => __( 'Go to Top', 'media-library-assistant' ),
1365
  'Support Our Work' => __( 'Support Our Work', 'media-library-assistant' ),
1512
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-view&mla_tab=view',
1513
  'action' => MLA::MLA_ADMIN_SINGLE_EDIT_UPDATE,
1514
  'original_slug' => $view['slug'],
1515
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1516
  'Slug' => __( 'Slug', 'media-library-assistant' ),
1517
  'The slug is' => __( 'The &#8220;slug&#8221; is the URL-friendly, unique key for the view. It must be all lowercase and contain only letters, numbers, periods (.), slashes (/) and hyphens (-). For &#8220;<strong>Post MIME Type</strong>&#8221; views, the slug is also the MIME type specification and <strong>must be a valid MIME</strong> type, e.g., &#8220;image&#8221; or &#8220;image/jpeg&#8221;.', 'media-library-assistant' ),
1518
  'Singular Label' => __( 'Singular Label', 'media-library-assistant' ),
1587
  );
1588
 
1589
  if ( !empty( $_REQUEST['mla-view-options-save'] ) ) {
1590
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1591
  $page_content = self::_save_view_settings( );
1592
  } elseif ( !empty( $_REQUEST['mla-add-view-submit'] ) ) {
1593
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1594
  $page_content = MLAMime::mla_add_post_mime_type( $_REQUEST['mla_view_item'] );
1595
  if ( false !== strpos( $page_content['message'], __( 'ERROR', 'media-library-assistant' ) ) ) {
1596
  $add_form_values = $_REQUEST['mla_view_item'];
1656
  * Process row-level actions that affect a single item
1657
  */
1658
  if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
1659
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1660
 
1661
  switch ( $_REQUEST['mla_admin_action'] ) {
1662
  case MLA::MLA_ADMIN_SINGLE_DELETE:
1715
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-view&mla_tab=view',
1716
  'options_list' => $options_list,
1717
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
1718
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1719
  );
1720
 
1721
  $page_content['body'] .= MLAData::mla_parse_template( $page_template_array['view-disabled'], $page_values );
1762
  'You can find' => sprintf( __( 'You can find more information about library views, Post MIME types and how MLA and WordPress use them in the %1$s section of the Documentation or by clicking the <strong>"Help"</strong> tab in the upper-right corner of this screen.', 'media-library-assistant' ), '<a href="[+settingsURL+]?page=mla-settings-menu-documentation&amp;mla_tab=documentation#mla_views" title="' . __( 'Library View Processing documentation', 'media-library-assistant' ) . '">' . __( 'Library Views/Post MIME Type Processing', 'media-library-assistant' ) . '</a>' ),
1763
  'settingsURL' => admin_url('options-general.php'),
1764
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-view&mla_tab=view',
1765
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1766
  'results' => ! empty( $_REQUEST['s'] ) ? '<h3 style="float:left">' . __( 'Displaying search results for', 'media-library-assistant' ) . ': "' . $_REQUEST['s'] . '"</h3>' : '',
1767
  'Search Views' => __( 'Search Views', 'media-library-assistant' ),
1768
  's' => isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '',
1871
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
1872
  'action' => MLA::MLA_ADMIN_SINGLE_EDIT_UPDATE,
1873
  'original_slug' => $item['slug'],
1874
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1875
  'Extension' => __( 'Extension', 'media-library-assistant' ),
1876
  'The extension is' => __( 'The &#8220;extension&#8221; is the file extension for this type, and a unique key for the item. It must be all lowercase and contain only letters and numbers.', 'media-library-assistant' ),
1877
  'MIME Type' => __( 'MIME Type', 'media-library-assistant' ),
1950
 
1951
  $page_values = array(
1952
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
1953
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1954
  'Known File Extension' => __( 'Known File Extension/MIME Type Associations', 'media-library-assistant' ),
1955
  'results' => ! empty( $_REQUEST['s'] ) ? '<br>&nbsp;<br>' . __( 'Displaying search results for', 'media-library-assistant' ) . ': "' . $_REQUEST['s'] . '"' : '',
1956
  'Search Known MIME' => __( 'Search Known MIME Types', 'media-library-assistant' ),
2038
  );
2039
 
2040
  if ( !empty( $_REQUEST['mla-upload-options-save'] ) ) {
2041
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2042
  $page_content = self::_save_upload_settings( );
2043
  } elseif ( !empty( $_REQUEST['mla-optional-uploads-search'] ) ) {
2044
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2045
  $page_content = self::_compose_optional_upload_tab( $page_template_array );
2046
  } elseif ( !empty( $_REQUEST['mla-optional-uploads-cancel'] ) ) {
2047
  $page_content = array(
2050
  );
2051
  } elseif ( !empty( $_REQUEST['mla-optional-uploads-display'] ) ) {
2052
  if ( 'true' != $_REQUEST['mla-optional-uploads-display'] ) {
2053
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2054
  unset( $_REQUEST['s'] );
2055
  }
2056
  $page_content = self::_compose_optional_upload_tab( $page_template_array );
2057
  } elseif ( !empty( $_REQUEST['mla-add-upload-submit'] ) ) {
2058
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2059
  $page_content = MLAMime::mla_add_upload_mime( $_REQUEST['mla_upload_item'] );
2060
  if ( false !== strpos( $page_content['message'], __( 'ERROR', 'media-library-assistant' ) ) ) {
2061
  $add_form_values = $_REQUEST['mla_upload_item'];
2123
  * Process row-level actions that affect a single item
2124
  */
2125
  if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
2126
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2127
 
2128
  switch ( $_REQUEST['mla_admin_action'] ) {
2129
  case MLA::MLA_ADMIN_SINGLE_DELETE:
2184
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
2185
  'options_list' => $options_list,
2186
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2187
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2188
  );
2189
 
2190
  $page_content['body'] .= MLAData::mla_parse_template( $page_template_array['upload-disabled'], $page_values );
2231
  'Search Uploads' => __( 'Search Uploads', 'media-library-assistant' ),
2232
  'To search by' => __( 'To search by extension, use ".", e.g., ".doc"', 'media-library-assistant' ),
2233
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-upload&mla_tab=upload',
2234
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2235
  'options_list' => $options_list,
2236
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2237
  /* translators: %s: add new Upload MIME Type */
2248
  'Description' => __( 'Description', 'media-library-assistant' ),
2249
  'The description can' => __( 'The description can contain any documentation or notes you need to understand or use the item.', 'media-library-assistant' ),
2250
  'Add Upload MIME' => __( 'Add Upload MIME Type', 'media-library-assistant' ),
2251
+ 'search_url' => wp_nonce_url( '?page=mla-settings-menu-upload&mla_tab=upload&mla-optional-uploads-search=Search', MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ),
2252
  'Search Known Types' => __( 'Search Known Types', 'media-library-assistant' ),
2253
  'colspan' => count( $MLAListUploadTable->get_columns() ),
2254
  'Quick Edit' => __( '<strong>Quick Edit</strong>', 'media-library-assistant' ),
2296
  * Initialize page messages and content.
2297
  */
2298
  if ( !empty( $_REQUEST['mla-gallery-options-save'] ) ) {
2299
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2300
  $page_content = self::_save_gallery_settings( );
2301
  } else {
2302
  $page_content = array(
2322
  'Markup Templates' => __( 'Markup Templates', 'media-library-assistant' ),
2323
  'markup_options_list' => '',
2324
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2325
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2326
  '_wp_http_referer' => wp_referer_field( false )
2327
  );
2328
 
2356
  MLAOptions::$mla_option_definitions['default_markup']['texts'][] = $key;
2357
  }
2358
 
2359
+ /*
2360
+ * Check for MLA Viewer Support requirements,
2361
+ * starting with Imagick check
2362
+ */
2363
+ if ( ! class_exists( 'Imagick' ) ) {
2364
+ $not_supported_warning = '<br>&nbsp;&nbsp;' . __( 'Imagick support is not installed.', 'media-library-assistant' );
2365
+ } else {
2366
+ $not_supported_warning = '';
2367
+ }
2368
+
2369
+ $ghostscript_path = MLAOptions::mla_get_option( 'ghostscript_path' );
2370
+ if ( ! MLAShortcodes::mla_ghostscript_present( $ghostscript_path, true ) ) {
2371
+ $not_supported_warning .= '<br>&nbsp;&nbsp;' . __( 'Ghostscript support is not installed.', 'media-library-assistant' );
2372
+ }
2373
+
2374
+ if ( ! empty( $not_supported_warning ) ) {
2375
+ MLAOptions::$mla_option_definitions['enable_mla_viewer']['help'] = '<strong>' . __( 'WARNING: MLA Viewer support may not be available', 'media-library-assistant' ) . ':</strong>' . $not_supported_warning;
2376
+ }
2377
+
2378
  /*
2379
  * Start with any page-level options
2380
  */
2666
  * Initialize page messages and content.
2667
  */
2668
  if ( isset( $_REQUEST['custom_field_mapping'] ) && is_array( $_REQUEST['custom_field_mapping'] ) ) {
2669
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2670
 
2671
  /*
2672
  * Check for page-level submit buttons to change settings or map attachments.
2769
  'Click Save Changes' => sprintf( __( 'Click %1$s to update the "Enable custom field mapping..." checkbox and/or all rule changes and additions at once. <strong>No rule mapping will be performed.</strong>', 'media-library-assistant' ), '<strong>' . __( 'Save Changes', 'media-library-assistant' ) . '</strong>' ),
2770
  /* translators: 1: "Map All Rules..." */
2771
  'Click Map All' => sprintf( __( 'Click %1$s to apply all the rules at once (rule changes will be applied but not saved).', 'media-library-assistant' ), '<strong>' . __( 'Map All Rules, All Attachments Now', 'media-library-assistant' ) . '</strong>' ),
2772
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2773
  '_wp_http_referer' => wp_referer_field( false )
2774
  );
2775
 
2813
  );
2814
 
2815
  if ( isset( $_REQUEST['iptc_exif_mapping'] ) && is_array( $_REQUEST['iptc_exif_mapping'] ) ) {
2816
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
2817
 
2818
  if ( !empty( $_REQUEST['iptc-exif-options-save'] ) ) {
2819
  $page_content = self::_save_iptc_exif_settings( );
2908
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
2909
  /* translators: 1: "Save Changes" */
2910
  'Click Save Changes' => sprintf( __( 'Click %1$s to update the "Enable IPTC/EXIF mapping..." checkbox and/or all rule changes and additions at once. <strong>No rule mapping will be performed.</strong>', 'media-library-assistant' ), '<strong>' . __( 'Save Changes', 'media-library-assistant' ) . '</strong>' ),
2911
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
2912
  '_wp_http_referer' => wp_referer_field( false )
2913
  );
2914
 
3006
 
3007
  $page_values = array();
3008
  $error_log_name = ini_get( 'error_log' );
3009
+ $error_log_exists = file_exists ( $error_log_name );
3010
 
3011
  /*
3012
  * Check for page-level actions
3023
  }
3024
 
3025
  if ( $file_error ) {
3026
+ $error_info = error_get_last();
3027
+ if ( false !== ( $tail = strpos( $error_info['message'], '</a>]: ' ) ) ) {
3028
+ $php_errormsg = ':<br>' . substr( $error_info['message'], $tail + 7 );
3029
+ } else {
3030
+ $php_errormsg = '.';
3031
+ }
3032
+
3033
+ /* translators: 1: ERROR tag 2: file type 3: file name 4: error message*/
3034
+ $page_content['message'] = sprintf( __( '%1$s: Reseting the %2$s file ( %3$s ) "%4$s".', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), __( 'Error Log', 'media-library-assistant' ), $error_log_name, $php_errormsg );
3035
+ } else {
3036
+ $error_log_exists = file_exists ( $error_log_name );
3037
  }
3038
  } elseif ( !empty( $_REQUEST['mla-debug-options-save'] ) ) {
3039
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
3040
  $page_content = self::_save_debug_settings();
3041
  }
3042
 
3050
  }
3051
  }
3052
 
3053
+ if ( $error_log_exists ) {
3054
+ /*
3055
+ * Add debug content
3056
+ */
3057
+ $display_limit = absint( MLAOptions::mla_get_option( MLAOptions::MLA_DEBUG_DISPLAY_LIMIT ) );
3058
+ if ( 0 < $display_limit ) {
3059
+ $error_log_size = filesize( $error_log_name );
3060
+ if ( $display_limit < $error_log_size ) {
3061
+ $error_log_contents = @file_get_contents( $error_log_name, false, NULL, ( $error_log_size - $display_limit ), $display_limit );
3062
+ } else {
3063
+ $error_log_contents = @file_get_contents( $error_log_name, false );
3064
+ }
3065
  } else {
3066
+ $error_log_contents = @file_get_contents( $error_log_name, false );
3067
  }
3068
 
3069
+ if ( false === $error_log_contents ) {
3070
+ $error_info = error_get_last();
3071
+ if ( false !== ( $tail = strpos( $error_info['message'], '</a>]: ' ) ) ) {
3072
+ $php_errormsg = ':<br>' . substr( $error_info['message'], $tail + 7 );
3073
+ } else {
3074
+ $php_errormsg = '.';
3075
+ }
3076
+
3077
+ /* translators: 1: ERROR tag 2: file type 3: file name 4: error message*/
3078
+ $page_content['message'] = sprintf( __( '%1$s: Reading the %2$s file ( %3$s ) "%4$s".', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), __( 'Error Log', 'media-library-assistant' ), $error_log_name, $php_errormsg );
3079
+ $error_log_contents = '';
3080
+ } else {
3081
+ if ( 0 < $display_limit ) {
3082
+ $error_log_contents = substr( $error_log_contents, 0 - $display_limit );
3083
+ }
3084
+ }
3085
  } else {
3086
+ if ( empty( $page_content['message'] ) ) {
3087
+ /* translators: 1: file name */
3088
+ $page_content['message'] = sprintf( __( 'Error log file (%1$s) not found; click Reset to create it.', 'media-library-assistant' ), $error_log_name );
3089
  }
3090
+
3091
+ $error_log_contents = '';
3092
+ } // file_exists
3093
 
3094
  if ( current_user_can( 'upload_files' ) ) {
3095
+ if ( $error_log_exists ) {
3096
+ $args = array(
3097
+ 'page' => MLA::ADMIN_PAGE_SLUG,
3098
+ 'mla_download_file' => urlencode( $error_log_name ),
3099
+ 'mla_download_type' => 'text/plain'
3100
+ );
3101
+ $download_link = '<a class="button-secondary" href="' . add_query_arg( $args, wp_nonce_url( 'upload.php', MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' &#8220;' . __( 'Error Log', 'media-library-assistant' ) . '&#8221;">' . __( 'Download', 'media-library-assistant' ) . '</a>';
3102
+ } else {
3103
+ $download_link = '';
3104
+ }
3105
 
3106
  $args = array(
3107
  'page' => 'mla-settings-menu-debug',
3108
  'mla_tab' => 'debug',
3109
  'mla_reset_log' => 'true'
3110
  );
3111
+ $reset_link = '<a class="button-secondary" href="' . add_query_arg( $args, wp_nonce_url( 'options-general.php', MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Reset', 'media-library-assistant' ) . ' &#8220;' . __( 'Error Log', 'media-library-assistant' ) . '&#8221;">' . __( 'Reset', 'media-library-assistant' ) . '</a>';
3112
  }
3113
 
3114
  $error_level = ini_get( 'error_reporting' );
3121
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-debug&mla_tab=debug',
3122
  'options_list' => $options_list,
3123
  'Error Log' => $error_log_title,
3124
+ 'Error Log Name' => $error_log_name,
3125
  'error_log_text' => $error_log_contents,
3126
  'download_link' => $download_link,
3127
  'reset_link' => $reset_link,
3128
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
3129
  /* translators: 1: "Save Changes" */
3130
  'Click Save Changes' => sprintf( __( 'Click %1$s to update the %2$s.', 'media-library-assistant' ), '<strong>' . __( 'Save Changes', 'media-library-assistant' ) . '</strong>', __( 'Debug Options', 'media-library-assistant' ) ),
3131
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
3132
  '_wp_http_referer' => wp_referer_field( false )
3133
  );
3134
 
includes/class-mla-shortcodes.php CHANGED
@@ -59,29 +59,32 @@ class MLAShortcodes {
59
  *
60
  * @param string Non-standard location to override default search, e.g.,
61
  * 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'
 
62
  *
63
  * @return boolean true if Ghostscript available else false
64
  */
65
- private static function _ghostscript_present( $explicit_path = '' ) {
66
  static $ghostscript_present = NULL;
67
 
68
- if ( isset( $ghostscript_present ) ) {
69
- MLA::mla_debug_add( '<strong>_ghostscript_present</strong>, ghostscript_present = ' . var_export( $ghostscript_present, true ) );
70
- return $ghostscript_present;
71
- }
 
72
 
73
- if ( 'checked' != MLAOptions::mla_get_option( 'enable_ghostscript_check' ) ) {
74
- MLA::mla_debug_add( '<strong>_ghostscript_present</strong>, disabled' );
75
- return $ghostscript_present = true;
76
- }
77
 
78
- /*
79
- * Imagick must be installed as well
80
- */
81
- if ( ! class_exists( 'Imagick' ) ) {
82
- MLA::mla_debug_add( '<strong>_ghostscript_present</strong>, Imagick missing' );
83
- return $ghostscript_present = false;
84
- }
 
85
 
86
  /*
87
  * Look for exec() - from http://stackoverflow.com/a/12980534/866618
@@ -412,7 +415,7 @@ class MLAShortcodes {
412
  self::$mla_debug = false;
413
  }
414
  }
415
-
416
  /*
417
  * Determine output type
418
  */
@@ -557,12 +560,12 @@ class MLAShortcodes {
557
  * Test for Ghostscript here so debug messages can be recorded
558
  */
559
  $ghostscript_path = MLAOptions::mla_get_option( 'ghostscript_path' );
560
- if ( self::_ghostscript_present( $ghostscript_path ) ) {
561
  $arguments['mla_viewer_extensions'] = array_filter( array_map( 'trim', explode( ',', $arguments['mla_viewer_extensions'] ) ) );
562
  } else {
563
  $arguments['mla_viewer_extensions'] = array();
564
  }
565
-
566
  // convert limit (in MB) to float
567
  $arguments['mla_viewer_limit'] = abs( 0.0 + $arguments['mla_viewer_limit'] );
568
 
@@ -706,7 +709,7 @@ class MLAShortcodes {
706
  $row_open_template = '';
707
  } else{
708
  $row_open_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-open', 'markup' );
709
-
710
  if ( empty( $row_open_template ) ) {
711
  $row_open_template = '';
712
  }
@@ -724,7 +727,7 @@ class MLAShortcodes {
724
  $row_close_template = '';
725
  } else{
726
  $row_close_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-close', 'markup' );
727
-
728
  if ( empty( $row_close_template ) ) {
729
  $row_close_template = '';
730
  }
@@ -865,6 +868,7 @@ class MLAShortcodes {
865
  $item_values['description'] = wptexturize( $attachment->post_content );
866
  $item_values['file_url'] = wptexturize( $attachment->guid );
867
  $item_values['author_id'] = $attachment->post_author;
 
868
  $item_values['captiontag_content'] = '';
869
 
870
  $user = get_user_by( 'id', $attachment->post_author );
@@ -1287,7 +1291,7 @@ class MLAShortcodes {
1287
  }
1288
  }
1289
 
1290
- if ( self::_ghostscript_present( $ghostscript_path ) ) {
1291
  /*
1292
  * Optional upper limit (in MB) on file size
1293
  */
@@ -1324,7 +1328,7 @@ class MLAShortcodes {
1324
  /*
1325
  * For efficiency, image streaming is done outside WordPress
1326
  */
1327
- $icon_url = add_query_arg( $args, wp_nonce_url( MLA_PLUGIN_URL . 'includes/mla-stream-image.php', MLA::MLA_ADMIN_NONCE ) );
1328
  }
1329
  }
1330
 
@@ -1389,7 +1393,7 @@ class MLAShortcodes {
1389
  } else {
1390
  $item_values['last_in_row'] = '';
1391
  }
1392
-
1393
  /*
1394
  * Conditional caption tag to replicate WP 4.1+,
1395
  * now used in the default markup template.
@@ -1399,7 +1403,7 @@ class MLAShortcodes {
1399
  } else {
1400
  $item_values['captiontag_content'] = '';
1401
  }
1402
-
1403
  $item_values = apply_filters( 'mla_gallery_item_values', $item_values );
1404
  $item_template = apply_filters( 'mla_gallery_item_template', $item_template );
1405
  $parse_value = MLAData::mla_parse_template( $item_template, $item_values );
59
  *
60
  * @param string Non-standard location to override default search, e.g.,
61
  * 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'
62
+ * @param boolean Force ghostscript-only tests, used by MLASettings::_compose_mla_gallery_tab()
63
  *
64
  * @return boolean true if Ghostscript available else false
65
  */
66
+ public static function mla_ghostscript_present( $explicit_path = '', $ghostscript_only = false ) {
67
  static $ghostscript_present = NULL;
68
 
69
+ if ( ! $ghostscript_only ) {
70
+ if ( isset( $ghostscript_present ) ) {
71
+ MLA::mla_debug_add( '<strong>_ghostscript_present</strong>, ghostscript_present = ' . var_export( $ghostscript_present, true ) );
72
+ return $ghostscript_present;
73
+ }
74
 
75
+ if ( 'checked' != MLAOptions::mla_get_option( 'enable_ghostscript_check' ) ) {
76
+ MLA::mla_debug_add( '<strong>_ghostscript_present</strong>, disabled' );
77
+ return $ghostscript_present = true;
78
+ }
79
 
80
+ /*
81
+ * Imagick must be installed as well
82
+ */
83
+ if ( ! class_exists( 'Imagick' ) ) {
84
+ MLA::mla_debug_add( '<strong>_ghostscript_present</strong>, Imagick missing' );
85
+ return $ghostscript_present = false;
86
+ }
87
+ } // not ghostscript_only
88
 
89
  /*
90
  * Look for exec() - from http://stackoverflow.com/a/12980534/866618
415
  self::$mla_debug = false;
416
  }
417
  }
418
+
419
  /*
420
  * Determine output type
421
  */
560
  * Test for Ghostscript here so debug messages can be recorded
561
  */
562
  $ghostscript_path = MLAOptions::mla_get_option( 'ghostscript_path' );
563
+ if ( self::mla_ghostscript_present( $ghostscript_path ) ) {
564
  $arguments['mla_viewer_extensions'] = array_filter( array_map( 'trim', explode( ',', $arguments['mla_viewer_extensions'] ) ) );
565
  } else {
566
  $arguments['mla_viewer_extensions'] = array();
567
  }
568
+
569
  // convert limit (in MB) to float
570
  $arguments['mla_viewer_limit'] = abs( 0.0 + $arguments['mla_viewer_limit'] );
571
 
709
  $row_open_template = '';
710
  } else{
711
  $row_open_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-open', 'markup' );
712
+
713
  if ( empty( $row_open_template ) ) {
714
  $row_open_template = '';
715
  }
727
  $row_close_template = '';
728
  } else{
729
  $row_close_template = MLAOptions::mla_fetch_gallery_template( $markup_values['mla_markup'] . '-row-close', 'markup' );
730
+
731
  if ( empty( $row_close_template ) ) {
732
  $row_close_template = '';
733
  }
868
  $item_values['description'] = wptexturize( $attachment->post_content );
869
  $item_values['file_url'] = wptexturize( $attachment->guid );
870
  $item_values['author_id'] = $attachment->post_author;
871
+ $item_values['caption'] = '';
872
  $item_values['captiontag_content'] = '';
873
 
874
  $user = get_user_by( 'id', $attachment->post_author );
1291
  }
1292
  }
1293
 
1294
+ if ( self::mla_ghostscript_present( $ghostscript_path ) ) {
1295
  /*
1296
  * Optional upper limit (in MB) on file size
1297
  */
1328
  /*
1329
  * For efficiency, image streaming is done outside WordPress
1330
  */
1331
+ $icon_url = add_query_arg( $args, wp_nonce_url( MLA_PLUGIN_URL . 'includes/mla-stream-image.php', MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) );
1332
  }
1333
  }
1334
 
1393
  } else {
1394
  $item_values['last_in_row'] = '';
1395
  }
1396
+
1397
  /*
1398
  * Conditional caption tag to replicate WP 4.1+,
1399
  * now used in the default markup template.
1403
  } else {
1404
  $item_values['captiontag_content'] = '';
1405
  }
1406
+
1407
  $item_values = apply_filters( 'mla_gallery_item_values', $item_values );
1408
  $item_template = apply_filters( 'mla_gallery_item_template', $item_template );
1409
  $parse_value = MLAData::mla_parse_template( $item_template, $item_values );
includes/class-mla-thumbnail-generation.php ADDED
@@ -0,0 +1,477 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Media Library Assistant Generate Featured Image class
4
+ *
5
+ * This file is conditionally loaded in MLA::initialize
6
+ *
7
+ * @package Media Library Assistant
8
+ * @since 2.13
9
+ */
10
+
11
+ /**
12
+ * Class MLA (Media Library Assistant) Thumbnails provides support for
13
+ * Featured IMage generation
14
+ *
15
+ * @package Media Library Assistant
16
+ * @since 2.13
17
+ */
18
+ class MLA_Thumbnail {
19
+ /**
20
+ * Uniquely identifies the Thumbnails bulk action
21
+ *
22
+ * @since 2.13
23
+ *
24
+ * @var string
25
+ */
26
+ const MLA_GFI_ACTION = 'mla-generate-featured-image';
27
+
28
+ /**
29
+ * Initialization function, similar to __construct()
30
+ *
31
+ * @since 2.13
32
+ *
33
+ * @return void
34
+ */
35
+ public static function initialize() {
36
+ /*
37
+ * The remaining filters are only useful for the admin section;
38
+ * exit in the front-end posts/pages
39
+ */
40
+ if ( ! is_admin() ) {
41
+ return;
42
+ }
43
+
44
+ /*
45
+ * Defined in /wp-admin/admin-header.php
46
+ */
47
+ add_action( 'admin_enqueue_scripts', 'MLA_Thumbnail::admin_enqueue_scripts', 10, 1 );
48
+
49
+ /*
50
+ * Defined in /media-library-assistant/includes/class-mla-main.php
51
+ */
52
+ add_filter( 'mla_list_table_help_template', 'MLA_Thumbnail::mla_list_table_help_template', 10, 3 );
53
+ add_filter( 'mla_list_table_begin_bulk_action', 'MLA_Thumbnail::mla_list_table_begin_bulk_action', 10, 2 );
54
+ add_filter( 'mla_list_table_custom_bulk_action', 'MLA_Thumbnail::mla_list_table_custom_bulk_action', 10, 3 );
55
+ add_filter( 'mla_list_table_end_bulk_action', 'MLA_Thumbnail::mla_list_table_end_bulk_action', 10, 2 );
56
+ add_filter( 'mla_list_table_inline_parse', 'MLA_Thumbnail::mla_list_table_inline_parse', 10, 3 );
57
+
58
+ /*
59
+ * Defined in /media-library-assistant/includes/class-mla-list-table.php
60
+ */
61
+ add_filter( 'mla_list_table_get_bulk_actions', 'MLA_Thumbnail::mla_list_table_get_bulk_actions', 10, 1 );
62
+ add_filter( 'mla_list_table_submenu_arguments', 'MLA_Thumbnail::mla_list_table_submenu_arguments', 10, 2 );
63
+ }
64
+
65
+ /**
66
+ * Load the plugin's Style Sheet and Javascript files
67
+ *
68
+ * @since 2.13
69
+ *
70
+ * @param string Name of the page being loaded
71
+ *
72
+ * @return void
73
+ */
74
+ public static function admin_enqueue_scripts( $page_hook ) {
75
+ $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
76
+
77
+ if ( 'media_page_mla-menu' != $page_hook ) {
78
+ return;
79
+ }
80
+
81
+ wp_register_style( 'mla-thumbnail-generation', MLA_PLUGIN_URL . 'css/mla-thumbnail-generation.css', false, MLA::CURRENT_MLA_VERSION );
82
+ wp_enqueue_style( 'mla-thumbnail-generation' );
83
+
84
+ wp_enqueue_script( 'mla-thumbnail-generation-scripts', MLA_PLUGIN_URL . "js/mla-thumbnail-generation-scripts{$suffix}.js",
85
+ array( 'jquery' ), MLA::CURRENT_MLA_VERSION, false );
86
+
87
+ $script_variables = array(
88
+ 'error' => __( 'Error while saving the thumbnails.', 'media-library-assistant' ),
89
+ 'ntdelTitle' => __( 'Remove From', 'media-library-assistant' ) . ' ' . __( 'Generate Thumbnails', 'media-library-assistant' ),
90
+ 'noTitle' => __( '(no title)', 'media-library-assistant' ),
91
+ 'bulkTitle' => __( 'Generate Thumbnails', 'media-library-assistant' ),
92
+ 'comma' => _x( ',', 'tag_delimiter', 'media-library-assistant' ),
93
+ 'useSpinnerClass' => false,
94
+ );
95
+
96
+ if ( version_compare( get_bloginfo( 'version' ), '4.2', '>=' ) ) {
97
+ $script_variables['useSpinnerClass'] = true;
98
+ }
99
+
100
+ wp_localize_script( 'mla-thumbnail-generation-scripts', 'mla_thumbnail_support_vars', $script_variables );
101
+ }
102
+
103
+ /**
104
+ * Options for the thumbnail generation bulk action
105
+ *
106
+ * @since 2.13
107
+ *
108
+ * @var array
109
+ */
110
+ private static $bulk_action_options = array();
111
+
112
+ /**
113
+ * Items returned by custom bulk action(s)
114
+ *
115
+ * @since 2.13
116
+ *
117
+ * @var array
118
+ */
119
+ private static $bulk_action_includes = array();
120
+
121
+ /**
122
+ * Load the MLA_List_Table dropdown help menu template
123
+ *
124
+ * Add the thumbnail generation options documentation.
125
+ *
126
+ * @since 2.13
127
+ *
128
+ * @param array $template_array NULL, to indicate no replacement template.
129
+ * @param string $file_name the complete name of the default template file.
130
+ * @param string $file_suffix the $screen->id or hook suffix part of the template file name.
131
+ */
132
+ public static function mla_list_table_help_template( $template_array, $file_name, $file_suffix ) {
133
+ if ( 'media_page_mla-menu' != $file_suffix ) {
134
+ return $template_array;
135
+ }
136
+
137
+ $template_array = MLAData::mla_load_template( $file_name );
138
+ $help_array = MLAData::mla_load_template( 'help-for-thumbnail_generation.tpl' );
139
+
140
+ if ( isset( $template_array['sidebar'] ) ) {
141
+ $template_array['sidebar'] .= $help_array['sidebar'];
142
+ unset( $help_array['sidebar'] );
143
+ }
144
+
145
+ return array_merge( $template_array, $help_array );
146
+ }
147
+
148
+ /**
149
+ * Begin an MLA_List_Table bulk action
150
+ *
151
+ * Prepare the thumbnail generation options.
152
+ *
153
+ * @since 2.13
154
+ *
155
+ * @param array $item_content NULL, to indicate no handler.
156
+ * @param string $bulk_action the requested action.
157
+ */
158
+ public static function mla_list_table_begin_bulk_action( $item_content, $bulk_action ) {
159
+ if ( self::MLA_GFI_ACTION != $bulk_action ) {
160
+ return $item_content;
161
+ }
162
+
163
+ self::$bulk_action_options = array();
164
+ $request_options = isset( $_REQUEST['mla_thumbnail_options'] ) ? $_REQUEST['mla_thumbnail_options'] : array();
165
+ $request_options['ghostscript_path'] = MLAOptions::mla_get_option( 'ghostscript_path' );
166
+
167
+ if ( empty( $request_options['existing_thumbnails'] ) ) {
168
+ $request_options['existing_thumbnails'] = 'keep';
169
+ }
170
+
171
+ foreach ( $request_options as $key => $value ) {
172
+ if ( ! empty( $value ) ) {
173
+ self::$bulk_action_options[ $key ] = $value;
174
+ }
175
+ }
176
+
177
+ // Convert checkboxes to booleans
178
+ self::$bulk_action_options['best_fit'] = isset( $request_options['best_fit'] );
179
+ self::$bulk_action_options['clear_filters'] = isset( $request_options['clear_filters'] );
180
+
181
+ // Convert page number to frame
182
+ if ( isset( self::$bulk_action_options['page'] ) ) {
183
+ $page = abs( intval( self::$bulk_action_options['page'] ) );
184
+ self::$bulk_action_options['frame'] = ( 0 < $page ) ? $page - 1 : 0;
185
+ unset( self::$bulk_action_options['page'] );
186
+ }
187
+
188
+ return $item_content;
189
+ } // mla_list_table_begin_bulk_action
190
+
191
+ /**
192
+ * Process an MLA_List_Table custom bulk action
193
+ *
194
+ * Creates new items from the "Bulk Translate" list.
195
+ *
196
+ * @since 2.13
197
+ *
198
+ * @param array $item_content NULL, to indicate no handler.
199
+ * @param string $bulk_action the requested action.
200
+ * @param integer $post_id the affected attachment.
201
+ *
202
+ * @return object updated $item_content. NULL if no handler, otherwise
203
+ * ( 'message' => error or status message(s), 'body' => '' )
204
+ */
205
+ public static function mla_list_table_custom_bulk_action( $item_content, $bulk_action, $post_id ) {
206
+ if ( self::MLA_GFI_ACTION != $bulk_action ) {
207
+ return $item_content;
208
+ }
209
+
210
+ /* translators: 1: post ID */
211
+ $item_prefix = sprintf( __( 'Item %1$d', 'media-library-assistant' ), $post_id ) . ', ';
212
+
213
+ /*
214
+ * If there is a real thumbnail image, no generation is required or allowed
215
+ */
216
+ $thumbnail = wp_get_attachment_image( $post_id );
217
+ if ( ! empty( $thumbnail ) ) {
218
+ return array( 'message' => $item_prefix . __( 'has native thumbnail.', 'media-library-assistant' ) );
219
+ }
220
+
221
+ /*
222
+ * Look for the "Featured Image" as an alternate thumbnail for PDFs, etc.
223
+ */
224
+ $thumbnail = get_post_thumbnail_id( $post_id );
225
+ if ( ! empty( $thumbnail ) ) {
226
+ switch ( self::$bulk_action_options['existing_thumbnails'] ) {
227
+ case 'ignore':
228
+ break;
229
+ case 'trash':
230
+ delete_post_thumbnail( $post_id );
231
+ wp_delete_post( absint( $thumbnail ), false );
232
+ break;
233
+ case 'delete':
234
+ delete_post_thumbnail( $post_id );
235
+ wp_delete_post( absint( $thumbnail ), true );
236
+ break;
237
+ case 'keep':
238
+ default:
239
+ return array( 'message' => $item_prefix . __( 'Featured Image retained.', 'media-library-assistant' ) );
240
+ }
241
+ }
242
+
243
+ /*
244
+ * Validate the file existance and type
245
+ */
246
+ $file = get_attached_file( $post_id );
247
+ if ( empty( $file ) ) {
248
+ /* translators: 1: ERROR tag 2: Item post ID */
249
+ return array( 'message' => sprintf( __( '%1$s: %2$sno attached file.', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), $item_prefix ) );
250
+ }
251
+
252
+ if ( ! in_array( strtolower( pathinfo( $file, PATHINFO_EXTENSION ) ), array( 'ai', 'eps', 'pdf', 'ps' ) ) ) {
253
+ return array( 'message' => $item_prefix . __( 'unsupported file type.', 'media-library-assistant' ) );
254
+ }
255
+
256
+ /*
257
+ * Generate a thumbnail
258
+ */
259
+ require_once( MLA_PLUGIN_PATH . 'includes/class-mla-image-processor.php' );
260
+ $results = MLAImageProcessor::mla_handle_thumbnail_sideload( $file, self::$bulk_action_options );
261
+ if ( ! empty( $results['error'] ) ) {
262
+ /* translators: 1: ERROR tag 2: Item post ID */
263
+ return array( 'message' => sprintf( __( '%1$s: %2$sthumbnail generation failed', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), $item_prefix ) . ' - ' . $results['error'] );
264
+ }
265
+
266
+ /*
267
+ * Adjust the file name for the new item
268
+ */
269
+ $pathinfo = pathinfo( $results['name'] );
270
+
271
+ if ( isset( self::$bulk_action_options['suffix'] ) ) {
272
+ $pathinfo['filename'] = sanitize_file_name( $pathinfo['filename'] . strtolower( self::$bulk_action_options['suffix'] ) );
273
+ }
274
+
275
+ $pathinfo['extension'] = ( 'image/jpeg' == $results['type'] ) ? 'jpg' : 'png';
276
+ $results['name'] = $pathinfo['filename'] . '.' . $pathinfo['extension'];
277
+
278
+ $overrides = array( 'test_form' => false, 'test_size' => true, 'test_upload' => true, );
279
+
280
+ // move the temporary file into the uploads directory
281
+ $results = wp_handle_sideload( $results, $overrides );
282
+
283
+ $item_data = get_post( $post_id, ARRAY_A );
284
+ unset( $item_data['ID'] );
285
+ unset( $item_data['post_author'] );
286
+ unset( $item_data['post_date'] );
287
+ unset( $item_data['post_date_gmt'] );
288
+
289
+ if ( isset( self::$bulk_action_options['suffix'] ) ) {
290
+ $item_data['post_title'] .= self::$bulk_action_options['suffix'];
291
+ }
292
+
293
+ unset( $item_data['post_name'] );
294
+ unset( $item_data['post_modified'] );
295
+ unset( $item_data['post_modified_gmt'] );
296
+ $item_parent = $item_data['post_parent'];
297
+ unset( $item_data['post_parent'] );
298
+ $item_data['guid'] = $results['url'];
299
+ $item_data['post_mime_type'] = $results['type'];
300
+ unset( $item_data['comment_count'] );
301
+ unset( $item_data['ancestors'] );
302
+ unset( $item_data['post_category'] );
303
+ unset( $item_data['tags_input'] );
304
+
305
+ // Insert the attachment.
306
+ $item_id = wp_insert_attachment( $item_data, $results['file'], $item_parent );
307
+ if ( empty( $item_id ) ) {
308
+ /* translators: 1: ERROR tag 2: Item post ID */
309
+ return array( 'message' => sprintf( __( '%1$s: %2$swp_insert_attachment failed.', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), $item_prefix ) );
310
+ }
311
+
312
+ // Make sure that this file is included, as wp_generate_attachment_metadata() depends on it.
313
+ require_once( ABSPATH . 'wp-admin/includes/image.php' );
314
+
315
+ // Generate the metadata for the attachment, and update the database record.
316
+ $item_data = wp_generate_attachment_metadata( $item_id, $results['file']);
317
+ wp_update_attachment_metadata( $item_id, $item_data );
318
+
319
+ // Assign the new item as the source item's Featured Image
320
+ delete_post_thumbnail( $post_id );
321
+ set_post_thumbnail( $post_id, $item_id );
322
+
323
+ MLA_Thumbnail::$bulk_action_includes[] = $item_id;
324
+
325
+ /* translators: 1: Item post ID, 2: new thumbnail item ID */
326
+ $item_content = array( 'message' => sprintf( __( '%1$sthumbnail generated as new item %2$s.', 'media-library-assistant' ), $item_prefix, $item_id ) );
327
+
328
+ return $item_content;
329
+ } // mla_list_table_custom_bulk_action
330
+
331
+ /**
332
+ * End an MLA_List_Table bulk action
333
+ *
334
+ * Add the query arguments required for the "Generated Thumbnails" filter.
335
+ *
336
+ * @since 2.13
337
+ *
338
+ * @param array $item_content NULL, to indicate no handler.
339
+ * @param string $bulk_action the requested action.
340
+ */
341
+ public static function mla_list_table_end_bulk_action( $item_content, $bulk_action ) {
342
+ if ( self::MLA_GFI_ACTION != $bulk_action ) {
343
+ return $item_content;
344
+ }
345
+
346
+ if ( ! empty( MLA_Thumbnail::$bulk_action_includes ) ) {
347
+ MLA::mla_clear_filter_by( array( 'ids' ) );
348
+
349
+ // Reset the current view to "All" to ensure that thumbnails are displayed
350
+ unset( $_REQUEST['post_mime_type'] );
351
+ unset( $_POST['post_mime_type'] );
352
+ unset( $_GET['post_mime_type'] );
353
+ unset( $_REQUEST['meta_query'] );
354
+ unset( $_GET['meta_query'] );
355
+ unset( $_REQUEST['meta_slug'] );
356
+ unset( $_GET['meta_slug'] );
357
+
358
+ // Clear the "extra_nav" controls and the Search Media box, too
359
+ unset( $_REQUEST['m'] );
360
+ unset( $_POST['m'] );
361
+ unset( $_GET['m'] );
362
+ unset( $_REQUEST['mla_filter_term'] );
363
+ unset( $_POST['mla_filter_term'] );
364
+ unset( $_GET['mla_filter_term'] );
365
+ unset( $_REQUEST['s'] );
366
+ unset( $_POST['s'] );
367
+ unset( $_GET['s'] );
368
+
369
+ $_REQUEST['ids'] = MLA_Thumbnail::$bulk_action_includes;
370
+ $_REQUEST['heading_suffix'] = __( 'Generated Thumbnails', 'media-library-assistant' );
371
+ }
372
+
373
+ return $item_content;
374
+ } // mla_list_table_end_bulk_action
375
+
376
+ /**
377
+ * Filter the MLA_List_Table bulk actions
378
+ *
379
+ * Adds the "Thumbnail" action to the Bulk Actions list.
380
+ *
381
+ * @since 2.13
382
+ *
383
+ * @param array $actions An array of bulk actions.
384
+ * Format: 'slug' => 'Label'
385
+ *
386
+ * @return array updated array of actions.
387
+ */
388
+ public static function mla_list_table_get_bulk_actions( $actions ) {
389
+ $actions[self::MLA_GFI_ACTION] = __( 'Thumbnail', 'media-library-assistant' );
390
+ return $actions;
391
+ } // mla_list_table_get_bulk_actions
392
+
393
+ /**
394
+ * MLA_List_Table inline edit parse
395
+ *
396
+ * @since 2.13
397
+ *
398
+ * Adds Bulk Translate form and the Language dropdown
399
+ * markup used for the Quick and Bulk Edit forms.
400
+ *
401
+ * @param string HTML markup returned by the template parser
402
+ * @param string template used to generate the HTML markup
403
+ * @param array parameter_name => parameter_value pairs
404
+ *
405
+ * @return array updated HTML markup for the Quick and Bulk Edit forms
406
+ */
407
+ public static function mla_list_table_inline_parse( $html_markup, $item_template, $item_values ) {
408
+
409
+ /*
410
+ * Add the Thumbnail Generation Markup
411
+ */
412
+ $page_template_array = MLAData::mla_load_template( 'mla-thumbnail-generation.tpl' );
413
+ if ( ! is_array( $page_template_array ) ) {
414
+ error_log( 'ERROR: mla-thumbnail-generation.tpl path = ' . var_export( plugin_dir_path( __FILE__ ) . 'mla-thumbnail-generation.tpl', true ), 0 );
415
+ error_log( 'ERROR: mla-thumbnail-generation.tpl non-array result = ' . var_export( $page_template_array, true ), 0 );
416
+ return $html_markup;
417
+ }
418
+
419
+ $page_values = array(
420
+ 'colspan' => $item_values['colspan'],
421
+ 'Generate Thumbnails' => __( 'Generate Thumbnails', 'media-library-assistant' ),
422
+ 'See Documentation' => __( 'Pull down the Help menu and select Thumbnail Generation for setting details', 'media-library-assistant' ),
423
+ 'Width' => __( 'Width', 'media-library-assistant' ),
424
+ 'Height' => __( 'Height', 'media-library-assistant' ),
425
+ 'Best Fit' => __( 'Best Fit', 'media-library-assistant' ),
426
+ 'Page' => __( 'Page', 'media-library-assistant' ),
427
+ 'Resolution' => __( 'Resolution', 'media-library-assistant' ),
428
+ 'Quality' => __( 'Quality', 'media-library-assistant' ),
429
+ 'Type' => __( 'Type', 'media-library-assistant' ),
430
+ 'Existing Items' => __( 'Existing Items', 'media-library-assistant' ),
431
+ 'Keep' => __( 'Keep', 'media-library-assistant' ),
432
+ 'Ignore' => __( 'Ignore', 'media-library-assistant' ),
433
+ 'Trash' => __( 'Trash', 'media-library-assistant' ),
434
+ 'Delete' => __( 'Delete', 'media-library-assistant' ),
435
+ 'Suffix' => __( 'Suffix', 'media-library-assistant' ),
436
+ 'default_suffix' => '-' . __( 'Thumbnail', 'media-library-assistant' ),
437
+ 'Options' => __( 'Options', 'media-library-assistant' ),
438
+ 'Clear Filter-by' => __( 'Clear Filter-by', 'media-library-assistant' ),
439
+ 'Cancel' => __( 'Cancel', 'media-library-assistant' ),
440
+ 'Generate Thumbnails' => __( 'Generate Thumbnails', 'media-library-assistant' ),
441
+ );
442
+ $parse_value = MLAData::mla_parse_template( $page_template_array['page'], $page_values );
443
+
444
+ return $html_markup . "\n" . $parse_value;
445
+ } // mla_list_table_inline_parse
446
+
447
+ /**
448
+ * Filter the "sticky" submenu URL parameters
449
+ *
450
+ * Maintains the pll_view and list of Bulk Translate items in the URLs for paging through the results.
451
+ *
452
+ * @since 2.13
453
+ *
454
+ * @param array $submenu_arguments Current view, pagination and sort parameters.
455
+ * @param object $include_filters True to include "filter-by" parameters, e.g., year/month dropdown.
456
+ *
457
+ * @return array updated submenu_arguments.
458
+ */
459
+ public static function mla_list_table_submenu_arguments( $submenu_arguments, $include_filters ) {
460
+ if ( isset( $_REQUEST['pll_view'] ) ) {
461
+ $submenu_arguments['pll_view'] = $_REQUEST['pll_view'];
462
+ }
463
+
464
+ if ( $include_filters && ( ! empty( MLA_Thumbnail::$bulk_action_includes ) ) ) {
465
+ $submenu_arguments['ids'] = implode( ',', MLA_Thumbnail::$bulk_action_includes );
466
+ $submenu_arguments['heading_suffix'] = __( 'Bulk Translations', 'media-library-assistant' );
467
+ }
468
+
469
+ return $submenu_arguments;
470
+ } // mla_list_table_submenu_arguments
471
+ } // Class MLA_Thumbnail
472
+
473
+ /*
474
+ * Install the filters at an early opportunity
475
+ */
476
+ add_action('init', 'MLA_Thumbnail::initialize');
477
+ ?>
includes/class-mla-upload-list-table.php CHANGED
@@ -309,15 +309,15 @@ class MLA_Upload_List_Table extends WP_List_Table {
309
  $view_args['orderby'] = $_REQUEST['orderby'];
310
  }
311
 
312
- $actions['edit'] = '<a href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
313
 
314
  $actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
315
 
316
  if ( 'custom' == $item->source ) {
317
  if ( empty( $item->standard_source ) ) {
318
- $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
319
  } else {
320
- $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Revert to standard item', 'media-library-assistant' ) . '">' . __( 'Revert to Standard', 'media-library-assistant' ) . '</a>';
321
  }
322
  }
323
 
309
  $view_args['orderby'] = $_REQUEST['orderby'];
310
  }
311
 
312
+ $actions['edit'] = '<a href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
313
 
314
  $actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
315
 
316
  if ( 'custom' == $item->source ) {
317
  if ( empty( $item->standard_source ) ) {
318
+ $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
319
  } else {
320
+ $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Revert to standard item', 'media-library-assistant' ) . '">' . __( 'Revert to Standard', 'media-library-assistant' ) . '</a>';
321
  }
322
  }
323
 
includes/class-mla-upload-optional-list-table.php CHANGED
@@ -278,7 +278,7 @@ class MLA_Upload_Optional_List_Table extends WP_List_Table {
278
  $view_args['orderby'] = $_REQUEST['orderby'];
279
  }
280
 
281
- $actions['select'] = '<a href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_EDIT_UPDATE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Select this entry', 'media-library-assistant' ) . '">' . __( 'Select', 'media-library-assistant' ) . '</a>';
282
 
283
  return $actions;
284
  }
278
  $view_args['orderby'] = $_REQUEST['orderby'];
279
  }
280
 
281
+ $actions['select'] = '<a href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_EDIT_UPDATE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Select this entry', 'media-library-assistant' ) . '">' . __( 'Select', 'media-library-assistant' ) . '</a>';
282
 
283
  return $actions;
284
  }
includes/class-mla-view-list-table.php CHANGED
@@ -299,15 +299,15 @@ class MLA_View_List_Table extends WP_List_Table {
299
  $custom_types = array ();
300
  }
301
 
302
- $actions['edit'] = '<a href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
303
 
304
  $actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
305
 
306
  if ( isset( $custom_types[ $item->slug ] ) ) {
307
  if ( isset( $mla_types[ $item->slug ] ) ) {
308
- $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Revert to standard item', 'media-library-assistant' ) . '">' . __( 'Revert to Standard', 'media-library-assistant' ) . '</a>';
309
  } else {
310
- $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
311
  }
312
  } // custom type
313
 
299
  $custom_types = array ();
300
  }
301
 
302
+ $actions['edit'] = '<a href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
303
 
304
  $actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
305
 
306
  if ( isset( $custom_types[ $item->slug ] ) ) {
307
  if ( isset( $mla_types[ $item->slug ] ) ) {
308
+ $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Revert to standard item', 'media-library-assistant' ) . '">' . __( 'Revert to Standard', 'media-library-assistant' ) . '</a>';
309
  } else {
310
+ $actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, wp_nonce_url( '?mla_admin_action=' . MLA::MLA_ADMIN_SINGLE_DELETE, MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
311
  }
312
  } // custom type
313
 
includes/class-mla-wpml-support.php CHANGED
@@ -52,9 +52,13 @@ class MLA_WPML {
52
  /*
53
  * Defined in wp-includes/post.php function wp_insert_post
54
  */
55
- add_filter( 'wp_insert_post_empty_content', 'MLA_WPML::wp_insert_post_empty_content', 10, 2 );
56
  add_action( 'edit_attachment', 'MLA_WPML::edit_attachment', 10, 1 );
57
 
 
 
 
 
 
58
  /*
59
  * Defined in /media-library-assistant/includes/class-mla-media-modal.php
60
  */
@@ -197,7 +201,7 @@ class MLA_WPML {
197
  } else {
198
  $tax_inputs = array( $key => implode( ',', $terms ) );
199
  }
200
-
201
  if ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_WPML::$mla_language_option_definitions ) ) {
202
  self::_build_tax_input( $post_id, $tax_inputs );
203
  $tax_inputs = self::_apply_tax_input( $post_id );
@@ -243,7 +247,7 @@ class MLA_WPML {
243
  continue;
244
  }
245
 
246
- $tax_inputs = self::_apply_synch_input( $language, $terms_before );
247
  if ( ! empty( $tax_inputs ) ) {
248
  MLAData::mla_update_single_item( self::$existing_terms[ $language ]['element_id'], array(), $tax_inputs );
249
  }
@@ -266,6 +270,17 @@ class MLA_WPML {
266
  * 'prevent_default' => true to bypass the MLA handler )
267
  */
268
  public static function mla_list_table_inline_action( $item_content, $post_id ) {
 
 
 
 
 
 
 
 
 
 
 
269
  self::_build_existing_terms( $post_id );
270
 
271
  return $item_content;
@@ -336,8 +351,16 @@ class MLA_WPML {
336
  self::_build_existing_terms( $post_id );
337
  self::_build_tax_input( $post_id, $request['tax_input'], $request['tax_action'] );
338
  $request['tax_input'] = self::_apply_tax_input( $post_id );
 
 
 
 
 
 
339
  }
340
 
 
 
341
  return $request;
342
  } // mla_list_table_bulk_action_item_request
343
 
@@ -378,6 +401,9 @@ class MLA_WPML {
378
  /**
379
  * Taxonomy terms and translations
380
  *
 
 
 
381
  * @since 2.11
382
  *
383
  * @var array [ $term_taxonomy_id ] => array( $term, $details, $translations )
@@ -395,6 +421,9 @@ class MLA_WPML {
395
  */
396
  private static function _add_relevant_term( $term, $translations = NULL ) {
397
  global $sitepress;
 
 
 
398
 
399
  if ( ! array_key_exists( $term->term_taxonomy_id, self::$relevant_terms ) ) {
400
  $taxonomy_name = 'tax_' . $term->taxonomy;
@@ -402,6 +431,11 @@ class MLA_WPML {
402
 
403
  if ( empty( $translations ) ) {
404
  $translations = $sitepress->get_element_translations( $details->trid, $taxonomy_name );
 
 
 
 
 
405
  }
406
 
407
  self::$relevant_terms[ $term->term_taxonomy_id ]['term'] = $term;
@@ -409,7 +443,7 @@ class MLA_WPML {
409
  }
410
 
411
  return self::$relevant_terms[ $term->term_taxonomy_id ];
412
- } // mla_post_updated_messages_filter
413
 
414
  /**
415
  * Finds a $relevant_term (if defined) given a key and (optional) a language
@@ -421,8 +455,9 @@ class MLA_WPML {
421
  * @param mixed $value to search for; integer, string or integer
422
  * @param string $taxonomy to search in; slug
423
  * @param string $language code; string; optional
 
424
  */
425
- private static function _get_relevant_term( $field, $value, $taxonomy, $language = NULL ) {
426
  /*
427
  * WordPress encodes special characters, e.g., "&" as HTML entities in term names
428
  */
@@ -459,8 +494,12 @@ class MLA_WPML {
459
  }
460
  } // relevant term
461
 
 
 
 
 
462
  /*
463
- * If no match; try to add it and its translations
464
  */
465
  if ( ( false === $relevant_term ) && $candidate = get_term_by( $field, $value, $taxonomy ) ) {
466
  $relevant_term = self::_add_relevant_term( $candidate );
@@ -495,6 +534,8 @@ class MLA_WPML {
495
  * @since 2.11
496
  *
497
  * @var array ['element_id'] => $post_id;
 
 
498
  * [ $language ][ translation_details ]
499
  * [ $language ][ $taxonomy ][ $term_taxonomy_id ] => $term
500
  */
@@ -522,11 +563,23 @@ class MLA_WPML {
522
  }
523
 
524
  $language_details = (array) $sitepress->get_element_language_details( $post_id, 'post_attachment' );
 
 
 
 
 
 
 
 
525
  $translations = array();
526
  foreach ( $sitepress->get_element_translations( $language_details['trid'], 'post_attachment' ) as $language_code => $translation ) {
527
  $translations[ $language_code ] = (array) $translation;
528
  }
529
 
 
 
 
 
530
  self::$existing_terms = array_merge( array( 'element_id' => $post_id ), $language_details, $translations );
531
  $taxonomies = $sitepress->get_translatable_taxonomies( true, 'attachment' );
532
 
@@ -560,6 +613,8 @@ class MLA_WPML {
560
  } // translation
561
  } // term
562
 
 
 
563
  return;
564
  }
565
 
@@ -580,15 +635,23 @@ class MLA_WPML {
580
  */
581
  private static function _update_existing_terms( $post_id ) {
582
  global $sitepress;
 
 
583
 
584
  if ( $post_id != self::$existing_terms['element_id'] ) {
585
  return false;
586
  }
587
 
588
  $language_code = self::$existing_terms['language_code'];
589
- $translation = self::$existing_terms[ $language_code ];
 
 
 
 
 
 
590
  $terms_before = array();
591
-
592
  /*
593
  * Find all assigned terms and update the array
594
  */
@@ -620,6 +683,8 @@ class MLA_WPML {
620
  } // translation
621
  } // term
622
 
 
 
623
  return $terms_before;
624
  }
625
 
@@ -774,8 +839,10 @@ class MLA_WPML {
774
  self::$tax_input[ $language ][ $taxonomy ] = implode( ',', $term_changes );
775
  }
776
  } // language
777
-
778
  } // foreach taxonomy
 
 
 
779
  } // _build_tax_input
780
 
781
  /**
@@ -802,6 +869,8 @@ class MLA_WPML {
802
  }
803
  }
804
 
 
 
805
  return self::$tax_input[ $post_language ];
806
  } // _apply_tax_input
807
 
@@ -815,42 +884,74 @@ class MLA_WPML {
815
  * @uses MLA_WPML::$existing_terms
816
  *
817
  * @param string $language the target translation code
818
- * @param array $terms_before source terms before updates/Term Assignment
819
  *
820
  * @return array $tax_inputs for Term Synchronization
821
  */
822
- private static function _apply_synch_input( $language, $terms_before ) {
 
 
823
  // Make sure there IS a target translation
824
  if ( empty( self::$existing_terms[ $language ] ) ) {
825
  return false;
826
  }
827
 
828
- $terms_after = self::$existing_terms[ self::$existing_terms['language_code'] ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
829
 
830
  /*
831
- * Remove terms in common, leaving terms_after => add, terms_before => remove
832
  */
833
- foreach ( $terms_before as $taxonomy => $terms ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
834
  foreach ( $terms as $ttid => $term ) {
835
- if ( isset( $terms_after[ $taxonomy ][ $ttid ] ) ) {
836
- unset( $terms_before[ $taxonomy ][ $ttid ] );
837
- unset( $terms_after[ $taxonomy ][ $ttid ] );
838
  }
839
  } // terms
840
  } // taxonomies
841
-
842
  /*
843
  * Compute "replace" tax_inputs for the target translation
844
  */
845
  $translation = self::$existing_terms[ $language ];
846
  $synch_inputs = array();
847
 
848
- foreach ( $terms_before as $taxonomy => $terms ) {
849
  $translation_terms = isset( $translation[ $taxonomy ] ) ? $translation[ $taxonomy ] : array();
850
  $terms_changed = false;
851
-
852
  // Remove common terms
853
- foreach ( $terms_before[ $taxonomy ] as $ttid => $term ) {
854
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
855
  $ttid = self::$relevant_terms[ $ttid ]['translations'][ $language ]->element_id;
856
  if ( isset( $translation_terms[ $ttid ] ) ) {
@@ -861,7 +962,7 @@ class MLA_WPML {
861
  }
862
 
863
  // Add common terms
864
- foreach ( $terms_after[ $taxonomy ] as $ttid => $term ) {
865
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
866
  $term_translation = self::$relevant_terms[ $ttid ]['translations'][ $language ];
867
  $ttid = $term_translation->element_id;
@@ -871,12 +972,12 @@ class MLA_WPML {
871
  }
872
  }
873
  }
874
-
875
  if ( $terms_changed ) {
876
  $synch_inputs[ $taxonomy ] = $translation_terms;
877
  }
878
  } // taxonomies
879
-
880
  /*
881
  * Convert synch terms to $tax_inputs format
882
  */
@@ -898,28 +999,10 @@ class MLA_WPML {
898
  $tax_inputs[ $taxonomy_name ] = implode( ',', $input_terms );
899
  }
900
  } // synch_inputs
901
-
902
  return $tax_inputs;
903
  } // _apply_synch_input
904
 
905
- /**
906
- * Captures "before update" term assignments from the Media/Edit Media screen
907
- *
908
- * @since 2.11
909
- *
910
- * @param bool $maybe_empty Whether the post should be considered "empty".
911
- * @param array $postarr Array of post data.
912
- */
913
- public static function wp_insert_post_empty_content( $maybe_empty, $postarr ) {
914
- global $sitepress;
915
-
916
- if ( isset( $_REQUEST['action'] ) && 'editpost' == $_REQUEST['action'] && isset( $_REQUEST['post_ID'] ) ) {
917
- self::_build_existing_terms( $_REQUEST['post_ID'] );
918
- }
919
-
920
- return $maybe_empty;
921
- } // wp_insert_post_empty_content
922
-
923
  /**
924
  * Duplicates created during media upload
925
  *
@@ -970,7 +1053,24 @@ class MLA_WPML {
970
  } // wpml_media_create_duplicate_attachment
971
 
972
  /**
973
- * Filters taxonomy updates by language.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
974
  *
975
  * @since 2.11
976
  *
@@ -1009,9 +1109,9 @@ class MLA_WPML {
1009
  MLAData::mla_update_single_item( $post_id, $updates, $tax_inputs );
1010
 
1011
  /*
1012
- * Synchronize the changes to all other translations
1013
  */
1014
- if ( 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_WPML::$mla_language_option_definitions ) ) {
1015
  foreach( self::$tax_input as $language => $tax_inputs ) {
1016
  /*
1017
  * Skip 'tax_input_post_id' and the language we've already updated
@@ -1033,60 +1133,67 @@ class MLA_WPML {
1033
  } // Upload New Media Bulk Edit
1034
 
1035
  /*
1036
- * The category taxonomy (edit screens) is a special case because
1037
- * post_categories_meta_box() changes the input name
1038
  */
1039
- if ( isset( $_REQUEST['tax_input'] ) ) {
1040
- $tax_inputs = $_REQUEST['tax_input'];
1041
- } else {
1042
- $tax_inputs = array();
1043
- }
1044
-
1045
- if ( isset( $_REQUEST['post_category'] ) ) {
1046
- $tax_inputs['category'] = $_REQUEST['post_category'];
1047
- }
1048
-
1049
- if ( isset( $_REQUEST['tax_action'] ) ) {
1050
- $tax_actions = $_REQUEST['tax_action'];
1051
- } else {
1052
- $tax_actions = NULL;
1053
- }
1054
-
1055
- if ( ( ! empty( $tax_inputs ) ) && ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_WPML::$mla_language_option_definitions ) ) ) {
1056
- self::_build_tax_input( $post_id, $tax_inputs, $tax_actions );
1057
- $tax_inputs = self::_apply_tax_input( $post_id );
1058
- }
 
 
 
 
 
 
 
 
 
 
1059
 
1060
- if ( ! empty( $tax_inputs ) ) {
1061
- MLAData::mla_update_single_item( $post_id, array(), $tax_inputs );
 
 
1062
 
1063
  /*
1064
- * Synchronize the changes to all other translations
1065
  */
1066
- if ( 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_WPML::$mla_language_option_definitions ) ) {
1067
 
 
 
1068
  /*
1069
- * Update terms because they have changed
1070
  */
1071
- $terms_before = self::_update_existing_terms( $post_id );
1072
-
1073
- // $tax_input is a convenient source of language codes; ignore $tax_inputs
1074
- foreach( self::$tax_input as $language => $tax_inputs ) {
1075
- /*
1076
- * Skip 'tax_input_post_id' and the language we've already updated
1077
- */
1078
- if ( ( ! isset( self::$existing_terms[ $language ] ) ) || ( self::$existing_terms['language_code'] == $language ) ) {
1079
- continue;
1080
- }
1081
 
1082
- $tax_inputs = self::_apply_synch_input( $language, $terms_before );
 
1083
  $translation = self::$existing_terms[ $language ]['element_id'];
1084
  $already_updating = $translation; // prevent recursion
1085
  MLAData::mla_update_single_item( $translation, array(), $tax_inputs );
1086
  $already_updating = $post_id;
1087
- } // translation
1088
- } // do synchronization
1089
- } // $tax_inputs
1090
  } // edit_attachment
1091
 
1092
  /**
@@ -1193,10 +1300,10 @@ class MLA_WPML {
1193
  * Initialize page messages and content.
1194
  */
1195
  if ( !empty( $_REQUEST['mla-language-options-save'] ) ) {
1196
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1197
  $page_content = self::_save_language_settings( );
1198
  } elseif ( !empty( $_REQUEST['mla-language-options-reset'] ) ) {
1199
- check_admin_referer( MLA::MLA_ADMIN_NONCE, '_wpnonce' );
1200
  $page_content = self::_reset_language_settings( );
1201
  } else {
1202
  $page_content = array(
@@ -1218,7 +1325,7 @@ class MLA_WPML {
1218
  'settingsURL' => admin_url('options-general.php'),
1219
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
1220
  'Delete Language options' => __( 'Delete Language options and restore default settings', 'media-library-assistant' ),
1221
- '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE, '_wpnonce', true, false ),
1222
  '_wp_http_referer' => wp_referer_field( false ),
1223
  'Go to Top' => __( 'Go to Top', 'media-library-assistant' ),
1224
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-language&mla_tab=language',
@@ -1385,7 +1492,8 @@ class MLA_WPML_Table {
1385
  }
1386
 
1387
  /**
1388
- * Handler for filter "views_{$this->screen->id}" in /wp-admin/includes/class-wp-list-table.php
 
1389
  *
1390
  * Filter the list of available list table views, calling the WPML filter that adds language-specific views.
1391
  *
@@ -1546,11 +1654,10 @@ class MLA_WPML_Table {
1546
  protected static $language_columns = NULL;
1547
 
1548
  /**
1549
- * Filter the MLA_List_Table columns
1550
  *
1551
- * Inserts the language columns just after the item thumbnail column.
1552
- * Defined as static because it is called before the List_Table object is created.
1553
- * Added as a filter when the file is loaded.
1554
  *
1555
  * @since 2.11
1556
  *
@@ -1565,7 +1672,7 @@ class MLA_WPML_Table {
1565
 
1566
  if ( isset( $_REQUEST['lang'] ) ) {
1567
  $submenu_arguments['lang'] = $_REQUEST['lang'];
1568
- } elseif ( is_object( $sitepress ) ) {
1569
  $submenu_arguments['lang'] = $sitepress->get_current_language();
1570
  }
1571
 
@@ -1593,17 +1700,24 @@ class MLA_WPML_Table {
1593
  /*
1594
  * Build language management columns
1595
  */
 
 
1596
  $current_language = $sitepress->get_current_language();
1597
  $languages = $sitepress->get_active_languages();
1598
  $view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
1599
- $show_language = 'checked' == MLAOptions::mla_get_option( 'language_column', false, false, MLA_WPML::$mla_language_option_definitions );
1600
- $show_translations = 'checked' == MLAOptions::mla_get_option( 'translations_column', false, false, MLA_WPML::$mla_language_option_definitions );
 
 
 
 
 
1601
 
1602
  if ( $show_language && 'all' == $current_language ) {
1603
  self::$language_columns['language'] = __( 'Language', 'wpml-media' );
1604
  }
1605
 
1606
- if ( $show_translations && 1 < count( $languages ) && $view_status != 'trash' ) {
1607
  $language_codes = array();
1608
  foreach ( $languages as $language ) {
1609
  if ( $current_language != $language['code'] ) {
@@ -1732,7 +1846,7 @@ class MLA_WPML_Table {
1732
  }
1733
 
1734
  $args = array ( 'page' => MLA::ADMIN_PAGE_SLUG, 'mla_admin_action' => 'wpml_create_translation', 'mla_item_ID' => $item->ID, 'mla_parent_ID' => $item->post_parent, 'lang' => $language['code'] );
1735
- $link = add_query_arg( $args, wp_nonce_url( 'upload.php', MLA::MLA_ADMIN_NONCE ) );
1736
  }
1737
 
1738
  $link = apply_filters( 'wpml_link_to_translation', $link, false, $language['code'] );
52
  /*
53
  * Defined in wp-includes/post.php function wp_insert_post
54
  */
 
55
  add_action( 'edit_attachment', 'MLA_WPML::edit_attachment', 10, 1 );
56
 
57
+ /*
58
+ * Defined in wp-admin/includes/post.php function edit_post
59
+ */
60
+ add_filter( 'attachment_fields_to_save', 'MLA_WPML::attachment_fields_to_save', 10, 2 );
61
+
62
  /*
63
  * Defined in /media-library-assistant/includes/class-mla-media-modal.php
64
  */
201
  } else {
202
  $tax_inputs = array( $key => implode( ',', $terms ) );
203
  }
204
+
205
  if ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_WPML::$mla_language_option_definitions ) ) {
206
  self::_build_tax_input( $post_id, $tax_inputs );
207
  $tax_inputs = self::_apply_tax_input( $post_id );
247
  continue;
248
  }
249
 
250
+ $tax_inputs = self::_apply_synch_input( $language );
251
  if ( ! empty( $tax_inputs ) ) {
252
  MLAData::mla_update_single_item( self::$existing_terms[ $language ]['element_id'], array(), $tax_inputs );
253
  }
270
  * 'prevent_default' => true to bypass the MLA handler )
271
  */
272
  public static function mla_list_table_inline_action( $item_content, $post_id ) {
273
+ global $sitepress;
274
+
275
+ // WPML does not preserve the current language for the Quick Edit Ajax action
276
+ $referer = wp_get_referer();
277
+ if ( $referer ) {
278
+ wp_parse_str( $referer, $args );
279
+ if ( isset( $args['lang'] ) ) {
280
+ $sitepress->switch_lang( $args['lang'], true );
281
+ }
282
+ }
283
+
284
  self::_build_existing_terms( $post_id );
285
 
286
  return $item_content;
351
  self::_build_existing_terms( $post_id );
352
  self::_build_tax_input( $post_id, $request['tax_input'], $request['tax_action'] );
353
  $request['tax_input'] = self::_apply_tax_input( $post_id );
354
+ foreach( $request['tax_action'] as $taxonomy => $action ) {
355
+ // _apply_tax_input changes a remove to a replace
356
+ if ( 'remove' == $action ) {
357
+ $request['tax_action'][ $taxonomy ] = 'replace';
358
+ }
359
+ }
360
  }
361
 
362
+ MLA::mla_debug_add( "MLA_WPML::bulk_action_item_request( {$post_id} ) \$request['tax_input'] = " . var_export( $request['tax_input'], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
363
+ MLA::mla_debug_add( "MLA_WPML::bulk_action_item_request( {$post_id} ) \$request['tax_action'] = " . var_export( $request['tax_action'], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
364
  return $request;
365
  } // mla_list_table_bulk_action_item_request
366
 
401
  /**
402
  * Taxonomy terms and translations
403
  *
404
+ * NOTE: WPML uses term_taxonomy_id as the "element_id" in its translations;
405
+ * Polylang uses term_id as the "element_id".
406
+ *
407
  * @since 2.11
408
  *
409
  * @var array [ $term_taxonomy_id ] => array( $term, $details, $translations )
421
  */
422
  private static function _add_relevant_term( $term, $translations = NULL ) {
423
  global $sitepress;
424
+ if ( ! is_object( $term ) ) {
425
+ return false;
426
+ }
427
 
428
  if ( ! array_key_exists( $term->term_taxonomy_id, self::$relevant_terms ) ) {
429
  $taxonomy_name = 'tax_' . $term->taxonomy;
431
 
432
  if ( empty( $translations ) ) {
433
  $translations = $sitepress->get_element_translations( $details->trid, $taxonomy_name );
434
+
435
+ if ( empty( $translations ) ) {
436
+ $language_code = $sitepress->get_default_language();
437
+ $translations[ $language_code ] = (object) array( 'element_id' => $term->term_id );
438
+ }
439
  }
440
 
441
  self::$relevant_terms[ $term->term_taxonomy_id ]['term'] = $term;
443
  }
444
 
445
  return self::$relevant_terms[ $term->term_taxonomy_id ];
446
+ } // _add_relevant_term
447
 
448
  /**
449
  * Finds a $relevant_term (if defined) given a key and (optional) a language
455
  * @param mixed $value to search for; integer, string or integer
456
  * @param string $taxonomy to search in; slug
457
  * @param string $language code; string; optional
458
+ * @param boolean $test_only false (default) to add missing term, true to leave term out
459
  */
460
+ private static function _get_relevant_term( $field, $value, $taxonomy, $language = NULL, $test_only = false ) {
461
  /*
462
  * WordPress encodes special characters, e.g., "&" as HTML entities in term names
463
  */
494
  }
495
  } // relevant term
496
 
497
+ if ( ( false === $relevant_term ) && $test_only ) {
498
+ return false;
499
+ }
500
+
501
  /*
502
+ * If no match, try to add it and its translations
503
  */
504
  if ( ( false === $relevant_term ) && $candidate = get_term_by( $field, $value, $taxonomy ) ) {
505
  $relevant_term = self::_add_relevant_term( $candidate );
534
  * @since 2.11
535
  *
536
  * @var array ['element_id'] => $post_id;
537
+ * [ 'language_code' ] => WPML item language or default language, e.g., 'en'
538
+ * [ 'slug' ] => Polylang item language or default language, e.g., 'en'
539
  * [ $language ][ translation_details ]
540
  * [ $language ][ $taxonomy ][ $term_taxonomy_id ] => $term
541
  */
563
  }
564
 
565
  $language_details = (array) $sitepress->get_element_language_details( $post_id, 'post_attachment' );
566
+ MLA::mla_debug_add( "MLA_WPML::_build_existing_terms( {$post_id} ) \$sitepress->get_element_language_details = " . var_export( $language_details, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
567
+
568
+ // WPML always fills in $language_details, so this should not be necessary
569
+ if ( ! is_array( $language_details ) ) {
570
+ $language_details = array( 'trid' => NULL, 'language_code' => $sitepress->get_default_language(), 'source_language_code' => NULL );
571
+ }
572
+
573
+ MLA::mla_debug_add( "MLA_WPML::_build_existing_terms( {$post_id} ) \$sitepress->get_element_translations() = " . var_export( $sitepress->get_element_translations( $language_details['trid'], 'post_attachment' ), true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
574
  $translations = array();
575
  foreach ( $sitepress->get_element_translations( $language_details['trid'], 'post_attachment' ) as $language_code => $translation ) {
576
  $translations[ $language_code ] = (array) $translation;
577
  }
578
 
579
+ if ( empty( $translations ) ) {
580
+ $translations[ $language_details['language_code'] ] = array( 'element_id' => $post_id );
581
+ }
582
+
583
  self::$existing_terms = array_merge( array( 'element_id' => $post_id ), $language_details, $translations );
584
  $taxonomies = $sitepress->get_translatable_taxonomies( true, 'attachment' );
585
 
613
  } // translation
614
  } // term
615
 
616
+ MLA::mla_debug_add( "MLA_WPML::_build_existing_terms( {$post_id} ) self::\$existing_terms = " . var_export( self::$existing_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
617
+ MLA::mla_debug_add( "MLA_WPML::_build_existing_terms( {$post_id} ) self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
618
  return;
619
  }
620
 
635
  */
636
  private static function _update_existing_terms( $post_id ) {
637
  global $sitepress;
638
+ MLA::mla_debug_add( "MLA_WPML::_update_existing_terms( {$post_id} ) initial self::\$existing_terms = " . var_export( self::$existing_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
639
+ MLA::mla_debug_add( "MLA_WPML::_update_existing_terms( {$post_id} ) initial self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
640
 
641
  if ( $post_id != self::$existing_terms['element_id'] ) {
642
  return false;
643
  }
644
 
645
  $language_code = self::$existing_terms['language_code'];
646
+
647
+ if ( isset( self::$existing_terms[ $language_code ] ) ) {
648
+ $translation = self::$existing_terms[ $language_code ];
649
+ } else {
650
+ $translation = array();
651
+ }
652
+
653
  $terms_before = array();
654
+
655
  /*
656
  * Find all assigned terms and update the array
657
  */
683
  } // translation
684
  } // term
685
 
686
+ MLA::mla_debug_add( "MLA_WPML::_update_existing_terms( {$post_id} ) final self::\$existing_terms = " . var_export( self::$existing_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
687
+ MLA::mla_debug_add( "MLA_WPML::_update_existing_terms( {$post_id} ) final self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
688
  return $terms_before;
689
  }
690
 
839
  self::$tax_input[ $language ][ $taxonomy ] = implode( ',', $term_changes );
840
  }
841
  } // language
 
842
  } // foreach taxonomy
843
+
844
+ MLA::mla_debug_add( "MLA_WPML::_build_tax_input( {$post_id} ) self::\$tax_input = " . var_export( self::$tax_input, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
845
+ MLA::mla_debug_add( "MLA_WPML::_build_tax_input( {$post_id} ) self::\$relevant_terms = " . var_export( self::$relevant_terms, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
846
  } // _build_tax_input
847
 
848
  /**
869
  }
870
  }
871
 
872
+ MLA::mla_debug_add( "MLA_WPML::_apply_tax_input( {$post_id} ) \$post_language = " . var_export( $post_language, true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
873
+ MLA::mla_debug_add( "MLA_WPML::_apply_tax_input( {$post_id} ) self::\$tax_input[ \$post_language ] = " . var_export( self::$tax_input[ $post_language ], true ), MLA::MLA_DEBUG_CATEGORY_AJAX );
874
  return self::$tax_input[ $post_language ];
875
  } // _apply_tax_input
876
 
884
  * @uses MLA_WPML::$existing_terms
885
  *
886
  * @param string $language the target translation code
 
887
  *
888
  * @return array $tax_inputs for Term Synchronization
889
  */
890
+ private static function _apply_synch_input( $language ) {
891
+ global $sitepress;
892
+
893
  // Make sure there IS a target translation
894
  if ( empty( self::$existing_terms[ $language ] ) ) {
895
  return false;
896
  }
897
 
898
+ $source_language = self::$existing_terms['language_code'];
899
+ $taxonomies = $sitepress->get_translatable_taxonomies( true, 'attachment' );
900
+
901
+ /*
902
+ * Find all source terms with a destination equivalent, record destination equivalent
903
+ */
904
+ $new_terms = array();
905
+ foreach ( $taxonomies as $taxonomy ) {
906
+ $new_terms[ $taxonomy ] = array();
907
+ foreach( self::$existing_terms[ $source_language ][ $taxonomy ] as $ttid => $term ) {
908
+ $source_term = self::_get_relevant_term( 'term_taxonomy_id', $ttid, $taxonomy );
909
+ if ( isset( $source_term['translations'][ $language ] ) ) {
910
+ $dest_term = self::_get_relevant_term( 'id', $source_term['translations'][ $language ]->term_id, $taxonomy );
911
+ $new_terms[ $taxonomy ][ $dest_term['term']->term_taxonomy_id ] = $dest_term['term'];
912
+ }
913
+ }
914
+ }
915
 
916
  /*
917
+ * Find all destination terms with a source equivalent, record destination equivalent
918
  */
919
+ $old_terms = array();
920
+ foreach ( $taxonomies as $taxonomy ) {
921
+ $old_terms[ $taxonomy ] = array();
922
+ foreach( self::$existing_terms[ $language ][ $taxonomy ] as $ttid => $term ) {
923
+ $source_term = self::_get_relevant_term( 'term_taxonomy_id', $ttid, $taxonomy );
924
+ if ( isset( $source_term['translations'][ $source_language ] ) ) {
925
+ $dest_term = self::_get_relevant_term( 'id', $source_term['translations'][ $language ]->term_id, $taxonomy );
926
+ $old_terms[ $taxonomy ][ $dest_term['term']->term_taxonomy_id ] = $dest_term['term'];
927
+ }
928
+ }
929
+ }
930
+
931
+ /*
932
+ * Remove terms in common, leaving new_terms => add, old_terms => remove
933
+ */
934
+ foreach ( $old_terms as $taxonomy => $terms ) {
935
  foreach ( $terms as $ttid => $term ) {
936
+ if ( isset( $new_terms[ $taxonomy ][ $ttid ] ) ) {
937
+ unset( $old_terms[ $taxonomy ][ $ttid ] );
938
+ unset( $new_terms[ $taxonomy ][ $ttid ] );
939
  }
940
  } // terms
941
  } // taxonomies
942
+
943
  /*
944
  * Compute "replace" tax_inputs for the target translation
945
  */
946
  $translation = self::$existing_terms[ $language ];
947
  $synch_inputs = array();
948
 
949
+ foreach ( $old_terms as $taxonomy => $terms ) {
950
  $translation_terms = isset( $translation[ $taxonomy ] ) ? $translation[ $taxonomy ] : array();
951
  $terms_changed = false;
952
+
953
  // Remove common terms
954
+ foreach ( $old_terms[ $taxonomy ] as $ttid => $term ) {
955
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
956
  $ttid = self::$relevant_terms[ $ttid ]['translations'][ $language ]->element_id;
957
  if ( isset( $translation_terms[ $ttid ] ) ) {
962
  }
963
 
964
  // Add common terms
965
+ foreach ( $new_terms[ $taxonomy ] as $ttid => $term ) {
966
  if ( isset( self::$relevant_terms[ $ttid ]['translations'][ $language ] ) ) {
967
  $term_translation = self::$relevant_terms[ $ttid ]['translations'][ $language ];
968
  $ttid = $term_translation->element_id;
972
  }
973
  }
974
  }
975
+
976
  if ( $terms_changed ) {
977
  $synch_inputs[ $taxonomy ] = $translation_terms;
978
  }
979
  } // taxonomies
980
+
981
  /*
982
  * Convert synch terms to $tax_inputs format
983
  */
999
  $tax_inputs[ $taxonomy_name ] = implode( ',', $input_terms );
1000
  }
1001
  } // synch_inputs
1002
+
1003
  return $tax_inputs;
1004
  } // _apply_synch_input
1005
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1006
  /**
1007
  * Duplicates created during media upload
1008
  *
1053
  } // wpml_media_create_duplicate_attachment
1054
 
1055
  /**
1056
+ * Captures "before update" term assignments from the Media/Edit Media screen
1057
+ *
1058
+ * @since 2.13
1059
+ *
1060
+ * @param WP_Post $post The WP_Post object.
1061
+ * @param array $attachment An array of attachment metadata.
1062
+ */
1063
+ public static function attachment_fields_to_save( $post, $attachment ) {
1064
+ if ( 'editpost' == $post['action'] && 'attachment' == $post['post_type'] ) {
1065
+ self::_build_existing_terms( $post['post_ID'] );
1066
+ }
1067
+
1068
+ return $post;
1069
+ }
1070
+
1071
+ /**
1072
+ * Filters taxonomy updates by language for Bulk Edit during Add New Media
1073
+ * and the Media/Edit Media screen
1074
  *
1075
  * @since 2.11
1076
  *
1109
  MLAData::mla_update_single_item( $post_id, $updates, $tax_inputs );
1110
 
1111
  /*
1112
+ * Synchronize the changes to all other translations - NOT NEEDED
1113
  */
1114
+ if ( false && 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_WPML::$mla_language_option_definitions ) ) {
1115
  foreach( self::$tax_input as $language => $tax_inputs ) {
1116
  /*
1117
  * Skip 'tax_input_post_id' and the language we've already updated
1133
  } // Upload New Media Bulk Edit
1134
 
1135
  /*
1136
+ * For the Bulk Edit action on the Media/Assistant screen, only synchronization is needed
 
1137
  */
1138
+ if ( ! ( isset( $_REQUEST['bulk_action'] ) && 'bulk_edit' == $_REQUEST['bulk_action'] ) ) {
1139
+ /*
1140
+ * The category taxonomy (edit screens) is a special case because
1141
+ * post_categories_meta_box() changes the input name
1142
+ */
1143
+ if ( isset( $_REQUEST['tax_input'] ) ) {
1144
+ $tax_inputs = $_REQUEST['tax_input'];
1145
+ } else {
1146
+ $tax_inputs = array();
1147
+ }
1148
+
1149
+ if ( isset( $_REQUEST['post_category'] ) ) {
1150
+ $tax_inputs['category'] = $_REQUEST['post_category'];
1151
+ }
1152
+
1153
+ if ( isset( $_REQUEST['tax_action'] ) ) {
1154
+ $tax_actions = $_REQUEST['tax_action'];
1155
+ } else {
1156
+ $tax_actions = NULL;
1157
+ }
1158
+
1159
+ if ( ( ! empty( $tax_inputs ) ) && ( 'checked' == MLAOptions::mla_get_option( 'term_assignment', false, false, MLA_WPML::$mla_language_option_definitions ) ) ) {
1160
+ self::_build_tax_input( $post_id, $tax_inputs, $tax_actions );
1161
+ $tax_inputs = self::_apply_tax_input( $post_id );
1162
+ }
1163
+
1164
+ if ( ! empty( $tax_inputs ) ) {
1165
+ MLAData::mla_update_single_item( $post_id, array(), $tax_inputs );
1166
+ }
1167
+ } // NOT Bulk Edit
1168
 
1169
+ /*
1170
+ * Synchronize the changes to all other translations
1171
+ */
1172
+ if ( 'checked' == MLAOptions::mla_get_option( 'term_synchronization', false, false, MLA_WPML::$mla_language_option_definitions ) ) {
1173
 
1174
  /*
1175
+ * Update terms because they have changed
1176
  */
1177
+ $terms_before = self::_update_existing_terms( $post_id );
1178
 
1179
+ // $tax_input is a convenient source of language codes; ignore $tax_inputs
1180
+ foreach( self::$tax_input as $language => $tax_inputs ) {
1181
  /*
1182
+ * Skip 'tax_input_post_id' and the language we've already updated
1183
  */
1184
+ if ( ( ! isset( self::$existing_terms[ $language ] ) ) || ( self::$existing_terms['language_code'] == $language ) ) {
1185
+ continue;
1186
+ }
 
 
 
 
 
 
 
1187
 
1188
+ $tax_inputs = self::_apply_synch_input( $language );
1189
+ if ( ! empty( $tax_inputs ) ) {
1190
  $translation = self::$existing_terms[ $language ]['element_id'];
1191
  $already_updating = $translation; // prevent recursion
1192
  MLAData::mla_update_single_item( $translation, array(), $tax_inputs );
1193
  $already_updating = $post_id;
1194
+ }
1195
+ } // translation
1196
+ } // do synchronization
1197
  } // edit_attachment
1198
 
1199
  /**
1300
  * Initialize page messages and content.
1301
  */
1302
  if ( !empty( $_REQUEST['mla-language-options-save'] ) ) {
1303
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1304
  $page_content = self::_save_language_settings( );
1305
  } elseif ( !empty( $_REQUEST['mla-language-options-reset'] ) ) {
1306
+ check_admin_referer( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME );
1307
  $page_content = self::_reset_language_settings( );
1308
  } else {
1309
  $page_content = array(
1325
  'settingsURL' => admin_url('options-general.php'),
1326
  'Save Changes' => __( 'Save Changes', 'media-library-assistant' ),
1327
  'Delete Language options' => __( 'Delete Language options and restore default settings', 'media-library-assistant' ),
1328
+ '_wpnonce' => wp_nonce_field( MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false ),
1329
  '_wp_http_referer' => wp_referer_field( false ),
1330
  'Go to Top' => __( 'Go to Top', 'media-library-assistant' ),
1331
  'form_url' => admin_url( 'options-general.php' ) . '?page=mla-settings-menu-language&mla_tab=language',
1492
  }
1493
 
1494
  /**
1495
+ * Handler for filter "views_{$this->screen->id}" in
1496
+ * /wp-admin/includes/class-wp-list-table.php
1497
  *
1498
  * Filter the list of available list table views, calling the WPML filter that adds language-specific views.
1499
  *
1654
  protected static $language_columns = NULL;
1655
 
1656
  /**
1657
+ * Filter the "sticky" submenu URL parameters
1658
  *
1659
+ * Adds a language ('lang') parameter to the URL parameters that will be
1660
+ * retained when the submenu page refreshes.
 
1661
  *
1662
  * @since 2.11
1663
  *
1672
 
1673
  if ( isset( $_REQUEST['lang'] ) ) {
1674
  $submenu_arguments['lang'] = $_REQUEST['lang'];
1675
+ } else {
1676
  $submenu_arguments['lang'] = $sitepress->get_current_language();
1677
  }
1678
 
1700
  /*
1701
  * Build language management columns
1702
  */
1703
+ $show_language = 'checked' == MLAOptions::mla_get_option( 'language_column', false, false, MLA_WPML::$mla_language_option_definitions );
1704
+
1705
  $current_language = $sitepress->get_current_language();
1706
  $languages = $sitepress->get_active_languages();
1707
  $view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
1708
+ if ( 1 < count( $languages ) && $view_status != 'trash' ) {
1709
+ $show_translations = 'checked' == MLAOptions::mla_get_option( 'translations_column', false, false, MLA_WPML::$mla_language_option_definitions );
1710
+ } else {
1711
+ $show_translations = false;
1712
+ }
1713
+
1714
+ self::$language_columns = array();
1715
 
1716
  if ( $show_language && 'all' == $current_language ) {
1717
  self::$language_columns['language'] = __( 'Language', 'wpml-media' );
1718
  }
1719
 
1720
+ if ( $show_translations ) {
1721
  $language_codes = array();
1722
  foreach ( $languages as $language ) {
1723
  if ( $current_language != $language['code'] ) {
1846
  }
1847
 
1848
  $args = array ( 'page' => MLA::ADMIN_PAGE_SLUG, 'mla_admin_action' => 'wpml_create_translation', 'mla_item_ID' => $item->ID, 'mla_parent_ID' => $item->post_parent, 'lang' => $language['code'] );
1849
+ $link = add_query_arg( $args, wp_nonce_url( 'upload.php', MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME ) );
1850
  }
1851
 
1852
  $link = apply_filters( 'wpml_link_to_translation', $link, false, $language['code'] );
includes/mla-main-search-box-template.php CHANGED
@@ -29,6 +29,14 @@ if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_SEARCH_MEDIA_FILTE
29
  } else {
30
  $controls_style = 'style="display: none;"';
31
  }
 
 
 
 
 
 
 
 
32
  ?>
33
  <p class="search-box">
34
  <label class="screen-reader-text" for="mla-media-search-input"><?php _e( 'Search Media', 'media-library-assistant' ); ?></label>
@@ -44,6 +52,6 @@ if ( 'checked' == MLAOptions::mla_get_option( MLAOptions::MLA_SEARCH_MEDIA_FILTE
44
  <input name="mla_search_fields[]" id="search-alt-text" type="checkbox" <?php echo ( in_array( 'alt-text', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="alt-text" /><?php _e( 'ALT Text', 'media-library-assistant' )?>&nbsp;
45
  <input name="mla_search_fields[]" id="search-excerpt" type="checkbox" <?php echo ( in_array( 'excerpt', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="excerpt" /><?php _e( 'Caption', 'media-library-assistant' )?>&nbsp;
46
  <input name="mla_search_fields[]" id="search-content" type="checkbox" <?php echo ( in_array( 'content', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="content" /><?php _e( 'Description', 'media-library-assistant' )?>&nbsp;
47
- <input name="mla_search_fields[]" id="terms-search" type="checkbox" <?php echo ( in_array( 'terms', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="terms" /><?php _e( 'Terms', 'media-library-assistant' )?>
48
  </span>
49
  </p>
29
  } else {
30
  $controls_style = 'style="display: none;"';
31
  }
32
+
33
+ $supported_taxonomies = MLAOptions::mla_supported_taxonomies('support');
34
+ if ( empty( $supported_taxonomies ) ) {
35
+ $terms_style = 'style="display: none;"';
36
+ unset( $search_fields['terms'] );
37
+ } else {
38
+ $terms_style = 'style="display: inline;"';
39
+ }
40
  ?>
41
  <p class="search-box">
42
  <label class="screen-reader-text" for="mla-media-search-input"><?php _e( 'Search Media', 'media-library-assistant' ); ?></label>
52
  <input name="mla_search_fields[]" id="search-alt-text" type="checkbox" <?php echo ( in_array( 'alt-text', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="alt-text" /><?php _e( 'ALT Text', 'media-library-assistant' )?>&nbsp;
53
  <input name="mla_search_fields[]" id="search-excerpt" type="checkbox" <?php echo ( in_array( 'excerpt', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="excerpt" /><?php _e( 'Caption', 'media-library-assistant' )?>&nbsp;
54
  <input name="mla_search_fields[]" id="search-content" type="checkbox" <?php echo ( in_array( 'content', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="content" /><?php _e( 'Description', 'media-library-assistant' )?>&nbsp;
55
+ <span <?php echo $terms_style ?>><input name="mla_search_fields[]" id="terms-search" type="checkbox" <?php echo ( in_array( 'terms', $search_fields ) ) ? 'checked="checked"' : ''; ?> value="terms" /><?php _e( 'Terms', 'media-library-assistant' )?></span>
56
  </span>
57
  </p>
includes/mla-media-modal-js-template.php CHANGED
@@ -12,6 +12,13 @@
12
  * @global $post
13
  */
14
  global $post;
 
 
 
 
 
 
 
15
  ?>
16
  <script type="text/html" id="tmpl-mla-search-box">
17
  <label class="screen-reader-text" for="mla-media-search-input"><?php _e( 'Search Media', 'media-library-assistant' ); ?>:</label>
@@ -48,10 +55,12 @@ global $post;
48
  <input type="checkbox" name="s[mla_search_content]" id="search-content" value="content" <# if ( -1 != data.searchFields.indexOf( 'content' ) ) { #>checked<# } #> />
49
  <?php _e( 'Description', 'media-library-assistant' ); ?>
50
  </li>
 
51
  <li>
52
  <input type="checkbox" name="s[mla_search_terms]" id="search-terms" value="terms" <# if ( -1 != data.searchFields.indexOf( 'terms' ) ) { #>checked<# } #> />
53
  <?php _e( 'Terms', 'media-library-assistant' ); ?>
54
  </li>
 
55
  </ul>
56
  </script>
57
  <script type="text/html" id="tmpl-mla-terms-search-button">
12
  * @global $post
13
  */
14
  global $post;
15
+
16
+ $supported_taxonomies = MLAOptions::mla_supported_taxonomies('support');
17
+ if ( empty( $supported_taxonomies ) ) {
18
+ $terms_style = 'style="display: none;"';
19
+ } else {
20
+ $terms_style = 'style="display: inline;"';
21
+ }
22
  ?>
23
  <script type="text/html" id="tmpl-mla-search-box">
24
  <label class="screen-reader-text" for="mla-media-search-input"><?php _e( 'Search Media', 'media-library-assistant' ); ?>:</label>
55
  <input type="checkbox" name="s[mla_search_content]" id="search-content" value="content" <# if ( -1 != data.searchFields.indexOf( 'content' ) ) { #>checked<# } #> />
56
  <?php _e( 'Description', 'media-library-assistant' ); ?>
57
  </li>
58
+ <span <?php echo $terms_style ?>>
59
  <li>
60
  <input type="checkbox" name="s[mla_search_terms]" id="search-terms" value="terms" <# if ( -1 != data.searchFields.indexOf( 'terms' ) ) { #>checked<# } #> />
61
  <?php _e( 'Terms', 'media-library-assistant' ); ?>
62
  </li>
63
+ </span>
64
  </ul>
65
  </script>
66
  <script type="text/html" id="tmpl-mla-terms-search-button">
includes/mla-stream-image.php CHANGED
@@ -11,602 +11,12 @@
11
  */
12
  //@ini_set('error_log','C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\php-errors.log');
13
 
 
 
14
  if ( isset( $_REQUEST['mla_stream_file'] ) ) {
15
- MLAStreamImage::$mla_debug = isset( $_REQUEST['mla_debug'] ) && 'log' == $_REQUEST['mla_debug'];
16
- MLAStreamImage::mla_process_stream_image();
17
  }
18
 
19
- MLAStreamImage::_mla_die( 'mla_stream_file not set', __LINE__, 500 );
20
-
21
- /**
22
- * Class MLA (Media Library Assistant) Stream Image provides PDF thumbnails
23
- * for the [mla_gallery] mla_viewer.
24
- *
25
- * @package Media Library Assistant
26
- * @since 2.10
27
- */
28
- class MLAStreamImage {
29
- /**
30
- * Log debug information if true
31
- *
32
- * @since 2.12
33
- *
34
- * @var boolean
35
- */
36
- public static $mla_debug = false;
37
-
38
- /**
39
- * Generate a unique, writable file in the temporary directory
40
- *
41
- * @since 2.10
42
- *
43
- * @param string $extension File extension for the temporary file
44
- *
45
- * @return string Writable path and file name.
46
- */
47
- private static function _get_temp_file( $extension = '.tmp' ) {
48
- static $temp = NULL;
49
-
50
- /*
51
- * Find a temp directory
52
- */
53
- if ( NULL == $temp ) {
54
- if ( function_exists('sys_get_temp_dir') ) {
55
- $temp = sys_get_temp_dir();
56
- if ( @is_dir( $temp ) ) {
57
- $temp = rtrim( $temp, '/\\' ) . '/';
58
- }
59
- } else {
60
- $temp = ini_get('upload_tmp_dir');
61
- if ( @is_dir( $temp ) ) {
62
- $temp = rtrim( $temp, '/\\' ) . '/';
63
- } else {
64
- $temp = '/tmp/';
65
- if ( false == @is_dir( $temp ) ) {
66
- self::_mla_debug_add( 'Temp directory failure' );
67
- return false;
68
- }
69
- }
70
- }
71
- }
72
-
73
- /*
74
- * Create a unique file
75
- */
76
- $path = $temp . uniqid( mt_rand() ) . $extension;
77
- $f = @fopen( $path, 'a' );
78
- if ( $f === false ) {
79
- self::_mla_debug_add( 'Temp file failure' );
80
- return false;
81
- }
82
-
83
- fclose( $f );
84
- return $path;
85
- }
86
-
87
- /**
88
- * Imagick object for the image to be streamed
89
- *
90
- * @since 2.10
91
- *
92
- * @var Imagick
93
- */
94
- protected static $image;
95
-
96
- /**
97
- * Direct Ghostscript file conversion
98
- *
99
- * @since 2.10
100
- *
101
- * @param string $file Input file, e.g., a PDF document
102
- * @param string $frame Page/frame within the file, zero-based
103
- * @param string $resolution Output file DPI. Default 72.
104
- * @param string $output_type Output MIME type; 'image/jpeg' or 'image/png'.
105
- * @param string $explicit_path Non-standard location to override default search, e.g., 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'
106
- *
107
- * @return boolean true if conversion succeeds else false
108
- */
109
- private static function _ghostscript_convert( $file, $frame, $resolution, $output_type, $explicit_path = '' ) {
110
- /*
111
- * Look for exec() - from http://stackoverflow.com/a/12980534/866618
112
- */
113
- if ( ini_get('safe_mode') ) {
114
- self::_mla_debug_add( 'safe_mode failure' );
115
- return false;
116
- }
117
-
118
- $blacklist = preg_split( '/,\s*/', ini_get('disable_functions') . ',' . ini_get('suhosin.executor.func.blacklist') );
119
- if ( in_array('exec', $blacklist) ) {
120
- self::_mla_debug_add( 'blacklist failure' );
121
- return false;
122
- }
123
-
124
- /*
125
- * Look for the Ghostscript executable
126
- */
127
- $ghostscript_path = NULL;
128
- do {
129
-
130
- if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3) ) ) {
131
- if ( ! empty( $explicit_path ) ) {
132
- $ghostscript_path = exec( 'dir /o:n/s/b "' . $explicit_path . '"' );
133
- if ( ! empty( $ghostscript_path ) ) {
134
- break;
135
- } else {
136
- $ghostscript_path = NULL;
137
- break;
138
- }
139
- }
140
-
141
- if ( $ghostscript_path = getenv('GSC') ) {
142
- break;
143
- }
144
-
145
- $ghostscript_path = exec('where gswin*c.exe');
146
- if ( ! empty( $ghostscript_path ) ) {
147
- break;
148
- }
149
-
150
- $ghostscript_path = exec('dir /o:n/s/b "C:\Program Files\gs\*gswin*c.exe"');
151
- if ( ! empty( $ghostscript_path ) ) {
152
- break;
153
- }
154
-
155
- $ghostscript_path = exec('dir /o:n/s/b "C:\Program Files (x86)\gs\*gswin32c.exe"');
156
- if ( ! empty( $ghostscript_path ) ) {
157
- break;
158
- }
159
-
160
- $ghostscript_path = NULL;
161
- break;
162
- } // Windows platform
163
-
164
- if ( ! empty( $explicit_path ) ) {
165
- exec( 'test -e ' . $explicit_path, $dummy, $ghostscript_path );
166
- if ( $explicit_path !== $ghostscript_path ) {
167
- $ghostscript_path = NULL;
168
- }
169
-
170
- break;
171
- }
172
-
173
- $ghostscript_path = exec('which gs');
174
- if ( ! empty( $ghostscript_path ) ) {
175
- break;
176
- }
177
-
178
- $test_path = '/usr/bin/gs';
179
- exec('test -e ' . $test_path, $dummy, $ghostscript_path);
180
-
181
- if ( $test_path !== $ghostscript_path ) {
182
- $ghostscript_path = NULL;
183
- }
184
- } while ( false );
185
-
186
- if ( isset( $ghostscript_path ) ) {
187
- if ( 'image/jpeg' == $output_type ) {
188
- $device = 'jpeg';
189
- $extension = '.jpg';
190
- } else {
191
- $device = 'png16m';
192
- $extension = '.png';
193
- }
194
-
195
- /*
196
- * Generate a unique temporary file name
197
- */
198
- $output_file = self::_get_temp_file( $extension );
199
-
200
- $cmd = escapeshellarg( $ghostscript_path ) . ' -sDEVICE=%1$s -r%2$dx%2$d -dFirstPage=%3$d -dLastPage=%3$d -dFitPage -o %4$s %5$s 2>&1';
201
- $cmd = sprintf( $cmd, $device, $resolution, ( $frame + 1 ), escapeshellarg( $output_file ), escapeshellarg( $file ) );
202
- exec( $cmd, $stdout, $return );
203
- if ( 0 != $return ) {
204
- self::_mla_debug_add( "ERROR: _ghostscript_convert exec returned '{$return}, cmd = " . var_export( $cmd, true ) );
205
- self::_mla_debug_add( "ERROR: _ghostscript_convert exec returned '{$return}, details = " . var_export( $stdout, true ) );
206
- return false;
207
- }
208
-
209
- try {
210
- self::$image->readImage( $output_file );
211
- }
212
- catch ( Exception $e ) {
213
- self::_mla_debug_add( "ERROR: _ghostscript_convert readImage Exception = " . var_export( $e->getMessage(), true ) );
214
- return false;
215
- }
216
-
217
- @unlink( $output_file );
218
- return true;
219
- } // found Ghostscript
220
-
221
- self::_mla_debug_add( 'Ghostscript detection failure' );
222
- return false;
223
- }
224
-
225
- /**
226
- * Prepare the image for output, scaling and flattening as required
227
- *
228
- * @since 2.10
229
- *
230
- * @param integer zero or new width
231
- * @param integer zero or new height
232
- * @param boolean proportional fit (true) or exact fit (false)
233
- * @param string output MIME type
234
- * @param integer compression quality; 1 - 100
235
- *
236
- * @return void
237
- */
238
- private static function _prepare_image( $width, $height, $best_fit, $type, $quality ) {
239
- if ( is_callable( array( self::$image, 'scaleImage' ) ) ) {
240
- if ( 0 < $width && 0 < $height ) {
241
- // Both are set; use them as-is
242
- self::$image->scaleImage( $width, $height, $best_fit );
243
- } elseif ( 0 < $width || 0 < $height ) {
244
- // One is set; scale the other one proportionally if reducing
245
- $image_size = self::$image->getImageGeometry();
246
-
247
- if ( $width && isset( $image_size['width'] ) && $width < $image_size['width'] ) {
248
- self::$image->scaleImage( $width, 0 );
249
- } elseif ( $height && isset( $image_size['height'] ) && $height < $image_size['height'] ) {
250
- self::$image->scaleImage( 0, $height );
251
- }
252
- } else {
253
- // Neither is specified, apply defaults
254
- self::$image->scaleImage( 150, 0 );
255
- }
256
- }
257
-
258
- if ( 0 < $quality && 101 > $quality ) {
259
- if ( 'image/jpeg' == $type ) {
260
- self::$image->setImageCompressionQuality( $quality );
261
- self::$image->setImageCompression( imagick::COMPRESSION_JPEG );
262
- }
263
- else {
264
- self::$image->setImageCompressionQuality( $quality );
265
- }
266
- }
267
-
268
- if ( 'image/jpeg' == $type ) {
269
- if ( is_callable( array( self::$image, 'setImageBackgroundColor' ) ) ) {
270
- self::$image->setImageBackgroundColor('white');
271
- }
272
-
273
- if ( is_callable( array( self::$image, 'mergeImageLayers' ) ) ) {
274
- self::$image = self::$image->mergeImageLayers( imagick::LAYERMETHOD_FLATTEN );
275
- } elseif ( is_callable( array( self::$image, 'flattenImages' ) ) ) {
276
- self::$image = self::$image->flattenImages();
277
- }
278
- }
279
- }
280
-
281
- /**
282
- * Process Imagick image stream request, e.g., for a PDF thumbnail
283
- *
284
- * Requires mla_stream_file (relative to wp_upload_dir ) in $_REQUEST;
285
- * optional $_REQUEST parameters are:
286
- * mla_stream_width, mla_stream_height, mla_stream_frame, mla_stream_resolution,
287
- * mla_stream_quality, mla_stream_type, mla_stream_fit, mla_ghostscript_path
288
- *
289
- * @since 2.10
290
- *
291
- * @return void echos image content and calls exit();
292
- */
293
- public static function mla_process_stream_image() {
294
- if ( ! class_exists( 'Imagick' ) ) {
295
- self::_mla_die( 'Imagick not installed', __LINE__, 500 );
296
- }
297
-
298
- if( ini_get( 'zlib.output_compression' ) ) {
299
- ini_set( 'zlib.output_compression', 'Off' );
300
- }
301
-
302
- $file = $_REQUEST['mla_stream_file'];
303
- if ( ! is_file( $file ) ) {
304
- self::_mla_die( 'File not found', __LINE__, 404 );
305
- }
306
-
307
- $use_mutex = isset( $_REQUEST['mla_single_thread'] );
308
- $width = isset( $_REQUEST['mla_stream_width'] ) ? abs( intval( $_REQUEST['mla_stream_width'] ) ) : 0;
309
- $height = isset( $_REQUEST['mla_stream_height'] ) ? abs( intval( $_REQUEST['mla_stream_height'] ) ) : 0;
310
- $type = isset( $_REQUEST['mla_stream_type'] ) ? $_REQUEST['mla_stream_type'] : 'image/jpeg';
311
- $quality = isset( $_REQUEST['mla_stream_quality'] ) ? abs( intval( $_REQUEST['mla_stream_quality'] ) ) : 0;
312
- $frame = isset( $_REQUEST['mla_stream_frame'] ) ? abs( intval( $_REQUEST['mla_stream_frame'] ) ) : 0;
313
- $resolution = isset( $_REQUEST['mla_stream_resolution'] ) ? abs( intval( $_REQUEST['mla_stream_resolution'] ) ) : 72;
314
- /*
315
- * If mla_ghostscript_path is present, a non-standard GS location can be found in a file written by
316
- * the [mla_gallery] shortcode processor.
317
- */
318
- $ghostscript_path = isset( $_REQUEST['mla_ghostscript_path'] ) ? $_REQUEST['mla_ghostscript_path'] : '';
319
- if ( ! empty( $ghostscript_path ) ) {
320
- $ghostscript_path = @file_get_contents( dirname( __FILE__ ) . '/' . 'mla-ghostscript-path.txt' );
321
- }
322
-
323
- if ( $use_mutex ) {
324
- $temp_file = self::_get_temp_file();
325
- @unlink( $temp_file );
326
- $temp_file = pathinfo( $temp_file, PATHINFO_DIRNAME ) . '/mla-mutex.txt';
327
-
328
- $mutex = new MLAMutex();
329
- $mutex->init( 1, $temp_file );
330
- $mutex->acquire();
331
- }
332
-
333
- /*
334
- * Convert the file to an image format and load it
335
- */
336
- try {
337
- self::$image = new Imagick();
338
-
339
- /*
340
- * this must be called before reading the image, otherwise has no effect -
341
- * "-density {$x_resolution}x{$y_resolution}"
342
- * this is important to give good quality output, otherwise text might be unclear
343
- * default resolution is 72,72
344
- */
345
- self::$image->setResolution( $resolution, $resolution );
346
-
347
- //$result = false;
348
- $result = self::_ghostscript_convert( $file, $frame, $resolution, $type, $ghostscript_path );
349
-
350
- if ( false === $result ) {
351
- try {
352
- self::$image->readImage( $file . '[' . $frame . ']' );
353
- }
354
- catch ( Exception $e ) {
355
- self::$image->readImage( $file . '[0]' );
356
- }
357
-
358
- if ( 'image/jpeg' == $type ) {
359
- $extension = 'JPG';
360
- } else {
361
- $extension = 'PNG';
362
- }
363
-
364
- self::$image->setImageFormat( $extension );
365
- }
366
-
367
- if ( ! self::$image->valid() ) {
368
- self::_mla_die( 'File not loaded', __LINE__, 404 );
369
- }
370
- }
371
- catch ( Exception $e ) {
372
- self::_mla_die( 'Image load exception: ' . $e->getMessage(), __LINE__, 404 );
373
- }
374
-
375
- /*
376
- * Prepare the output image; resize and flatten, if necessary
377
- */
378
- try {
379
- if ( isset( $_REQUEST['mla_stream_fit'] ) ) {
380
- $best_fit = ( '1' == $_REQUEST['mla_stream_fit'] );
381
- } else {
382
- $best_fit = false;
383
- }
384
-
385
- self::_prepare_image( $width, $height, $best_fit, $type, $quality );
386
- }
387
- catch ( Exception $e ) {
388
- self::_mla_die( '_prepare_image exception: ' . $e->getMessage(), __LINE__, 500 );
389
- }
390
-
391
- /*
392
- * Stream the image back to the requestor
393
- */
394
- try {
395
- header( "Content-Type: $type" );
396
- echo self::$image->getImageBlob();
397
- }
398
- catch ( Exception $e ) {
399
- self::_mla_die( 'Image stream exception: ' . $e->getMessage(), __LINE__, 500 );
400
- }
401
-
402
- if ( $use_mutex ) {
403
- $mutex->release();
404
- }
405
-
406
- exit();
407
- }
408
-
409
- /**
410
- * Log debug information
411
- *
412
- * @since 2.12
413
- *
414
- * @param string $message Error message.
415
- */
416
- private static function _mla_debug_add( $message ) {
417
- if ( self::$mla_debug ) {
418
- error_log( $message, 0);
419
- }
420
- }
421
-
422
- /**
423
- * Abort the operation and exit
424
- *
425
- * @since 2.10
426
- *
427
- * @param string $message Error message.
428
- * @param string $title Optional. Error title. Default empty.
429
- * @param integer $response Optional. HTML response code. Default 500.
430
-
431
- * @return void echos page content and calls exit();
432
- */
433
- private static function _mla_die( $message, $title = '', $response = 500 ) {
434
- self::_mla_debug_add( __LINE__ . " _mla_die( '{$message}', '{$title}', '{$response}' )" );
435
- exit();
436
- }
437
- } // Class MLAStreamImage
438
-
439
- /**
440
- * Class MLA (Media Library Assistant) Mutex provides a simple "mutual exclusion" semaphore
441
- * for the [mla_gallery] mla_viewer=single option
442
- *
443
- * Adapted from the example by mr.smaon@gmail.com in the PHP Manual "Semaphore Functions" page.
444
- *
445
- * @package Media Library Assistant
446
- * @since 2.10
447
- */
448
- class MLAMutex {
449
- /**
450
- * Semaphore identifier returned by sem_get()
451
- *
452
- * @since 2.10
453
- *
454
- * @var resource
455
- */
456
- private $sem_id;
457
-
458
- /**
459
- * True if the semaphore has been acquired
460
- *
461
- * @since 2.10
462
- *
463
- * @var boolean
464
- */
465
- private $is_acquired = false;
466
-
467
- /**
468
- * True if using a file lock instead of a semaphore
469
- *
470
- * @since 2.10
471
- *
472
- * @var boolean
473
- */
474
- private $use_file_lock = false;
475
-
476
- /**
477
- * Name of the (locked) file used as a semaphore
478
- *
479
- * @since 2.10
480
- *
481
- * @var string
482
- */
483
- private $filename = '';
484
-
485
- /**
486
- * File system pointer resource of the (locked) file used as a semaphore
487
- *
488
- * @since 2.10
489
- *
490
- * @var resource
491
- */
492
- private $filepointer;
493
-
494
- /**
495
- * Initializes the choice of semaphore Vs file lock
496
- *
497
- * @since 2.10
498
- *
499
- * @param boolean $use_lock True to force use of file locking
500
- *
501
- * @return void
502
- */
503
- function __construct( $use_lock = false ) {
504
- /*
505
- * If sem_ functions are not available require file locking
506
- */
507
- if ( ! is_callable( 'sem_get' ) ) {
508
- $use_lock = true;
509
- }
510
-
511
- if ( $use_lock || 'WIN' == substr( PHP_OS, 0, 3 ) ) {
512
- $this->use_file_lock = true;
513
- }
514
- }
515
-
516
- /**
517
- * Creates the semaphore or sets the (lock) file name
518
- *
519
- * @since 2.10
520
- *
521
- * @param integer $id Key to identify the semaphore
522
- * @param string $filename Absolute path and name of the file for locking
523
- *
524
- * @return boolean True if the initialization succeeded
525
- */
526
- public function init( $id, $filename = '' ) {
527
-
528
- if( $this->use_file_lock ) {
529
- if( empty( $filename ) ) {
530
- return false;
531
- } else {
532
- $this->filename = $filename;
533
- }
534
- } else {
535
- if( ! ( $this->sem_id = sem_get( $id, 1) ) ) {
536
- return false;
537
- }
538
- }
539
-
540
- return true;
541
- }
542
-
543
- /**
544
- * Acquires the semaphore or opens and locks the file
545
- *
546
- * @since 2.10
547
- *
548
- * @return boolean True if the acquisition succeeded
549
- */
550
- public function acquire() {
551
- if( $this->use_file_lock ) {
552
- if ( empty( $this->filename ) ) {
553
- return true;
554
- }
555
-
556
- if( false == ( $this->filepointer = @fopen( $this->filename, "w+" ) ) ) {
557
- return false;
558
- }
559
-
560
- if( false == flock( $this->filepointer, LOCK_EX ) ) {
561
- return false;
562
- }
563
- } else {
564
- if ( ! sem_acquire( $this->sem_id ) ) {
565
- return false;
566
- }
567
- }
568
-
569
- $this->is_acquired = true;
570
- return true;
571
- }
572
-
573
- /**
574
- * Releases the semaphore or unlocks and closes (but does not unlink) the file
575
- *
576
- * @since 2.10
577
- *
578
- * @return boolean True if the release succeeded
579
- */
580
- public function release() {
581
- if( ! $this->is_acquired ) {
582
- return true;
583
- }
584
-
585
- if( $this->use_file_lock ) {
586
- if( false == flock( $this->filepointer, LOCK_UN ) ) {
587
- return false;
588
- }
589
-
590
- fclose( $this->filepointer );
591
- } else {
592
- if ( ! sem_release( $this->sem_id ) ) {
593
- return false;
594
- }
595
- }
596
-
597
- $this->is_acquired = false;
598
- return true;
599
- }
600
-
601
- /**
602
- * Returns the semaphore identifier, if it exists, else NULL
603
- *
604
- * @since 2.10
605
- *
606
- * @return resource Semaphore identifier or NULL
607
- */
608
- public function getId() {
609
- return $this->sem_id;
610
- }
611
- } // MLAMutex
612
  ?>
11
  */
12
  //@ini_set('error_log','C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\php-errors.log');
13
 
14
+ require_once( pathinfo( __FILE__, PATHINFO_DIRNAME ) . '/class-mla-image-processor.php' );
15
+
16
  if ( isset( $_REQUEST['mla_stream_file'] ) ) {
17
+ MLAImageProcessor::$mla_debug = isset( $_REQUEST['mla_debug'] ) && 'log' == $_REQUEST['mla_debug'];
18
+ MLAImageProcessor::mla_process_stream_image();
19
  }
20
 
21
+ MLAImageProcessor::_mla_die( 'mla_stream_file not set', __LINE__, 500 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  ?>
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 2.12
10
  */
11
 
12
  /*
@@ -16,7 +16,7 @@ Description: Enhances the Media Library; powerful [mla_gallery], taxonomy suppor
16
  Author: David Lingren, Fair Trade Judaica
17
  Text Domain: media-library-assistant
18
  Domain Path: /languages
19
- Version: 2.12
20
  Author URI: http://fairtradejudaica.org/our-story/staff/
21
 
22
  Copyright 2011-2014 David Lingren
@@ -92,26 +92,30 @@ if ( ! defined( 'MLA_BACKUP_DIR' ) ) {
92
  */
93
  $mla_name_conflict_candidates =
94
  array (
95
- 'MLA' => 'class',
96
- 'MLAData' => 'class',
97
  'MLAPDF' => 'class',
 
98
  'MLAEdit' => 'class',
99
  'MLA_Checklist_Walker' => 'class',
100
- 'MLAMime' => 'class',
 
 
 
101
  'MLAModal' => 'class',
 
102
  'MLAObjects' => 'class',
103
  'MLATextWidget' => 'class',
104
- 'MLASettings' => 'class',
105
  'MLAOptions' => 'class',
 
 
106
  'MLAShortcodes' => 'class',
107
- 'MLATest' => 'class',
 
 
 
108
  'MLA_WPML' => 'class',
109
  'MLA_WPML_List_Table' => 'class',
110
  'MLA_WPML_Table' => 'class',
111
- 'MLA_List_Table' => 'class',
112
- 'MLA_View_List_Table' => 'class',
113
- 'MLA_Optional_Upload_List_Table' => 'class',
114
- 'MLA_Upload_List_Table' => 'class',
115
  //'MLA_BACKUP_DIR' => 'constant'
116
  );
117
 
6
  * will the rest of the plugin be loaded and run.
7
  *
8
  * @package Media Library Assistant
9
+ * @version 2.13
10
  */
11
 
12
  /*
16
  Author: David Lingren, Fair Trade Judaica
17
  Text Domain: media-library-assistant
18
  Domain Path: /languages
19
+ Version: 2.13
20
  Author URI: http://fairtradejudaica.org/our-story/staff/
21
 
22
  Copyright 2011-2014 David Lingren
92
  */
93
  $mla_name_conflict_candidates =
94
  array (
 
 
95
  'MLAPDF' => 'class',
96
+ 'MLAData' => 'class',
97
  'MLAEdit' => 'class',
98
  'MLA_Checklist_Walker' => 'class',
99
+ 'MLAImageProcessor' => 'class',
100
+ 'MLAMutex' => 'class',
101
+ 'MLA_List_Table' => 'class',
102
+ 'MLA' => 'class',
103
  'MLAModal' => 'class',
104
+ 'MLAMime' => 'class',
105
  'MLAObjects' => 'class',
106
  'MLATextWidget' => 'class',
 
107
  'MLAOptions' => 'class',
108
+ 'MLA_Polylang' => 'class',
109
+ 'MLASettings' => 'class',
110
  'MLAShortcodes' => 'class',
111
+ 'MLA_Thumbnail' => 'class',
112
+ 'MLA_Upload_List_Table' => 'class',
113
+ 'MLA_Upload_Optional_List_Table' => 'class',
114
+ 'MLA_View_List_Table' => 'class',
115
  'MLA_WPML' => 'class',
116
  'MLA_WPML_List_Table' => 'class',
117
  'MLA_WPML_Table' => 'class',
118
+ 'MLATest' => 'class',
 
 
 
119
  //'MLA_BACKUP_DIR' => 'constant'
120
  );
121
 
js/mla-inline-edit-scripts.js CHANGED
@@ -261,7 +261,7 @@ var jQuery,
261
 
262
  params = {
263
  action: mla.settings.ajax_action,
264
- nonce: mla.settings.ajax_nonce,
265
  bulk_action: mla.bulkEdit.targetName,
266
  cb_attachment: chunk
267
  };
@@ -451,7 +451,7 @@ var jQuery,
451
 
452
  params = {
453
  action: mla.settings.ajax_action,
454
- nonce: mla.settings.ajax_nonce,
455
  post_type: 'attachment',
456
  post_ID: id,
457
  edit_date: 'true',
@@ -583,7 +583,7 @@ var jQuery,
583
 
584
  params = $.param( {
585
  action: mla.settings.ajax_action + '-set-parent',
586
- nonce: mla.settings.ajax_nonce,
587
  post_ID: postId,
588
  post_parent: parentId,
589
  } );
261
 
262
  params = {
263
  action: mla.settings.ajax_action,
264
+ mla_admin_nonce: mla.settings.ajax_nonce,
265
  bulk_action: mla.bulkEdit.targetName,
266
  cb_attachment: chunk
267
  };
451
 
452
  params = {
453
  action: mla.settings.ajax_action,
454
+ mla_admin_nonce: mla.settings.ajax_nonce,
455
  post_type: 'attachment',
456
  post_ID: id,
457
  edit_date: 'true',
583
 
584
  params = $.param( {
585
  action: mla.settings.ajax_action + '-set-parent',
586
+ mla_admin_nonce: mla.settings.ajax_nonce,
587
  post_ID: postId,
588
  post_parent: parentId,
589
  } );
js/mla-inline-edit-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var jQuery,mla_inline_edit_vars,mla={settings:{},bulkEdit:{inProcess:false,doCancel:false},utility:{getId:function(b){var c=jQuery(b).closest("tr").attr("id"),a=c.split("-");return a[a.length-1]}},setParent:null,inlineEditAttachment:null};(function(a){mla.settings=typeof mla_inline_edit_vars==="undefined"?{}:mla_inline_edit_vars;mla_inline_edit_vars=void 0;mla.inlineEditAttachment={init:function(){var d=this,e=a("#inline-edit"),c=a("#bulk-edit"),b=a("#bulk-progress");d.type="attachment";d.what="#attachment-";e.keyup(function(f){if(f.which==27){return mla.inlineEditAttachment.revert()}});c.keyup(function(f){if(f.which==27){return mla.inlineEditAttachment.revert()}});b.keyup(function(f){if(f.which==27){return mla.inlineEditAttachment.revert()}});a("#inline-edit-post-set-parent",e).on("click",function(){return mla.inlineEditAttachment.inlineParentOpen(this)});a("a.cancel",e).click(function(){return mla.inlineEditAttachment.revert()});a("a.save",e).click(function(){return mla.inlineEditAttachment.quickSave(this)});a("td",e).keydown(function(f){if(f.which==13){return mla.inlineEditAttachment.quickSave(this)}});a("#bulk-edit-set-parent",c).on("click",function(){return mla.inlineEditAttachment.bulkParentOpen()});a("a.cancel",c).click(function(){return mla.inlineEditAttachment.revert()});a('input[type="submit"]',c).click(function(f){f.preventDefault();return mla.inlineEditAttachment.bulkSave(f)});a("a.cancel",b).click(function(){if(mla.bulkEdit.inProcess){mla.bulkEdit.doCancel=true;return false}else{return mla.inlineEditAttachment.revert()}});a("#bulk_refresh",b).click(function(){a("#bulk-progress a").prop("disabled",true);a("#bulk-progress").css("opacity","0.5")});a("#the-list").on("click","a.editinline",function(){mla.inlineEditAttachment.quickEdit(this);return false});a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',c).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();d.bulkEdit()}else{if(a("form#posts-filter tr.inline-editor").length>0){d.revert()}}});a("#post-query-submit").mousedown(function(){d.revert();a('select[name^="action"]').val("-1")})},bulkEdit:function(){var b="",d=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mla.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-titles").html(b);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("textarea.mla_tags").each(function(){var c=a(this).attr("name").replace("]","").replace("tax_input[","");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+c,{delay:500,minchars:2,multiple:true,multipleSep:mla.settings.comma+" "})});a("html, body").animate({scrollTop:0},"fast")},bulkSave:function(c){var b;mla.bulkEdit={inProcess:false,doCancel:false,chunkSize:0,targetName:"",fields:"",ids:[],idsCount:0,offset:0,waiting:0,running:0,complete:0,unchanged:0,success:0,failure:0};mla.bulkEdit.chunkSize=+mla.settings.bulkChunkSize;mla.bulkEdit.targetName=c.target.name;mla.bulkEdit.fields=a("#bulk-edit :input").serialize();b=a('tbody th.check-column input[type="checkbox"]').serializeArray();a.each(b,function(d,e){mla.bulkEdit.ids[d]=+e.value});mla.bulkEdit.idsCount=mla.bulkEdit.waiting=mla.bulkEdit.ids.length;mla.inlineEditAttachment.bulkProgressOpen();mla.inlineEditAttachment.bulkPost();return false},bulkProgressOpen:function(){var b="",d=true;this.revert();a("#bulk-progress td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-progress"));a("#bulk-progress").addClass("inline-editor").show();a("#cb-select-all-1").removeAttr("checked");a("#cb-select-all-2").removeAttr("checked");a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mla.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-progress-running").html("");a("#bulk-progress-complete").html("");a("#bulk-progress-waiting").html(b);a("#bulk-progress-waiting a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("#bulk-progress .inline-edit-save .error").html("");a("#bulk_refresh").prop("disabled",true).css("opacity","0.5");a("html, body").animate({scrollTop:0},"fast")},bulkPost:function(){var b,g,f,i,c,h=a("table.widefat .inline-edit-save .spinner"),d=a("#bulk-progress .inline-edit-save .error"),j=a("#bulk-progress-waiting"),e=a("#bulk-progress-running");g=mla.bulkEdit.ids.slice(mla.bulkEdit.offset,mla.bulkEdit.offset+mla.bulkEdit.chunkSize);mla.bulkEdit.offset+=mla.bulkEdit.chunkSize;for(f=0;f<g.length;f++){i=a("#ttle"+g[f],j).remove();a("a",i).hide();e.append(i)}mla.bulkEdit.waiting-=g.length;mla.bulkEdit.running=g.length;b={action:mla.settings.ajax_action,nonce:mla.settings.ajax_nonce,bulk_action:mla.bulkEdit.targetName,cb_attachment:g};b=a.param(b)+"&"+mla.bulkEdit.fields;mla.bulkEdit.inProcess=true;if(mla.settings.useSpinnerClass){h.addClass("is-active")}else{h.show()}c=mla.settings.bulkWaiting+": "+mla.bulkEdit.waiting+", "+mla.settings.bulkComplete+": "+mla.bulkEdit.complete+", "+mla.settings.bulkUnchanged+": "+mla.bulkEdit.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkEdit.success+", "+mla.settings.bulkFailure+": "+mla.bulkEdit.failure;d.html(c).show();a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){if(mla.settings.useSpinnerClass){h.removeClass("is-active")}else{h.hide()}}).done(function(n,l){var o="no response.data",k,m;if(mla.settings.useSpinnerClass){h.removeClass("is-active")}else{h.hide()}if(n){if(!n.success){if(n.responseData){o=n.data}d.html(JSON.stringify(n)).show();mla.bulkEdit.offset=mla.bulkEdit.idsCount}else{m=a("#bulk-progress-running div").remove();a.each(m,function(){var p,q=a(this).html(),r=a(this).attr("id").substr(4);if("string"===typeof(n.data.item_results[r]["result"])){p=n.data.item_results[r]["result"];a(this).html(q+" ("+r+") - "+p)}a("#attachment-"+r).remove()});a("#bulk-progress-complete").append(m);mla.bulkEdit.complete+=mla.bulkEdit.running;mla.bulkEdit.running=0;mla.bulkEdit.unchanged+=n.data.unchanged;mla.bulkEdit.success+=n.data.success;mla.bulkEdit.failure+=n.data.failure;k=mla.settings.bulkWaiting+": "+mla.bulkEdit.waiting+", "+mla.settings.bulkComplete+": "+mla.bulkEdit.complete+", "+mla.settings.bulkUnchanged+": "+mla.bulkEdit.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkEdit.success+", "+mla.settings.bulkFailure+": "+mla.bulkEdit.failure;d.html(k).show()}}else{d.html(mla.settings.error).show();mla.bulkEdit.offset=mla.bulkEdit.idsCount}if(mla.bulkEdit.doCancel){d.html(mla.settings.bulkCanceled+". "+k).show()}else{if(mla.bulkEdit.offset<mla.bulkEdit.idsCount){mla.inlineEditAttachment.bulkPost();return}}a("#bulk_refresh").prop("disabled",false).css("opacity","1.0");mla.bulkEdit.inProcess=false}).fail(function(l,k){if(200==l.status){d.text("("+k+") "+l.responseText)}else{d.text(mla.settings.ajaxFailError+" ("+k+"), jqXHR( "+l.status+", "+l.statusText+", "+l.responseText+")")}})},quickEdit:function(g){var d=this,b,c,e,f;d.revert();if(typeof(g)=="object"){g=mla.utility.getId(g)}b=mla.settings.fields;c=a("#inline-edit").clone(true);a("td",c).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+g).hasClass("alternate")){a(c).addClass("alternate")}a(d.what+g).hide().after(c);e=a("#inline_"+g);if(!a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',c).val()){a(':input[name="post_author"]',c).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+d.type+"-"+g+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',c).length==1){a("label.inline-edit-author",c).hide()}for(f=0;f<b.length;f++){a(':input[name="'+b[f]+'"]',c).val(a("."+b[f],e).text())}if(a(".image_alt",e).length===0){a("label.inline-edit-image-alt",c).hide()}a(".mla_category",e).each(function(){var h=a(this).text(),i;if(h){i=a(this).attr("id").replace("_"+g,"");a("ul."+i+"-checklist :checkbox",c).val(h.split(","))}});a(".mla_tags",e).each(function(){var j=a(this).text(),k=a(this).attr("id").replace("_"+g,""),i=a("textarea.tax_input_"+k,c),h=mla.settings.comma;if(j){if(","!==h){j=j.replace(/,/g,h)}i.val(j)}i.suggest(ajaxurl+"?action=ajax-tag-search&tax="+k,{delay:500,minchars:2,multiple:true,multipleSep:mla.settings.comma+" "})});e=a(c).attr("id","edit-"+g).addClass("inline-editor").show().position().top;a(".ptitle",c).focus();a("html, body").animate({scrollTop:e},"fast");return false},quickSave:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=mla.utility.getId(e)}if(mla.settings.useSpinnerClass){a("table.widefat .inline-edit-save .spinner").addClass("is-active")}else{a("table.widefat .inline-edit-save .spinner").show()}d={action:mla.settings.ajax_action,nonce:mla.settings.ajax_nonce,post_type:"attachment",post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(f){if(mla.settings.useSpinnerClass){a("table.widefat .inline-edit-save .spinner").removeClass("is-active")}else{a("table.widefat .inline-edit-save .spinner").hide()}if(f){if(-1!=f.indexOf("<tr")){a(mla.inlineEditAttachment.what+e).remove();a("#edit-"+e).before(f).remove();a(mla.inlineEditAttachment.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(mla.settings.error).show()}},"html");return false},inlineParentOpen:function(e){var d,b,c;if(typeof(e)=="object"){b=mla.utility.getId(e);d=a("#edit-"+b+' :input[name="post_parent"]').val()||"";c=a("#edit-"+b+' :input[name="post_title"]').val()||"";mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(f){f.preventDefault();mla.inlineEditAttachment.inlineParentSave(b);return false})}},inlineParentSave:function(b){var f=a("#mla-set-parent-response-div input:checked").closest("tr"),h,e,c=a("#edit-"+b),d,g;if(f.length){h=a(":radio",f).val()||"";e=a("label",f).html()||"";d=a(':input[name="post_parent"]',c).clone(true).val(h);g=a(':input[name="post_parent_title"]',c).clone(true).val(e);a(':input[name="post_parent"]',c).replaceWith(d);a(':input[name="post_parent_title"]',c).replaceWith(g)}mla.setParent.close();a("#mla-set-parent-submit").off("click")},bulkParentOpen:function(){var d,b,c;b=-1;c=mla.settings.bulkTitle;d=a('#bulk-edit :input[name="post_parent"]').val()||-1;mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(e){e.preventDefault();mla.inlineEditAttachment.bulkParentSave();return false})},bulkParentSave:function(){var c=a("#mla-set-parent-response-div input:checked").closest("tr"),d,b;if(c.length){d=a(":radio",c).val()||"";b=a('#bulk-edit :input[name="post_parent"]').clone(true).val(d);a('#bulk-edit :input[name="post_parent"]').replaceWith(b)}mla.setParent.close();a("#mla-set-parent-submit").off("click")},tableParentOpen:function(d,b,c){mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(e){e.preventDefault();mla.inlineEditAttachment.tableParentSave(b);return false})},tableParentSave:function(b){var d=a("#mla-set-parent-response-div input:checked").closest("tr"),f=a(":radio",d).val()||"-1",c,e=a("#attachment-"+b+" td.attached_to").clone(true);if(d.length&&(f>=0)){e=a("#attachment-"+b+" td.attached_to").clone(true);e.html('<span class="spinner"></span>');a("#attachment-"+b+" td.attached_to").replaceWith(e);if(mla.settings.useSpinnerClass){a("#attachment-"+b+" td.attached_to .spinner").addClass("is-active")}else{a("#attachment-"+b+" td.attached_to .spinner").show()}c=a.param({action:mla.settings.ajax_action+"-set-parent",nonce:mla.settings.ajax_nonce,post_ID:b,post_parent:f,});a.post(ajaxurl,c,function(g){if(g){if(-1==g.indexOf("tableParentOpen(")){g=g.replace(/<.[^<>]*?>/g,"")}}else{g=mla.settings.ajaxFailError}a("#attachment-"+b).before(g).remove();a("#attachment-"+b).hide().fadeIn()},"html")}else{e.html(mla.settings.error);a("#attachment-"+b+" td.attached_to").replaceWith(e)}a("#mla-set-parent-submit").off("click");mla.setParent.close()},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){if(mla.settings.useSpinnerClass){a("table.widefat .inline-edit-save .spinner").removeClass("is-active")}else{a("table.widefat .inline-edit-save .spinner").hide()}if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{if("bulk-progress"==b){a("table.widefat #bulk-progress").removeClass("inline-editor").hide();a("#bulk-progress-waiting").html("");a("#inlineedit").append(a("#bulk-progress"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}}return false}};a(document).ready(function(){mla.inlineEditAttachment.init()})})(jQuery);
1
+ var jQuery,mla_inline_edit_vars,mla={settings:{},bulkEdit:{inProcess:false,doCancel:false},utility:{getId:function(b){var c=jQuery(b).closest("tr").attr("id"),a=c.split("-");return a[a.length-1]}},setParent:null,inlineEditAttachment:null};(function(a){mla.settings=typeof mla_inline_edit_vars==="undefined"?{}:mla_inline_edit_vars;mla_inline_edit_vars=void 0;mla.inlineEditAttachment={init:function(){var d=this,e=a("#inline-edit"),c=a("#bulk-edit"),b=a("#bulk-progress");d.type="attachment";d.what="#attachment-";e.keyup(function(f){if(f.which==27){return mla.inlineEditAttachment.revert()}});c.keyup(function(f){if(f.which==27){return mla.inlineEditAttachment.revert()}});b.keyup(function(f){if(f.which==27){return mla.inlineEditAttachment.revert()}});a("#inline-edit-post-set-parent",e).on("click",function(){return mla.inlineEditAttachment.inlineParentOpen(this)});a("a.cancel",e).click(function(){return mla.inlineEditAttachment.revert()});a("a.save",e).click(function(){return mla.inlineEditAttachment.quickSave(this)});a("td",e).keydown(function(f){if(f.which==13){return mla.inlineEditAttachment.quickSave(this)}});a("#bulk-edit-set-parent",c).on("click",function(){return mla.inlineEditAttachment.bulkParentOpen()});a("a.cancel",c).click(function(){return mla.inlineEditAttachment.revert()});a('input[type="submit"]',c).click(function(f){f.preventDefault();return mla.inlineEditAttachment.bulkSave(f)});a("a.cancel",b).click(function(){if(mla.bulkEdit.inProcess){mla.bulkEdit.doCancel=true;return false}else{return mla.inlineEditAttachment.revert()}});a("#bulk_refresh",b).click(function(){a("#bulk-progress a").prop("disabled",true);a("#bulk-progress").css("opacity","0.5")});a("#the-list").on("click","a.editinline",function(){mla.inlineEditAttachment.quickEdit(this);return false});a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',c).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();d.bulkEdit()}else{if(a("form#posts-filter tr.inline-editor").length>0){d.revert()}}});a("#post-query-submit").mousedown(function(){d.revert();a('select[name^="action"]').val("-1")})},bulkEdit:function(){var b="",d=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mla.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-titles").html(b);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("textarea.mla_tags").each(function(){var c=a(this).attr("name").replace("]","").replace("tax_input[","");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+c,{delay:500,minchars:2,multiple:true,multipleSep:mla.settings.comma+" "})});a("html, body").animate({scrollTop:0},"fast")},bulkSave:function(c){var b;mla.bulkEdit={inProcess:false,doCancel:false,chunkSize:0,targetName:"",fields:"",ids:[],idsCount:0,offset:0,waiting:0,running:0,complete:0,unchanged:0,success:0,failure:0};mla.bulkEdit.chunkSize=+mla.settings.bulkChunkSize;mla.bulkEdit.targetName=c.target.name;mla.bulkEdit.fields=a("#bulk-edit :input").serialize();b=a('tbody th.check-column input[type="checkbox"]').serializeArray();a.each(b,function(d,e){mla.bulkEdit.ids[d]=+e.value});mla.bulkEdit.idsCount=mla.bulkEdit.waiting=mla.bulkEdit.ids.length;mla.inlineEditAttachment.bulkProgressOpen();mla.inlineEditAttachment.bulkPost();return false},bulkProgressOpen:function(){var b="",d=true;this.revert();a("#bulk-progress td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-progress"));a("#bulk-progress").addClass("inline-editor").show();a("#cb-select-all-1").removeAttr("checked");a("#cb-select-all-2").removeAttr("checked");a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mla.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-progress-running").html("");a("#bulk-progress-complete").html("");a("#bulk-progress-waiting").html(b);a("#bulk-progress-waiting a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("#bulk-progress .inline-edit-save .error").html("");a("#bulk_refresh").prop("disabled",true).css("opacity","0.5");a("html, body").animate({scrollTop:0},"fast")},bulkPost:function(){var b,g,f,i,c,h=a("table.widefat .inline-edit-save .spinner"),d=a("#bulk-progress .inline-edit-save .error"),j=a("#bulk-progress-waiting"),e=a("#bulk-progress-running");g=mla.bulkEdit.ids.slice(mla.bulkEdit.offset,mla.bulkEdit.offset+mla.bulkEdit.chunkSize);mla.bulkEdit.offset+=mla.bulkEdit.chunkSize;for(f=0;f<g.length;f++){i=a("#ttle"+g[f],j).remove();a("a",i).hide();e.append(i)}mla.bulkEdit.waiting-=g.length;mla.bulkEdit.running=g.length;b={action:mla.settings.ajax_action,mla_admin_nonce:mla.settings.ajax_nonce,bulk_action:mla.bulkEdit.targetName,cb_attachment:g};b=a.param(b)+"&"+mla.bulkEdit.fields;mla.bulkEdit.inProcess=true;if(mla.settings.useSpinnerClass){h.addClass("is-active")}else{h.show()}c=mla.settings.bulkWaiting+": "+mla.bulkEdit.waiting+", "+mla.settings.bulkComplete+": "+mla.bulkEdit.complete+", "+mla.settings.bulkUnchanged+": "+mla.bulkEdit.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkEdit.success+", "+mla.settings.bulkFailure+": "+mla.bulkEdit.failure;d.html(c).show();a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){if(mla.settings.useSpinnerClass){h.removeClass("is-active")}else{h.hide()}}).done(function(n,l){var o="no response.data",k,m;if(mla.settings.useSpinnerClass){h.removeClass("is-active")}else{h.hide()}if(n){if(!n.success){if(n.responseData){o=n.data}d.html(JSON.stringify(n)).show();mla.bulkEdit.offset=mla.bulkEdit.idsCount}else{m=a("#bulk-progress-running div").remove();a.each(m,function(){var p,q=a(this).html(),r=a(this).attr("id").substr(4);if("string"===typeof(n.data.item_results[r]["result"])){p=n.data.item_results[r]["result"];a(this).html(q+" ("+r+") - "+p)}a("#attachment-"+r).remove()});a("#bulk-progress-complete").append(m);mla.bulkEdit.complete+=mla.bulkEdit.running;mla.bulkEdit.running=0;mla.bulkEdit.unchanged+=n.data.unchanged;mla.bulkEdit.success+=n.data.success;mla.bulkEdit.failure+=n.data.failure;k=mla.settings.bulkWaiting+": "+mla.bulkEdit.waiting+", "+mla.settings.bulkComplete+": "+mla.bulkEdit.complete+", "+mla.settings.bulkUnchanged+": "+mla.bulkEdit.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkEdit.success+", "+mla.settings.bulkFailure+": "+mla.bulkEdit.failure;d.html(k).show()}}else{d.html(mla.settings.error).show();mla.bulkEdit.offset=mla.bulkEdit.idsCount}if(mla.bulkEdit.doCancel){d.html(mla.settings.bulkCanceled+". "+k).show()}else{if(mla.bulkEdit.offset<mla.bulkEdit.idsCount){mla.inlineEditAttachment.bulkPost();return}}a("#bulk_refresh").prop("disabled",false).css("opacity","1.0");mla.bulkEdit.inProcess=false}).fail(function(l,k){if(200==l.status){d.text("("+k+") "+l.responseText)}else{d.text(mla.settings.ajaxFailError+" ("+k+"), jqXHR( "+l.status+", "+l.statusText+", "+l.responseText+")")}})},quickEdit:function(g){var d=this,b,c,e,f;d.revert();if(typeof(g)=="object"){g=mla.utility.getId(g)}b=mla.settings.fields;c=a("#inline-edit").clone(true);a("td",c).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+g).hasClass("alternate")){a(c).addClass("alternate")}a(d.what+g).hide().after(c);e=a("#inline_"+g);if(!a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',c).val()){a(':input[name="post_author"]',c).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+d.type+"-"+g+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',c).length==1){a("label.inline-edit-author",c).hide()}for(f=0;f<b.length;f++){a(':input[name="'+b[f]+'"]',c).val(a("."+b[f],e).text())}if(a(".image_alt",e).length===0){a("label.inline-edit-image-alt",c).hide()}a(".mla_category",e).each(function(){var h=a(this).text(),i;if(h){i=a(this).attr("id").replace("_"+g,"");a("ul."+i+"-checklist :checkbox",c).val(h.split(","))}});a(".mla_tags",e).each(function(){var j=a(this).text(),k=a(this).attr("id").replace("_"+g,""),i=a("textarea.tax_input_"+k,c),h=mla.settings.comma;if(j){if(","!==h){j=j.replace(/,/g,h)}i.val(j)}i.suggest(ajaxurl+"?action=ajax-tag-search&tax="+k,{delay:500,minchars:2,multiple:true,multipleSep:mla.settings.comma+" "})});e=a(c).attr("id","edit-"+g).addClass("inline-editor").show().position().top;a(".ptitle",c).focus();a("html, body").animate({scrollTop:e},"fast");return false},quickSave:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=mla.utility.getId(e)}if(mla.settings.useSpinnerClass){a("table.widefat .inline-edit-save .spinner").addClass("is-active")}else{a("table.widefat .inline-edit-save .spinner").show()}d={action:mla.settings.ajax_action,mla_admin_nonce:mla.settings.ajax_nonce,post_type:"attachment",post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(f){if(mla.settings.useSpinnerClass){a("table.widefat .inline-edit-save .spinner").removeClass("is-active")}else{a("table.widefat .inline-edit-save .spinner").hide()}if(f){if(-1!=f.indexOf("<tr")){a(mla.inlineEditAttachment.what+e).remove();a("#edit-"+e).before(f).remove();a(mla.inlineEditAttachment.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(mla.settings.error).show()}},"html");return false},inlineParentOpen:function(e){var d,b,c;if(typeof(e)=="object"){b=mla.utility.getId(e);d=a("#edit-"+b+' :input[name="post_parent"]').val()||"";c=a("#edit-"+b+' :input[name="post_title"]').val()||"";mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(f){f.preventDefault();mla.inlineEditAttachment.inlineParentSave(b);return false})}},inlineParentSave:function(b){var f=a("#mla-set-parent-response-div input:checked").closest("tr"),h,e,c=a("#edit-"+b),d,g;if(f.length){h=a(":radio",f).val()||"";e=a("label",f).html()||"";d=a(':input[name="post_parent"]',c).clone(true).val(h);g=a(':input[name="post_parent_title"]',c).clone(true).val(e);a(':input[name="post_parent"]',c).replaceWith(d);a(':input[name="post_parent_title"]',c).replaceWith(g)}mla.setParent.close();a("#mla-set-parent-submit").off("click")},bulkParentOpen:function(){var d,b,c;b=-1;c=mla.settings.bulkTitle;d=a('#bulk-edit :input[name="post_parent"]').val()||-1;mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(e){e.preventDefault();mla.inlineEditAttachment.bulkParentSave();return false})},bulkParentSave:function(){var c=a("#mla-set-parent-response-div input:checked").closest("tr"),d,b;if(c.length){d=a(":radio",c).val()||"";b=a('#bulk-edit :input[name="post_parent"]').clone(true).val(d);a('#bulk-edit :input[name="post_parent"]').replaceWith(b)}mla.setParent.close();a("#mla-set-parent-submit").off("click")},tableParentOpen:function(d,b,c){mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(e){e.preventDefault();mla.inlineEditAttachment.tableParentSave(b);return false})},tableParentSave:function(b){var d=a("#mla-set-parent-response-div input:checked").closest("tr"),f=a(":radio",d).val()||"-1",c,e=a("#attachment-"+b+" td.attached_to").clone(true);if(d.length&&(f>=0)){e=a("#attachment-"+b+" td.attached_to").clone(true);e.html('<span class="spinner"></span>');a("#attachment-"+b+" td.attached_to").replaceWith(e);if(mla.settings.useSpinnerClass){a("#attachment-"+b+" td.attached_to .spinner").addClass("is-active")}else{a("#attachment-"+b+" td.attached_to .spinner").show()}c=a.param({action:mla.settings.ajax_action+"-set-parent",mla_admin_nonce:mla.settings.ajax_nonce,post_ID:b,post_parent:f,});a.post(ajaxurl,c,function(g){if(g){if(-1==g.indexOf("tableParentOpen(")){g=g.replace(/<.[^<>]*?>/g,"")}}else{g=mla.settings.ajaxFailError}a("#attachment-"+b).before(g).remove();a("#attachment-"+b).hide().fadeIn()},"html")}else{e.html(mla.settings.error);a("#attachment-"+b+" td.attached_to").replaceWith(e)}a("#mla-set-parent-submit").off("click");mla.setParent.close()},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){if(mla.settings.useSpinnerClass){a("table.widefat .inline-edit-save .spinner").removeClass("is-active")}else{a("table.widefat .inline-edit-save .spinner").hide()}if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{if("bulk-progress"==b){a("table.widefat #bulk-progress").removeClass("inline-editor").hide();a("#bulk-progress-waiting").html("");a("#inlineedit").append(a("#bulk-progress"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}}return false}};a(document).ready(function(){mla.inlineEditAttachment.init()})})(jQuery);
js/mla-inline-edit-upload-scripts.js CHANGED
@@ -140,7 +140,7 @@ inlineEditUpload = {
140
  if ( typeof(id) == 'object' )
141
  id = this.getId(id);
142
 
143
- if ( mla.settings.useSpinnerClass ) {
144
  $('table.widefat .spinner').addClass("is-active");
145
  } else {
146
  $('table.widefat .spinner').show();
@@ -148,7 +148,7 @@ inlineEditUpload = {
148
 
149
  params = {
150
  action: mla_inline_edit_upload_vars.ajax_action,
151
- nonce: mla_inline_edit_upload_vars.ajax_nonce,
152
  post_ID: id
153
  };
154
 
@@ -158,7 +158,7 @@ inlineEditUpload = {
158
  // make ajax request
159
  $.post( ajaxurl, params,
160
  function(r) {
161
- if ( mla.settings.useSpinnerClass ) {
162
  $('table.widefat .spinner').removeClass("is-active");
163
  } else {
164
  $('table.widefat .spinner').hide();
@@ -191,7 +191,7 @@ inlineEditUpload = {
191
  $('#bulk-titles').html('');
192
  $('#inlineedit').append( $('#bulk-edit') );
193
  } else {
194
- if ( mla.settings.useSpinnerClass ) {
195
  $('table.widefat .spinner').removeClass("is-active");
196
  } else {
197
  $('table.widefat .spinner').hide();
140
  if ( typeof(id) == 'object' )
141
  id = this.getId(id);
142
 
143
+ if ( mla_inline_edit_upload_vars.useSpinnerClass ) {
144
  $('table.widefat .spinner').addClass("is-active");
145
  } else {
146
  $('table.widefat .spinner').show();
148
 
149
  params = {
150
  action: mla_inline_edit_upload_vars.ajax_action,
151
+ mla_admin_nonce: mla_inline_edit_upload_vars.ajax_nonce,
152
  post_ID: id
153
  };
154
 
158
  // make ajax request
159
  $.post( ajaxurl, params,
160
  function(r) {
161
+ if ( mla_inline_edit_upload_vars.useSpinnerClass ) {
162
  $('table.widefat .spinner').removeClass("is-active");
163
  } else {
164
  $('table.widefat .spinner').hide();
191
  $('#bulk-titles').html('');
192
  $('#inlineedit').append( $('#bulk-edit') );
193
  } else {
194
+ if ( mla_inline_edit_upload_vars.useSpinnerClass ) {
195
  $('table.widefat .spinner').removeClass("is-active");
196
  } else {
197
  $('table.widefat .spinner').hide();
js/mla-inline-edit-upload-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var ajaxurl,jQuery,inlineEditUpload,mla_inline_edit_upload_vars;(function(a){inlineEditUpload={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type="upload";c.what="#upload-";d.keyup(function(f){if(f.which==27){return inlineEditUpload.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditUpload.revert()}});a("a.cancel",d).click(function(){return inlineEditUpload.revert()});a("a.save",d).click(function(){return inlineEditUpload.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditUpload.save(this)}});a("a.cancel",b).click(function(){return inlineEditUpload.revert()});a("a.editinline").live("click",function(){inlineEditUpload.edit(this);return false});a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}})},toggle:function(c){var b=this;if("none"==a(b.what+b.getId(c)).css("display")){b.revert()}else{b.edit(c)}},setBulk:function(){var b="",d=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .slug").text()||mla_inline_edit_upload_vars.notitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla_inline_edit_upload_vars.ntdeltitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-titles").html(b);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("html, body").animate({scrollTop:0},"fast")},edit:function(h){var d=this,b,f,c,e,g;d.revert();if(typeof(h)=="object"){h=d.getId(h)}b=mla_inline_edit_upload_vars.fields;f=mla_inline_edit_upload_vars.checkboxes;c=a("#inline-edit").clone(true);a("td",c).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+h).hasClass("alternate")){a(c).addClass("alternate")}a(d.what+h).hide().after(c);e=a("#inline_"+h);for(g=0;g<b.length;g++){a(':input[name="'+b[g]+'"]',c).val(a("."+b[g],e).text())}for(g=0;g<b.length;g++){if("1"==a("."+f[g],e).text()){a(':input[name="'+f[g]+'"]',c).attr("checked","checked")}else{a(':input[name="'+f[g]+'"]',c).removeAttr("checked")}}a(c).attr("id","edit-"+h).addClass("inline-editor").show();a(".ptitle",c).focus();return false},save:function(d){var c,b;if(typeof(d)=="object"){d=this.getId(d)}if(mla.settings.useSpinnerClass){a("table.widefat .spinner").addClass("is-active")}else{a("table.widefat .spinner").show()}c={action:mla_inline_edit_upload_vars.ajax_action,nonce:mla_inline_edit_upload_vars.ajax_nonce,post_ID:d};b=a("#edit-"+d+" :input").serialize();c=b+"&"+a.param(c);a.post(ajaxurl,c,function(e){if(mla.settings.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}if(e){if(-1!=e.indexOf("<tr")){a(inlineEditUpload.what+d).remove();a("#edit-"+d).before(e).remove();a(inlineEditUpload.what+d).hide().fadeIn()}else{e=e.replace(/<.[^<>]*?>/g,"");a("#edit-"+d+" .inline-edit-save .error").html(e).show()}}else{a("#edit-"+d+" .inline-edit-save .error").html(mla_inline_edit_upload_vars.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{if(mla.settings.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditUpload.init()})})(jQuery);
1
+ var ajaxurl,jQuery,inlineEditUpload,mla_inline_edit_upload_vars;(function(a){inlineEditUpload={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type="upload";c.what="#upload-";d.keyup(function(f){if(f.which==27){return inlineEditUpload.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditUpload.revert()}});a("a.cancel",d).click(function(){return inlineEditUpload.revert()});a("a.save",d).click(function(){return inlineEditUpload.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditUpload.save(this)}});a("a.cancel",b).click(function(){return inlineEditUpload.revert()});a("a.editinline").live("click",function(){inlineEditUpload.edit(this);return false});a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}})},toggle:function(c){var b=this;if("none"==a(b.what+b.getId(c)).css("display")){b.revert()}else{b.edit(c)}},setBulk:function(){var b="",d=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .slug").text()||mla_inline_edit_upload_vars.notitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla_inline_edit_upload_vars.ntdeltitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-titles").html(b);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("html, body").animate({scrollTop:0},"fast")},edit:function(h){var d=this,b,f,c,e,g;d.revert();if(typeof(h)=="object"){h=d.getId(h)}b=mla_inline_edit_upload_vars.fields;f=mla_inline_edit_upload_vars.checkboxes;c=a("#inline-edit").clone(true);a("td",c).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+h).hasClass("alternate")){a(c).addClass("alternate")}a(d.what+h).hide().after(c);e=a("#inline_"+h);for(g=0;g<b.length;g++){a(':input[name="'+b[g]+'"]',c).val(a("."+b[g],e).text())}for(g=0;g<b.length;g++){if("1"==a("."+f[g],e).text()){a(':input[name="'+f[g]+'"]',c).attr("checked","checked")}else{a(':input[name="'+f[g]+'"]',c).removeAttr("checked")}}a(c).attr("id","edit-"+h).addClass("inline-editor").show();a(".ptitle",c).focus();return false},save:function(d){var c,b;if(typeof(d)=="object"){d=this.getId(d)}if(mla_inline_edit_upload_vars.useSpinnerClass){a("table.widefat .spinner").addClass("is-active")}else{a("table.widefat .spinner").show()}c={action:mla_inline_edit_upload_vars.ajax_action,mla_admin_nonce:mla_inline_edit_upload_vars.ajax_nonce,post_ID:d};b=a("#edit-"+d+" :input").serialize();c=b+"&"+a.param(c);a.post(ajaxurl,c,function(e){if(mla_inline_edit_upload_vars.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}if(e){if(-1!=e.indexOf("<tr")){a(inlineEditUpload.what+d).remove();a("#edit-"+d).before(e).remove();a(inlineEditUpload.what+d).hide().fadeIn()}else{e=e.replace(/<.[^<>]*?>/g,"");a("#edit-"+d+" .inline-edit-save .error").html(e).show()}}else{a("#edit-"+d+" .inline-edit-save .error").html(mla_inline_edit_upload_vars.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{if(mla_inline_edit_upload_vars.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditUpload.init()})})(jQuery);
js/mla-inline-edit-view-scripts.js CHANGED
@@ -140,7 +140,7 @@ inlineEditView = {
140
  if ( typeof(id) == 'object' )
141
  id = this.getId(id);
142
 
143
- if ( mla.settings.useSpinnerClass ) {
144
  $('table.widefat .spinner').addClass("is-active");
145
  } else {
146
  $('table.widefat .spinner').show();
@@ -148,7 +148,7 @@ inlineEditView = {
148
 
149
  params = {
150
  action: mla_inline_edit_view_vars.ajax_action,
151
- nonce: mla_inline_edit_view_vars.ajax_nonce,
152
  post_ID: id
153
  };
154
 
@@ -158,7 +158,7 @@ inlineEditView = {
158
  // make ajax request
159
  $.post( ajaxurl, params,
160
  function(r) {
161
- if ( mla.settings.useSpinnerClass ) {
162
  $('table.widefat .spinner').removeClass("is-active");
163
  } else {
164
  $('table.widefat .spinner').hide();
@@ -191,7 +191,7 @@ inlineEditView = {
191
  $('#bulk-titles').html('');
192
  $('#inlineedit').append( $('#bulk-edit') );
193
  } else {
194
- if ( mla.settings.useSpinnerClass ) {
195
  $('table.widefat .spinner').removeClass("is-active");
196
  } else {
197
  $('table.widefat .spinner').hide();
140
  if ( typeof(id) == 'object' )
141
  id = this.getId(id);
142
 
143
+ if ( mla_inline_edit_view_vars.useSpinnerClass ) {
144
  $('table.widefat .spinner').addClass("is-active");
145
  } else {
146
  $('table.widefat .spinner').show();
148
 
149
  params = {
150
  action: mla_inline_edit_view_vars.ajax_action,
151
+ mla_admin_nonce: mla_inline_edit_view_vars.ajax_nonce,
152
  post_ID: id
153
  };
154
 
158
  // make ajax request
159
  $.post( ajaxurl, params,
160
  function(r) {
161
+ if ( mla_inline_edit_view_vars.useSpinnerClass ) {
162
  $('table.widefat .spinner').removeClass("is-active");
163
  } else {
164
  $('table.widefat .spinner').hide();
191
  $('#bulk-titles').html('');
192
  $('#inlineedit').append( $('#bulk-edit') );
193
  } else {
194
+ if ( mla_inline_edit_view_vars.useSpinnerClass ) {
195
  $('table.widefat .spinner').removeClass("is-active");
196
  } else {
197
  $('table.widefat .spinner').hide();
js/mla-inline-edit-view-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var ajaxurl,jQuery,inlineEditView,mla_inline_edit_view_vars;(function(a){inlineEditView={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type="view";c.what="#view-";d.keyup(function(f){if(f.which==27){return inlineEditView.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditView.revert()}});a("a.cancel",d).click(function(){return inlineEditView.revert()});a("a.save",d).click(function(){return inlineEditView.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditView.save(this)}});a("a.cancel",b).click(function(){return inlineEditView.revert()});a("a.editinline").live("click",function(){inlineEditView.edit(this);return false});a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}})},toggle:function(c){var b=this;if("none"==a(b.what+b.getId(c)).css("display")){b.revert()}else{b.edit(c)}},setBulk:function(){var b="",d=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .slug").text()||mla_inline_edit_view_vars.notitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla_inline_edit_view_vars.ntdeltitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-titles").html(b);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("html, body").animate({scrollTop:0},"fast")},edit:function(h){var d=this,b,f,c,e,g;d.revert();if(typeof(h)=="object"){h=d.getId(h)}b=mla_inline_edit_view_vars.fields;f=mla_inline_edit_view_vars.checkboxes;c=a("#inline-edit").clone(true);a("td",c).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+h).hasClass("alternate")){a(c).addClass("alternate")}a(d.what+h).hide().after(c);e=a("#inline_"+h);for(g=0;g<b.length;g++){a(':input[name="'+b[g]+'"]',c).val(a("."+b[g],e).text())}for(g=0;g<b.length;g++){if("1"==a("."+f[g],e).text()){a(':input[name="'+f[g]+'"]',c).attr("checked","checked")}else{a(':input[name="'+f[g]+'"]',c).removeAttr("checked")}}a(c).attr("id","edit-"+h).addClass("inline-editor").show();a(".ptitle",c).focus();return false},save:function(d){var c,b;if(typeof(d)=="object"){d=this.getId(d)}if(mla.settings.useSpinnerClass){a("table.widefat .spinner").addClass("is-active")}else{a("table.widefat .spinner").show()}c={action:mla_inline_edit_view_vars.ajax_action,nonce:mla_inline_edit_view_vars.ajax_nonce,post_ID:d};b=a("#edit-"+d+" :input").serialize();c=b+"&"+a.param(c);a.post(ajaxurl,c,function(e){if(mla.settings.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}if(e){if(-1!=e.indexOf("<tr")){a(inlineEditView.what+d).remove();a("#edit-"+d).before(e).remove();a(inlineEditView.what+d).hide().fadeIn()}else{e=e.replace(/<.[^<>]*?>/g,"");a("#edit-"+d+" .inline-edit-save .error").html(e).show()}}else{a("#edit-"+d+" .inline-edit-save .error").html(mla_inline_edit_view_vars.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{if(mla.settings.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditView.init()})})(jQuery);
1
+ var ajaxurl,jQuery,inlineEditView,mla_inline_edit_view_vars;(function(a){inlineEditView={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type="view";c.what="#view-";d.keyup(function(f){if(f.which==27){return inlineEditView.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditView.revert()}});a("a.cancel",d).click(function(){return inlineEditView.revert()});a("a.save",d).click(function(){return inlineEditView.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditView.save(this)}});a("a.cancel",b).click(function(){return inlineEditView.revert()});a("a.editinline").live("click",function(){inlineEditView.edit(this);return false});a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}})},toggle:function(c){var b=this;if("none"==a(b.what+b.getId(c)).css("display")){b.revert()}else{b.edit(c)}},setBulk:function(){var b="",d=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .slug").text()||mla_inline_edit_view_vars.notitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mla_inline_edit_view_vars.ntdeltitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#bulk-titles").html(b);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("html, body").animate({scrollTop:0},"fast")},edit:function(h){var d=this,b,f,c,e,g;d.revert();if(typeof(h)=="object"){h=d.getId(h)}b=mla_inline_edit_view_vars.fields;f=mla_inline_edit_view_vars.checkboxes;c=a("#inline-edit").clone(true);a("td",c).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+h).hasClass("alternate")){a(c).addClass("alternate")}a(d.what+h).hide().after(c);e=a("#inline_"+h);for(g=0;g<b.length;g++){a(':input[name="'+b[g]+'"]',c).val(a("."+b[g],e).text())}for(g=0;g<b.length;g++){if("1"==a("."+f[g],e).text()){a(':input[name="'+f[g]+'"]',c).attr("checked","checked")}else{a(':input[name="'+f[g]+'"]',c).removeAttr("checked")}}a(c).attr("id","edit-"+h).addClass("inline-editor").show();a(".ptitle",c).focus();return false},save:function(d){var c,b;if(typeof(d)=="object"){d=this.getId(d)}if(mla_inline_edit_view_vars.useSpinnerClass){a("table.widefat .spinner").addClass("is-active")}else{a("table.widefat .spinner").show()}c={action:mla_inline_edit_view_vars.ajax_action,mla_admin_nonce:mla_inline_edit_view_vars.ajax_nonce,post_ID:d};b=a("#edit-"+d+" :input").serialize();c=b+"&"+a.param(c);a.post(ajaxurl,c,function(e){if(mla_inline_edit_view_vars.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}if(e){if(-1!=e.indexOf("<tr")){a(inlineEditView.what+d).remove();a("#edit-"+d).before(e).remove();a(inlineEditView.what+d).hide().fadeIn()}else{e=e.replace(/<.[^<>]*?>/g,"");a("#edit-"+d+" .inline-edit-save .error").html(e).show()}}else{a("#edit-"+d+" .inline-edit-save .error").html(mla_inline_edit_view_vars.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{if(mla_inline_edit_view_vars.useSpinnerClass){a("table.widefat .spinner").removeClass("is-active")}else{a("table.widefat .spinner").hide()}a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditView.init()})})(jQuery);
js/mla-inline-mapping-scripts.js CHANGED
@@ -165,7 +165,7 @@ var jQuery,
165
  mla_tab: mla.settings.mla_tab,
166
  screen: mla.settings.screen,
167
  action: mla.settings.ajax_action,
168
- nonce: mla.settings.ajax_nonce,
169
  bulk_action: mla.bulkMap.targetName,
170
  offset: mla.bulkMap.complete,
171
  length: chunk
165
  mla_tab: mla.settings.mla_tab,
166
  screen: mla.settings.screen,
167
  action: mla.settings.ajax_action,
168
+ mla_admin_nonce: mla.settings.ajax_nonce,
169
  bulk_action: mla.bulkMap.targetName,
170
  offset: mla.bulkMap.complete,
171
  length: chunk
js/mla-inline-mapping-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var jQuery,mla_inline_mapping_vars,mla={settings:{},bulkMap:{inProcess:false,doCancel:false},utility:{},inlineMapAttachment:null};(function(a){mla.settings=typeof mla_inline_mapping_vars==="undefined"?{}:mla_inline_mapping_vars;mla_inline_mapping_vars=void 0;mla.inlineMapAttachment={init:function(){var b=a("#mla-progress-div");a("#mla-progress-cancel",b).off("click");a("#mla-progress-cancel",b).click(function(){if(mla.bulkMap.inProcess){mla.bulkMap.doCancel=true;return false}else{return mla.inlineMapAttachment.revert()}});a("#mla-progress-resume",b).off("click");a("#mla-progress-resume",b).click(function(){var c=+mla.settings.totalItems,d=+a("#mla-progress-offset").val();if(c<d){d=c}else{if(0>d){d=0}}if(mla.bulkMap.inProcess){mla.bulkMap.doCancel=true;return false}else{return mla.inlineMapAttachment.bulkMap(mla.bulkMap.targetName,d)}});a("#mla-progress-refresh",b).off("click");a("#mla-progress-refresh",b).click(function(){a("#mla-progress-refresh").prop("disabled",true);a("#mla-progress-refresh").css("opacity","0.5")});a("#mla-progress-close",b).off("click");a("#mla-progress-close",b).click(function(c){if(mla.bulkMap.inProcess){return false}return mla.inlineMapAttachment.revert()});a('input[type="submit"].mla-mapping').click(function(c){c.preventDefault();return mla.inlineMapAttachment.bulkMap(c.target.name,0)})},bulkMap:function(e,b){var d=0,c=0,g=0,f=0,h=0;b=+b;if(0<b){d=typeof mla.bulkMap.complete==="undefined"?0:mla.bulkMap.complete;c=typeof mla.bulkMap.unchanged==="undefined"?0:mla.bulkMap.unchanged;g=typeof mla.bulkMap.success==="undefined"?0:mla.bulkMap.success;f=typeof mla.bulkMap.skip==="undefined"?0:mla.bulkMap.skip;h=typeof mla.bulkMap.redone==="undefined"?0:mla.bulkMap.redone}if(d<b){f+=b-d}else{if(d>b){h+=d-b}}mla.bulkMap={inProcess:false,doCancel:false,chunkSize:+mla.settings.bulkChunkSize,targetName:e,fields:a(mla.settings.fieldsId+" :input").serialize(),offset:b,waiting:mla.settings.totalItems-b,running:0,complete:b,unchanged:c,success:g,skip:f,redone:h,refresh:false};mla.inlineMapAttachment.progressOpen();mla.inlineMapAttachment.bulkPost();return false},progressOpen:function(){this.revert();a("#mla-progress-meter").css("width","0%");a("#mla-progress-meter").html("0%");a("#mla-progress-message").html("");a("#mla-progress-error").html("");a("#mla-progress-div").show();a("#mla-progress-cancel").prop("disabled",false).css("opacity","1.0");a("#mla-progress-resume").hide();a("#mla-progress-offset").hide();a("#mla-progress-refresh").hide();a("#mla-progress-close").prop("disabled",true).css("opacity","0.5").show();a("html, body").animate({scrollTop:0},"fast")},bulkPost:function(){var g,c,f="",e=a("#mla-progress-div p.inline-edit-save .spinner"),d=a("#mla-progress-message"),b=a("#mla-progress-error");if(mla.bulkMap.waiting<mla.bulkMap.chunkSize){c=mla.bulkMap.waiting}else{c=mla.bulkMap.chunkSize}mla.bulkMap.waiting-=c;mla.bulkMap.running=c;g={page:mla.settings.page,mla_tab:mla.settings.mla_tab,screen:mla.settings.screen,action:mla.settings.ajax_action,nonce:mla.settings.ajax_nonce,bulk_action:mla.bulkMap.targetName,offset:mla.bulkMap.complete,length:c};g=a.param(g)+"&"+mla.bulkMap.fields;mla.bulkMap.inProcess=true;percentComplete=Math.floor((100*mla.bulkMap.complete)/mla.settings.totalItems)+"%";a("#mla-progress-meter").css("width",percentComplete);a("#mla-progress-meter").html(percentComplete);if(0<mla.bulkMap.skip){f+=", "+mla.settings.bulkSkip+": "+mla.bulkMap.skip}if(0<mla.bulkMap.redone){f+=", "+mla.settings.bulkRedone+": "+mla.bulkMap.redone}if(mla.settings.useSpinnerClass){e.addClass("is-active")}else{e.show()}f=mla.settings.bulkWaiting+": "+mla.bulkMap.waiting+", "+mla.settings.bulkRunning+": "+mla.bulkMap.running+", "+mla.settings.bulkComplete+": "+mla.bulkMap.complete+f+", "+mla.settings.bulkUnchanged+": "+mla.bulkMap.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkMap.success;d.html(f).show();a.ajax(ajaxurl,{type:"POST",data:g,dataType:"json"}).always(function(){if(mla.settings.useSpinnerClass){e.removeClass("is-active")}else{e.hide()}}).done(function(j,i){var k="no response.data",h="";if(j){if(!j.success){if(j.responseData){k=j.data}b.html(JSON.stringify(j));mla.bulkMap.waiting=0}else{if(0==j.data.processed){h=j.data.message;mla.bulkMap.waiting=0}else{mla.bulkMap.complete+=j.data.processed;mla.bulkMap.running=0;mla.bulkMap.unchanged+=j.data.unchanged;mla.bulkMap.success+=j.data.success;if("undefined"!==typeof j.data.refresh){mla.bulkMap.refresh=j.data.refresh}percentComplete=Math.floor((100*mla.bulkMap.complete)/mla.settings.totalItems)+"%";a("#mla-progress-meter").css("width",percentComplete);a("#mla-progress-meter").html(percentComplete);if(0<mla.bulkMap.skip){h+=", "+mla.settings.bulkSkip+": "+mla.bulkMap.skip}if(0<mla.bulkMap.redone){h+=", "+mla.settings.bulkRedone+": "+mla.bulkMap.redone}h=mla.settings.bulkWaiting+": "+mla.bulkMap.waiting+", "+mla.settings.bulkComplete+": "+mla.bulkMap.complete+h+", "+mla.settings.bulkUnchanged+": "+mla.bulkMap.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkMap.success}d.html(h).show()}}else{b.html(mla.settings.error);mla.bulkMap.waiting=0}if(mla.bulkMap.doCancel){d.html(mla.settings.bulkCanceled+". "+h).show();a("#mla-progress-resume").show();a("#mla-progress-offset").val(mla.bulkMap.complete).show()}else{if(mla.bulkMap.waiting){mla.inlineMapAttachment.bulkPost();return}}if(mla.bulkMap.refresh){a("#mla-progress-close").hide();a("#mla-progress-refresh").prop("disabled",false).css("opacity","1.0").show()}else{a("#mla-progress-close").prop("disabled",false).css("opacity","1.0")}a("#mla-progress-cancel").prop("disabled",true).css("opacity","0.5");mla.bulkMap.inProcess=false}).fail(function(i,h){if(200==i.status){b.html("("+h+") "+i.responseText)}else{b.html(mla.settings.ajaxFailError+" ("+h+"), jqXHR( "+i.status+", "+i.statusText+", "+i.responseText+")")}})},revert:function(){var b=a("#mla-progress-div");if(b){if(mla.settings.useSpinnerClass){a("p.inline-edit-save .spinner",b).removeClass("is-active")}else{a("p.inline-edit-save .spinner",b).hide()}a(b).hide()}return false}};a(document).ready(function(){mla.inlineMapAttachment.init()})})(jQuery);
1
+ var jQuery,mla_inline_mapping_vars,mla={settings:{},bulkMap:{inProcess:false,doCancel:false},utility:{},inlineMapAttachment:null};(function(a){mla.settings=typeof mla_inline_mapping_vars==="undefined"?{}:mla_inline_mapping_vars;mla_inline_mapping_vars=void 0;mla.inlineMapAttachment={init:function(){var b=a("#mla-progress-div");a("#mla-progress-cancel",b).off("click");a("#mla-progress-cancel",b).click(function(){if(mla.bulkMap.inProcess){mla.bulkMap.doCancel=true;return false}else{return mla.inlineMapAttachment.revert()}});a("#mla-progress-resume",b).off("click");a("#mla-progress-resume",b).click(function(){var c=+mla.settings.totalItems,d=+a("#mla-progress-offset").val();if(c<d){d=c}else{if(0>d){d=0}}if(mla.bulkMap.inProcess){mla.bulkMap.doCancel=true;return false}else{return mla.inlineMapAttachment.bulkMap(mla.bulkMap.targetName,d)}});a("#mla-progress-refresh",b).off("click");a("#mla-progress-refresh",b).click(function(){a("#mla-progress-refresh").prop("disabled",true);a("#mla-progress-refresh").css("opacity","0.5")});a("#mla-progress-close",b).off("click");a("#mla-progress-close",b).click(function(c){if(mla.bulkMap.inProcess){return false}return mla.inlineMapAttachment.revert()});a('input[type="submit"].mla-mapping').click(function(c){c.preventDefault();return mla.inlineMapAttachment.bulkMap(c.target.name,0)})},bulkMap:function(e,b){var d=0,c=0,g=0,f=0,h=0;b=+b;if(0<b){d=typeof mla.bulkMap.complete==="undefined"?0:mla.bulkMap.complete;c=typeof mla.bulkMap.unchanged==="undefined"?0:mla.bulkMap.unchanged;g=typeof mla.bulkMap.success==="undefined"?0:mla.bulkMap.success;f=typeof mla.bulkMap.skip==="undefined"?0:mla.bulkMap.skip;h=typeof mla.bulkMap.redone==="undefined"?0:mla.bulkMap.redone}if(d<b){f+=b-d}else{if(d>b){h+=d-b}}mla.bulkMap={inProcess:false,doCancel:false,chunkSize:+mla.settings.bulkChunkSize,targetName:e,fields:a(mla.settings.fieldsId+" :input").serialize(),offset:b,waiting:mla.settings.totalItems-b,running:0,complete:b,unchanged:c,success:g,skip:f,redone:h,refresh:false};mla.inlineMapAttachment.progressOpen();mla.inlineMapAttachment.bulkPost();return false},progressOpen:function(){this.revert();a("#mla-progress-meter").css("width","0%");a("#mla-progress-meter").html("0%");a("#mla-progress-message").html("");a("#mla-progress-error").html("");a("#mla-progress-div").show();a("#mla-progress-cancel").prop("disabled",false).css("opacity","1.0");a("#mla-progress-resume").hide();a("#mla-progress-offset").hide();a("#mla-progress-refresh").hide();a("#mla-progress-close").prop("disabled",true).css("opacity","0.5").show();a("html, body").animate({scrollTop:0},"fast")},bulkPost:function(){var g,c,f="",e=a("#mla-progress-div p.inline-edit-save .spinner"),d=a("#mla-progress-message"),b=a("#mla-progress-error");if(mla.bulkMap.waiting<mla.bulkMap.chunkSize){c=mla.bulkMap.waiting}else{c=mla.bulkMap.chunkSize}mla.bulkMap.waiting-=c;mla.bulkMap.running=c;g={page:mla.settings.page,mla_tab:mla.settings.mla_tab,screen:mla.settings.screen,action:mla.settings.ajax_action,mla_admin_nonce:mla.settings.ajax_nonce,bulk_action:mla.bulkMap.targetName,offset:mla.bulkMap.complete,length:c};g=a.param(g)+"&"+mla.bulkMap.fields;mla.bulkMap.inProcess=true;percentComplete=Math.floor((100*mla.bulkMap.complete)/mla.settings.totalItems)+"%";a("#mla-progress-meter").css("width",percentComplete);a("#mla-progress-meter").html(percentComplete);if(0<mla.bulkMap.skip){f+=", "+mla.settings.bulkSkip+": "+mla.bulkMap.skip}if(0<mla.bulkMap.redone){f+=", "+mla.settings.bulkRedone+": "+mla.bulkMap.redone}if(mla.settings.useSpinnerClass){e.addClass("is-active")}else{e.show()}f=mla.settings.bulkWaiting+": "+mla.bulkMap.waiting+", "+mla.settings.bulkRunning+": "+mla.bulkMap.running+", "+mla.settings.bulkComplete+": "+mla.bulkMap.complete+f+", "+mla.settings.bulkUnchanged+": "+mla.bulkMap.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkMap.success;d.html(f).show();a.ajax(ajaxurl,{type:"POST",data:g,dataType:"json"}).always(function(){if(mla.settings.useSpinnerClass){e.removeClass("is-active")}else{e.hide()}}).done(function(j,i){var k="no response.data",h="";if(j){if(!j.success){if(j.responseData){k=j.data}b.html(JSON.stringify(j));mla.bulkMap.waiting=0}else{if(0==j.data.processed){h=j.data.message;mla.bulkMap.waiting=0}else{mla.bulkMap.complete+=j.data.processed;mla.bulkMap.running=0;mla.bulkMap.unchanged+=j.data.unchanged;mla.bulkMap.success+=j.data.success;if("undefined"!==typeof j.data.refresh){mla.bulkMap.refresh=j.data.refresh}percentComplete=Math.floor((100*mla.bulkMap.complete)/mla.settings.totalItems)+"%";a("#mla-progress-meter").css("width",percentComplete);a("#mla-progress-meter").html(percentComplete);if(0<mla.bulkMap.skip){h+=", "+mla.settings.bulkSkip+": "+mla.bulkMap.skip}if(0<mla.bulkMap.redone){h+=", "+mla.settings.bulkRedone+": "+mla.bulkMap.redone}h=mla.settings.bulkWaiting+": "+mla.bulkMap.waiting+", "+mla.settings.bulkComplete+": "+mla.bulkMap.complete+h+", "+mla.settings.bulkUnchanged+": "+mla.bulkMap.unchanged+", "+mla.settings.bulkSuccess+": "+mla.bulkMap.success}d.html(h).show()}}else{b.html(mla.settings.error);mla.bulkMap.waiting=0}if(mla.bulkMap.doCancel){d.html(mla.settings.bulkCanceled+". "+h).show();a("#mla-progress-resume").show();a("#mla-progress-offset").val(mla.bulkMap.complete).show()}else{if(mla.bulkMap.waiting){mla.inlineMapAttachment.bulkPost();return}}if(mla.bulkMap.refresh){a("#mla-progress-close").hide();a("#mla-progress-refresh").prop("disabled",false).css("opacity","1.0").show()}else{a("#mla-progress-close").prop("disabled",false).css("opacity","1.0")}a("#mla-progress-cancel").prop("disabled",true).css("opacity","0.5");mla.bulkMap.inProcess=false}).fail(function(i,h){if(200==i.status){b.html("("+h+") "+i.responseText)}else{b.html(mla.settings.ajaxFailError+" ("+h+"), jqXHR( "+i.status+", "+i.statusText+", "+i.responseText+")")}})},revert:function(){var b=a("#mla-progress-div");if(b){if(mla.settings.useSpinnerClass){a("p.inline-edit-save .spinner",b).removeClass("is-active")}else{a("p.inline-edit-save .spinner",b).hide()}a(b).hide()}return false}};a(document).ready(function(){mla.inlineMapAttachment.init()})})(jQuery);
js/mla-media-modal-scripts.js CHANGED
@@ -259,13 +259,13 @@ var wp, wpAjax, ajaxurl, jQuery, _,
259
  },
260
 
261
  change: function() {
262
- var // state = this.controller._state,
263
  filter = this.filters[ this.el.value ];
264
 
265
  if ( filter ) {
266
  // silent because we must change the "s" prop before triggering an update
267
  this.model.set( filter.props, { silent: true } );
268
- $( '#mla-search-submit' ).click();
269
  }
270
  }
271
  });
@@ -334,13 +334,10 @@ var wp, wpAjax, ajaxurl, jQuery, _,
334
  },
335
 
336
  change: function() {
337
- var // state = this.controller._state,
338
- filter = this.filters[ this.el.value ], newProps;
339
-
340
  if ( filter ) {
341
  newProps = { s: { 'mla_filter_month': filter.props.s.mla_filter_month } };
342
- this.model.set( newProps /*, { silent: true } */ );
343
- $( '#mla-search-submit' ).click();
344
  }
345
  }
346
  });
@@ -407,13 +404,11 @@ var wp, wpAjax, ajaxurl, jQuery, _,
407
  },
408
 
409
  change: function() {
410
- var // state = this.controller._state,
411
- filter = this.filters[ this.el.value ], newProps;
412
 
413
  if ( filter ) {
414
  newProps = { s: { 'mla_filter_term': filter.props.s.mla_filter_term } };
415
- this.model.set( newProps /*, { silent: true } */ );
416
- $( '#mla-search-submit' ).click();
417
  }
418
  }
419
  });
@@ -443,6 +438,8 @@ var wp, wpAjax, ajaxurl, jQuery, _,
443
  },
444
 
445
  termsSearchOpen: function( event ) {
 
 
446
  if ( ( 'click' == event.type ) && ( 'mla_terms_search' === event.target.name ) ) {
447
  mlaTaxonomy.termsSearch.open();
448
 
@@ -471,7 +468,7 @@ var wp, wpAjax, ajaxurl, jQuery, _,
471
  }
472
 
473
  mlaModal.settings.query[mlaModal.settings.state].termsSearch = termsSearch;
474
- $( '#mla-search-submit' ).click();
475
  return false;
476
  });
477
 
@@ -656,8 +653,7 @@ wp.media.view.MlaSearch.on( 'all', MlaSearchOn );
656
  }, // */
657
 
658
  createToolbar: function() {
659
- var // id = this.model.attributes.id,
660
- filters, state = this.controller._state;
661
 
662
  mlaModal.settings.state = state;
663
  if ( 'undefined' === typeof mlaModal.settings.query[ state ] ) {
@@ -729,7 +725,7 @@ this.listenTo( this.controller, 'all', this.toolbarEvent );
729
  },
730
 
731
  hideDefaultSearch: function() {
732
- $( '#media-search-input' ).hide();
733
  },
734
 
735
  updateFilters: function( taxonomy, selectMarkup ) {
@@ -1067,7 +1063,6 @@ this.listenTo( this.controller, 'all', this.toolbarEvent );
1067
  */
1068
  query = {
1069
  id: attachmentId,
1070
- //_wpnonce: settings.post.nonce
1071
  };
1072
  query[ taxonomy ] = termList;
1073
 
@@ -1335,7 +1330,6 @@ this.listenTo( this, 'all', this.selectionEvent );
1335
  // json: true,
1336
  id: data.id,
1337
  query: query,
1338
- //_wpnonce: settings.post.nonce
1339
  }).done( function( results ) {
1340
  var taxonomy, fieldClass;
1341
 
@@ -1405,7 +1399,6 @@ this.listenTo( this, 'all', this.selectionEvent );
1405
  */
1406
  query = {
1407
  id: attachmentId,
1408
- //_wpnonce: settings.post.nonce
1409
  };
1410
  query[ taxonomy ] = termList;
1411
 
259
  },
260
 
261
  change: function() {
262
+ var toolbar = $( this.el ).closest( 'div.media-toolbar' ),
263
  filter = this.filters[ this.el.value ];
264
 
265
  if ( filter ) {
266
  // silent because we must change the "s" prop before triggering an update
267
  this.model.set( filter.props, { silent: true } );
268
+ $( '#mla-search-submit', toolbar ).click();
269
  }
270
  }
271
  });
334
  },
335
 
336
  change: function() {
337
+ var filter = this.filters[ this.el.value ], newProps;
 
 
338
  if ( filter ) {
339
  newProps = { s: { 'mla_filter_month': filter.props.s.mla_filter_month } };
340
+ this.model.set( newProps );
 
341
  }
342
  }
343
  });
404
  },
405
 
406
  change: function() {
407
+ var filter = this.filters[ this.el.value ], newProps;
 
408
 
409
  if ( filter ) {
410
  newProps = { s: { 'mla_filter_term': filter.props.s.mla_filter_term } };
411
+ this.model.set( newProps );
 
412
  }
413
  }
414
  });
438
  },
439
 
440
  termsSearchOpen: function( event ) {
441
+ var toolbar = $( this.el ).closest( 'div.media-toolbar' );
442
+
443
  if ( ( 'click' == event.type ) && ( 'mla_terms_search' === event.target.name ) ) {
444
  mlaTaxonomy.termsSearch.open();
445
 
468
  }
469
 
470
  mlaModal.settings.query[mlaModal.settings.state].termsSearch = termsSearch;
471
+ $( '#mla-search-submit', toolbar ).click();
472
  return false;
473
  });
474
 
653
  }, // */
654
 
655
  createToolbar: function() {
656
+ var filters, state = this.controller._state;
 
657
 
658
  mlaModal.settings.state = state;
659
  if ( 'undefined' === typeof mlaModal.settings.query[ state ] ) {
725
  },
726
 
727
  hideDefaultSearch: function() {
728
+ $( '#media-search-input', this.el ).hide();
729
  },
730
 
731
  updateFilters: function( taxonomy, selectMarkup ) {
1063
  */
1064
  query = {
1065
  id: attachmentId,
 
1066
  };
1067
  query[ taxonomy ] = termList;
1068
 
1330
  // json: true,
1331
  id: data.id,
1332
  query: query,
 
1333
  }).done( function( results ) {
1334
  var taxonomy, fieldClass;
1335
 
1399
  */
1400
  query = {
1401
  id: attachmentId,
 
1402
  };
1403
  query[ taxonomy ] = termList;
1404
 
js/mla-media-modal-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var wp,wpAjax,ajaxurl,jQuery,_,getUserSetting,setUserSetting,deleteUserSetting,mlaTaxonomy,mlaModal={strings:{},settings:{},initialHTML:{},uploading:false,cid:null,utility:{originalMediaAjax:null,mlaAttachmentsBrowser:null,parseTermsOptions:null,arrayCleanup:null,parseTaxonomyId:null,hookCompatTaxonomies:null,fillCompatTaxonomies:null,supportCompatTaxonomies:null},tagBox:null};(function(a){mlaModal.strings=typeof wp.media.view.l10n.mla_strings==="undefined"?{}:wp.media.view.l10n.mla_strings;delete wp.media.view.l10n.mla_strings;mlaModal.settings=typeof wp.media.view.settings.mla_settings==="undefined"?{screen:"unknown",enableMediaGrid:false,enableMediaModal:false}:wp.media.view.settings.mla_settings;delete wp.media.view.settings.mla_settings;if(!(mlaModal.settings.enableMediaGrid||mlaModal.settings.enableMediaModal)){return}if(("grid"===mlaModal.settings.screen)&&false===mlaModal.settings.enableMediaGrid){return}if(("modal"===mlaModal.settings.screen)&&false===mlaModal.settings.enableMediaModal){return}mlaModal.utility.originalMediaAjax=wp.media.ajax;wp.media.ajax=function(h,d){var g=mlaModal.settings.state,f,c,e,b;if(_.isObject(h)){d=h}else{d=d||{};d.data=_.extend(d.data||{},{action:h})}if("query-attachments"==d.data.action){f=d.data.query;c=typeof f.s;if("object"==c){e=f.s}else{if("string"==c){e={mla_search_value:f.s}}else{e={mla_search_value:""}}}if("undefined"!=typeof f.post_mime_type){mlaModal.settings.query[g].filterMime=f.post_mime_type}else{mlaModal.settings.query[g].filterMime="all"}if("undefined"!=typeof e.mla_filter_month){mlaModal.settings.query[g].filterMonth=e.mla_filter_month}else{if("undefined"!=typeof f.year){mlaModal.settings.query[g].filterMonth=(100*f.year)+(1*f.monthnum)}else{}}if("undefined"!=typeof e.mla_filter_term){mlaModal.settings.query[g].filterTerm=e.mla_filter_term}if("undefined"!=typeof e.mla_search_value){mlaModal.settings.query[g].searchValue=e.mla_search_value}b={mla_filter_month:mlaModal.settings.query[g].filterMonth,mla_filter_term:mlaModal.settings.query[g].filterTerm,mla_terms_search:mlaModal.settings.query[g].termsSearch,mla_search_clicks:mlaModal.settings.query[g].searchClicks,mla_search_value:mlaModal.settings.query[g].searchValue,mla_search_fields:mlaModal.settings.query[g].searchFields,mla_search_connector:mlaModal.settings.query[g].searchConnector};mlaModal.settings.query[g].termsSearch="";a("#mla-terms-search-input").html("").val("");d.data.query.s=b}return mlaModal.utility.originalMediaAjax.call(this,d)};if(mlaModal.settings.enableMimeTypes){wp.media.view.AttachmentFilters.Mla=wp.media.view.AttachmentFilters.extend({createFilters:function(){var c=this.controller._state,b={};_.each(mlaModal.settings.mimeTypes||{},function(e,d){if(("grid"===mlaModal.settings.screen)||("trash"!==d)){b[d]={text:e,props:{type:d,uploadedTo:null,orderby:"date",order:"DESC"}}}});b.all={text:wp.media.view.l10n.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10};if(wp.media.view.settings.post.id){b.uploaded={text:wp.media.view.l10n.uploadedToThisPost,props:{type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}this.filters=b;if("undefined"===typeof b[mlaModal.settings.query[c].filterMime]){mlaModal.settings.query[c].filterMime="all"}if(mlaModal.settings.query[c].filterMime!="all"){this.model.set(b[mlaModal.settings.query[c].filterMime].props,{silent:false})}},select:function(){var e=this.controller._state,b=this.model,d=mlaModal.settings.query[e].filterMime,c=b.toJSON();if(false===mlaModal.settings.enableSearchBox){if("string"==typeof c.search){mlaModal.settings.query[e].searchValue=c.search}else{mlaModal.settings.query[e].searchValue=""}}_.find(this.filters,function(g,h){var f=_.all(g.props,function(j,i){return j===(_.isUndefined(c[i])?null:c[i])});if(f){return d=h}});this.$el.val(d)},change:function(){var b=this.filters[this.el.value];if(b){this.model.set(b.props,{silent:true});a("#mla-search-submit").click()}}})}if(mlaModal.settings.enableMonthsDropdown){wp.media.view.AttachmentFilters.MlaMonths=wp.media.view.AttachmentFilters.extend({className:"attachment-filters",id:"media-attachment-date-filters",createFilters:function(){var c=this.controller._state,b={};_.each(mlaModal.settings.months||{},function(e,d){b[d]={text:e,props:{s:{mla_filter_month:d}}}});this.filters=b;if("undefined"===typeof b[mlaModal.settings.query[c].filterMonth]){mlaModal.settings.query[c].filterMonth=0}if(mlaModal.settings.query[c].filterMonth>0){this.model.set(b[mlaModal.settings.query[c].filterMonth].props,{silent:false})}},select:function(){var e=this.controller._state,b=this.model,d=mlaModal.settings.query[e].filterMonth,c=b.toJSON();if(_.isUndefined(c.s)){c.s={}}if(false===mlaModal.settings.enableSearchBox){if("string"==typeof c.search){mlaModal.settings.query[e].searchValue=c.search}else{mlaModal.settings.query[e].searchValue=""}}if(_.isUndefined(c.s.mla_filter_month)){c.s.mla_filter_month=mlaModal.settings.query[e].filterMonth}else{mlaModal.settings.query[e].filterMonth=c.s.mla_filter_month}_.find(this.filters,function(g,h){var f=_.all(g.props,function(i){return i.mla_filter_month==mlaModal.settings.query[e].filterMonth});if(f){return d=h}});this.$el.val(d)},change:function(){var b=this.filters[this.el.value],c;if(b){c={s:{mla_filter_month:b.props.s.mla_filter_month}};this.model.set(c);a("#mla-search-submit").click()}}})}if(mlaModal.settings.enableTermsDropdown){wp.media.view.AttachmentFilters.MlaTerms=wp.media.view.AttachmentFilters.extend({className:"attachment-filters",id:"media-attachment-term-filters",createFilters:function(){var d=this.controller._state,b,c={};_.each(mlaModal.settings.termsText||{},function(f,e){c[e]={text:f,props:{s:{mla_filter_term:parseInt(mlaModal.settings.termsValue[e])}}}});this.filters=c;b=_.indexOf(mlaModal.settings.termsValue,mlaModal.settings.query[d].filterTerm);if(b>0){this.model.set(c[b].props,{silent:false})}},select:function(){var e=this.controller._state,b=this.model,d=mlaModal.settings.query[e].filterTerm,c=b.toJSON();if(_.isUndefined(c.s)){c.s={}}if(false===mlaModal.settings.enableSearchBox){if("string"==typeof c.search){mlaModal.settings.query[e].searchValue=c.search}else{mlaModal.settings.query[e].searchValue=""}}if(_.isUndefined(c.s.mla_filter_term)){c.s.mla_filter_term=mlaModal.settings.query[e].filterTerm}else{mlaModal.settings.query[e].filterTerm=c.s.mla_filter_term}_.find(this.filters,function(g,h){var f=_.all(g.props,function(i){return i.mla_filter_term==mlaModal.settings.query[e].filterTerm});if(f){return d=h}});this.$el.val(d)},change:function(){var b=this.filters[this.el.value],c;if(b){c={s:{mla_filter_term:b.props.s.mla_filter_term}};this.model.set(c);a("#mla-search-submit").click()}}})}if(mlaModal.settings.enableTermsSearch){wp.media.view.MlaTermsSearch=wp.media.View.extend({tagName:"span",className:"mla-terms-search",template:wp.media.template("mla-terms-search-button"),attributes:{type:"mla-terms-search-button"},events:{change:"termsSearchOpen",click:"termsSearchOpen",},render:function(){this.$el.html(this.template(mlaModal.strings));return this},termsSearchOpen:function(b){if(("click"==b.type)&&("mla_terms_search"===b.target.name)){mlaTaxonomy.termsSearch.open();a("#mla-terms-search-form").off("submit");a("#mla-terms-search-form").submit(function(g){var c,f,d={phrases:"",taxonomies:[]};g.preventDefault();c=a("#mla-terms-search-form").serializeArray();for(f=0;f<c.length;f++){switch(c[f].name){case"mla_terms_search[phrases]":d.phrases=c[f].value;break;case"mla_terms_search[radio_phrases]":d.radio_phrases=c[f].value;break;case"mla_terms_search[radio_terms]":d.radio_terms=c[f].value;break;case"mla_terms_search[taxonomies][]":d.taxonomies[d.taxonomies.length]=c[f].value;break}}mlaModal.settings.query[mlaModal.settings.state].termsSearch=d;a("#mla-search-submit").click();return false});a("#mla-terms-search-input").keypress(function(c){if(13==c.which){c.preventDefault();a("#mla-terms-search-submit").click()}})}}})}if(mlaModal.settings.enableSearchBox){wp.media.view.MlaSearch=wp.media.View.extend({tagName:"div",className:"mla-search-box",template:wp.media.template("mla-search-box"),attributes:{type:"mla-search-box"},events:{input:"search",change:"search",click:"search",search:"search",MlaSearch:"search"},initialize:function(){var b=this.controller._state;if("undefined"===typeof mlaModal.settings.query[b]){mlaModal.settings.query[b]=_.clone(mlaModal.settings.query.initial);mlaModal.settings.query[b].searchFields=_.clone(mlaModal.settings.query.initial.searchFields)}},render:function(){var c=this.controller._state,b=_.extend(mlaModal.strings,mlaModal.settings.query[c]);this.$el.html(this.template(b));return this},search:function(d){var e=this.controller._state,b,f,c;if(("input"==d.type)&&("s[mla_search_value]"==d.target.name)){mlaModal.settings.query[e].searchValue=d.target.value;return}if(("click"==d.type)&&("mla_search_submit"!=d.target.name)){return}switch(d.target.name){case"s[mla_search_value]":mlaModal.settings.query[e].searchValue=d.target.value;break;case"mla_search_submit":b={mla_filter_month:mlaModal.settings.query[e].filterMonth,mla_filter_term:mlaModal.settings.query[e].filterTerm,mla_terms_search:mlaModal.settings.query[e].termsSearch,mla_search_clicks:mlaModal.settings.query[e].searchClicks++,mla_search_value:mlaModal.settings.query[e].searchValue,mla_search_fields:mlaModal.settings.query[e].searchFields,mla_search_connector:mlaModal.settings.query[e].searchConnector};this.model.set({s:b});break;case"s[mla_search_connector]":mlaModal.settings.query[e].searchConnector=d.target.value;break;case"s[mla_search_title]":f=mlaModal.settings.query[e].searchFields;c=f.indexOf("title");if(-1==c){f.push("title")}else{f.splice(c,1)}mlaModal.settings.query[e].searchFields=f;break;case"s[mla_search_name]":c=mlaModal.settings.query[e].searchFields.indexOf("name");if(-1==c){mlaModal.settings.query[e].searchFields.push("name")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_alt_text]":c=mlaModal.settings.query[e].searchFields.indexOf("alt-text");if(-1==c){mlaModal.settings.query[e].searchFields.push("alt-text")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_excerpt]":c=mlaModal.settings.query[e].searchFields.indexOf("excerpt");if(-1==c){mlaModal.settings.query[e].searchFields.push("excerpt")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_content]":c=mlaModal.settings.query[e].searchFields.indexOf("content");if(-1==c){mlaModal.settings.query[e].searchFields.push("content")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_terms]":c=mlaModal.settings.query[e].searchFields.indexOf("terms");if(-1==c){mlaModal.settings.query[e].searchFields.push("terms")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break}}})}else{wp.media.view.MlaSearch=wp.media.View.extend({tagName:"span",className:"mla-simulate-search-button",template:wp.media.template("mla-simulate-search-button"),attributes:{type:"mla-simulate-search-button"},events:{click:"simulateSearch",},render:function(){this.$el.html(this.template(mlaModal.strings));return this},simulateSearch:function(){var c=this.controller._state,b={mla_filter_month:mlaModal.settings.query[c].filterMonth,mla_filter_term:mlaModal.settings.query[c].filterTerm,mla_terms_search:mlaModal.settings.query[c].termsSearch,mla_search_clicks:mlaModal.settings.query[c].searchClicks++,mla_search_value:mlaModal.settings.query[c].searchValue,mla_search_fields:mlaModal.settings.query[c].searchFields,mla_search_connector:mlaModal.settings.query[c].searchConnector};this.model.set({s:b})}})}if(mlaModal.settings.enableMimeTypes||mlaModal.settings.enableMonthsDropdown||mlaModal.settings.enableTermsDropdown||mlaModal.settings.enableTermsSearch||mlaModal.settings.enableSearchBox){wp.media.view.AttachmentsBrowser=wp.media.view.AttachmentsBrowser.extend({createToolbar:function(){var b,c=this.controller._state;mlaModal.settings.state=c;if("undefined"===typeof mlaModal.settings.query[c]){mlaModal.settings.query[c]=_.clone(mlaModal.settings.query.initial);mlaModal.settings.query[c].searchFields=_.clone(mlaModal.settings.query.initial.searchFields)}wp.media.view.AttachmentsBrowser.__super__.createToolbar.apply(this,arguments);mlaModal.utility.mlaAttachmentsBrowser=this;b=this.options.filters;if(("all"===b)&&mlaModal.settings.enableMimeTypes){this.toolbar.unset("filters",{silent:true});this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Mla({controller:this.controller,model:this.collection.props,priority:-80}).render())}if(this.options.search&&mlaModal.settings.enableMonthsDropdown){this.toolbar.unset("dateFilter",{silent:true});this.toolbar.set("dateFilter",new wp.media.view.AttachmentFilters.MlaMonths({controller:this.controller,model:this.collection.props,priority:-75}).render())}if(this.options.search&&mlaModal.settings.enableTermsDropdown){this.toolbar.set("terms",new wp.media.view.AttachmentFilters.MlaTerms({controller:this.controller,model:this.collection.props,priority:-50}).render())}if(this.options.search&&mlaModal.settings.enableTermsSearch){this.toolbar.set("termsSearch",new wp.media.view.MlaTermsSearch({controller:this.controller,model:this.collection.props,priority:-50}).render())}if(this.options.search){if(mlaModal.settings.enableSearchBox){this.listenTo(this.controller,"uploader:ready",this.hideDefaultSearch);this.toolbar.set("MlaSearch",new wp.media.view.MlaSearch({controller:this.controller,model:this.collection.props,priority:60}).render())}else{this.toolbar.set("MlaSearch",new wp.media.view.MlaSearch({controller:this.controller,model:this.collection.props,priority:70}).render())}}},hideDefaultSearch:function(){a("#media-search-input").hide()},updateFilters:function(b,c){var d={};if(this.options.search&&mlaModal.settings.enableTermsDropdown&&mlaModal.settings.termsTaxonomy==b){d=mlaModal.utility.parseTermsOptions(c);mlaModal.settings.termsClass=d.termsClass;mlaModal.settings.termsText=d.termsText;mlaModal.settings.termsValue=d.termsValue;this.toolbar.unset("terms",{silent:true});this.toolbar.set("terms",new wp.media.view.AttachmentFilters.MlaTerms({controller:this.controller,model:this.collection.props,priority:-80}).render())}}})}mlaModal.utility.parseTermsOptions=function(h){var g={termsClass:[mlaModal.settings.termsClass[0],mlaModal.settings.termsClass[1]],termsText:[mlaModal.settings.termsText[0],mlaModal.settings.termsText[1]],termsValue:[mlaModal.settings.termsValue[0],mlaModal.settings.termsValue[1]]},d=2,b,c,f=/\<option(( class=\"([^\"]+)\" )|( ))value=((\'([^\']+)\')|(\"([^\"]+)\"))([^\>]*)\>([^\<]*)\<.*/g,e=[];if("object"===typeof h){d=mlaModal.settings.termsValue.length;for(b=2;b<d;b++){e[b]={termsClass:mlaModal.settings.termsClass[b],termsText:mlaModal.settings.termsText[b],termsValue:mlaModal.settings.termsValue[b]};if("undefined"!==typeof h[mlaModal.settings.termsValue[b]]){delete h[mlaModal.settings.termsValue[b]]}}for(c in h){e[b++]={termsClass:"level-0",termsText:h[c],termsValue:c.toString()}}if(d===b){return{termsClass:mlaModal.settings.termsClass,termsText:mlaModal.settings.termsText,termsValue:mlaModal.settings.termsValue}}e.sort(function(j,i){if(j.termsText>i.termsText){return 1}else{if(j.termsText<i.termsText){return -1}else{return 0}}});b=2;for(c in e){g.termsClass[b]=e[c].termsClass;g.termsText[b]=e[c].termsText;g.termsValue[b++]=e[c].termsValue}return g}e=f.exec(h);while(null!==(e=f.exec(h))){g.termsClass[d]=e[3];g.termsValue[d]=("undefined"===typeof e[6])?e[9]:e[7];g.termsText[d++]=e[11].replace("&nbsp;",mlaModal.settings.termsIndent)}return g};mlaModal.utility.arrayCleanup=function(d){var c=[],b=("string"===typeof d);if(b){d=d.split(mlaModal.settings.comma)}jQuery.each(d,function(e,f){f=jQuery.trim(f);if(f&&jQuery.inArray(f,c)==-1){c.push(f)}});c.sort();if(b){c=c.join(mlaModal.settings.comma)}return c};mlaModal.utility.parseTaxonomyId=function(c){var b=c.split("-");b.shift();b.shift();return b.join("-")};mlaModal.tagBox={cleanTags:function(c){var b=mlaModal.settings.comma;if(","!==b){c=c.replace(new RegExp(b,"g"),",")}c=c.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"");if(","!==b){c=c.replace(/,/g,b)}return c},parseTags:function(e){var i=e.id,c=i.split("-check-num-")[1],f=a(e).closest(".tagsdiv"),h=f.find(".the-tags"),b=mlaModal.settings.comma,d=h.val().split(b),g=[];delete d[c];a.each(d,function(j,k){k=a.trim(k);if(k){g.push(k)}});h.val(this.cleanTags(g.join(b)));this.quickClicks(f);return false},quickClicks:function(d){var g=a(".the-tags",d),e=a(".tagchecklist",d),f=a(d).attr("id"),b,c;if(!g.length){return}c=g.prop("disabled");b=g.val().split(mlaModal.settings.comma);e.empty();a.each(b,function(i,k){var j,h;k=a.trim(k);if(!k){return}j=a("<span />").text(k);if(!c){h=a('<a id="'+f+"-check-num-"+i+'" class="ntdelbutton">X</a>');h.click(function(){mlaModal.tagBox.parseTags(this)});j.prepend("&nbsp;").prepend(h)}e.append(j)})},flushTags:function(h,d,c){var j,b,e,k=a(".the-tags",h),g=a("input.newtag",h),i=mlaModal.settings.comma;d=d||false;e=d?a(d).text():g.val();j=k.val();b=j?j+i+e:e;b=mlaModal.utility.arrayCleanup(this.cleanTags(b));k.val(b);this.quickClicks(h);if(!d){g.val("")}if("undefined"==typeof(c)){g.focus()}return false},getCloud:function(c,b){a.post(ajaxurl,{action:"get-tagcloud",tax:b},function(e,d){if(0===e||"success"!=d){e=wpAjax.broken}e=a('<p id="tagcloud-'+b+'" class="the-tagcloud">'+e+"</p>");a("a",e).click(function(){mlaModal.tagBox.flushTags(a(this).closest(".mla-taxonomy-field").children(".tagsdiv"),this);return false});a("#"+c).after(e)})},init:function(f,b,d){var e,c;e=a("#mla-taxonomy-"+b,d);c=a("div.ajaxtag",e);mlaModal.tagBox.quickClicks(e);a("input.tagadd",c).click(function(){mlaModal.tagBox.flushTags(a(this).closest(".tagsdiv"))});a("input.newtag",c).keyup(function(g){if(13==g.which){mlaModal.tagBox.flushTags(e);return false}}).keypress(function(g){if(13==g.which){g.preventDefault();return false}}).each(function(){a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,resultsClass:"mla_ac_results",selectClass:"mla_ac_over",matchClass:"mla_ac_match",minchars:2,multiple:true,multipleSep:mlaModal.settings.comma+" "})});e.siblings(":first").click(function(){mlaModal.tagBox.getCloud(a("a",this).attr("id"),b);a("a",this).unbind().click(function(){a(this).siblings(".the-tagcloud").toggle();return false});return false});a(".compat-field-"+b+" td",d).on("mouseleave",function(){var j,h=this,g=mlaModal.utility.arrayCleanup(a(".server-tags",h).val()),i=mlaModal.utility.arrayCleanup(a(".the-tags",h).val());if(g===i){return}a(h).css("opacity","0.5");j={id:f,};j[b]=i;wp.media.post(mlaModal.settings.ajaxUpdateCompatAction,j).done(function(l){var m,k,n;for(k in l){if("object"===typeof(l[k]["object-terms"])){if(null!==mlaModal.utility.mlaAttachmentsBrowser){mlaModal.utility.mlaAttachmentsBrowser.updateFilters(k,l[k]["object-terms"])}delete l[k]["object-terms"]}for(n in l[k]){a("#"+n,h).replaceWith(l[k][n])}m=a("#mla-taxonomy-"+k,h);mlaModal.tagBox.quickClicks(m)}a(h).css("opacity","1.0")})});e.on("change",function(g){g.stopPropagation();return false});a(".the-tags, .server-tags .newtag",e).on("change",function(g){g.stopPropagation();return false})}};if(mlaModal.settings.enableDetailsCategory||mlaModal.settings.enableDetailsTag){wp.media.view.AttachmentCompat=wp.media.view.AttachmentCompat.extend({initialize:function(){wp.media.view.AttachmentCompat.__super__.initialize.apply(this,arguments);this.on("ready",function(){mlaModal.utility.hookCompatTaxonomies(this.model.get("id"),this.el)})}})}if(mlaModal.settings.enableDetailsCategory||mlaModal.settings.enableDetailsTag){wp.media.model.Selection=wp.media.model.Selection.extend({initialize:function(){wp.media.model.Selection.__super__.initialize.apply(this,arguments);this.on("selection:reset",function(){mlaModal.cid=null});this.on("selection:unsingle",function(){mlaModal.cid=null});this.on("selection:single",function(b){mlaModal.cid=b.cid});this.on("change:uploading",function(){mlaModal.uploading=true});this.on("change",function(b){var c=false,d;if(mlaModal.uploading&&mlaModal.cid===b.cid){mlaModal.uploading=false;c=true}else{if(false===b.attributes.uploading){d=_.clone(b.changed);delete d.title;delete d.caption;delete d.alt;delete d.description;if(!_.isEmpty(d)){c=true}}}if(true===c){mlaModal.utility.hookCompatTaxonomies(b.get("id"),wp.media.frame.$el)}})}})}mlaModal.utility.hookCompatTaxonomies=function(e,c){var b,d=null;a(".mla-taxonomy-field .categorydiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));if(-1!=mlaModal.settings.enhancedTaxonomies.indexOf(b)){a(".compat-field-"+b+" th",c).click({id:e,currentTaxonomy:b,el:c},function(f){mlaModal.utility.fillCompatTaxonomies(f.data)});a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).show()}else{a(this).remove()}});if(null===d){d=b}}else{a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).remove()}})}});a(".mla-taxonomy-field .tagsdiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));if(-1!=mlaModal.settings.enhancedTaxonomies.indexOf(b)){a(".compat-field-"+b+" th",c).click({id:e,currentTaxonomy:b,el:c},function(f){mlaModal.utility.fillCompatTaxonomies(f.data)});a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).show()}else{a(this).remove()}});if(null===d){d=b}}else{a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).remove()}})}});if(mlaModal.settings.enableTermsAutofill&&null!==d){a(".compat-field-"+d+" th",c).click()}};mlaModal.utility.fillCompatTaxonomies=function(f){var c=f.el,e=[],b,d;a(".mla-taxonomy-field .categorydiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));e[e.length]=b;d=".compat-field-"+b;if("undefined"===typeof(mlaModal.initialHTML[b])){mlaModal.initialHTML[b]=a(d,c).html()}else{a(d,c).html(mlaModal.initialHTML[b])}a(d+" .categorydiv",c).html(mlaModal.strings.loadingText)});a(".mla-taxonomy-field .tagsdiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));e[e.length]=b;d=".compat-field-"+b;if("undefined"===typeof(mlaModal.initialHTML[b])){mlaModal.initialHTML[b]=a(d,c).html()}else{a(d,c).html(mlaModal.initialHTML[b])}a(d+" .tagsdiv",c).html(mlaModal.strings.loadingText)});if(e.length){wp.media.post(mlaModal.settings.ajaxFillCompatAction,{id:f.id,query:e,}).done(function(h){var g,i;for(g in h){i=".compat-field-"+g;a(i,c).html(h[g])}mlaModal.utility.supportCompatTaxonomies(f);a(".compat-field-"+f.currentTaxonomy+" td",c).show()})}};mlaModal.utility.supportCompatTaxonomies=function(d){var c=d.id,b=d.el;if(mlaModal.settings.enableDetailsCategory){a(".mla-taxonomy-field .categorydiv",b).each(function(){var g=a(this),e,h,f,k,i,m,l,j;f=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));k=f+"_tab";i="#mla-"+f;m="#mla-new-"+f;l="#mla-search-"+f;j="#mla-attachments-"+c+"-"+f;if(f=="category"){k="cats"}g.find(".category-tabs").show();a(".compat-field-"+f+" th",b).click(function(){a(this).siblings("td").slideToggle()});g.on("mouseleave",function(){var q,n,p=[],o=g.find(i+"-checklist input:checked");o.each(function(){p[p.length]=a(this).val()});p.sort(function(s,r){return s-r});p=p.join(",");n=g.siblings(j).val();if(n===p){return}g.siblings(j).val(p);g.prop("disabled",true);q={id:c,};q[f]=p;wp.media.post(mlaModal.settings.ajaxUpdateCompatAction,q).done(function(s){var r,t;for(r in s){for(t in s[r]){g.find("#"+t).html(s[r][t])}}g.find(l).val("");g.find(i+"-searcher").addClass("mla-hidden-children");g.prop("disabled",false)})});g.on('change input[type="checkbox"]',function(n){n.stopPropagation();return false});g.find(i+"-tabs a").click(function(){var n=a(this).attr("href");a(this).parent().addClass("tabs").siblings("li").removeClass("tabs");g.find(i+"-tabs").siblings(".tabs-panel").hide();g.find(n).show();a(this).focus();if("#mla-"+f+"-all"==n){deleteUserSetting(k)}else{setUserSetting(k,"pop")}return false});if(getUserSetting(k)){g.find(i+'-tabs a[href="#mla-'+f+'-pop"]').click()}g.find(i+"-add-toggle").click(function(){g.find(i+"-searcher").addClass("mla-hidden-children");g.find(i+"-adder").toggleClass("mla-hidden-children");g.find(i+'-tabs a[href="#mla-'+f+'-all"]').click();g.find(i+"-checklist li").show();g.find(i+"-checklist-pop li").show();if(false===g.find(i+"-adder").hasClass("mla-hidden-children")){g.find(m).val("").removeClass("form-input-tip");g.find(m).focus()}return false});g.find(m).keypress(function(n){if(13===n.keyCode){n.preventDefault();g.find(i+"-add-submit").click()}});g.find(i+"-add-submit").click(function(){g.find(m).focus()});e=function(n){if(!g.find(m).val()){return false}n.data+="&"+g.find(i+"-checklist :checked").serialize();g.prop("disabled",true);return n};h=function(q,p){var o,n=g.find("#new"+f+"_parent");g.prop("disabled",false);if("undefined"!=p.parsed.responses[0]&&(o=p.parsed.responses[0].supplemental.newcat_parent)){n.before(o);n.remove();if(null!==mlaModal.utility.mlaAttachmentsBrowser){mlaModal.utility.mlaAttachmentsBrowser.updateFilters(f,o)}}};g.find(i+"-checklist").wpList({alt:"",response:"mla-"+f+"-ajax-response",addBefore:e,addAfter:h});g.find(i+"-checklist, "+i+"-checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var n=a(this),p=n.is(":checked"),o=n.val();if(o&&n.parents("#mla-taxonomy-"+f).length){a("#in-"+f+"-"+o+", #in-popular-"+f+"-"+o).prop("checked",p)}});a.extend(a.expr[":"],{matchTerms:function(p,o,n,q){return(p.textContent||p.innerText||"").toLowerCase().indexOf((n[3]||"").toLowerCase())>=0}});g.find(l).keypress(function(n){if(13===n.keyCode){n.preventDefault();g.find(l).val("");g.find(i+"-searcher").addClass("mla-hidden-children");g.find(i+"-checklist li").show();g.find(i+"-checklist-pop li").show();return}});g.find(l).keyup(function(p){var r,q,s,o,n;if(13===p.keyCode){p.preventDefault();g.find(i+"-search-toggle").focus();return}r=g.find(l).val();q=g.find(i+"-checklist li");s=g.find(i+"-checklist-pop li");if(0<r.length){q.hide();s.hide()}else{q.show();s.show()}o=g.find(i+"-checklist label:matchTerms('"+r+"')");o.closest("li").find("li").andSelf().show();o.parents(i+"-checklist li").show();n=g.find(i+"-checklist-pop label:matchTerms('"+r+"')");n.closest("li").find("li").andSelf().show();n.parents(i+"-checklist li").show()});g.find(i+"-search-toggle").click(function(){g.find(i+"-adder ").addClass("mla-hidden-children");g.find(i+"-searcher").toggleClass("mla-hidden-children");g.find(i+'-tabs a[href="#mla-'+f+'-all"]').click();g.find(i+"-checklist li").show();g.find(i+"-checklist-pop li").show();if(false===g.find(i+"-searcher").hasClass("mla-hidden-children")){g.find(l).val("").removeClass("form-input-tip");g.find(l).focus()}return false})})}if(mlaModal.settings.enableDetailsTag){a(".mla-taxonomy-field .tagsdiv",b).each(function(){var e=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));a(".compat-field-"+e+" th",b).click(function(){a(this).siblings("td").slideToggle()});mlaModal.tagBox.init(c,e,b)})}}}(jQuery));
1
+ var wp,wpAjax,ajaxurl,jQuery,_,getUserSetting,setUserSetting,deleteUserSetting,mlaTaxonomy,mlaModal={strings:{},settings:{},initialHTML:{},uploading:false,cid:null,utility:{originalMediaAjax:null,mlaAttachmentsBrowser:null,parseTermsOptions:null,arrayCleanup:null,parseTaxonomyId:null,hookCompatTaxonomies:null,fillCompatTaxonomies:null,supportCompatTaxonomies:null},tagBox:null};(function(a){mlaModal.strings=typeof wp.media.view.l10n.mla_strings==="undefined"?{}:wp.media.view.l10n.mla_strings;delete wp.media.view.l10n.mla_strings;mlaModal.settings=typeof wp.media.view.settings.mla_settings==="undefined"?{screen:"unknown",enableMediaGrid:false,enableMediaModal:false}:wp.media.view.settings.mla_settings;delete wp.media.view.settings.mla_settings;if(!(mlaModal.settings.enableMediaGrid||mlaModal.settings.enableMediaModal)){return}if(("grid"===mlaModal.settings.screen)&&false===mlaModal.settings.enableMediaGrid){return}if(("modal"===mlaModal.settings.screen)&&false===mlaModal.settings.enableMediaModal){return}mlaModal.utility.originalMediaAjax=wp.media.ajax;wp.media.ajax=function(h,d){var g=mlaModal.settings.state,f,c,e,b;if(_.isObject(h)){d=h}else{d=d||{};d.data=_.extend(d.data||{},{action:h})}if("query-attachments"==d.data.action){f=d.data.query;c=typeof f.s;if("object"==c){e=f.s}else{if("string"==c){e={mla_search_value:f.s}}else{e={mla_search_value:""}}}if("undefined"!=typeof f.post_mime_type){mlaModal.settings.query[g].filterMime=f.post_mime_type}else{mlaModal.settings.query[g].filterMime="all"}if("undefined"!=typeof e.mla_filter_month){mlaModal.settings.query[g].filterMonth=e.mla_filter_month}else{if("undefined"!=typeof f.year){mlaModal.settings.query[g].filterMonth=(100*f.year)+(1*f.monthnum)}else{}}if("undefined"!=typeof e.mla_filter_term){mlaModal.settings.query[g].filterTerm=e.mla_filter_term}if("undefined"!=typeof e.mla_search_value){mlaModal.settings.query[g].searchValue=e.mla_search_value}b={mla_filter_month:mlaModal.settings.query[g].filterMonth,mla_filter_term:mlaModal.settings.query[g].filterTerm,mla_terms_search:mlaModal.settings.query[g].termsSearch,mla_search_clicks:mlaModal.settings.query[g].searchClicks,mla_search_value:mlaModal.settings.query[g].searchValue,mla_search_fields:mlaModal.settings.query[g].searchFields,mla_search_connector:mlaModal.settings.query[g].searchConnector};mlaModal.settings.query[g].termsSearch="";a("#mla-terms-search-input").html("").val("");d.data.query.s=b}return mlaModal.utility.originalMediaAjax.call(this,d)};if(mlaModal.settings.enableMimeTypes){wp.media.view.AttachmentFilters.Mla=wp.media.view.AttachmentFilters.extend({createFilters:function(){var c=this.controller._state,b={};_.each(mlaModal.settings.mimeTypes||{},function(e,d){if(("grid"===mlaModal.settings.screen)||("trash"!==d)){b[d]={text:e,props:{type:d,uploadedTo:null,orderby:"date",order:"DESC"}}}});b.all={text:wp.media.view.l10n.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10};if(wp.media.view.settings.post.id){b.uploaded={text:wp.media.view.l10n.uploadedToThisPost,props:{type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}this.filters=b;if("undefined"===typeof b[mlaModal.settings.query[c].filterMime]){mlaModal.settings.query[c].filterMime="all"}if(mlaModal.settings.query[c].filterMime!="all"){this.model.set(b[mlaModal.settings.query[c].filterMime].props,{silent:false})}},select:function(){var e=this.controller._state,b=this.model,d=mlaModal.settings.query[e].filterMime,c=b.toJSON();if(false===mlaModal.settings.enableSearchBox){if("string"==typeof c.search){mlaModal.settings.query[e].searchValue=c.search}else{mlaModal.settings.query[e].searchValue=""}}_.find(this.filters,function(g,h){var f=_.all(g.props,function(j,i){return j===(_.isUndefined(c[i])?null:c[i])});if(f){return d=h}});this.$el.val(d)},change:function(){var c=a(this.el).closest("div.media-toolbar"),b=this.filters[this.el.value];if(b){this.model.set(b.props,{silent:true});a("#mla-search-submit",c).click()}}})}if(mlaModal.settings.enableMonthsDropdown){wp.media.view.AttachmentFilters.MlaMonths=wp.media.view.AttachmentFilters.extend({className:"attachment-filters",id:"media-attachment-date-filters",createFilters:function(){var c=this.controller._state,b={};_.each(mlaModal.settings.months||{},function(e,d){b[d]={text:e,props:{s:{mla_filter_month:d}}}});this.filters=b;if("undefined"===typeof b[mlaModal.settings.query[c].filterMonth]){mlaModal.settings.query[c].filterMonth=0}if(mlaModal.settings.query[c].filterMonth>0){this.model.set(b[mlaModal.settings.query[c].filterMonth].props,{silent:false})}},select:function(){var e=this.controller._state,b=this.model,d=mlaModal.settings.query[e].filterMonth,c=b.toJSON();if(_.isUndefined(c.s)){c.s={}}if(false===mlaModal.settings.enableSearchBox){if("string"==typeof c.search){mlaModal.settings.query[e].searchValue=c.search}else{mlaModal.settings.query[e].searchValue=""}}if(_.isUndefined(c.s.mla_filter_month)){c.s.mla_filter_month=mlaModal.settings.query[e].filterMonth}else{mlaModal.settings.query[e].filterMonth=c.s.mla_filter_month}_.find(this.filters,function(g,h){var f=_.all(g.props,function(i){return i.mla_filter_month==mlaModal.settings.query[e].filterMonth});if(f){return d=h}});this.$el.val(d)},change:function(){var b=this.filters[this.el.value],c;if(b){c={s:{mla_filter_month:b.props.s.mla_filter_month}};this.model.set(c)}}})}if(mlaModal.settings.enableTermsDropdown){wp.media.view.AttachmentFilters.MlaTerms=wp.media.view.AttachmentFilters.extend({className:"attachment-filters",id:"media-attachment-term-filters",createFilters:function(){var d=this.controller._state,b,c={};_.each(mlaModal.settings.termsText||{},function(f,e){c[e]={text:f,props:{s:{mla_filter_term:parseInt(mlaModal.settings.termsValue[e])}}}});this.filters=c;b=_.indexOf(mlaModal.settings.termsValue,mlaModal.settings.query[d].filterTerm);if(b>0){this.model.set(c[b].props,{silent:false})}},select:function(){var e=this.controller._state,b=this.model,d=mlaModal.settings.query[e].filterTerm,c=b.toJSON();if(_.isUndefined(c.s)){c.s={}}if(false===mlaModal.settings.enableSearchBox){if("string"==typeof c.search){mlaModal.settings.query[e].searchValue=c.search}else{mlaModal.settings.query[e].searchValue=""}}if(_.isUndefined(c.s.mla_filter_term)){c.s.mla_filter_term=mlaModal.settings.query[e].filterTerm}else{mlaModal.settings.query[e].filterTerm=c.s.mla_filter_term}_.find(this.filters,function(g,h){var f=_.all(g.props,function(i){return i.mla_filter_term==mlaModal.settings.query[e].filterTerm});if(f){return d=h}});this.$el.val(d)},change:function(){var b=this.filters[this.el.value],c;if(b){c={s:{mla_filter_term:b.props.s.mla_filter_term}};this.model.set(c)}}})}if(mlaModal.settings.enableTermsSearch){wp.media.view.MlaTermsSearch=wp.media.View.extend({tagName:"span",className:"mla-terms-search",template:wp.media.template("mla-terms-search-button"),attributes:{type:"mla-terms-search-button"},events:{change:"termsSearchOpen",click:"termsSearchOpen",},render:function(){this.$el.html(this.template(mlaModal.strings));return this},termsSearchOpen:function(c){var b=a(this.el).closest("div.media-toolbar");if(("click"==c.type)&&("mla_terms_search"===c.target.name)){mlaTaxonomy.termsSearch.open();a("#mla-terms-search-form").off("submit");a("#mla-terms-search-form").submit(function(h){var d,g,f={phrases:"",taxonomies:[]};h.preventDefault();d=a("#mla-terms-search-form").serializeArray();for(g=0;g<d.length;g++){switch(d[g].name){case"mla_terms_search[phrases]":f.phrases=d[g].value;break;case"mla_terms_search[radio_phrases]":f.radio_phrases=d[g].value;break;case"mla_terms_search[radio_terms]":f.radio_terms=d[g].value;break;case"mla_terms_search[taxonomies][]":f.taxonomies[f.taxonomies.length]=d[g].value;break}}mlaModal.settings.query[mlaModal.settings.state].termsSearch=f;a("#mla-search-submit",b).click();return false});a("#mla-terms-search-input").keypress(function(d){if(13==d.which){d.preventDefault();a("#mla-terms-search-submit").click()}})}}})}if(mlaModal.settings.enableSearchBox){wp.media.view.MlaSearch=wp.media.View.extend({tagName:"div",className:"mla-search-box",template:wp.media.template("mla-search-box"),attributes:{type:"mla-search-box"},events:{input:"search",change:"search",click:"search",search:"search",MlaSearch:"search"},initialize:function(){var b=this.controller._state;if("undefined"===typeof mlaModal.settings.query[b]){mlaModal.settings.query[b]=_.clone(mlaModal.settings.query.initial);mlaModal.settings.query[b].searchFields=_.clone(mlaModal.settings.query.initial.searchFields)}},render:function(){var c=this.controller._state,b=_.extend(mlaModal.strings,mlaModal.settings.query[c]);this.$el.html(this.template(b));return this},search:function(d){var e=this.controller._state,b,f,c;if(("input"==d.type)&&("s[mla_search_value]"==d.target.name)){mlaModal.settings.query[e].searchValue=d.target.value;return}if(("click"==d.type)&&("mla_search_submit"!=d.target.name)){return}switch(d.target.name){case"s[mla_search_value]":mlaModal.settings.query[e].searchValue=d.target.value;break;case"mla_search_submit":b={mla_filter_month:mlaModal.settings.query[e].filterMonth,mla_filter_term:mlaModal.settings.query[e].filterTerm,mla_terms_search:mlaModal.settings.query[e].termsSearch,mla_search_clicks:mlaModal.settings.query[e].searchClicks++,mla_search_value:mlaModal.settings.query[e].searchValue,mla_search_fields:mlaModal.settings.query[e].searchFields,mla_search_connector:mlaModal.settings.query[e].searchConnector};this.model.set({s:b});break;case"s[mla_search_connector]":mlaModal.settings.query[e].searchConnector=d.target.value;break;case"s[mla_search_title]":f=mlaModal.settings.query[e].searchFields;c=f.indexOf("title");if(-1==c){f.push("title")}else{f.splice(c,1)}mlaModal.settings.query[e].searchFields=f;break;case"s[mla_search_name]":c=mlaModal.settings.query[e].searchFields.indexOf("name");if(-1==c){mlaModal.settings.query[e].searchFields.push("name")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_alt_text]":c=mlaModal.settings.query[e].searchFields.indexOf("alt-text");if(-1==c){mlaModal.settings.query[e].searchFields.push("alt-text")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_excerpt]":c=mlaModal.settings.query[e].searchFields.indexOf("excerpt");if(-1==c){mlaModal.settings.query[e].searchFields.push("excerpt")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_content]":c=mlaModal.settings.query[e].searchFields.indexOf("content");if(-1==c){mlaModal.settings.query[e].searchFields.push("content")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break;case"s[mla_search_terms]":c=mlaModal.settings.query[e].searchFields.indexOf("terms");if(-1==c){mlaModal.settings.query[e].searchFields.push("terms")}else{mlaModal.settings.query[e].searchFields.splice(c,1)}break}}})}else{wp.media.view.MlaSearch=wp.media.View.extend({tagName:"span",className:"mla-simulate-search-button",template:wp.media.template("mla-simulate-search-button"),attributes:{type:"mla-simulate-search-button"},events:{click:"simulateSearch",},render:function(){this.$el.html(this.template(mlaModal.strings));return this},simulateSearch:function(){var c=this.controller._state,b={mla_filter_month:mlaModal.settings.query[c].filterMonth,mla_filter_term:mlaModal.settings.query[c].filterTerm,mla_terms_search:mlaModal.settings.query[c].termsSearch,mla_search_clicks:mlaModal.settings.query[c].searchClicks++,mla_search_value:mlaModal.settings.query[c].searchValue,mla_search_fields:mlaModal.settings.query[c].searchFields,mla_search_connector:mlaModal.settings.query[c].searchConnector};this.model.set({s:b})}})}if(mlaModal.settings.enableMimeTypes||mlaModal.settings.enableMonthsDropdown||mlaModal.settings.enableTermsDropdown||mlaModal.settings.enableTermsSearch||mlaModal.settings.enableSearchBox){wp.media.view.AttachmentsBrowser=wp.media.view.AttachmentsBrowser.extend({createToolbar:function(){var b,c=this.controller._state;mlaModal.settings.state=c;if("undefined"===typeof mlaModal.settings.query[c]){mlaModal.settings.query[c]=_.clone(mlaModal.settings.query.initial);mlaModal.settings.query[c].searchFields=_.clone(mlaModal.settings.query.initial.searchFields)}wp.media.view.AttachmentsBrowser.__super__.createToolbar.apply(this,arguments);mlaModal.utility.mlaAttachmentsBrowser=this;b=this.options.filters;if(("all"===b)&&mlaModal.settings.enableMimeTypes){this.toolbar.unset("filters",{silent:true});this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Mla({controller:this.controller,model:this.collection.props,priority:-80}).render())}if(this.options.search&&mlaModal.settings.enableMonthsDropdown){this.toolbar.unset("dateFilter",{silent:true});this.toolbar.set("dateFilter",new wp.media.view.AttachmentFilters.MlaMonths({controller:this.controller,model:this.collection.props,priority:-75}).render())}if(this.options.search&&mlaModal.settings.enableTermsDropdown){this.toolbar.set("terms",new wp.media.view.AttachmentFilters.MlaTerms({controller:this.controller,model:this.collection.props,priority:-50}).render())}if(this.options.search&&mlaModal.settings.enableTermsSearch){this.toolbar.set("termsSearch",new wp.media.view.MlaTermsSearch({controller:this.controller,model:this.collection.props,priority:-50}).render())}if(this.options.search){if(mlaModal.settings.enableSearchBox){this.listenTo(this.controller,"uploader:ready",this.hideDefaultSearch);this.toolbar.set("MlaSearch",new wp.media.view.MlaSearch({controller:this.controller,model:this.collection.props,priority:60}).render())}else{this.toolbar.set("MlaSearch",new wp.media.view.MlaSearch({controller:this.controller,model:this.collection.props,priority:70}).render())}}},hideDefaultSearch:function(){a("#media-search-input",this.el).hide()},updateFilters:function(b,c){var d={};if(this.options.search&&mlaModal.settings.enableTermsDropdown&&mlaModal.settings.termsTaxonomy==b){d=mlaModal.utility.parseTermsOptions(c);mlaModal.settings.termsClass=d.termsClass;mlaModal.settings.termsText=d.termsText;mlaModal.settings.termsValue=d.termsValue;this.toolbar.unset("terms",{silent:true});this.toolbar.set("terms",new wp.media.view.AttachmentFilters.MlaTerms({controller:this.controller,model:this.collection.props,priority:-80}).render())}}})}mlaModal.utility.parseTermsOptions=function(h){var g={termsClass:[mlaModal.settings.termsClass[0],mlaModal.settings.termsClass[1]],termsText:[mlaModal.settings.termsText[0],mlaModal.settings.termsText[1]],termsValue:[mlaModal.settings.termsValue[0],mlaModal.settings.termsValue[1]]},d=2,b,c,f=/\<option(( class=\"([^\"]+)\" )|( ))value=((\'([^\']+)\')|(\"([^\"]+)\"))([^\>]*)\>([^\<]*)\<.*/g,e=[];if("object"===typeof h){d=mlaModal.settings.termsValue.length;for(b=2;b<d;b++){e[b]={termsClass:mlaModal.settings.termsClass[b],termsText:mlaModal.settings.termsText[b],termsValue:mlaModal.settings.termsValue[b]};if("undefined"!==typeof h[mlaModal.settings.termsValue[b]]){delete h[mlaModal.settings.termsValue[b]]}}for(c in h){e[b++]={termsClass:"level-0",termsText:h[c],termsValue:c.toString()}}if(d===b){return{termsClass:mlaModal.settings.termsClass,termsText:mlaModal.settings.termsText,termsValue:mlaModal.settings.termsValue}}e.sort(function(j,i){if(j.termsText>i.termsText){return 1}else{if(j.termsText<i.termsText){return -1}else{return 0}}});b=2;for(c in e){g.termsClass[b]=e[c].termsClass;g.termsText[b]=e[c].termsText;g.termsValue[b++]=e[c].termsValue}return g}e=f.exec(h);while(null!==(e=f.exec(h))){g.termsClass[d]=e[3];g.termsValue[d]=("undefined"===typeof e[6])?e[9]:e[7];g.termsText[d++]=e[11].replace("&nbsp;",mlaModal.settings.termsIndent)}return g};mlaModal.utility.arrayCleanup=function(d){var c=[],b=("string"===typeof d);if(b){d=d.split(mlaModal.settings.comma)}jQuery.each(d,function(e,f){f=jQuery.trim(f);if(f&&jQuery.inArray(f,c)==-1){c.push(f)}});c.sort();if(b){c=c.join(mlaModal.settings.comma)}return c};mlaModal.utility.parseTaxonomyId=function(c){var b=c.split("-");b.shift();b.shift();return b.join("-")};mlaModal.tagBox={cleanTags:function(c){var b=mlaModal.settings.comma;if(","!==b){c=c.replace(new RegExp(b,"g"),",")}c=c.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"");if(","!==b){c=c.replace(/,/g,b)}return c},parseTags:function(e){var i=e.id,c=i.split("-check-num-")[1],f=a(e).closest(".tagsdiv"),h=f.find(".the-tags"),b=mlaModal.settings.comma,d=h.val().split(b),g=[];delete d[c];a.each(d,function(j,k){k=a.trim(k);if(k){g.push(k)}});h.val(this.cleanTags(g.join(b)));this.quickClicks(f);return false},quickClicks:function(d){var g=a(".the-tags",d),e=a(".tagchecklist",d),f=a(d).attr("id"),b,c;if(!g.length){return}c=g.prop("disabled");b=g.val().split(mlaModal.settings.comma);e.empty();a.each(b,function(i,k){var j,h;k=a.trim(k);if(!k){return}j=a("<span />").text(k);if(!c){h=a('<a id="'+f+"-check-num-"+i+'" class="ntdelbutton">X</a>');h.click(function(){mlaModal.tagBox.parseTags(this)});j.prepend("&nbsp;").prepend(h)}e.append(j)})},flushTags:function(h,d,c){var j,b,e,k=a(".the-tags",h),g=a("input.newtag",h),i=mlaModal.settings.comma;d=d||false;e=d?a(d).text():g.val();j=k.val();b=j?j+i+e:e;b=mlaModal.utility.arrayCleanup(this.cleanTags(b));k.val(b);this.quickClicks(h);if(!d){g.val("")}if("undefined"==typeof(c)){g.focus()}return false},getCloud:function(c,b){a.post(ajaxurl,{action:"get-tagcloud",tax:b},function(e,d){if(0===e||"success"!=d){e=wpAjax.broken}e=a('<p id="tagcloud-'+b+'" class="the-tagcloud">'+e+"</p>");a("a",e).click(function(){mlaModal.tagBox.flushTags(a(this).closest(".mla-taxonomy-field").children(".tagsdiv"),this);return false});a("#"+c).after(e)})},init:function(f,b,d){var e,c;e=a("#mla-taxonomy-"+b,d);c=a("div.ajaxtag",e);mlaModal.tagBox.quickClicks(e);a("input.tagadd",c).click(function(){mlaModal.tagBox.flushTags(a(this).closest(".tagsdiv"))});a("input.newtag",c).keyup(function(g){if(13==g.which){mlaModal.tagBox.flushTags(e);return false}}).keypress(function(g){if(13==g.which){g.preventDefault();return false}}).each(function(){a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,resultsClass:"mla_ac_results",selectClass:"mla_ac_over",matchClass:"mla_ac_match",minchars:2,multiple:true,multipleSep:mlaModal.settings.comma+" "})});e.siblings(":first").click(function(){mlaModal.tagBox.getCloud(a("a",this).attr("id"),b);a("a",this).unbind().click(function(){a(this).siblings(".the-tagcloud").toggle();return false});return false});a(".compat-field-"+b+" td",d).on("mouseleave",function(){var j,h=this,g=mlaModal.utility.arrayCleanup(a(".server-tags",h).val()),i=mlaModal.utility.arrayCleanup(a(".the-tags",h).val());if(g===i){return}a(h).css("opacity","0.5");j={id:f,};j[b]=i;wp.media.post(mlaModal.settings.ajaxUpdateCompatAction,j).done(function(l){var m,k,n;for(k in l){if("object"===typeof(l[k]["object-terms"])){if(null!==mlaModal.utility.mlaAttachmentsBrowser){mlaModal.utility.mlaAttachmentsBrowser.updateFilters(k,l[k]["object-terms"])}delete l[k]["object-terms"]}for(n in l[k]){a("#"+n,h).replaceWith(l[k][n])}m=a("#mla-taxonomy-"+k,h);mlaModal.tagBox.quickClicks(m)}a(h).css("opacity","1.0")})});e.on("change",function(g){g.stopPropagation();return false});a(".the-tags, .server-tags .newtag",e).on("change",function(g){g.stopPropagation();return false})}};if(mlaModal.settings.enableDetailsCategory||mlaModal.settings.enableDetailsTag){wp.media.view.AttachmentCompat=wp.media.view.AttachmentCompat.extend({initialize:function(){wp.media.view.AttachmentCompat.__super__.initialize.apply(this,arguments);this.on("ready",function(){mlaModal.utility.hookCompatTaxonomies(this.model.get("id"),this.el)})}})}if(mlaModal.settings.enableDetailsCategory||mlaModal.settings.enableDetailsTag){wp.media.model.Selection=wp.media.model.Selection.extend({initialize:function(){wp.media.model.Selection.__super__.initialize.apply(this,arguments);this.on("selection:reset",function(){mlaModal.cid=null});this.on("selection:unsingle",function(){mlaModal.cid=null});this.on("selection:single",function(b){mlaModal.cid=b.cid});this.on("change:uploading",function(){mlaModal.uploading=true});this.on("change",function(b){var c=false,d;if(mlaModal.uploading&&mlaModal.cid===b.cid){mlaModal.uploading=false;c=true}else{if(false===b.attributes.uploading){d=_.clone(b.changed);delete d.title;delete d.caption;delete d.alt;delete d.description;if(!_.isEmpty(d)){c=true}}}if(true===c){mlaModal.utility.hookCompatTaxonomies(b.get("id"),wp.media.frame.$el)}})}})}mlaModal.utility.hookCompatTaxonomies=function(e,c){var b,d=null;a(".mla-taxonomy-field .categorydiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));if(-1!=mlaModal.settings.enhancedTaxonomies.indexOf(b)){a(".compat-field-"+b+" th",c).click({id:e,currentTaxonomy:b,el:c},function(f){mlaModal.utility.fillCompatTaxonomies(f.data)});a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).show()}else{a(this).remove()}});if(null===d){d=b}}else{a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).remove()}})}});a(".mla-taxonomy-field .tagsdiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));if(-1!=mlaModal.settings.enhancedTaxonomies.indexOf(b)){a(".compat-field-"+b+" th",c).click({id:e,currentTaxonomy:b,el:c},function(f){mlaModal.utility.fillCompatTaxonomies(f.data)});a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).show()}else{a(this).remove()}});if(null===d){d=b}}else{a("tr.compat-field-"+b,c).each(function(){if(a(this).hasClass("mla-taxonomy-row")){a(this).remove()}})}});if(mlaModal.settings.enableTermsAutofill&&null!==d){a(".compat-field-"+d+" th",c).click()}};mlaModal.utility.fillCompatTaxonomies=function(f){var c=f.el,e=[],b,d;a(".mla-taxonomy-field .categorydiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));e[e.length]=b;d=".compat-field-"+b;if("undefined"===typeof(mlaModal.initialHTML[b])){mlaModal.initialHTML[b]=a(d,c).html()}else{a(d,c).html(mlaModal.initialHTML[b])}a(d+" .categorydiv",c).html(mlaModal.strings.loadingText)});a(".mla-taxonomy-field .tagsdiv",c).each(function(){b=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));e[e.length]=b;d=".compat-field-"+b;if("undefined"===typeof(mlaModal.initialHTML[b])){mlaModal.initialHTML[b]=a(d,c).html()}else{a(d,c).html(mlaModal.initialHTML[b])}a(d+" .tagsdiv",c).html(mlaModal.strings.loadingText)});if(e.length){wp.media.post(mlaModal.settings.ajaxFillCompatAction,{id:f.id,query:e,}).done(function(h){var g,i;for(g in h){i=".compat-field-"+g;a(i,c).html(h[g])}mlaModal.utility.supportCompatTaxonomies(f);a(".compat-field-"+f.currentTaxonomy+" td",c).show()})}};mlaModal.utility.supportCompatTaxonomies=function(d){var c=d.id,b=d.el;if(mlaModal.settings.enableDetailsCategory){a(".mla-taxonomy-field .categorydiv",b).each(function(){var g=a(this),e,h,f,k,i,m,l,j;f=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));k=f+"_tab";i="#mla-"+f;m="#mla-new-"+f;l="#mla-search-"+f;j="#mla-attachments-"+c+"-"+f;if(f=="category"){k="cats"}g.find(".category-tabs").show();a(".compat-field-"+f+" th",b).click(function(){a(this).siblings("td").slideToggle()});g.on("mouseleave",function(){var q,n,p=[],o=g.find(i+"-checklist input:checked");o.each(function(){p[p.length]=a(this).val()});p.sort(function(s,r){return s-r});p=p.join(",");n=g.siblings(j).val();if(n===p){return}g.siblings(j).val(p);g.prop("disabled",true);q={id:c,};q[f]=p;wp.media.post(mlaModal.settings.ajaxUpdateCompatAction,q).done(function(s){var r,t;for(r in s){for(t in s[r]){g.find("#"+t).html(s[r][t])}}g.find(l).val("");g.find(i+"-searcher").addClass("mla-hidden-children");g.prop("disabled",false)})});g.on('change input[type="checkbox"]',function(n){n.stopPropagation();return false});g.find(i+"-tabs a").click(function(){var n=a(this).attr("href");a(this).parent().addClass("tabs").siblings("li").removeClass("tabs");g.find(i+"-tabs").siblings(".tabs-panel").hide();g.find(n).show();a(this).focus();if("#mla-"+f+"-all"==n){deleteUserSetting(k)}else{setUserSetting(k,"pop")}return false});if(getUserSetting(k)){g.find(i+'-tabs a[href="#mla-'+f+'-pop"]').click()}g.find(i+"-add-toggle").click(function(){g.find(i+"-searcher").addClass("mla-hidden-children");g.find(i+"-adder").toggleClass("mla-hidden-children");g.find(i+'-tabs a[href="#mla-'+f+'-all"]').click();g.find(i+"-checklist li").show();g.find(i+"-checklist-pop li").show();if(false===g.find(i+"-adder").hasClass("mla-hidden-children")){g.find(m).val("").removeClass("form-input-tip");g.find(m).focus()}return false});g.find(m).keypress(function(n){if(13===n.keyCode){n.preventDefault();g.find(i+"-add-submit").click()}});g.find(i+"-add-submit").click(function(){g.find(m).focus()});e=function(n){if(!g.find(m).val()){return false}n.data+="&"+g.find(i+"-checklist :checked").serialize();g.prop("disabled",true);return n};h=function(q,p){var o,n=g.find("#new"+f+"_parent");g.prop("disabled",false);if("undefined"!=p.parsed.responses[0]&&(o=p.parsed.responses[0].supplemental.newcat_parent)){n.before(o);n.remove();if(null!==mlaModal.utility.mlaAttachmentsBrowser){mlaModal.utility.mlaAttachmentsBrowser.updateFilters(f,o)}}};g.find(i+"-checklist").wpList({alt:"",response:"mla-"+f+"-ajax-response",addBefore:e,addAfter:h});g.find(i+"-checklist, "+i+"-checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var n=a(this),p=n.is(":checked"),o=n.val();if(o&&n.parents("#mla-taxonomy-"+f).length){a("#in-"+f+"-"+o+", #in-popular-"+f+"-"+o).prop("checked",p)}});a.extend(a.expr[":"],{matchTerms:function(p,o,n,q){return(p.textContent||p.innerText||"").toLowerCase().indexOf((n[3]||"").toLowerCase())>=0}});g.find(l).keypress(function(n){if(13===n.keyCode){n.preventDefault();g.find(l).val("");g.find(i+"-searcher").addClass("mla-hidden-children");g.find(i+"-checklist li").show();g.find(i+"-checklist-pop li").show();return}});g.find(l).keyup(function(p){var r,q,s,o,n;if(13===p.keyCode){p.preventDefault();g.find(i+"-search-toggle").focus();return}r=g.find(l).val();q=g.find(i+"-checklist li");s=g.find(i+"-checklist-pop li");if(0<r.length){q.hide();s.hide()}else{q.show();s.show()}o=g.find(i+"-checklist label:matchTerms('"+r+"')");o.closest("li").find("li").andSelf().show();o.parents(i+"-checklist li").show();n=g.find(i+"-checklist-pop label:matchTerms('"+r+"')");n.closest("li").find("li").andSelf().show();n.parents(i+"-checklist li").show()});g.find(i+"-search-toggle").click(function(){g.find(i+"-adder ").addClass("mla-hidden-children");g.find(i+"-searcher").toggleClass("mla-hidden-children");g.find(i+'-tabs a[href="#mla-'+f+'-all"]').click();g.find(i+"-checklist li").show();g.find(i+"-checklist-pop li").show();if(false===g.find(i+"-searcher").hasClass("mla-hidden-children")){g.find(l).val("").removeClass("form-input-tip");g.find(l).focus()}return false})})}if(mlaModal.settings.enableDetailsTag){a(".mla-taxonomy-field .tagsdiv",b).each(function(){var e=mlaModal.utility.parseTaxonomyId(a(this).attr("id"));a(".compat-field-"+e+" th",b).click(function(){a(this).siblings("td").slideToggle()});mlaModal.tagBox.init(c,e,b)})}}}(jQuery));
js/mla-polylang-support-scripts.js CHANGED
@@ -292,7 +292,7 @@ var jQuery,
292
 
293
  params = {
294
  action: mlaPolylang.settings.ajax_action,
295
- nonce: mlaPolylang.settings.ajax_nonce,
296
  post_type: 'attachment',
297
  post_ID: id,
298
  edit_date: 'true',
292
 
293
  params = {
294
  action: mlaPolylang.settings.ajax_action,
295
+ mla_admin_nonce: mlaPolylang.settings.ajax_nonce,
296
  post_type: 'attachment',
297
  post_ID: id,
298
  edit_date: 'true',
js/mla-polylang-support-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var jQuery,mla_polylang_support_vars,mlaPolylang={settings:{},utility:{getId:function(b){var c=jQuery(b).closest("tr").attr("id"),a=c.split("-");return a[a.length-1]}},inlineTranslate:null};(function(a){mlaPolylang.settings=typeof mla_polylang_support_vars==="undefined"?{}:mla_polylang_support_vars;mla_polylang_support_vars=void 0;mlaPolylang.inlineTranslate={init:function(){var c=this,d=a("#pll-quick-translate"),b=a("#pll-bulk-translate");c.type="attachment";c.what="#attachment-";d.keyup(function(f){if(f.which==27){return mlaPolylang.inlineTranslate.revert()}});a("a.cancel",d).click(function(){return mlaPolylang.inlineTranslate.revert()});a("a.save",d).click(function(){return mlaPolylang.inlineTranslate.save(this)});a("td",d).keydown(function(f){if(f.which==13){return mlaPolylang.inlineTranslate.save(this)}});a("#the-list").on("click","a.inlineTranslate",function(){mlaPolylang.inlineTranslate.edit(this);return false});a("#the-list").on("click","a.editinline",function(){a(".quick-edit-row").one("focusin",function(){mlaPolylang.inlineTranslate.openQuickEdit(this);return false});return false});b.keyup(function(f){if(f.which==27){return mlaPolylang.inlineTranslate.revert()}});a("a.cancel",b).click(function(){return mlaPolylang.inlineTranslate.revert()});a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="pll-translate"){f.preventDefault();c.openBulkTranslate()}else{if(a("form#posts-filter tr.inline-translator").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;if("none"==a(b.what+mlaPolylang.utility.getId(c)).css("display")){b.revert()}else{b.edit(c)}},openBulkTranslate:function(){var b="",d=true;this.revert();a("#pll-bulk-translate td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#pll-bulk-translate"));a("#pll-bulk-translate").addClass("inline-translator").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mlaPolylang.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mlaPolylang.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#pll-bulk-titles").html(b);a("#pll-bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("#pll-bulk-translate .pll-media-action-table tr").each(function(c){a(".pll-media-action-column a",this).click(function(g){var f=a(this).attr("pll_bulk_language");a(':input[name="pll_bulk_language"]',"#pll-bulk-translate").val(f);a("#pll-bulk-translate .pll-media-action-table a").prop("disabled",true);a("#pll-bulk-translate").css("opacity","0.5");a(this).hide();return a("#pll-bulk-translate-submit","#pll-bulk-translate").click()})});a("html, body").animate({scrollTop:0},"fast")},openQuickEdit:function(e){var d,b,c;if(typeof(e)=="object"){e=mlaPolylang.utility.getId(e)}d=a("#edit-"+e);c=a(':input[name="old_lang"]',d).val();b=JSON.parse(a(':input[name="inline_translations"]',d).val());a(".pll-media-action-table tr",d).each(function(f){var h=a(this).attr("class").split("-"),g=h[h.length-1];if(g===c){a(".pll-media-action-column input",this).val(b[g]);a(this).hide()}else{if("undefined"!=typeof b[g]){a(".pll-media-action-column input",this).val(b[g]);a(".pll-media-action-column a",this).addClass("pll_icon_edit");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.edit);a(".pll-media-action-column a",this).attr("pll_quick_language",g);a(".pll-media-action-column a",this).attr("pll_quick_id",b[g])}else{a(".pll-media-action-column input",this).val(0);a(".pll-media-action-column a",this).addClass("pll_icon_add");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.addNew);a(".pll-media-action-column a",this).attr("pll_quick_language",g);a(".pll-media-action-column a",this).attr("pll_quick_id",0)}}a(".pll-media-action-column a",this).off("click");a(".pll-media-action-column a",this).click(function(k){var j=a(this).attr("pll_quick_language"),i=a(this).attr("pll_quick_id");a(':input[name="pll_quick_language"]',d).val(j);a(':input[name="pll_quick_id"]',d).val(i);k.preventDefault();return mlaPolylang.inlineTranslate.save(d)})});return false},edit:function(i){var d=this,b,g,f,h,c,e;d.revert();if(typeof(i)=="object"){i=mlaPolylang.utility.getId(i)}b=mlaPolylang.settings.fields;g=a("#pll-quick-translate").clone(true);a("td",g).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+i).hasClass("alternate")){a(g).addClass("alternate")}a(d.what+i).before(g);f=a("#inline_"+i);for(h=0;h<b.length;h++){a(':input[name="'+b[h]+'"]',g).val(a("."+b[h],f).text())}e=a(':input[name="old_lang"]',g).val();c=JSON.parse(a(':input[name="inline_translations"]',g).val());a(".pll-media-action-table tr",g).each(function(j){var l=a(this).attr("class").split("-"),k=l[l.length-1];if(k===e){a(".pll-media-action-column input",this).val(c[k]);a(this).hide()}else{if("undefined"!=typeof c[k]){a(".pll-media-action-column input",this).val(c[k]);a(".pll-media-action-column a",this).addClass("pll_icon_edit");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.edit);a(".pll-media-action-column a",this).attr("pll_quick_language",k);a(".pll-media-action-column a",this).attr("pll_quick_id",c[k])}else{a(".pll-media-action-column input",this).val(0);a(".pll-media-action-column a",this).addClass("pll_icon_add");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.addNew);a(".pll-media-action-column a",this).attr("pll_quick_language",k);a(".pll-media-action-column a",this).attr("pll_quick_id",0)}}a(".pll-media-action-column a",this).off("click");a(".pll-media-action-column a",this).click(function(o){var n=a(this).attr("pll_quick_language"),m=a(this).attr("pll_quick_id");a(':input[name="pll_quick_language"]',g).val(n);a(':input[name="pll_quick_id"]',g).val(m);return mlaPolylang.inlineTranslate.save(g)})});f=a(g).attr("id","edit-"+i).addClass("inline-translator").show().position().top;a("html, body").animate({scrollTop:f},"fast");return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=mlaPolylang.utility.getId(e)}if(mla.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").addClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").show()}d={action:mlaPolylang.settings.ajax_action,nonce:mlaPolylang.settings.ajax_nonce,post_type:"attachment",post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(g){var h,f,k,j,i;if(mla.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").removeClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").hide()}if(g){if(-1!=g.indexOf('<tr id="attachment')){j=a(g).closest("tr");h=mlaPolylang.utility.getId(j[0]);f=a(mlaPolylang.inlineTranslate.what+h);if("undefined"!=typeof f){f.remove()}a("#edit-"+e).before(j[0]).remove();a(mlaPolylang.inlineTranslate.what+h).hide().fadeIn();if(1<j.length){for(i=1;i<j.length;i++){k=mlaPolylang.utility.getId(j[i]);f=a(mlaPolylang.inlineTranslate.what+k);if("undefined"!=typeof f){f.before(j[i]).remove();f=a(mlaPolylang.inlineTranslate.what+k);f.hide().fadeIn()}}}if(h!=e){a("a.editinline",mlaPolylang.inlineTranslate.what+h).click()}}else{g=g.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .pll-quick-translate-save .error").html(g).show()}}else{a("#edit-"+e+" .pll-quick-translate-save .error").html(mlaPolylang.settings.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-translator ").attr("id");if(b){if(mla.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").removeClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").hide()}if("pll-bulk-translate"==b){a("table.widefat #pll-bulk-translate ").removeClass("inline-translator").hide();a("#pll-bulk-titles").html("");a("#pll-inline-translate").append(a("#pll-bulk-translate"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false}};a(document).ready(function(){mlaPolylang.inlineTranslate.init()})})(jQuery);
1
+ var jQuery,mla_polylang_support_vars,mlaPolylang={settings:{},utility:{getId:function(b){var c=jQuery(b).closest("tr").attr("id"),a=c.split("-");return a[a.length-1]}},inlineTranslate:null};(function(a){mlaPolylang.settings=typeof mla_polylang_support_vars==="undefined"?{}:mla_polylang_support_vars;mla_polylang_support_vars=void 0;mlaPolylang.inlineTranslate={init:function(){var c=this,d=a("#pll-quick-translate"),b=a("#pll-bulk-translate");c.type="attachment";c.what="#attachment-";d.keyup(function(f){if(f.which==27){return mlaPolylang.inlineTranslate.revert()}});a("a.cancel",d).click(function(){return mlaPolylang.inlineTranslate.revert()});a("a.save",d).click(function(){return mlaPolylang.inlineTranslate.save(this)});a("td",d).keydown(function(f){if(f.which==13){return mlaPolylang.inlineTranslate.save(this)}});a("#the-list").on("click","a.inlineTranslate",function(){mlaPolylang.inlineTranslate.edit(this);return false});a("#the-list").on("click","a.editinline",function(){a(".quick-edit-row").one("focusin",function(){mlaPolylang.inlineTranslate.openQuickEdit(this);return false});return false});b.keyup(function(f){if(f.which==27){return mlaPolylang.inlineTranslate.revert()}});a("a.cancel",b).click(function(){return mlaPolylang.inlineTranslate.revert()});a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="pll-translate"){f.preventDefault();c.openBulkTranslate()}else{if(a("form#posts-filter tr.inline-translator").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;if("none"==a(b.what+mlaPolylang.utility.getId(c)).css("display")){b.revert()}else{b.edit(c)}},openBulkTranslate:function(){var b="",d=true;this.revert();a("#pll-bulk-translate td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#pll-bulk-translate"));a("#pll-bulk-translate").addClass("inline-translator").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mlaPolylang.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mlaPolylang.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#pll-bulk-titles").html(b);a("#pll-bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("#pll-bulk-translate .pll-media-action-table tr").each(function(c){a(".pll-media-action-column a",this).click(function(g){var f=a(this).attr("pll_bulk_language");a(':input[name="pll_bulk_language"]',"#pll-bulk-translate").val(f);a("#pll-bulk-translate .pll-media-action-table a").prop("disabled",true);a("#pll-bulk-translate").css("opacity","0.5");a(this).hide();return a("#pll-bulk-translate-submit","#pll-bulk-translate").click()})});a("html, body").animate({scrollTop:0},"fast")},openQuickEdit:function(e){var d,b,c;if(typeof(e)=="object"){e=mlaPolylang.utility.getId(e)}d=a("#edit-"+e);c=a(':input[name="old_lang"]',d).val();b=JSON.parse(a(':input[name="inline_translations"]',d).val());a(".pll-media-action-table tr",d).each(function(f){var h=a(this).attr("class").split("-"),g=h[h.length-1];if(g===c){a(".pll-media-action-column input",this).val(b[g]);a(this).hide()}else{if("undefined"!=typeof b[g]){a(".pll-media-action-column input",this).val(b[g]);a(".pll-media-action-column a",this).addClass("pll_icon_edit");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.edit);a(".pll-media-action-column a",this).attr("pll_quick_language",g);a(".pll-media-action-column a",this).attr("pll_quick_id",b[g])}else{a(".pll-media-action-column input",this).val(0);a(".pll-media-action-column a",this).addClass("pll_icon_add");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.addNew);a(".pll-media-action-column a",this).attr("pll_quick_language",g);a(".pll-media-action-column a",this).attr("pll_quick_id",0)}}a(".pll-media-action-column a",this).off("click");a(".pll-media-action-column a",this).click(function(k){var j=a(this).attr("pll_quick_language"),i=a(this).attr("pll_quick_id");a(':input[name="pll_quick_language"]',d).val(j);a(':input[name="pll_quick_id"]',d).val(i);k.preventDefault();return mlaPolylang.inlineTranslate.save(d)})});return false},edit:function(i){var d=this,b,g,f,h,c,e;d.revert();if(typeof(i)=="object"){i=mlaPolylang.utility.getId(i)}b=mlaPolylang.settings.fields;g=a("#pll-quick-translate").clone(true);a("td",g).attr("colspan",a(".widefat:first thead th:visible").length);if(a(d.what+i).hasClass("alternate")){a(g).addClass("alternate")}a(d.what+i).before(g);f=a("#inline_"+i);for(h=0;h<b.length;h++){a(':input[name="'+b[h]+'"]',g).val(a("."+b[h],f).text())}e=a(':input[name="old_lang"]',g).val();c=JSON.parse(a(':input[name="inline_translations"]',g).val());a(".pll-media-action-table tr",g).each(function(j){var l=a(this).attr("class").split("-"),k=l[l.length-1];if(k===e){a(".pll-media-action-column input",this).val(c[k]);a(this).hide()}else{if("undefined"!=typeof c[k]){a(".pll-media-action-column input",this).val(c[k]);a(".pll-media-action-column a",this).addClass("pll_icon_edit");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.edit);a(".pll-media-action-column a",this).attr("pll_quick_language",k);a(".pll-media-action-column a",this).attr("pll_quick_id",c[k])}else{a(".pll-media-action-column input",this).val(0);a(".pll-media-action-column a",this).addClass("pll_icon_add");a(".pll-media-action-column a",this).attr("title",mlaPolylang.settings.addNew);a(".pll-media-action-column a",this).attr("pll_quick_language",k);a(".pll-media-action-column a",this).attr("pll_quick_id",0)}}a(".pll-media-action-column a",this).off("click");a(".pll-media-action-column a",this).click(function(o){var n=a(this).attr("pll_quick_language"),m=a(this).attr("pll_quick_id");a(':input[name="pll_quick_language"]',g).val(n);a(':input[name="pll_quick_id"]',g).val(m);return mlaPolylang.inlineTranslate.save(g)})});f=a(g).attr("id","edit-"+i).addClass("inline-translator").show().position().top;a("html, body").animate({scrollTop:f},"fast");return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=mlaPolylang.utility.getId(e)}if(mla.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").addClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").show()}d={action:mlaPolylang.settings.ajax_action,mla_admin_nonce:mlaPolylang.settings.ajax_nonce,post_type:"attachment",post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(g){var h,f,k,j,i;if(mla.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").removeClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").hide()}if(g){if(-1!=g.indexOf('<tr id="attachment')){j=a(g).closest("tr");h=mlaPolylang.utility.getId(j[0]);f=a(mlaPolylang.inlineTranslate.what+h);if("undefined"!=typeof f){f.remove()}a("#edit-"+e).before(j[0]).remove();a(mlaPolylang.inlineTranslate.what+h).hide().fadeIn();if(1<j.length){for(i=1;i<j.length;i++){k=mlaPolylang.utility.getId(j[i]);f=a(mlaPolylang.inlineTranslate.what+k);if("undefined"!=typeof f){f.before(j[i]).remove();f=a(mlaPolylang.inlineTranslate.what+k);f.hide().fadeIn()}}}if(h!=e){a("a.editinline",mlaPolylang.inlineTranslate.what+h).click()}}else{g=g.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .pll-quick-translate-save .error").html(g).show()}}else{a("#edit-"+e+" .pll-quick-translate-save .error").html(mlaPolylang.settings.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-translator ").attr("id");if(b){if(mla.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").removeClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").hide()}if("pll-bulk-translate"==b){a("table.widefat #pll-bulk-translate ").removeClass("inline-translator").hide();a("#pll-bulk-titles").html("");a("#pll-inline-translate").append(a("#pll-bulk-translate"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false}};a(document).ready(function(){mlaPolylang.inlineTranslate.init()})})(jQuery);
js/mla-set-parent-scripts.js CHANGED
@@ -148,7 +148,7 @@ var jQuery;
148
  mla_set_parent_count: $( '#mla-set-parent-count' ).val(),
149
  mla_set_parent_paged: $( '#mla-set-parent-paged' ).val(),
150
  action: 'mla_find_posts',
151
- _ajax_nonce: $('#mla-set-parent-ajax-nonce').val()
152
  },
153
  spinner = $( '#mla-set-parent-search-div .spinner' );
154
 
148
  mla_set_parent_count: $( '#mla-set-parent-count' ).val(),
149
  mla_set_parent_paged: $( '#mla-set-parent-paged' ).val(),
150
  action: 'mla_find_posts',
151
+ mla_admin_nonce: $('#mla-set-parent-ajax-nonce').val()
152
  },
153
  spinner = $( '#mla-set-parent-search-div .spinner' );
154
 
js/mla-set-parent-scripts.min.js CHANGED
@@ -1 +1 @@
1
- var jQuery;(function(a){mla.setParent={init:function(){a("#mla-set-parent-submit").click(function(b){if(!a('#mla-set-parent-response-div input[type="radio"]:checked').length){b.preventDefault()}});a("#mla-set-parent-search").click(function(){a("#mla-set-parent-paged").val(1);mla.setParent.send()});a("#mla-set-parent-search-div :input").keypress(function(){if(13==event.which){mla.setParent.send();return false}});a("#mla-set-parent-post-type").change(function(){a("#mla-set-parent-paged").val(1);mla.setParent.send()});a("#mla-set-parent-previous").click(function(){var b=+a("#mla-set-parent-paged").val();if(b>1){a("#mla-set-parent-paged").val(b-1)}else{a("#mla-set-parent-paged").val(1)}mla.setParent.send()});a("#mla-set-parent-next").click(function(){var c=+a("#mla-set-parent-count").val(),b=+a("#mla-set-parent-paged").val(),d=+a("#mla-set-parent-found").val();if(d<c){a("#mla-set-parent-paged").val(1)}else{a("#mla-set-parent-paged").val(b+1)}mla.setParent.send()});a("#mla-set-parent-close-div").click(mla.setParent.close);a("#mla-set-parent-cancel").click(function(b){b.preventDefault();return mla.setParent.close()});a("#mla-set-parent-inside-div").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",true)})},open:function(e,d,b){var c=a("#mla-set-parent-overlay");if(c.length===0){a("body").append('<div id="mla-set-parent-overlay"></div>');mla.setParent.overlay()}c.show();if(e&&d){a("#mla-set-parent-parent").val(e);a("#mla-set-parent-children").val(d)}if(b){a("#mla-set-parent-titles").html(b)}if(mla.settings.useDashicons){a("#mla-set-parent-close-div").addClass("mla-set-parent-close-div-dashicons")}else{a("#mla-set-parent-close-div").html("x")}a("#mla-set-parent-div").show();a("#mla-set-parent-input ").focus().keyup(function(f){if(f.which==27){mla.setParent.close()}});mla.setParent.send();return false},close:function(){a("#mla-set-parent-input").val("");a("#mla-set-parent-post-type").val("all");a("#mla-set-parent-response-div").html("");a("#mla-set-parent-div").hide();a("#mla-set-parent-overlay").hide()},overlay:function(){a("#mla-set-parent-overlay").on("click",function(){mla.setParent.close()})},send:function(){var b={mla_set_parent_search_text:a("#mla-set-parent-input").val(),mla_set_parent_post_type:a("#mla-set-parent-post-type").val(),mla_set_parent_count:a("#mla-set-parent-count").val(),mla_set_parent_paged:a("#mla-set-parent-paged").val(),action:"mla_find_posts",_ajax_nonce:a("#mla-set-parent-ajax-nonce").val()},c=a("#mla-set-parent-search-div .spinner");if(mla.settings.useSpinnerClass){c.addClass("is-active")}else{c.show()}a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){if(mla.settings.useSpinnerClass){c.removeClass("is-active")}else{c.hide()}}).done(function(d){var e="no response.data",f=0;if(!d.success){if(d.responseData){e=d.data}a("#mla-set-parent-response-div").text(mla.settings.ajaxDoneError+" ("+e+")")}else{a("#mla-set-parent-response-div").html(d.data);a("#mla-set-parent-response-div table tbody tr:eq(0)").before(a("#found-0-row").clone());f=a("#mla-set-parent-parent").val();a("#mla-set-parent-response-div #found-"+f).each(function(){a(this).prop("checked",true)})}}).fail(function(e,d){if(200==e.status){a("#mla-set-parent-response-div").text("("+d+") "+e.responseText)}else{a("#mla-set-parent-response-div").text(mla.settings.ajaxFailError+" ("+d+"), jqXHR( "+e.status+", "+e.statusText+", "+e.responseText+")")}})}};a(document).ready(function(){mla.setParent.init()})})(jQuery);
1
+ var jQuery;(function(a){mla.setParent={init:function(){a("#mla-set-parent-submit").click(function(b){if(!a('#mla-set-parent-response-div input[type="radio"]:checked').length){b.preventDefault()}});a("#mla-set-parent-search").click(function(){a("#mla-set-parent-paged").val(1);mla.setParent.send()});a("#mla-set-parent-search-div :input").keypress(function(){if(13==event.which){mla.setParent.send();return false}});a("#mla-set-parent-post-type").change(function(){a("#mla-set-parent-paged").val(1);mla.setParent.send()});a("#mla-set-parent-previous").click(function(){var b=+a("#mla-set-parent-paged").val();if(b>1){a("#mla-set-parent-paged").val(b-1)}else{a("#mla-set-parent-paged").val(1)}mla.setParent.send()});a("#mla-set-parent-next").click(function(){var c=+a("#mla-set-parent-count").val(),b=+a("#mla-set-parent-paged").val(),d=+a("#mla-set-parent-found").val();if(d<c){a("#mla-set-parent-paged").val(1)}else{a("#mla-set-parent-paged").val(b+1)}mla.setParent.send()});a("#mla-set-parent-close-div").click(mla.setParent.close);a("#mla-set-parent-cancel").click(function(b){b.preventDefault();return mla.setParent.close()});a("#mla-set-parent-inside-div").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",true)})},open:function(e,d,b){var c=a("#mla-set-parent-overlay");if(c.length===0){a("body").append('<div id="mla-set-parent-overlay"></div>');mla.setParent.overlay()}c.show();if(e&&d){a("#mla-set-parent-parent").val(e);a("#mla-set-parent-children").val(d)}if(b){a("#mla-set-parent-titles").html(b)}if(mla.settings.useDashicons){a("#mla-set-parent-close-div").addClass("mla-set-parent-close-div-dashicons")}else{a("#mla-set-parent-close-div").html("x")}a("#mla-set-parent-div").show();a("#mla-set-parent-input ").focus().keyup(function(f){if(f.which==27){mla.setParent.close()}});mla.setParent.send();return false},close:function(){a("#mla-set-parent-input").val("");a("#mla-set-parent-post-type").val("all");a("#mla-set-parent-response-div").html("");a("#mla-set-parent-div").hide();a("#mla-set-parent-overlay").hide()},overlay:function(){a("#mla-set-parent-overlay").on("click",function(){mla.setParent.close()})},send:function(){var b={mla_set_parent_search_text:a("#mla-set-parent-input").val(),mla_set_parent_post_type:a("#mla-set-parent-post-type").val(),mla_set_parent_count:a("#mla-set-parent-count").val(),mla_set_parent_paged:a("#mla-set-parent-paged").val(),action:"mla_find_posts",mla_admin_nonce:a("#mla-set-parent-ajax-nonce").val()},c=a("#mla-set-parent-search-div .spinner");if(mla.settings.useSpinnerClass){c.addClass("is-active")}else{c.show()}a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){if(mla.settings.useSpinnerClass){c.removeClass("is-active")}else{c.hide()}}).done(function(d){var e="no response.data",f=0;if(!d.success){if(d.responseData){e=d.data}a("#mla-set-parent-response-div").text(mla.settings.ajaxDoneError+" ("+e+")")}else{a("#mla-set-parent-response-div").html(d.data);a("#mla-set-parent-response-div table tbody tr:eq(0)").before(a("#found-0-row").clone());f=a("#mla-set-parent-parent").val();a("#mla-set-parent-response-div #found-"+f).each(function(){a(this).prop("checked",true)})}}).fail(function(e,d){if(200==e.status){a("#mla-set-parent-response-div").text("("+d+") "+e.responseText)}else{a("#mla-set-parent-response-div").text(mla.settings.ajaxFailError+" ("+d+"), jqXHR( "+e.status+", "+e.statusText+", "+e.responseText+")")}})}};a(document).ready(function(){mla.setParent.init()})})(jQuery);
js/mla-thumbnail-generation-scripts.js ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global ajaxurl */
2
+
3
+ var jQuery,
4
+ mla_thumbnail_support_vars,
5
+ mlaThumbnail = {
6
+ // Properties
7
+ // mlaThumbnail.settings.noTitle
8
+ // mlaThumbnail.settings.ntdelTitle
9
+ // mlaThumbnail.settings.fields
10
+ // mlaThumbnail.settings.comma
11
+ // mlaThumbnail.settings.ajax_action
12
+ // mlaThumbnail.settings.ajax_nonce
13
+ // mlaThumbnail.settings.error
14
+ settings: {},
15
+
16
+ // Utility functions
17
+ utility: {
18
+ getId : function( o ) {
19
+ var id = jQuery( o ).closest( 'tr' ).attr( 'id' ),
20
+ parts = id.split( '-' );
21
+ return parts[ parts.length - 1 ];
22
+ }
23
+ },
24
+
25
+ // Components
26
+ inlineThumbnail: null
27
+ };
28
+
29
+ ( function( $ ) {
30
+ /**
31
+ * Localized settings and strings
32
+ */
33
+ mlaThumbnail.settings = typeof mla_thumbnail_support_vars === 'undefined' ? {} : mla_thumbnail_support_vars;
34
+ mla_thumbnail_support_vars = void 0; // delete won't work on Globals
35
+
36
+ mlaThumbnail.inlineThumbnail = {
37
+ init : function(){
38
+ var t = this, bgRow = $( '#mla-bulk-thumbnail' );
39
+
40
+ t.type = 'attachment';
41
+ t.what = '#attachment-';
42
+
43
+ // prepare the bulk-generate row
44
+ bgRow.keyup( function( e ){
45
+ if ( e.which == 27 )
46
+ return mlaThumbnail.inlineThumbnail.revert();
47
+ });
48
+
49
+ $( 'a.cancel', bgRow ).click( function(){
50
+ return mlaThumbnail.inlineThumbnail.revert();
51
+ });
52
+
53
+ $( '#doaction, #doaction2' ).click( function( e ){
54
+ var n = $( this ).attr( 'id' ).substr( 2 );
55
+
56
+ if ( $( 'select[name="'+n+'"]' ).val() == 'mla-generate-featured-image' ) {
57
+ e.preventDefault();
58
+ t.openBulkGenerate();
59
+ }
60
+ });
61
+
62
+ // Filter button (dates, categories) in top nav bar
63
+ $( '#post-query-submit' ).mousedown( function(){
64
+ t.revert();
65
+ $( 'select[name^="action"]' ).val( '-1' );
66
+ });
67
+ },
68
+
69
+ openBulkGenerate : function(){
70
+ var te = '', c = true;
71
+ this.revert();
72
+
73
+ // Open up the Bulk Translate area
74
+ $( '#mla-bulk-thumbnail td' ).attr( 'colspan', $( '.widefat:first thead th:visible' ).length );
75
+ $( 'table.widefat tbody' ).prepend( $( '#mla-bulk-thumbnail' ) );
76
+ $( '#mla-bulk-thumbnail' ).addClass( 'inline-translator' ).show();
77
+
78
+ // Make sure at least one item has been selected
79
+ $( 'tbody th.check-column input[type="checkbox"]' ).each( function(){
80
+ if ( $( this ).prop( 'checked' ) ) {
81
+ c = false;
82
+ var id = $( this ).val(), theTitle;
83
+ theTitle = $( '#inline_'+id+' .post_title' ).text() || mlaThumbnail.settings.noTitle;
84
+ te += '<div id="ttle'+id+'"><a id="_'+id+'" class="ntdelbutton" title="'+mlaThumbnail.settings.ntdelTitle+'">X</a>'+theTitle+'</div>';
85
+ }
86
+ });
87
+
88
+ if ( c ) {
89
+ return this.revert();
90
+ }
91
+
92
+ // Populate the list of selected items
93
+ $( '#mla-thumbnail-titles' ).html( te );
94
+ $( '#mla-thumbnail-titles a' ).click(function(){
95
+ var id = $( this ).attr( 'id' ).substr( 1 );
96
+
97
+ $( 'table.widefat input[value="' + id + '"]' ).prop( 'checked', false );
98
+ $( '#ttle'+id ).remove();
99
+ });
100
+
101
+ $( 'html, body' ).animate( { scrollTop: 0 }, 'fast' );
102
+ },
103
+
104
+ revert : function(){
105
+ var id = $( 'table.widefat tr.inline-translator ').attr( 'id' );
106
+
107
+ if ( id ) {
108
+ if ( mlaThumbnail.settings.useSpinnerClass ) {
109
+ $( 'table.widefat .pll-quick-translate-save .spinner' ).removeClass("is-active");
110
+ } else {
111
+ $( 'table.widefat .pll-quick-translate-save .spinner' ).hide();
112
+ }
113
+
114
+ if ( 'mla-bulk-thumbnail' == id ) {
115
+ $( 'table.widefat #mla-bulk-thumbnail ').removeClass( 'inline-translator' ).hide();
116
+ $( '#mla-thumbnail-titles' ).html( '' );
117
+ $( '#pll-inline-translate' ).append( $('#mla-bulk-thumbnail') );
118
+ } else {
119
+ $( '#'+id ).remove();
120
+ id = id.substr( id.lastIndexOf( '-' ) + 1 );
121
+ $( this.what+id ).show();
122
+ }
123
+ }
124
+
125
+ return false;
126
+ }
127
+ }; // mlaThumbnail.inlineThumbnail
128
+
129
+ $( document ).ready( function() {
130
+ mlaThumbnail.inlineThumbnail.init();
131
+ });
132
+ })( jQuery );
js/mla-thumbnail-generation-scripts.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var jQuery,mla_thumbnail_support_vars,mlaThumbnail={settings:{},utility:{getId:function(b){var c=jQuery(b).closest("tr").attr("id"),a=c.split("-");return a[a.length-1]}},inlineThumbnail:null};(function(a){mlaThumbnail.settings=typeof mla_thumbnail_support_vars==="undefined"?{}:mla_thumbnail_support_vars;mla_thumbnail_support_vars=void 0;mlaThumbnail.inlineThumbnail={init:function(){var b=this,c=a("#mla-bulk-thumbnail");b.type="attachment";b.what="#attachment-";c.keyup(function(d){if(d.which==27){return mlaThumbnail.inlineThumbnail.revert()}});a("a.cancel",c).click(function(){return mlaThumbnail.inlineThumbnail.revert()});a("#doaction, #doaction2").click(function(d){var f=a(this).attr("id").substr(2);if(a('select[name="'+f+'"]').val()=="mla-generate-featured-image"){d.preventDefault();b.openBulkGenerate()}});a("#post-query-submit").mousedown(function(){b.revert();a('select[name^="action"]').val("-1")})},openBulkGenerate:function(){var b="",d=true;this.revert();a("#mla-bulk-thumbnail td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#mla-bulk-thumbnail"));a("#mla-bulk-thumbnail").addClass("inline-translator").show();a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){d=false;var e=a(this).val(),c;c=a("#inline_"+e+" .post_title").text()||mlaThumbnail.settings.noTitle;b+='<div id="ttle'+e+'"><a id="_'+e+'" class="ntdelbutton" title="'+mlaThumbnail.settings.ntdelTitle+'">X</a>'+c+"</div>"}});if(d){return this.revert()}a("#mla-thumbnail-titles").html(b);a("#mla-thumbnail-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});a("html, body").animate({scrollTop:0},"fast")},revert:function(){var b=a("table.widefat tr.inline-translator ").attr("id");if(b){if(mlaThumbnail.settings.useSpinnerClass){a("table.widefat .pll-quick-translate-save .spinner").removeClass("is-active")}else{a("table.widefat .pll-quick-translate-save .spinner").hide()}if("mla-bulk-thumbnail"==b){a("table.widefat #mla-bulk-thumbnail ").removeClass("inline-translator").hide();a("#mla-thumbnail-titles").html("");a("#pll-inline-translate").append(a("#mla-bulk-thumbnail"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false}};a(document).ready(function(){mlaThumbnail.inlineThumbnail.init()})})(jQuery);
languages/media-library-assistant-en_US.pot CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Media Library Assistant\n"
4
- "POT-Creation-Date: 2015-06-06 20:01-0800\n"
5
- "PO-Revision-Date: 2015-06-06 20:01-0800\n"
6
  "Last-Translator: David Lingren <david@fairtradejudaica.org>\n"
7
  "Language-Team: David Lingren <david@fairtradejudaica.org>\n"
8
  "Language: en_US\n"
@@ -27,87 +27,90 @@ msgstr ""
27
 
28
  #: includes/class-mla-data-pdf.php:216 includes/class-mla-data-pdf.php:496
29
  #: includes/class-mla-data-pdf.php:498 includes/class-mla-data-pdf.php:544
30
- #: includes/class-mla-data-pdf.php:725 includes/class-mla-data.php:101
31
- #: includes/class-mla-data.php:119 includes/class-mla-data.php:198
32
- #: includes/class-mla-data.php:257 includes/class-mla-data.php:345
33
- #: includes/class-mla-data.php:389 includes/class-mla-data.php:492
34
- #: includes/class-mla-data.php:648 includes/class-mla-data.php:711
35
- #: includes/class-mla-data.php:1266 includes/class-mla-data.php:1528
36
- #: includes/class-mla-data.php:2692 includes/class-mla-data.php:2698
37
- #: includes/class-mla-data.php:4046 includes/class-mla-data.php:4049
38
- #: includes/class-mla-data.php:5052 includes/class-mla-data.php:5079
39
- #: includes/class-mla-data.php:5399 includes/class-mla-data.php:5412
40
- #: includes/class-mla-data.php:5434 includes/class-mla-data.php:5623
41
- #: includes/class-mla-data.php:5664 includes/class-mla-data.php:5696
42
- #: includes/class-mla-data.php:5712 includes/class-mla-data.php:5891
43
- #: includes/class-mla-edit-media.php:316 includes/class-mla-edit-media.php:682
44
- #: includes/class-mla-main.php:636 includes/class-mla-main.php:765
45
- #: includes/class-mla-main.php:1081 includes/class-mla-main.php:1134
46
- #: includes/class-mla-main.php:1159 includes/class-mla-main.php:1252
47
- #: includes/class-mla-main.php:1311 includes/class-mla-main.php:1402
48
- #: includes/class-mla-main.php:1433 includes/class-mla-main.php:1660
49
- #: includes/class-mla-main.php:1667 includes/class-mla-main.php:1671
50
- #: includes/class-mla-main.php:1745 includes/class-mla-main.php:1752
51
- #: includes/class-mla-main.php:1896 includes/class-mla-main.php:1971
52
- #: includes/class-mla-main.php:2218 includes/class-mla-main.php:2226
53
- #: includes/class-mla-main.php:2250 includes/class-mla-main.php:2258
54
- #: includes/class-mla-main.php:2290 includes/class-mla-main.php:2298
55
- #: includes/class-mla-media-modal.php:1219
56
- #: includes/class-mla-mime-types.php:483 includes/class-mla-mime-types.php:906
57
- #: includes/class-mla-mime-types.php:912 includes/class-mla-mime-types.php:916
58
- #: includes/class-mla-mime-types.php:961
59
- #: includes/class-mla-mime-types.php:1049
60
- #: includes/class-mla-mime-types.php:1195
61
- #: includes/class-mla-mime-types.php:1218
62
- #: includes/class-mla-mime-types.php:1960
63
- #: includes/class-mla-mime-types.php:1971
64
- #: includes/class-mla-mime-types.php:1984
65
- #: includes/class-mla-mime-types.php:1992
66
- #: includes/class-mla-mime-types.php:1997
67
- #: includes/class-mla-mime-types.php:2040
68
- #: includes/class-mla-mime-types.php:2059
69
- #: includes/class-mla-mime-types.php:2110
70
- #: includes/class-mla-mime-types.php:2144
71
- #: includes/class-mla-mime-types.php:2229
72
- #: includes/class-mla-mime-types.php:2308
73
- #: includes/class-mla-mime-types.php:2317
74
- #: includes/class-mla-mime-types.php:2349 includes/class-mla-objects.php:201
75
- #: includes/class-mla-options.php:1710 includes/class-mla-options.php:1887
76
- #: includes/class-mla-options.php:1963 includes/class-mla-options.php:3297
77
- #: includes/class-mla-options.php:3737 includes/class-mla-options.php:3750
78
- #: includes/class-mla-options.php:3754 includes/class-mla-options.php:4290
79
- #: includes/class-mla-options.php:4512 includes/class-mla-options.php:4951
80
- #: includes/class-mla-options.php:4995 includes/class-mla-options.php:5003
81
- #: includes/class-mla-options.php:5020 includes/class-mla-options.php:5030
82
- #: includes/class-mla-options.php:5040 includes/class-mla-options.php:5048
83
- #: includes/class-mla-options.php:5052 includes/class-mla-settings.php:560
84
- #: includes/class-mla-settings.php:624 includes/class-mla-settings.php:638
85
- #: includes/class-mla-settings.php:667 includes/class-mla-settings.php:678
86
- #: includes/class-mla-settings.php:768 includes/class-mla-settings.php:902
87
- #: includes/class-mla-settings.php:1009 includes/class-mla-settings.php:1042
88
- #: includes/class-mla-settings.php:1181 includes/class-mla-settings.php:1544
89
- #: includes/class-mla-settings.php:1576 includes/class-mla-settings.php:1653
90
- #: includes/class-mla-settings.php:1990 includes/class-mla-settings.php:2041
91
- #: includes/class-mla-settings.php:2120 includes/class-mla-settings.php:2674
92
- #: includes/class-mla-settings.php:2816 includes/class-mla-settings.php:2988
93
- #: includes/class-mla-settings.php:3018 includes/class-mla-settings.php:3073
94
- #: includes/class-mla-settings.php:3108 includes/class-mla-settings.php:3111
95
- #: includes/class-mla-settings.php:3115 includes/class-mla-settings.php:3214
96
- #: includes/class-mla-settings.php:3220 includes/class-mla-settings.php:3234
97
- #: includes/class-mla-settings.php:3241 includes/class-mla-settings.php:3263
98
- #: includes/class-mla-settings.php:3305 includes/class-mla-settings.php:3311
99
- #: includes/class-mla-settings.php:3325 includes/class-mla-settings.php:3332
100
- #: includes/class-mla-settings.php:3384 includes/class-mla-settings.php:3505
101
- #: includes/class-mla-settings.php:3635 includes/class-mla-settings.php:3706
102
- #: includes/class-mla-settings.php:3792 includes/class-mla-settings.php:4126
103
- #: includes/class-mla-settings.php:4130 includes/class-mla-settings.php:4141
104
- #: includes/class-mla-settings.php:4148 includes/class-mla-settings.php:4157
105
- #: includes/class-mla-settings.php:4194 includes/class-mla-settings.php:4202
106
- #: includes/class-mla-settings.php:4211 includes/class-mla-shortcodes.php:1658
107
- #: includes/class-mla-shortcodes.php:1732
108
- #: includes/class-mla-shortcodes.php:3023
109
- #: includes/class-mla-shortcodes.php:3351
110
- #: includes/class-mla-shortcodes.php:3382
 
 
 
111
  msgid "ERROR"
112
  msgstr ""
113
 
@@ -133,28 +136,28 @@ msgid "%1$s: _parse_pdf_dictionary bad value [ %2$s ] dump = %3$s"
133
  msgstr ""
134
 
135
  #. translators: 1: ERROR tag 2: path and file
136
- #: includes/class-mla-data-pdf.php:725
137
  #, php-format
138
  msgctxt "error_log"
139
  msgid "%1$s: File \"%2$s\", startxref not found."
140
  msgstr ""
141
 
142
  #. translators: 1: ERROR tag 2: path and file name
143
- #: includes/class-mla-data.php:101
144
  #, php-format
145
  msgctxt "error_log"
146
  msgid "%1$s: mla_load_template file \"%2$s\" not found."
147
  msgstr ""
148
 
149
  #. translators: 1: ERROR tag 2: path and file name 3: source type, e.g., file, option, string
150
- #: includes/class-mla-data.php:119
151
  #, php-format
152
  msgctxt "error_log"
153
  msgid "%1$s: mla_load_template file \"%2$s\" bad source type \"%3$s\"."
154
  msgstr ""
155
 
156
  #. translators: 1: ERROR tag 2: template excerpt
157
- #: includes/class-mla-data.php:198
158
  #, php-format
159
  msgctxt "error_log"
160
  msgid ""
@@ -162,7 +165,7 @@ msgid ""
162
  msgstr ""
163
 
164
  #. translators: 1: ERROR tag 2: template excerpt
165
- #: includes/class-mla-data.php:257
166
  #, php-format
167
  msgctxt "error_log"
168
  msgid ""
@@ -170,39 +173,39 @@ msgid ""
170
  msgstr ""
171
 
172
  #. translators: 1: ERROR tag 2: template excerpt
173
- #: includes/class-mla-data.php:345
174
  #, php-format
175
  msgctxt "error_log"
176
  msgid "%1$s: mla_parse_template no end delimiter, tail = \"%2$s\"."
177
  msgstr ""
178
 
179
  #. translators: 1: ERROR tag 2: template string
180
- #: includes/class-mla-data.php:389
181
  #, php-format
182
  msgctxt "error_log"
183
  msgid "%1$s: _find_test_substring no end delimiter, tail = \"%2$s\"."
184
  msgstr ""
185
 
186
- #: includes/class-mla-data.php:492
187
  msgid "Test; no closing parenthesis "
188
  msgstr ""
189
 
190
  #. translators: 1: ERROR tag 2: node type, e.g., template
191
- #: includes/class-mla-data.php:648
192
  #, php-format
193
  msgctxt "error_log"
194
  msgid "%1$s: _evaluate_template_array_node unknown type \"%2$s\"."
195
  msgstr ""
196
 
197
  #. translators: 1: ERROR tag 2: node type, e.g., template
198
- #: includes/class-mla-data.php:711
199
  #, php-format
200
  msgctxt "error_log"
201
  msgid "%1$s: _evaluate_template_node unknown type \"%2$s\"."
202
  msgstr ""
203
 
204
  #. translators: 1: ERROR tag 2: template excerpt
205
- #: includes/class-mla-data.php:1266
206
  #, php-format
207
  msgctxt "error_log"
208
  msgid ""
@@ -211,220 +214,162 @@ msgid ""
211
  msgstr ""
212
 
213
  #. translators: 1: ERROR tag 2: function name 3: non-array value
214
- #: includes/class-mla-data.php:1528 includes/class-mla-edit-media.php:316
215
- #: includes/class-mla-main.php:1896 includes/class-mla-main.php:1971
216
- #: includes/class-mla-media-modal.php:1219
217
  #: includes/class-mla-mime-types.php:483
218
- #: includes/class-mla-mime-types.php:1218
219
- #: includes/class-mla-mime-types.php:2349 includes/class-mla-settings.php:1544
220
- #: includes/class-mla-settings.php:1990
221
  #, php-format
222
  msgctxt "error_log"
223
  msgid "%1$s: %2$s non-array \"%3$s\""
224
  msgstr ""
225
 
226
  #. translators: 1: DEBUG tag 2: query filter details
227
- #: includes/class-mla-data.php:1967
228
- #, php-format
229
- msgid "%1$s: _execute_list_table_query $wp_filter = \"%2$s\"."
230
- msgstr ""
231
-
232
- #: includes/class-mla-data.php:1967 includes/class-mla-data.php:1970
233
- #: includes/class-mla-data.php:1987 includes/class-mla-data.php:1989
234
- #: includes/class-mla-data.php:1992 includes/class-mla-data.php:1994
235
- #: includes/class-mla-data.php:2367 includes/class-mla-data.php:2370
236
- #: includes/class-mla-data.php:2436 includes/class-mla-data.php:2439
237
- #: includes/class-mla-data.php:2490 includes/class-mla-data.php:2493
238
- #: includes/class-mla-data.php:2592 includes/class-mla-data.php:2595
239
- #: includes/class-mla-data.php:2631 includes/class-mla-data.php:2634
240
- #: includes/class-mla-data.php:2655 includes/class-mla-data.php:2658
241
- msgid "DEBUG"
242
- msgstr ""
243
-
244
- #. translators: 1: DEBUG tag 2: query filter details
245
- #: includes/class-mla-data.php:1970
246
  #, php-format
247
  msgctxt "error_log"
248
  msgid "%1$s: _execute_list_table_query $wp_filter = \"%2$s\"."
249
  msgstr ""
250
 
251
- #. translators: 1: DEBUG tag 2: query details
252
- #: includes/class-mla-data.php:1987
253
- #, php-format
254
- msgid "%1$s: _execute_list_table_query WP_Query = \"%2$s\"."
255
- msgstr ""
256
-
257
- #. translators: 1: DEBUG tag 2: SQL statement
258
- #: includes/class-mla-data.php:1989
259
- #, php-format
260
- msgid "%1$s: _execute_list_table_query SQL_request = \"%2$s\"."
261
  msgstr ""
262
 
263
  #. translators: 1: DEBUG tag 2: query details
264
- #: includes/class-mla-data.php:1992
265
  #, php-format
266
  msgctxt "error_log"
267
  msgid "%1$s: _execute_list_table_query WP_Query = \"%2$s\"."
268
  msgstr ""
269
 
270
  #. translators: 1: DEBUG tag 2: SQL statement
271
- #: includes/class-mla-data.php:1994
272
  #, php-format
273
  msgctxt "error_log"
274
  msgid "%1$s: _execute_list_table_query SQL_request = \"%2$s\"."
275
  msgstr ""
276
 
277
  #. translators: 1: DEBUG tag 2: search filter details
278
- #: includes/class-mla-data.php:2367
279
- #, php-format
280
- msgid "%1$s: mla_query_posts_search_filter = \"%2$s\"."
281
- msgstr ""
282
-
283
- #. translators: 1: DEBUG tag 2: search filter details
284
- #: includes/class-mla-data.php:2370
285
  #, php-format
286
  msgctxt "error_log"
287
  msgid "%1$s: mla_query_posts_search_filter = \"%2$s\"."
288
  msgstr ""
289
 
290
  #. translators: 1: DEBUG tag 2: where filter details
291
- #: includes/class-mla-data.php:2436
292
- #, php-format
293
- msgid "%1$s: mla_query_posts_where_filter = \"%2$s\"."
294
- msgstr ""
295
-
296
- #. translators: 1: DEBUG tag 2: where filter details
297
- #: includes/class-mla-data.php:2439
298
  #, php-format
299
  msgctxt "error_log"
300
  msgid "%1$s: mla_query_posts_where_filter = \"%2$s\"."
301
  msgstr ""
302
 
303
  #. translators: 1: DEBUG tag 2: join filter details
304
- #: includes/class-mla-data.php:2490
305
- #, php-format
306
- msgid "%1$s: mla_query_posts_join_filter = \"%2$s\"."
307
- msgstr ""
308
-
309
- #. translators: 1: DEBUG tag 2: join filter details
310
- #: includes/class-mla-data.php:2493
311
  #, php-format
312
  msgctxt "error_log"
313
  msgid "%1$s: mla_query_posts_join_filter = \"%2$s\"."
314
  msgstr ""
315
 
316
  #. translators: 1: DEBUG tag 2: orderby details details
317
- #: includes/class-mla-data.php:2592
318
- #, php-format
319
- msgid "%1$s: mla_query_posts_orderby_filter = \"%2$s\"."
320
- msgstr ""
321
-
322
- #. translators: 1: DEBUG tag 2: orderby details details
323
- #: includes/class-mla-data.php:2595
324
  #, php-format
325
  msgctxt "error_log"
326
  msgid "%1$s: mla_query_posts_orderby_filter = \"%2$s\"."
327
  msgstr ""
328
 
329
  #. translators: 1: DEBUG tag 2: SQL clauses
330
- #: includes/class-mla-data.php:2631
331
- #, php-format
332
- msgid "%1$s: mla_query_posts_clauses_filter = \"%2$s\"."
333
- msgstr ""
334
-
335
- #. translators: 1: DEBUG tag 2: SQL clauses
336
- #: includes/class-mla-data.php:2634
337
  #, php-format
338
  msgctxt "error_log"
339
  msgid "%1$s: mla_query_posts_clauses_filter = \"%2$s\"."
340
  msgstr ""
341
 
342
  #. translators: 1: DEBUG tag 2: SQL clauses
343
- #: includes/class-mla-data.php:2655
344
- #, php-format
345
- msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
346
- msgstr ""
347
-
348
- #. translators: 1: DEBUG tag 2: SQL clauses
349
- #: includes/class-mla-data.php:2658
350
  #, php-format
351
  msgctxt "error_log"
352
  msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
353
  msgstr ""
354
 
355
  #. translators: 1: ERROR tag 2: post ID
356
- #: includes/class-mla-data.php:2692
357
  #, php-format
358
  msgctxt "error_log"
359
  msgid "%1$s: mla_get_attachment_by_id(%2$d) not found."
360
  msgstr ""
361
 
362
  #. translators: 1: ERROR tag 2: post ID 3: post_type
363
- #: includes/class-mla-data.php:2698
364
  #, php-format
365
  msgctxt "error_log"
366
  msgid "%1$s: mla_get_attachment_by_id(%2$d) wrong post_type \"%3$s\"."
367
  msgstr ""
368
 
369
- #: includes/class-mla-data.php:3313 includes/class-mla-data.php:3657
370
- #: includes/class-mla-list-table.php:929
371
  msgid "NO REFERENCE TESTS"
372
  msgstr ""
373
 
374
- #: includes/class-mla-data.php:3319 includes/class-mla-data.php:3663
375
- #: includes/class-mla-options.php:2838 includes/class-mla-options.php:2839
376
  msgid "ORPHAN"
377
  msgstr ""
378
 
379
- #: includes/class-mla-data.php:3323 includes/class-mla-data.php:3667
380
  msgid "UNUSED"
381
  msgstr ""
382
 
383
- #: includes/class-mla-data.php:3328 includes/class-mla-data.php:3672
384
  msgid "UNATTACHED"
385
  msgstr ""
386
 
387
- #: includes/class-mla-data.php:3330 includes/class-mla-data.php:3674
388
  msgid "INVALID PARENT"
389
  msgstr ""
390
 
391
  #. translators: 1: post_type, 2: post_title, 3: post ID, 4: query string, 5: error message
392
- #: includes/class-mla-data.php:3855
393
  #, php-format
394
  msgid "(%1$s) %2$s (ID %3$d) query \"%4$s\" failed, returning \"%5$s\""
395
  msgstr ""
396
 
397
- #: includes/class-mla-data.php:4046
398
  msgctxt "error_log"
399
  msgid "mla_parse_xmp_metadata xml_parse_into_struct failed."
400
  msgstr ""
401
 
402
- #: includes/class-mla-data.php:4049
403
  msgctxt "error_log"
404
  msgid "mla_parse_xmp_metadata set option failed."
405
  msgstr ""
406
 
407
- #: includes/class-mla-data.php:5136 includes/class-mla-settings.php:1777
408
  #: includes/class-mla-view-list-table.php:377
409
  #: includes/class-mla-view-list-table.php:393
410
  msgid "Yes"
411
  msgstr ""
412
 
413
- #: includes/class-mla-data.php:5138 includes/class-mla-list-table.php:282
414
- #: includes/class-mla-settings.php:1776
415
  #: includes/class-mla-view-list-table.php:379
416
  #: includes/class-mla-view-list-table.php:395
417
  msgid "No"
418
  msgstr ""
419
 
420
  #. translators: 1: meta_key
421
- #: includes/class-mla-data.php:5396 includes/class-mla-data.php:5494
422
  #, php-format
423
  msgid "Deleting %1$s"
424
  msgstr ""
425
 
426
  #. translators: 1: ERROR tag 2: meta_key
427
- #: includes/class-mla-data.php:5399
428
  #, php-format
429
  msgid "%1$s: meta:%2$s not found"
430
  msgstr ""
@@ -432,463 +377,471 @@ msgstr ""
432
  #. translators: 1: meta_key 2: meta_value
433
  #. translators: 1: meta_key 2: new_value
434
  #. translators: 1: meta_key 2: meta_value
435
- #: includes/class-mla-data.php:5408 includes/class-mla-data.php:5505
436
- #: includes/class-mla-data.php:5511
437
  #, php-format
438
  msgid "Adding %1$s = %2$s"
439
  msgstr ""
440
 
441
  #. translators: 1: ERROR tag 2: meta_key
442
- #: includes/class-mla-data.php:5412
443
  #, php-format
444
  msgid "%1$s: Adding meta:%2$s; not found"
445
  msgstr ""
446
 
447
  #. translators: 1: meta_key
448
- #: includes/class-mla-data.php:5419
449
  #, php-format
450
  msgid "Deleting Null meta:%1$s"
451
  msgstr ""
452
 
453
  #. translators: 1: element name 2: old_value 3: new_value
454
- #: includes/class-mla-data.php:5429 includes/class-mla-data.php:5580
455
- #: includes/class-mla-data.php:5641 includes/class-mla-data.php:5667
456
- #: includes/class-mla-data.php:5709 includes/class-mla-data.php:5722
457
- #: includes/class-mla-data.php:5731 includes/class-mla-data.php:5742
458
- #: includes/class-mla-data.php:5753 includes/class-mla-data.php:5766
459
- #: includes/class-mla-data.php:5775 includes/class-mla-data.php:5784
460
- #: includes/class-mla-mime-types.php:1052
461
- #: includes/class-mla-mime-types.php:2113
462
  #, php-format
463
  msgid "Changing %1$s from \"%2$s\" to \"%3$s\""
464
  msgstr ""
465
 
466
  #. translators: 1: ERROR tag 2: meta_key
467
- #: includes/class-mla-data.php:5434
468
  #, php-format
469
  msgid "%1$s: Changing meta:%2$s; not found"
470
  msgstr ""
471
 
472
  #. translators: 1: meta_key
473
- #: includes/class-mla-data.php:5535
474
  #, php-format
475
  msgid "Deleting old %1$s values"
476
  msgstr ""
477
 
478
  #. translators: 1: meta_key 2: old_value 3: new_value 4: update count
479
- #: includes/class-mla-data.php:5565
480
  #, php-format
481
  msgid "Changing %1$s from \"%2$s\" to \"%3$s\"; %4$d updates"
482
  msgstr ""
483
 
484
- #: includes/class-mla-data.php:5623
485
  msgid "Could not retrieve Attachment."
486
  msgstr ""
487
 
488
- #: includes/class-mla-data.php:5641 includes/class-mla-edit-media.php:424
489
- #: includes/class-mla-main.php:1602 includes/class-mla-main.php:1910
490
- #: includes/class-mla-main.php:2100 includes/class-mla-objects.php:278
491
- #: includes/class-mla-options.php:1077 includes/class-mla-options.php:1917
492
- #: includes/mla-main-search-box-template.php:42
493
- #: includes/mla-media-modal-js-template.php:32
494
  msgid "Title"
495
  msgstr ""
496
 
497
  #. translators: 1: ERROR tag 2: old_value
498
- #: includes/class-mla-data.php:5664
499
  #, php-format
500
  msgid "%1$s: Could not change Name/Slug \"%2$s\"; name already exists"
501
  msgstr ""
502
 
503
- #: includes/class-mla-data.php:5667 includes/class-mla-edit-media.php:425
504
- #: includes/class-mla-main.php:2101 includes/class-mla-options.php:1084
505
  msgid "Name/Slug"
506
  msgstr ""
507
 
508
  #. translators: 1: old_value
509
- #: includes/class-mla-data.php:5693
510
  #, php-format
511
  msgid "Deleting ALT Text, was \"%1$s\""
512
  msgstr ""
513
 
514
  #. translators: 1: ERROR tag 2: old_value
515
- #: includes/class-mla-data.php:5696
516
  #, php-format
517
  msgid "%1$s: Could not delete ALT Text, remains \"%2$s\""
518
  msgstr ""
519
 
520
- #: includes/class-mla-data.php:5709 includes/class-mla-edit-media.php:428
521
- #: includes/class-mla-list-table.php:1219 includes/class-mla-main.php:2104
522
- #: includes/class-mla-options.php:1091 includes/class-mla-options.php:1923
523
- #: includes/mla-main-search-box-template.php:44
524
- #: includes/mla-media-modal-js-template.php:40
525
  msgid "ALT Text"
526
  msgstr ""
527
 
528
  #. translators: 1: ERROR tag 2: old_value 3: new_value
529
- #: includes/class-mla-data.php:5712
530
  #, php-format
531
  msgid "%1$s: Could not change ALT Text from \"%2$s\" to \"%3$s\""
532
  msgstr ""
533
 
534
- #: includes/class-mla-data.php:5722 includes/class-mla-edit-media.php:426
535
- #: includes/class-mla-main.php:2102 includes/class-mla-options.php:1098
536
- #: includes/class-mla-options.php:1926
537
- #: includes/mla-main-search-box-template.php:45
538
- #: includes/mla-media-modal-js-template.php:45
539
  msgid "Caption"
540
  msgstr ""
541
 
542
- #: includes/class-mla-data.php:5731 includes/class-mla-edit-media.php:427
543
- #: includes/class-mla-main.php:2103 includes/class-mla-options.php:1105
544
- #: includes/class-mla-options.php:1929 includes/class-mla-settings.php:1510
545
- #: includes/class-mla-settings.php:1767 includes/class-mla-settings.php:1865
546
- #: includes/class-mla-settings.php:2229
547
- #: includes/mla-main-search-box-template.php:46
548
- #: includes/mla-media-modal-js-template.php:49
549
  msgid "Description"
550
  msgstr ""
551
 
552
- #: includes/class-mla-data.php:5742 includes/class-mla-list-table.php:903
553
- #: includes/class-mla-list-table.php:995 includes/class-mla-options.php:4460
554
- #: includes/class-mla-options.php:4807
555
  msgid "Parent"
556
  msgstr ""
557
 
558
- #: includes/class-mla-data.php:5753 includes/class-mla-edit-media.php:616
559
- #: includes/class-mla-edit-media.php:769 includes/class-mla-main.php:2107
560
- #: includes/class-mla-settings.php:1508 includes/class-mla-settings.php:1765
561
  msgid "Menu Order"
562
  msgstr ""
563
 
564
- #: includes/class-mla-data.php:5766 includes/class-mla-edit-media.php:395
565
- #: includes/class-mla-list-table.php:1375
566
- #: includes/class-mla-list-table.php:1378 includes/class-mla-main.php:1977
567
- #: includes/class-mla-main.php:2079
568
  msgid "Author"
569
  msgstr ""
570
 
571
- #: includes/class-mla-data.php:5775 includes/class-mla-edit-media.php:418
572
- #: includes/class-mla-main.php:2118
573
  msgid "Comments"
574
  msgstr ""
575
 
576
- #: includes/class-mla-data.php:5784 includes/class-mla-edit-media.php:419
577
- #: includes/class-mla-main.php:2119
578
  msgid "Pings"
579
  msgstr ""
580
 
581
- #: includes/class-mla-data.php:5815
582
  msgid "Adding"
583
  msgstr ""
584
 
585
- #: includes/class-mla-data.php:5819
586
  msgid "Removing"
587
  msgstr ""
588
 
589
- #: includes/class-mla-data.php:5828
590
  msgid "Replacing"
591
  msgstr ""
592
 
593
- #: includes/class-mla-data.php:5836
594
  msgid "Ignoring"
595
  msgstr ""
596
 
597
  #. translators: 1: action_name, 2: taxonomy
598
- #: includes/class-mla-data.php:5849
599
  #, php-format
600
  msgid "%1$s \"%2$s\" terms"
601
  msgstr ""
602
 
603
  #. translators: 1: taxonomy
604
- #: includes/class-mla-data.php:5853
605
  #, php-format
606
  msgid "You cannot assign \"%1$s\" terms"
607
  msgstr ""
608
 
609
  #. translators: 1: post ID
610
- #: includes/class-mla-data.php:5865 includes/class-mla-main.php:1144
611
  #, php-format
612
  msgid "Item %1$d, no changes detected."
613
  msgstr ""
614
 
615
  #. translators: 1: post ID
616
- #: includes/class-mla-data.php:5877
617
  #, php-format
618
  msgid "Item %1$d updated."
619
  msgstr ""
620
 
621
  #. translators: 1: ERROR tag 2: post ID
622
- #: includes/class-mla-data.php:5891
623
  #, php-format
624
  msgid "%1$s: Item %2$d update failed."
625
  msgstr ""
626
 
627
- #: includes/class-mla-edit-media.php:147 includes/class-mla-edit-media.php:183
628
- #: includes/class-mla-edit-media.php:237 includes/class-mla-main.php:428
629
- #: includes/class-mla-main.php:939 includes/class-mla-main.php:1789
630
- #: includes/class-mla-media-modal.php:415 includes/class-mla-options.php:4001
631
- #: includes/class-mla-polylang-support.php:371
632
- #: includes/class-mla-settings.php:340
 
633
  msgctxt "tag_delimiter"
634
  msgid ","
635
  msgstr ""
636
 
637
- #: includes/class-mla-edit-media.php:182
638
  msgid "Upload New Media items"
639
  msgstr ""
640
 
641
- #: includes/class-mla-edit-media.php:184 includes/class-mla-edit-media.php:239
642
- #: includes/class-mla-main.php:415
643
  msgid "An ajax.fail error has occurred. Please reload the page and try again."
644
  msgstr ""
645
 
646
- #: includes/class-mla-edit-media.php:185 includes/class-mla-edit-media.php:240
647
- #: includes/class-mla-main.php:416
648
  msgid "An ajax.done error has occurred. Please reload the page and try again."
649
  msgstr ""
650
 
651
- #: includes/class-mla-edit-media.php:188 includes/class-mla-edit-media.php:414
652
  msgid "Open Bulk Edit area"
653
  msgstr ""
654
 
655
- #: includes/class-mla-edit-media.php:189
656
  msgid "Close Bulk Edit area"
657
  msgstr ""
658
 
659
- #: includes/class-mla-edit-media.php:338 includes/class-mla-main.php:2012
660
  msgid "more"
661
  msgstr ""
662
 
663
- #: includes/class-mla-edit-media.php:339 includes/class-mla-main.php:2013
664
  msgid "less"
665
  msgstr ""
666
 
667
- #: includes/class-mla-edit-media.php:342 includes/class-mla-edit-media.php:373
668
- #: includes/class-mla-main.php:2016 includes/class-mla-main.php:2054
669
  msgid "Add"
670
  msgstr ""
671
 
672
- #: includes/class-mla-edit-media.php:343 includes/class-mla-edit-media.php:374
673
- #: includes/class-mla-main.php:2017 includes/class-mla-main.php:2055
674
  msgid "Remove"
675
  msgstr ""
676
 
677
- #: includes/class-mla-edit-media.php:344 includes/class-mla-edit-media.php:375
678
- #: includes/class-mla-main.php:2018 includes/class-mla-main.php:2056
679
- #: includes/class-mla-options.php:3531 includes/class-mla-options.php:3634
680
- #: includes/class-mla-options.php:3678 includes/class-mla-options.php:4696
681
- #: includes/class-mla-options.php:4746 includes/class-mla-options.php:4865
682
- #: includes/class-mla-options.php:4907 includes/class-mla-options.php:4932
683
  msgid "Replace"
684
  msgstr ""
685
 
686
- #: includes/class-mla-edit-media.php:420 includes/class-mla-main.php:2120
687
- #: includes/class-mla-main.php:2166 includes/class-mla-settings.php:1775
688
- #: includes/class-mla-settings.php:1813 includes/class-mla-settings.php:2240
 
 
 
 
 
 
689
  msgid "No Change"
690
  msgstr ""
691
 
692
- #: includes/class-mla-edit-media.php:421 includes/class-mla-main.php:2121
693
  msgid "Allow"
694
  msgstr ""
695
 
696
- #: includes/class-mla-edit-media.php:422 includes/class-mla-main.php:2122
697
  msgid "Do not allow"
698
  msgstr ""
699
 
700
- #: includes/class-mla-edit-media.php:429 includes/class-mla-list-table.php:900
701
- #: includes/class-mla-list-table.php:992 includes/class-mla-main.php:2105
 
702
  msgid "Parent ID"
703
  msgstr ""
704
 
705
- #: includes/class-mla-edit-media.php:430 includes/class-mla-edit-media.php:749
706
- #: includes/class-mla-main.php:2106
707
  #: includes/class-mla-upload-optional-list-table.php:281
708
  msgid "Select"
709
  msgstr ""
710
 
711
- #: includes/class-mla-edit-media.php:506
712
  msgid "Custom field mapping updated."
713
  msgstr ""
714
 
715
- #: includes/class-mla-edit-media.php:507
716
  msgid "IPTC/EXIF mapping updated."
717
  msgstr ""
718
 
719
  #. translators: date_i18n format for last modified date and time
720
- #: includes/class-mla-edit-media.php:525
721
  msgid "M j, Y @ G:i"
722
  msgstr ""
723
 
724
- #: includes/class-mla-edit-media.php:527
725
  msgid "Last modified"
726
  msgstr ""
727
 
728
- #: includes/class-mla-edit-media.php:538
729
  msgid "Map Custom Field metadata for this item"
730
  msgstr ""
731
 
732
- #: includes/class-mla-edit-media.php:538 includes/class-mla-main.php:1713
733
- #: includes/class-mla-main.php:2125
734
  msgid "Map Custom Field metadata"
735
  msgstr ""
736
 
737
- #: includes/class-mla-edit-media.php:540
738
  msgid "Map IPTC/EXIF metadata for this item"
739
  msgstr ""
740
 
741
- #: includes/class-mla-edit-media.php:540 includes/class-mla-main.php:1716
742
- #: includes/class-mla-main.php:2124
743
  msgid "Map IPTC/EXIF metadata"
744
  msgstr ""
745
 
746
- #: includes/class-mla-edit-media.php:612 includes/class-mla-edit-media.php:750
747
  msgid "Parent Info"
748
  msgstr ""
749
 
750
- #: includes/class-mla-edit-media.php:622 includes/class-mla-edit-media.php:793
751
  msgid "Attachment Metadata"
752
  msgstr ""
753
 
754
- #: includes/class-mla-edit-media.php:627 includes/class-mla-edit-media.php:827
755
- #: includes/class-mla-options.php:472
756
  msgid "Featured in"
757
  msgstr ""
758
 
759
- #: includes/class-mla-edit-media.php:631 includes/class-mla-edit-media.php:866
760
- #: includes/class-mla-options.php:481
761
  msgid "Inserted in"
762
  msgstr ""
763
 
764
- #: includes/class-mla-edit-media.php:635 includes/class-mla-edit-media.php:901
765
- #: includes/class-mla-options.php:490 includes/class-mla-settings.php:3927
766
  msgid "Gallery in"
767
  msgstr ""
768
 
769
- #: includes/class-mla-edit-media.php:639 includes/class-mla-edit-media.php:936
770
- #: includes/class-mla-options.php:499 includes/class-mla-settings.php:3937
771
  msgid "MLA Gallery in"
772
  msgstr ""
773
 
774
  #. translators: 1: ERROR tag 2: function name 3: template key
775
- #: includes/class-mla-edit-media.php:682 includes/class-mla-main.php:636
776
- #: includes/class-mla-settings.php:560
777
  #, php-format
778
  msgctxt "error_log"
779
  msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
780
  msgstr ""
781
 
782
- #: includes/class-mla-edit-media.php:728 includes/class-mla-list-table.php:703
783
- #: includes/class-mla-main.php:1615
784
  msgid "Scheduled"
785
  msgstr ""
786
 
787
- #: includes/class-mla-edit-media.php:731 includes/class-mla-list-table.php:706
788
  msgctxt "post state"
789
  msgid "Pending"
790
  msgstr ""
791
 
792
- #: includes/class-mla-edit-media.php:734 includes/class-mla-list-table.php:700
793
- #: includes/class-mla-main.php:1621
794
  msgid "Draft"
795
  msgstr ""
796
 
797
- #: includes/class-mla-edit-media.php:748
798
  msgid "Post Parent"
799
  msgstr ""
800
 
801
- #: includes/class-mla-edit-media.php:749 includes/class-mla-main.php:1901
802
  msgid "Select Parent"
803
  msgstr ""
804
 
805
- #: includes/class-mla-edit-media.php:816 includes/class-mla-edit-media.php:854
806
- #: includes/class-mla-edit-media.php:890 includes/class-mla-edit-media.php:925
807
- #: includes/class-mla-list-table.php:1042
808
- #: includes/class-mla-list-table.php:1091
809
- #: includes/class-mla-list-table.php:1137
810
- #: includes/class-mla-list-table.php:1182
811
  msgid "PARENT"
812
  msgstr ""
813
 
814
- #: includes/class-mla-edit-media.php:1119
815
  msgid "Most Used"
816
  msgstr ""
817
 
818
  #. translators: %s: add new taxonomy label
819
- #: includes/class-mla-edit-media.php:1148
820
  #, php-format
821
  msgid "+ %s"
822
  msgstr ""
823
 
824
- #: includes/class-mla-edit-media.php:1154 includes/class-mla-main.php:1902
825
- #: includes/class-mla-media-modal.php:1249
826
- #: includes/mla-media-modal-js-template.php:20
827
- #: includes/mla-media-modal-js-template.php:61
828
  msgid "Search"
829
  msgstr ""
830
 
831
- #: includes/class-mla-list-table.php:241
832
  msgctxt "list_table_column"
833
  msgid "ID/Parent"
834
  msgstr ""
835
 
836
- #: includes/class-mla-list-table.php:242
837
  msgctxt "list_table_column"
838
  msgid "Title/Name"
839
  msgstr ""
840
 
841
- #: includes/class-mla-list-table.php:243
842
  msgctxt "list_table_column"
843
  msgid "Title"
844
  msgstr ""
845
 
846
- #: includes/class-mla-list-table.php:244
847
  msgctxt "list_table_column"
848
  msgid "Name"
849
  msgstr ""
850
 
851
- #: includes/class-mla-list-table.php:245
852
  msgctxt "list_table_column"
853
  msgid "Parent ID"
854
  msgstr ""
855
 
856
- #: includes/class-mla-list-table.php:246
857
  msgctxt "list_table_column"
858
  msgid "Menu Order"
859
  msgstr ""
860
 
861
- #: includes/class-mla-list-table.php:247
862
  msgctxt "list_table_column"
863
  msgid "Featured in"
864
  msgstr ""
865
 
866
- #: includes/class-mla-list-table.php:248
867
  msgctxt "list_table_column"
868
  msgid "Inserted in"
869
  msgstr ""
870
 
871
- #: includes/class-mla-list-table.php:249
872
  msgctxt "list_table_column"
873
  msgid "Gallery in"
874
  msgstr ""
875
 
876
- #: includes/class-mla-list-table.php:250
877
  msgctxt "list_table_column"
878
  msgid "MLA Gallery in"
879
  msgstr ""
880
 
881
- #: includes/class-mla-list-table.php:251
882
  msgctxt "list_table_column"
883
  msgid "ALT Text"
884
  msgstr ""
885
 
886
- #: includes/class-mla-list-table.php:252
887
  msgctxt "list_table_column"
888
  msgid "Caption"
889
  msgstr ""
890
 
891
- #: includes/class-mla-list-table.php:253
892
  #: includes/class-mla-upload-list-table.php:186
893
  #: includes/class-mla-upload-optional-list-table.php:171
894
  #: includes/class-mla-view-list-table.php:179
@@ -896,70 +849,75 @@ msgctxt "list_table_column"
896
  msgid "Description"
897
  msgstr ""
898
 
899
- #: includes/class-mla-list-table.php:254
900
  #: includes/class-mla-upload-list-table.php:178
901
  #: includes/class-mla-upload-optional-list-table.php:168
902
  msgctxt "list_table_column"
903
  msgid "MIME Type"
904
  msgstr ""
905
 
906
- #: includes/class-mla-list-table.php:255
907
  msgctxt "list_table_column"
908
  msgid "File URL"
909
  msgstr ""
910
 
911
- #: includes/class-mla-list-table.php:256
912
  msgctxt "list_table_column"
913
  msgid "Base File"
914
  msgstr ""
915
 
916
- #: includes/class-mla-list-table.php:257
917
  msgctxt "list_table_column"
918
  msgid "Date"
919
  msgstr ""
920
 
921
- #: includes/class-mla-list-table.php:258
922
  msgctxt "list_table_column"
923
  msgid "Last Modified"
924
  msgstr ""
925
 
926
- #: includes/class-mla-list-table.php:259
927
  msgctxt "list_table_column"
928
  msgid "Author"
929
  msgstr ""
930
 
931
- #: includes/class-mla-list-table.php:260
932
  msgctxt "list_table_column"
933
  msgid "Attached to"
934
  msgstr ""
935
 
936
- #: includes/class-mla-list-table.php:281
937
  msgid "All"
938
  msgstr ""
939
 
940
- #: includes/class-mla-list-table.php:566
941
- #: includes/class-mla-list-table.php:1277 includes/class-mla-options.php:604
942
- #: includes/class-mla-options.php:806 includes/class-mla-options.php:830
943
- #: includes/class-mla-options.php:844 includes/class-mla-settings.php:2314
 
 
 
 
944
  msgid "None"
945
  msgstr ""
946
 
947
- #: includes/class-mla-list-table.php:572 includes/class-mla-list-table.php:605
948
- #: includes/class-mla-list-table.php:900 includes/class-mla-list-table.php:992
949
- #: includes/class-mla-list-table.php:1215
950
- #: includes/class-mla-list-table.php:1259
951
- #: includes/class-mla-list-table.php:1291
952
- #: includes/class-mla-list-table.php:1375
 
953
  msgid "Filter by"
954
  msgstr ""
955
 
956
- #: includes/class-mla-list-table.php:582
957
- #: includes/class-mla-media-modal.php:910
958
  msgid "Not Supported"
959
  msgstr ""
960
 
961
  #. translators: 1: column_name 2: column_values
962
- #: includes/class-mla-list-table.php:625
963
  #: includes/class-mla-upload-list-table.php:247
964
  #: includes/class-mla-upload-optional-list-table.php:228
965
  #: includes/class-mla-view-list-table.php:236
@@ -967,14 +925,14 @@ msgstr ""
967
  msgid "column_default: %1$s, %2$s"
968
  msgstr ""
969
 
970
- #: includes/class-mla-list-table.php:684 includes/class-mla-list-table.php:756
971
- #: includes/class-mla-list-table.php:1047
972
- #: includes/class-mla-list-table.php:1096
973
- #: includes/class-mla-list-table.php:1142
974
- #: includes/class-mla-list-table.php:1187
975
- #: includes/class-mla-list-table.php:1395
976
- #: includes/class-mla-list-table.php:1712
977
- #: includes/class-mla-polylang-support.php:370
978
  #: includes/class-mla-upload-list-table.php:312
979
  #: includes/class-mla-upload-list-table.php:610
980
  #: includes/class-mla-view-list-table.php:302
@@ -982,198 +940,202 @@ msgstr ""
982
  msgid "Edit"
983
  msgstr ""
984
 
985
- #: includes/class-mla-list-table.php:709
 
986
  msgid "Trash"
987
  msgstr ""
988
 
989
- #: includes/class-mla-list-table.php:745
990
  msgid "Restore this item from the Trash"
991
  msgstr ""
992
 
993
- #: includes/class-mla-list-table.php:745
994
- #: includes/class-mla-list-table.php:1709
995
  msgid "Restore"
996
  msgstr ""
997
 
998
- #: includes/class-mla-list-table.php:756
999
  #: includes/class-mla-upload-list-table.php:312
1000
  #: includes/class-mla-view-list-table.php:302
1001
  msgid "Edit this item"
1002
  msgstr ""
1003
 
1004
- #: includes/class-mla-list-table.php:757
1005
  #: includes/class-mla-upload-list-table.php:314
1006
  #: includes/class-mla-view-list-table.php:304
1007
  msgid "Edit this item inline"
1008
  msgstr ""
1009
 
1010
- #: includes/class-mla-list-table.php:757 includes/class-mla-main.php:2099
1011
- #: includes/class-mla-options.php:3408 includes/class-mla-options.php:3715
1012
  #: includes/class-mla-upload-list-table.php:314
1013
  #: includes/class-mla-view-list-table.php:304
1014
  msgid "Quick Edit"
1015
  msgstr ""
1016
 
1017
- #: includes/class-mla-list-table.php:763
1018
  msgid "Move this item to the Trash"
1019
  msgstr ""
1020
 
1021
- #: includes/class-mla-list-table.php:763
1022
- #: includes/class-mla-list-table.php:1715
1023
  msgid "Move to Trash"
1024
  msgstr ""
1025
 
1026
- #: includes/class-mla-list-table.php:768
1027
  #: includes/class-mla-upload-list-table.php:318
1028
  #: includes/class-mla-view-list-table.php:310
1029
  msgid "Delete this item Permanently"
1030
  msgstr ""
1031
 
1032
- #: includes/class-mla-list-table.php:768
1033
- #: includes/class-mla-list-table.php:1710
1034
- #: includes/class-mla-list-table.php:1717
1035
  #: includes/class-mla-upload-list-table.php:318
1036
  #: includes/class-mla-view-list-table.php:310
1037
  #: includes/class-mla-view-list-table.php:514
1038
  msgid "Delete Permanently"
1039
  msgstr ""
1040
 
1041
- #: includes/class-mla-list-table.php:776 includes/class-mla-settings.php:3030
1042
  msgid "Download"
1043
  msgstr ""
1044
 
1045
- #: includes/class-mla-list-table.php:779 includes/class-mla-settings.php:1753
1046
  msgid "View"
1047
  msgstr ""
1048
 
1049
- #: includes/class-mla-list-table.php:825 includes/class-mla-list-table.php:897
1050
- #: includes/class-mla-main.php:419 includes/class-mla-main.php:1606
1051
- #: includes/class-mla-polylang-support.php:367
 
 
1052
  msgid "(no title)"
1053
  msgstr ""
1054
 
1055
- #: includes/class-mla-list-table.php:989
1056
  msgid "(no title: bad ID)"
1057
  msgstr ""
1058
 
1059
- #: includes/class-mla-list-table.php:1024
1060
- #: includes/class-mla-list-table.php:1069
1061
- #: includes/class-mla-list-table.php:1119
1062
- #: includes/class-mla-list-table.php:1164 includes/class-mla-options.php:476
1063
- #: includes/class-mla-options.php:485 includes/class-mla-options.php:494
1064
- #: includes/class-mla-options.php:503
1065
  msgid "Disabled"
1066
  msgstr ""
1067
 
1068
- #: includes/class-mla-list-table.php:1262 includes/class-mla-settings.php:1858
1069
- #: includes/class-mla-settings.php:2223
1070
  msgid "MIME Type"
1071
  msgstr ""
1072
 
1073
- #: includes/class-mla-list-table.php:1295
1074
  msgid "Base File"
1075
  msgstr ""
1076
 
1077
- #: includes/class-mla-list-table.php:1311
1078
- #: includes/class-mla-list-table.php:1344
1079
  msgid "Unpublished"
1080
  msgstr ""
1081
 
1082
  #. translators: 1: upload/last modified date and time
1083
- #: includes/class-mla-list-table.php:1320
1084
- #: includes/class-mla-list-table.php:1351
1085
  #, php-format
1086
  msgid "%1$s from now"
1087
  msgstr ""
1088
 
1089
  #. translators: 1: upload/last modified date and time
1090
- #: includes/class-mla-list-table.php:1323
1091
- #: includes/class-mla-list-table.php:1353
1092
  #, php-format
1093
  msgid "%1$s ago"
1094
  msgstr ""
1095
 
1096
  #. translators: format for upload/last modified date
1097
  #. translators: date format in table columns, see http://php.net/date
1098
- #: includes/class-mla-list-table.php:1327
1099
- #: includes/class-mla-list-table.php:1356
1100
- #: includes/class-mla-list-table.php:1412 includes/class-mla-main.php:1631
1101
  msgid "Y/m/d"
1102
  msgstr ""
1103
 
1104
- #: includes/class-mla-list-table.php:1414 includes/class-mla-options.php:1194
1105
  msgctxt "table_view_singular"
1106
  msgid "Unattached"
1107
  msgstr ""
1108
 
1109
- #: includes/class-mla-list-table.php:1417
1110
  msgid "Set Parent"
1111
  msgstr ""
1112
 
1113
- #: includes/class-mla-list-table.php:1564
1114
  msgctxt "uploaded files"
1115
  msgid "All"
1116
  msgid_plural "All"
1117
  msgstr[0] ""
1118
  msgstr[1] ""
1119
 
1120
- #: includes/class-mla-list-table.php:1743
1121
  msgid "Filter"
1122
  msgstr ""
1123
 
1124
- #: includes/class-mla-list-table.php:1747
1125
- #: includes/mla-media-modal-js-template.php:58
1126
  msgid "Terms Search"
1127
  msgstr ""
1128
 
1129
- #: includes/class-mla-list-table.php:1753
1130
- #: includes/class-mla-polylang-support.php:1651
 
1131
  msgid "Clear Filter-by"
1132
  msgstr ""
1133
 
1134
- #: includes/class-mla-list-table.php:1757
1135
  msgid "Empty Trash"
1136
  msgstr ""
1137
 
1138
- #: includes/class-mla-main.php:417 includes/class-mla-settings.php:337
1139
  msgid "Error while saving the changes."
1140
  msgstr ""
1141
 
1142
- #: includes/class-mla-main.php:418 includes/class-mla-settings.php:338
1143
  msgid "Remove From Bulk Edit"
1144
  msgstr ""
1145
 
1146
- #: includes/class-mla-main.php:420
1147
  msgid "Bulk Edit items"
1148
  msgstr ""
1149
 
1150
- #: includes/class-mla-main.php:421 includes/class-mla-main.php:2126
1151
- #: includes/class-mla-settings.php:354
1152
  msgid "Waiting"
1153
  msgstr ""
1154
 
1155
- #: includes/class-mla-main.php:422 includes/class-mla-main.php:2128
1156
- #: includes/class-mla-settings.php:356
1157
  msgid "Complete"
1158
  msgstr ""
1159
 
1160
- #: includes/class-mla-main.php:423 includes/class-mla-settings.php:357
1161
  msgid "Unchanged"
1162
  msgstr ""
1163
 
1164
- #: includes/class-mla-main.php:424 includes/class-mla-settings.php:358
1165
  msgid "Succeeded"
1166
  msgstr ""
1167
 
1168
- #: includes/class-mla-main.php:425 includes/class-mla-settings.php:359
1169
  msgid "Failed"
1170
  msgstr ""
1171
 
1172
- #: includes/class-mla-main.php:426 includes/class-mla-settings.php:362
1173
  msgid "CANCELED"
1174
  msgstr ""
1175
 
1176
- #: includes/class-mla-main.php:529
1177
  #, php-format
1178
  msgid "Item permanently deleted."
1179
  msgid_plural "%d items permanently deleted."
@@ -1181,42 +1143,42 @@ msgstr[0] ""
1181
  msgstr[1] ""
1182
 
1183
  #. translators: 1: post ID
1184
- #: includes/class-mla-main.php:534 includes/class-mla-main.php:2305
1185
  #, php-format
1186
  msgid "Item %1$d moved to Trash."
1187
  msgstr ""
1188
 
1189
- #: includes/class-mla-main.php:553
1190
  msgid "Entries per page"
1191
  msgstr ""
1192
 
1193
- #: includes/class-mla-main.php:1081
1194
  msgid "You are not allowed to edit Attachment: "
1195
  msgstr ""
1196
 
1197
  #. translators: 1: ERROR tag 2: bulk action
1198
- #: includes/class-mla-main.php:1134
1199
  #, php-format
1200
  msgid "%1$s: Unknown bulk action %2$s"
1201
  msgstr ""
1202
 
1203
- #: includes/class-mla-main.php:1156
1204
  msgid "no changes detected"
1205
  msgstr ""
1206
 
1207
  #. translators: 1: action name, e.g., edit
1208
- #: includes/class-mla-main.php:1202 includes/class-mla-settings.php:1632
1209
- #: includes/class-mla-settings.php:2099
1210
  #, php-format
1211
  msgid "Bulk Action %1$s - no items selected."
1212
  msgstr ""
1213
 
1214
- #: includes/class-mla-main.php:1253
1215
  msgid "You do not have permission to manage attachments."
1216
  msgstr ""
1217
 
1218
  #. translators: 1: number of items
1219
- #: includes/class-mla-main.php:1320
1220
  #, php-format
1221
  msgctxt "deleted items"
1222
  msgid "%s item deleted."
@@ -1224,155 +1186,157 @@ msgid_plural "%s items deleted."
1224
  msgstr[0] ""
1225
  msgstr[1] ""
1226
 
1227
- #: includes/class-mla-main.php:1322
1228
  msgid "No items deleted."
1229
  msgstr ""
1230
 
1231
- #: includes/class-mla-main.php:1376
1232
  msgid "Empty Terms Search; ignored"
1233
  msgstr ""
1234
 
1235
  #. translators: 1: row-level action, e.g., single_item_delete, single_item_edit
1236
  #. translators: 1: bulk_action, e.g., single_item_delete, single_item_edit
1237
- #: includes/class-mla-main.php:1388 includes/class-mla-settings.php:1669
1238
- #: includes/class-mla-settings.php:2138
1239
  #, php-format
1240
  msgid "Unknown mla_admin_action - \"%1$s\""
1241
  msgstr ""
1242
 
1243
- #: includes/class-mla-main.php:1421
1244
  msgid "term search results for"
1245
  msgstr ""
1246
 
1247
- #: includes/class-mla-main.php:1424
1248
  msgid "post/parent results for"
1249
  msgstr ""
1250
 
1251
- #: includes/class-mla-main.php:1426
1252
  msgid "search results for"
1253
  msgstr ""
1254
 
1255
- #: includes/class-mla-main.php:1602 includes/class-mla-main.php:1911
 
1256
  msgid "Type"
1257
  msgstr ""
1258
 
1259
- #: includes/class-mla-main.php:1602 includes/class-mla-main.php:1912
1260
  msgid "Date"
1261
  msgstr ""
1262
 
1263
- #: includes/class-mla-main.php:1602 includes/class-mla-main.php:1913
1264
- #: includes/class-mla-settings.php:2239
1265
  msgid "Status"
1266
  msgstr ""
1267
 
1268
- #: includes/class-mla-main.php:1612
1269
  msgid "Published"
1270
  msgstr ""
1271
 
1272
- #: includes/class-mla-main.php:1618
1273
  msgid "Pending Review"
1274
  msgstr ""
1275
 
1276
- #: includes/class-mla-main.php:1660 includes/class-mla-main.php:1745
1277
  msgid "No post ID found"
1278
  msgstr ""
1279
 
1280
- #: includes/class-mla-main.php:1667 includes/class-mla-main.php:1752
1281
- #: includes/class-mla-polylang-support.php:271
1282
  msgid "You are not allowed to edit this Attachment."
1283
  msgstr ""
1284
 
1285
- #: includes/class-mla-main.php:1719 includes/class-mla-main.php:1923
1286
- #: includes/class-mla-main.php:2113 includes/class-mla-settings.php:1512
1287
- #: includes/class-mla-settings.php:1773 includes/class-mla-settings.php:1867
1288
- #: includes/class-mla-settings.php:2237
1289
  msgid "Update"
1290
  msgstr ""
1291
 
1292
- #: includes/class-mla-main.php:1858
1293
  msgid "All Post Types"
1294
  msgstr ""
1295
 
1296
- #: includes/class-mla-main.php:1904
1297
  msgid "For"
1298
  msgstr ""
1299
 
1300
- #: includes/class-mla-main.php:1914 includes/class-mla-shortcodes.php:838
1301
  msgid "Unattached"
1302
  msgstr ""
1303
 
1304
- #: includes/class-mla-main.php:1919 includes/class-mla-main.php:2112
1305
- #: includes/class-mla-polylang-support.php:1644
1306
- #: includes/class-mla-settings.php:1513 includes/class-mla-settings.php:1772
1307
- #: includes/class-mla-settings.php:1868 includes/class-mla-settings.php:1940
1308
- #: includes/class-mla-settings.php:2236 includes/class-mla-settings.php:2707
1309
- #: includes/class-mla-settings.php:2843
 
1310
  msgid "Cancel"
1311
  msgstr ""
1312
 
1313
- #: includes/class-mla-main.php:2114 includes/class-mla-options.php:3422
1314
- #: includes/class-mla-options.php:3716 includes/class-mla-settings.php:1774
1315
- #: includes/class-mla-settings.php:2238
1316
  msgid "Bulk Edit"
1317
  msgstr ""
1318
 
1319
- #: includes/class-mla-main.php:2127
1320
  msgid "In-process"
1321
  msgstr ""
1322
 
1323
- #: includes/class-mla-main.php:2129 includes/class-mla-options.php:494
1324
- #: includes/class-mla-options.php:503 includes/class-mla-settings.php:2710
1325
- #: includes/class-mla-settings.php:2846
1326
  msgid "Refresh"
1327
  msgstr ""
1328
 
1329
- #: includes/class-mla-main.php:2218
1330
  msgid "You are not allowed to delete this item."
1331
  msgstr ""
1332
 
1333
  #. translators: 1: ERROR tag 2: post ID
1334
- #: includes/class-mla-main.php:2226
1335
  #, php-format
1336
  msgid "%1$s: Item %2$d could NOT be deleted."
1337
  msgstr ""
1338
 
1339
  #. translators: 1: post ID
1340
- #: includes/class-mla-main.php:2233
1341
  #, php-format
1342
  msgid "Item %1$d permanently deleted."
1343
  msgstr ""
1344
 
1345
- #: includes/class-mla-main.php:2250
1346
  msgid "You are not allowed to move this item out of the Trash."
1347
  msgstr ""
1348
 
1349
  #. translators: 1: ERROR tag 2: post ID
1350
- #: includes/class-mla-main.php:2258
1351
  #, php-format
1352
  msgid "%1$s: Item %2$d could NOT be restored from Trash."
1353
  msgstr ""
1354
 
1355
  #. translators: 1: post ID
1356
- #: includes/class-mla-main.php:2273
1357
  #, php-format
1358
  msgid "Item %1$d restored from Trash."
1359
  msgstr ""
1360
 
1361
- #: includes/class-mla-main.php:2290
1362
  msgid "You are not allowed to move this item to the Trash."
1363
  msgstr ""
1364
 
1365
  #. translators: 1: ERROR tag 2: post ID
1366
- #: includes/class-mla-main.php:2298
1367
  #, php-format
1368
  msgid "%1$s: Item %2$d could NOT be moved to Trash."
1369
  msgstr ""
1370
 
1371
  #: includes/class-mla-media-modal.php:245
1372
  #: includes/class-mla-media-modal.php:251
1373
- #: includes/class-mla-media-modal.php:824
1374
- #: includes/class-mla-media-modal.php:859
1375
- #: includes/class-mla-media-modal.php:904
1376
  msgid "Click to toggle"
1377
  msgstr ""
1378
 
@@ -1386,58 +1350,58 @@ msgstr ""
1386
  msgid "%1$s %2$d"
1387
  msgstr ""
1388
 
1389
- #: includes/class-mla-media-modal.php:521
1390
  msgid "Search Box"
1391
  msgstr ""
1392
 
1393
- #: includes/class-mla-media-modal.php:522
1394
  msgid "Loading..."
1395
  msgstr ""
1396
 
1397
- #: includes/class-mla-media-modal.php:870
1398
  msgid "Tags"
1399
  msgstr ""
1400
 
1401
  #. translators: %s: add new taxonomy label
1402
  #. translators: %s: add new View
1403
  #. translators: %s: add new Upload MIME Type
1404
- #: includes/class-mla-media-modal.php:872 includes/class-mla-objects.php:46
1405
- #: includes/class-mla-objects.php:76 includes/class-mla-settings.php:1753
1406
- #: includes/class-mla-settings.php:2219
1407
  #, php-format
1408
  msgid "Add New %1$s"
1409
  msgstr ""
1410
 
1411
- #: includes/class-mla-media-modal.php:888
1412
  msgid "Choose from the most used tags"
1413
  msgstr ""
1414
 
1415
- #: includes/class-mla-media-modal.php:1232
1416
- #: includes/class-mla-media-modal.php:1248
1417
  msgid "Search Terms"
1418
  msgstr ""
1419
 
1420
- #: includes/class-mla-media-modal.php:1233
1421
  msgid "There are no taxonomies to search"
1422
  msgstr ""
1423
 
1424
- #: includes/class-mla-media-modal.php:1251
1425
  msgid "All phrases"
1426
  msgstr ""
1427
 
1428
- #: includes/class-mla-media-modal.php:1253
1429
  msgid "Any phrase"
1430
  msgstr ""
1431
 
1432
- #: includes/class-mla-media-modal.php:1255
1433
  msgid "All terms"
1434
  msgstr ""
1435
 
1436
- #: includes/class-mla-media-modal.php:1257
1437
  msgid "Any term"
1438
  msgstr ""
1439
 
1440
- #: includes/class-mla-media-modal.php:1259
1441
  msgid "Exact"
1442
  msgstr ""
1443
 
@@ -1452,233 +1416,233 @@ msgid "Copied from previous filter/plugin"
1452
  msgstr ""
1453
 
1454
  #. translators: 1: ERROR tag 2: raw_mime_type
1455
- #: includes/class-mla-mime-types.php:906
1456
  #, php-format
1457
  msgid "%1$s: Bad specification part \"%2$s\""
1458
  msgstr ""
1459
 
1460
  #. translators: 1: ERROR tag 2: option, e.g., any, match, null
1461
- #: includes/class-mla-mime-types.php:912
1462
  #, php-format
1463
  msgid "%1$s: Bad specification option \"%2$s\""
1464
  msgstr ""
1465
 
1466
  #. translators: 1: ERROR tag 2: prefix, e.g., custom
1467
- #: includes/class-mla-mime-types.php:916
1468
  #, php-format
1469
  msgid "%1$s: Bad specification prefix \"%2$s\""
1470
  msgstr ""
1471
 
1472
- #: includes/class-mla-mime-types.php:947
1473
- #: includes/class-mla-mime-types.php:1064
1474
  msgid "Ignoring specification for Post MIME Type; using slug"
1475
  msgstr ""
1476
 
1477
  #. translators: 1: element name 2: bad_value 3: good_value
1478
- #: includes/class-mla-mime-types.php:953
1479
- #: includes/class-mla-mime-types.php:1976
1480
  #, php-format
1481
  msgid "<br>Changing %1$s \"%2$s\" to valid value \"%3$s\""
1482
  msgstr ""
1483
 
1484
- #: includes/class-mla-mime-types.php:953
1485
- #: includes/class-mla-mime-types.php:1041
1486
- #: includes/class-mla-mime-types.php:1052 includes/class-mla-settings.php:1497
1487
- #: includes/class-mla-settings.php:1754
1488
  msgid "Slug"
1489
  msgstr ""
1490
 
1491
  #. translators: 1: ERROR tag 2: slug
1492
- #: includes/class-mla-mime-types.php:961
1493
- #: includes/class-mla-mime-types.php:1049
1494
  #, php-format
1495
  msgid "%1$s: Could not add Slug \"%2$s\"; value already exists"
1496
  msgstr ""
1497
 
1498
  #. translators: 1: slug
1499
- #: includes/class-mla-mime-types.php:996
1500
  #, php-format
1501
  msgid "Edit view \"%1$s\"; added"
1502
  msgstr ""
1503
 
1504
  #. translators: 1: element name 2: bad_value 3: good_value
1505
- #: includes/class-mla-mime-types.php:1041
1506
- #: includes/class-mla-mime-types.php:2102
1507
  #, php-format
1508
  msgid "<br>Changing new %1$s \"%2$s\" to valid value \"%3$s\""
1509
  msgstr ""
1510
 
1511
  #. translators: 1: slug
1512
- #: includes/class-mla-mime-types.php:1094
1513
  #, php-format
1514
  msgid "Edit view \"%1$s\"; no changes detected"
1515
  msgstr ""
1516
 
1517
  #. translators: 1: slug
1518
- #: includes/class-mla-mime-types.php:1108
1519
  #, php-format
1520
  msgid "Edit view \"%1$s\"; updated"
1521
  msgstr ""
1522
 
1523
  #. translators: 1: slug
1524
- #: includes/class-mla-mime-types.php:1181
1525
  #, php-format
1526
  msgid "View \"%1$s\" reverted to standard"
1527
  msgstr ""
1528
 
1529
  #. translators: 1: slug
1530
- #: includes/class-mla-mime-types.php:1187
1531
  #, php-format
1532
  msgid "View \"%1$s\" deleted"
1533
  msgstr ""
1534
 
1535
  #. translators: 1: ERROR tag 2: slug
1536
- #: includes/class-mla-mime-types.php:1195
1537
  #, php-format
1538
  msgid "%1$s: Did not find view \"%2$s\""
1539
  msgstr ""
1540
 
1541
- #: includes/class-mla-mime-types.php:1454 includes/class-mla-options.php:1140
1542
  msgctxt "table_view_singular"
1543
  msgid "All"
1544
  msgstr ""
1545
 
1546
- #: includes/class-mla-mime-types.php:1455 includes/class-mla-options.php:1141
1547
  msgctxt "table_view_plural"
1548
  msgid "All"
1549
  msgstr ""
1550
 
1551
- #: includes/class-mla-mime-types.php:1458
1552
  msgctxt "table_view_singular"
1553
  msgid "Active"
1554
  msgstr ""
1555
 
1556
- #: includes/class-mla-mime-types.php:1459
1557
  msgctxt "table_view_plural"
1558
  msgid "Active"
1559
  msgstr ""
1560
 
1561
- #: includes/class-mla-mime-types.php:1462
1562
  msgctxt "table_view_singular"
1563
  msgid "Inactive"
1564
  msgstr ""
1565
 
1566
- #: includes/class-mla-mime-types.php:1463
1567
  msgctxt "table_view_plural"
1568
  msgid "Inactive"
1569
  msgstr ""
1570
 
1571
- #: includes/class-mla-mime-types.php:1466
1572
  msgctxt "table_view_singular"
1573
  msgid "WordPress"
1574
  msgstr ""
1575
 
1576
- #: includes/class-mla-mime-types.php:1467
1577
  msgctxt "table_view_plural"
1578
  msgid "WordPress"
1579
  msgstr ""
1580
 
1581
- #: includes/class-mla-mime-types.php:1470
1582
  msgctxt "table_view_singular"
1583
  msgid "MLA"
1584
  msgstr ""
1585
 
1586
- #: includes/class-mla-mime-types.php:1471
1587
  msgctxt "table_view_plural"
1588
  msgid "MLA"
1589
  msgstr ""
1590
 
1591
- #: includes/class-mla-mime-types.php:1474
1592
  msgctxt "table_view_singular"
1593
  msgid "Custom"
1594
  msgstr ""
1595
 
1596
- #: includes/class-mla-mime-types.php:1475
1597
  msgctxt "table_view_plural"
1598
  msgid "Custom"
1599
  msgstr ""
1600
 
1601
- #: includes/class-mla-mime-types.php:1666
1602
  msgid "icon"
1603
  msgstr ""
1604
 
1605
- #: includes/class-mla-mime-types.php:1960
1606
- #: includes/class-mla-mime-types.php:2059
1607
  msgid "Cannot load Upload MIME Types"
1608
  msgstr ""
1609
 
1610
- #: includes/class-mla-mime-types.php:1971
1611
  msgid "Extension is required"
1612
  msgstr ""
1613
 
1614
- #: includes/class-mla-mime-types.php:1976
1615
- #: includes/class-mla-mime-types.php:2102
1616
- #: includes/class-mla-mime-types.php:2113 includes/class-mla-settings.php:1856
1617
- #: includes/class-mla-settings.php:2221
1618
  msgid "Extension"
1619
  msgstr ""
1620
 
1621
  #. translators: 1: ERROR tag 2: slug
1622
- #: includes/class-mla-mime-types.php:1984
1623
  #, php-format
1624
  msgid "%1$s: Could not add extension \"%2$s\"; value already exists"
1625
  msgstr ""
1626
 
1627
- #: includes/class-mla-mime-types.php:1992
1628
  msgid "MIME type is required"
1629
  msgstr ""
1630
 
1631
  #. translators: 1: ERROR tag 2: clean_mime_type
1632
- #: includes/class-mla-mime-types.php:1997
1633
- #: includes/class-mla-mime-types.php:2144
1634
  #, php-format
1635
  msgid "%1$s: Bad MIME type; try \"%2$s\""
1636
  msgstr ""
1637
 
1638
  #. translators: 1: slug
1639
- #: includes/class-mla-mime-types.php:2034
1640
  #, php-format
1641
  msgid "Upload MIME Type \"%1$s\"; added"
1642
  msgstr ""
1643
 
1644
- #: includes/class-mla-mime-types.php:2040
1645
- #: includes/class-mla-mime-types.php:2229
1646
- #: includes/class-mla-mime-types.php:2308
1647
  msgid "Cannot update Upload MIME Types"
1648
  msgstr ""
1649
 
1650
  #. translators: 1: ERROR tag 2: slug
1651
- #: includes/class-mla-mime-types.php:2110
1652
  #, php-format
1653
  msgid "%1$s: Could not add new extension \"%2$s\"; value already exists"
1654
  msgstr ""
1655
 
1656
  #. translators: 1: slug
1657
- #: includes/class-mla-mime-types.php:2209
1658
  #, php-format
1659
  msgid "Edit type \"%1$s\"; no changes detected"
1660
  msgstr ""
1661
 
1662
  #. translators: 1: slug
1663
- #: includes/class-mla-mime-types.php:2223
1664
  #, php-format
1665
  msgid "Edit type \"%1$s\"; updated"
1666
  msgstr ""
1667
 
1668
  #. translators: 1: slug
1669
- #: includes/class-mla-mime-types.php:2296
1670
  #, php-format
1671
  msgid "Upload MIME Type \"%1$s\"; reverted to standard"
1672
  msgstr ""
1673
 
1674
  #. translators: 1: slug
1675
- #: includes/class-mla-mime-types.php:2302
1676
  #, php-format
1677
  msgid "Upload MIME Type \"%1$s\"; deleted"
1678
  msgstr ""
1679
 
1680
  #. translators: 1: ERROR tag 2: slug
1681
- #: includes/class-mla-mime-types.php:2317
1682
  #, php-format
1683
  msgid "%1$s: Did not find Upload type \"%2$s\""
1684
  msgstr ""
@@ -1787,81 +1751,81 @@ msgstr ""
1787
  msgid "Automatically add paragraphs"
1788
  msgstr ""
1789
 
1790
- #: includes/class-mla-options.php:385
1791
  msgid "error loading tpls/mla-option-templates.tpl"
1792
  msgstr ""
1793
 
1794
- #: includes/class-mla-options.php:388
1795
  msgid "tpls/mla-option-templates.tpl not found"
1796
  msgstr ""
1797
 
1798
- #: includes/class-mla-options.php:441 includes/class-mla-options.php:1744
1799
  msgid "Attachment Categories"
1800
  msgstr ""
1801
 
1802
- #: includes/class-mla-options.php:444
1803
  msgid "Check this option to add support for Attachment Categories."
1804
  msgstr ""
1805
 
1806
- #: includes/class-mla-options.php:448 includes/class-mla-options.php:1759
1807
  msgid "Attachment Tags"
1808
  msgstr ""
1809
 
1810
- #: includes/class-mla-options.php:451
1811
  msgid "Check this option to add support for Attachment Tags."
1812
  msgstr ""
1813
 
1814
- #: includes/class-mla-options.php:455 includes/class-mla-settings.php:1339
1815
  msgid "Where-used Reporting"
1816
  msgstr ""
1817
 
1818
- #: includes/class-mla-options.php:460
1819
  msgid "Exclude Revisions"
1820
  msgstr ""
1821
 
1822
- #: includes/class-mla-options.php:463
1823
  msgid "Check this option to exclude revisions from where-used reporting."
1824
  msgstr ""
1825
 
1826
- #: includes/class-mla-options.php:467
1827
  msgid "Where-used database access tuning"
1828
  msgstr ""
1829
 
1830
- #: includes/class-mla-options.php:476 includes/class-mla-options.php:485
1831
  msgid "Enabled"
1832
  msgstr ""
1833
 
1834
- #: includes/class-mla-options.php:477
1835
  msgid "Search database posts and pages for Featured Image attachments."
1836
  msgstr ""
1837
 
1838
- #: includes/class-mla-options.php:485
1839
  msgid "Base"
1840
  msgstr ""
1841
 
1842
- #: includes/class-mla-options.php:486
1843
  msgid ""
1844
  "Search database posts and pages for attachments embedded in content."
1845
  "<br>&nbsp;&nbsp;Base = ignore intermediate size suffixes; use path, base "
1846
  "name and extension only."
1847
  msgstr ""
1848
 
1849
- #: includes/class-mla-options.php:494 includes/class-mla-options.php:503
1850
  msgid "Dynamic"
1851
  msgstr ""
1852
 
1853
- #: includes/class-mla-options.php:494 includes/class-mla-options.php:503
1854
  msgid "Cached"
1855
  msgstr ""
1856
 
1857
- #: includes/class-mla-options.php:495
1858
  msgid ""
1859
  "Search database posts and pages for [gallery] shortcode results.<br>&nbsp;"
1860
  "&nbsp;Dynamic = once every page load, Cached = once every login, Disabled = "
1861
  "never.<br>&nbsp;&nbsp;Refresh = update references, then set to Cached."
1862
  msgstr ""
1863
 
1864
- #: includes/class-mla-options.php:504
1865
  msgid ""
1866
  "Search database posts and pages for [mla_gallery] shortcode results."
1867
  "<br>&nbsp;&nbsp;Dynamic = once every page load, Cached = once every login, "
@@ -1869,110 +1833,110 @@ msgid ""
1869
  "Cached."
1870
  msgstr ""
1871
 
1872
- #: includes/class-mla-options.php:508 includes/class-mla-settings.php:1339
1873
  msgid "Taxonomy Support"
1874
  msgstr ""
1875
 
1876
- #: includes/class-mla-options.php:513
1877
  msgid "Compute Attachments Column"
1878
  msgstr ""
1879
 
1880
- #: includes/class-mla-options.php:516
1881
  msgid ""
1882
  "Check this option to calculate attachments per term in the Attachments "
1883
  "Column."
1884
  msgstr ""
1885
 
1886
- #: includes/class-mla-options.php:520
1887
  msgid ""
1888
  "Check the \"<strong>Support</strong>\" box to add the taxonomy to the "
1889
  "Assistant and the Edit Media screen."
1890
  msgstr ""
1891
 
1892
- #: includes/class-mla-options.php:521
1893
  msgid ""
1894
  "Check the \"<strong>Inline Edit</strong>\" box to display the taxonomy in "
1895
  "the Quick Edit and Bulk Edit areas."
1896
  msgstr ""
1897
 
1898
- #: includes/class-mla-options.php:522
1899
  msgid ""
1900
  "Check the \"<strong>Term Search</strong>\" box to add the taxonomy to the "
1901
  "\"Search Media/Terms\" list."
1902
  msgstr ""
1903
 
1904
- #: includes/class-mla-options.php:523 includes/class-mla-options.php:704
1905
- #: includes/class-mla-settings.php:1371 includes/class-mla-settings.php:1372
1906
  msgid "For complete documentation"
1907
  msgstr ""
1908
 
1909
- #: includes/class-mla-options.php:523 includes/class-mla-options.php:704
1910
- #: includes/class-mla-settings.php:1371 includes/class-mla-settings.php:1372
1911
  msgid "click here"
1912
  msgstr ""
1913
 
1914
- #: includes/class-mla-options.php:525
1915
  msgid ""
1916
  "Check the \"<strong>Checklist</strong>\" box to enable the checklist-style "
1917
  "meta box for a flat taxonomy."
1918
  msgstr ""
1919
 
1920
- #: includes/class-mla-options.php:526
1921
  msgid ""
1922
  "You must also check the <strong>\"Enable enhanced checklist taxonomies\"</"
1923
  "strong> box below to enable this feature."
1924
  msgstr ""
1925
 
1926
- #: includes/class-mla-options.php:527
1927
  msgid ""
1928
  "Check the \"<strong>Checked On Top</strong>\" box to moved checked terms to "
1929
  "the top of the checklist-style meta box."
1930
  msgstr ""
1931
 
1932
- #: includes/class-mla-options.php:528
1933
  msgid ""
1934
  "Use the \"<strong>List Filter</strong>\" option to select the taxonomy on "
1935
  "which to filter the Assistant table listing."
1936
  msgstr ""
1937
 
1938
- #: includes/class-mla-options.php:554
1939
  msgid "Media/Assistant Screen Options"
1940
  msgstr ""
1941
 
1942
- #: includes/class-mla-options.php:559
1943
  msgid "Admin Menu Options"
1944
  msgstr ""
1945
 
1946
- #: includes/class-mla-options.php:564
1947
  msgid "Page Title"
1948
  msgstr ""
1949
 
1950
- #: includes/class-mla-options.php:566 includes/class-mla-settings.php:447
1951
- #: includes/class-mla-settings.php:3073 includes/class-mla-settings.php:3095
1952
  msgid "Media Library Assistant"
1953
  msgstr ""
1954
 
1955
- #: includes/class-mla-options.php:568
1956
  msgid "Enter the title for the Media/Assistant submenu page"
1957
  msgstr ""
1958
 
1959
- #: includes/class-mla-options.php:572
1960
  msgid "Menu Title"
1961
  msgstr ""
1962
 
1963
- #: includes/class-mla-options.php:574
1964
  msgid "Assistant"
1965
  msgstr ""
1966
 
1967
- #: includes/class-mla-options.php:576
1968
  msgid "Enter the title for the Media/Assistant submenu entry"
1969
  msgstr ""
1970
 
1971
- #: includes/class-mla-options.php:580
1972
  msgid "Submenu Order"
1973
  msgstr ""
1974
 
1975
- #: includes/class-mla-options.php:584
1976
  msgid ""
1977
  "Enter the position of the Media/Assistant submenu entry.<br>&nbsp;&nbsp;0 = "
1978
  "natural order (at bottom),&nbsp;&nbsp;&nbsp;&nbsp;1 - 4 = at top<br>&nbsp;"
@@ -1980,245 +1944,245 @@ msgid ""
1980
  "\""
1981
  msgstr ""
1982
 
1983
- #: includes/class-mla-options.php:588
1984
  msgid "Display Media/Library"
1985
  msgstr ""
1986
 
1987
- #: includes/class-mla-options.php:591
1988
  msgid ""
1989
  "Check/uncheck this option to display/remove the WordPress Media/Library "
1990
  "submenu entry."
1991
  msgstr ""
1992
 
1993
- #: includes/class-mla-options.php:595
1994
  msgid "Table Defaults"
1995
  msgstr ""
1996
 
1997
- #: includes/class-mla-options.php:600
1998
  msgid "Order By"
1999
  msgstr ""
2000
 
2001
- #: includes/class-mla-options.php:604 includes/class-mla-options.php:806
2002
  msgid "Title/Name"
2003
  msgstr ""
2004
 
2005
- #: includes/class-mla-options.php:605
2006
  msgid "Select the column for the sort order of the Assistant table listing."
2007
  msgstr ""
2008
 
2009
- #: includes/class-mla-options.php:609
2010
  msgid "Order"
2011
  msgstr ""
2012
 
2013
- #: includes/class-mla-options.php:613
2014
  msgid "Ascending"
2015
  msgstr ""
2016
 
2017
- #: includes/class-mla-options.php:613
2018
  msgid "Descending"
2019
  msgstr ""
2020
 
2021
- #: includes/class-mla-options.php:614 includes/class-mla-options.php:816
2022
  msgid "Choose the sort order."
2023
  msgstr ""
2024
 
2025
- #: includes/class-mla-options.php:618
2026
  msgid "Views Width"
2027
  msgstr ""
2028
 
2029
- #: includes/class-mla-options.php:622
2030
  msgid "Enter the width for the views list, in pixels (px) or percent (%)"
2031
  msgstr ""
2032
 
2033
- #: includes/class-mla-options.php:626
2034
  msgid "Icon Size"
2035
  msgstr ""
2036
 
2037
- #: includes/class-mla-options.php:630
2038
  msgid "Enter the size of the thumbnail/icon images, in pixels"
2039
  msgstr ""
2040
 
2041
- #: includes/class-mla-options.php:634
2042
  msgid "Bulk Chunk Size"
2043
  msgstr ""
2044
 
2045
- #: includes/class-mla-options.php:638
2046
  msgid "Enter the size of the Bulk Edit and Map All processing chunks"
2047
  msgstr ""
2048
 
2049
- #: includes/class-mla-options.php:642
2050
  msgid "Taxonomy Filter parameters"
2051
  msgstr ""
2052
 
2053
- #: includes/class-mla-options.php:647
2054
  msgid "Maximum Depth"
2055
  msgstr ""
2056
 
2057
- #: includes/class-mla-options.php:651
2058
  msgid ""
2059
  "Enter the number of levels displayed for hierarchial taxonomies; enter zero "
2060
  "for no limit."
2061
  msgstr ""
2062
 
2063
- #: includes/class-mla-options.php:655
2064
  msgid "Include Children"
2065
  msgstr ""
2066
 
2067
- #: includes/class-mla-options.php:658
2068
  msgid ""
2069
  "Check/uncheck this option to include/exclude children for hierarchical "
2070
  "taxonomies."
2071
  msgstr ""
2072
 
2073
- #: includes/class-mla-options.php:662
2074
  msgid "Search Media Defaults"
2075
  msgstr ""
2076
 
2077
- #: includes/class-mla-options.php:667
2078
  msgid "Display Search Controls"
2079
  msgstr ""
2080
 
2081
- #: includes/class-mla-options.php:670 includes/class-mla-options.php:777
2082
  msgid ""
2083
  "Check/uncheck this option to display/hide the and/or connector and search "
2084
  "fields controls."
2085
  msgstr ""
2086
 
2087
- #: includes/class-mla-options.php:674
2088
  msgid ""
2089
  "Use these controls to set defaults for the and/or connector and search "
2090
  "fields controls.<br>These defaults will be used for the Search Media boxes "
2091
  "on both the Media/Assistant submenu<br>and the Media Manager Modal Window."
2092
  msgstr ""
2093
 
2094
- #: includes/class-mla-options.php:687
2095
  msgid "Media/Edit Media Enhancements"
2096
  msgstr ""
2097
 
2098
- #: includes/class-mla-options.php:692
2099
  msgid "Enable enhanced \"checklist\" taxonomies"
2100
  msgstr ""
2101
 
2102
- #: includes/class-mla-options.php:695
2103
  msgid ""
2104
  "Check this option to enable the \"? Search\" feature for hierarchical "
2105
  "taxonomies, e.g., Att. Categories.<br>&nbsp;&nbsp;This option also enables "
2106
  "the \"checklist-style\" support for flat taxonomies, e.g., Att. Tags."
2107
  msgstr ""
2108
 
2109
- #: includes/class-mla-options.php:699
2110
  msgid "Enable Edit Media additional meta boxes"
2111
  msgstr ""
2112
 
2113
- #: includes/class-mla-options.php:702
2114
  msgid ""
2115
  "Check this option to add \"Parent Info\", \"Menu Order\", \"Attachment "
2116
  "Metadata\" and four \"where-used\" meta boxes to the Edit Media screen."
2117
  msgstr ""
2118
 
2119
- #: includes/class-mla-options.php:703
2120
  msgid "You can also use Filters to customize the meta boxes."
2121
  msgstr ""
2122
 
2123
- #: includes/class-mla-options.php:708
2124
  msgid "Media/Add New Enhancements"
2125
  msgstr ""
2126
 
2127
- #: includes/class-mla-options.php:713
2128
  msgid "Enable \"bulk edit\" area"
2129
  msgstr ""
2130
 
2131
- #: includes/class-mla-options.php:716
2132
  msgid ""
2133
  "Check this option to enable the \"Bulk Edit area\" feature on the Media/Add "
2134
  "New screen."
2135
  msgstr ""
2136
 
2137
- #: includes/class-mla-options.php:720
2138
  msgid "Media Manager/Media Grid Enhancements"
2139
  msgstr ""
2140
 
2141
- #: includes/class-mla-options.php:725
2142
  msgid "Enable Media Grid Enhancements"
2143
  msgstr ""
2144
 
2145
- #: includes/class-mla-options.php:728
2146
  msgid ""
2147
  "Check/uncheck this option to enable/disable Media Library Grid View "
2148
  "Enhancements."
2149
  msgstr ""
2150
 
2151
- #: includes/class-mla-options.php:732
2152
  msgid "Enable Media Manager Enhancements"
2153
  msgstr ""
2154
 
2155
- #: includes/class-mla-options.php:735
2156
  msgid ""
2157
  "Check/uncheck this option to enable/disable Media Manager Modal Window "
2158
  "Enhancements."
2159
  msgstr ""
2160
 
2161
- #: includes/class-mla-options.php:739
2162
  msgid "Media Manager Enhanced MIME Type filter"
2163
  msgstr ""
2164
 
2165
- #: includes/class-mla-options.php:742
2166
  msgid ""
2167
  "Check this option to filter by more MIME Types, e.g., text, applications."
2168
  msgstr ""
2169
 
2170
- #: includes/class-mla-options.php:746
2171
  msgid "Media Manager Month and Year filter"
2172
  msgstr ""
2173
 
2174
- #: includes/class-mla-options.php:749
2175
  msgid "Check this option to filter by month and year uploaded."
2176
  msgstr ""
2177
 
2178
- #: includes/class-mla-options.php:753
2179
  msgid "Media Manager Category/Tag filter"
2180
  msgstr ""
2181
 
2182
- #: includes/class-mla-options.php:756
2183
  msgid "Check this option to filter by taxonomy terms."
2184
  msgstr ""
2185
 
2186
- #: includes/class-mla-options.php:760
2187
  msgid "Media Manager Terms Search popup"
2188
  msgstr ""
2189
 
2190
- #: includes/class-mla-options.php:763
2191
  msgid "Check this option to enable the \"Terms Search\" popup window."
2192
  msgstr ""
2193
 
2194
- #: includes/class-mla-options.php:767
2195
  msgid "Media Manager Enhanced Search Media box"
2196
  msgstr ""
2197
 
2198
- #: includes/class-mla-options.php:770
2199
  msgid "Check this option to enable search box enhancements."
2200
  msgstr ""
2201
 
2202
- #: includes/class-mla-options.php:774
2203
  msgid "Media Manager Enhanced Search Media Controls"
2204
  msgstr ""
2205
 
2206
- #: includes/class-mla-options.php:781
2207
  msgid "Media Manager Checklist meta boxes"
2208
  msgstr ""
2209
 
2210
- #: includes/class-mla-options.php:784
2211
  msgid ""
2212
  "Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
2213
  "DETAILS\" pane.<br>&nbsp;&nbsp;This option is for any taxonomy that uses a "
2214
  "<strong>\"checklist-style\"</strong> meta box.</strong>"
2215
  msgstr ""
2216
 
2217
- #: includes/class-mla-options.php:788
2218
  msgid "Media Manager Flat meta boxes"
2219
  msgstr ""
2220
 
2221
- #: includes/class-mla-options.php:791
2222
  msgid ""
2223
  "Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
2224
  "DETAILS\" pane.<br>&nbsp;&nbsp;This option is for <strong>flat taxonomies</"
@@ -2226,156 +2190,158 @@ msgid ""
2226
  "style\" meta box."
2227
  msgstr ""
2228
 
2229
- #: includes/class-mla-options.php:795
2230
  msgid "Media Manager auto-fill meta boxes"
2231
  msgstr ""
2232
 
2233
- #: includes/class-mla-options.php:798
2234
  msgid ""
2235
  "Check this option to automatically fill MLA-enhanced meta boxes in the "
2236
  "\"ATTACHMENT DETAILS\" pane<br>&nbsp;&nbsp;when the item is selected."
2237
  msgstr ""
2238
 
2239
- #: includes/class-mla-options.php:802
2240
  msgid "Media Manager Order By"
2241
  msgstr ""
2242
 
2243
- #: includes/class-mla-options.php:806 includes/class-mla-options.php:815
2244
- #: includes/class-mla-options.php:830 includes/class-mla-options.php:844
2245
- #: includes/class-mla-options.php:858 includes/class-mla-settings.php:1421
2246
  msgid "Media Manager Default"
2247
  msgstr ""
2248
 
2249
- #: includes/class-mla-options.php:807
2250
  msgid ""
2251
  "If you want to override the Media Manager default,<br>&nbsp;&nbsp;select a "
2252
  "column for the sort order of the Media Library listing."
2253
  msgstr ""
2254
 
2255
- #: includes/class-mla-options.php:811
2256
  msgid "Media Manager Order"
2257
  msgstr ""
2258
 
2259
- #: includes/class-mla-options.php:820
2260
  msgid "Attachment Display Settings"
2261
  msgstr ""
2262
 
2263
- #: includes/class-mla-options.php:825 includes/class-mla-options.php:827
2264
  msgid "Alignment"
2265
  msgstr ""
2266
 
2267
  #. translators: 1: option name, e.g., Alignment, Link To or Size
2268
- #: includes/class-mla-options.php:827 includes/class-mla-options.php:841
2269
- #: includes/class-mla-options.php:855
2270
  #, php-format
2271
  msgid ""
2272
  "Select a value for the default %1$s option in the Attachment Display "
2273
  "Settings."
2274
  msgstr ""
2275
 
2276
- #: includes/class-mla-options.php:830
2277
  msgid "Left"
2278
  msgstr ""
2279
 
2280
- #: includes/class-mla-options.php:830
2281
  msgid "Center"
2282
  msgstr ""
2283
 
2284
- #: includes/class-mla-options.php:830
2285
  msgid "Right"
2286
  msgstr ""
2287
 
2288
- #: includes/class-mla-options.php:839 includes/class-mla-options.php:841
2289
  msgid "Link To"
2290
  msgstr ""
2291
 
2292
- #: includes/class-mla-options.php:844
2293
  msgid "Media File"
2294
  msgstr ""
2295
 
2296
- #: includes/class-mla-options.php:844
2297
  msgid "Attachment Page"
2298
  msgstr ""
2299
 
2300
- #: includes/class-mla-options.php:844
2301
  msgid "Custom URL"
2302
  msgstr ""
2303
 
2304
- #: includes/class-mla-options.php:853 includes/class-mla-options.php:855
2305
  msgid "Size"
2306
  msgstr ""
2307
 
2308
- #: includes/class-mla-options.php:858
 
 
2309
  msgid "Thumbnail"
2310
  msgstr ""
2311
 
2312
- #: includes/class-mla-options.php:858
2313
  msgid "Medium"
2314
  msgstr ""
2315
 
2316
- #: includes/class-mla-options.php:858
2317
  msgid "Large"
2318
  msgstr ""
2319
 
2320
- #: includes/class-mla-options.php:858
2321
  msgid "Full Size"
2322
  msgstr ""
2323
 
2324
- #: includes/class-mla-options.php:867
2325
  msgid "Default [mla_gallery] Templates and Settings"
2326
  msgstr ""
2327
 
2328
- #: includes/class-mla-options.php:872 includes/class-mla-options.php:878
2329
- #: includes/class-mla-options.php:916 includes/class-mla-options.php:922
2330
- #: includes/class-mla-settings.php:3203 includes/class-mla-settings.php:3214
2331
- #: includes/class-mla-settings.php:3220 includes/class-mla-settings.php:3224
2332
- #: includes/class-mla-settings.php:3252 includes/class-mla-settings.php:3263
2333
  msgid "Style Template"
2334
  msgstr ""
2335
 
2336
  #. translators: 1: template type 2: shortcode
2337
- #: includes/class-mla-options.php:878 includes/class-mla-options.php:888
2338
- #: includes/class-mla-options.php:922 includes/class-mla-options.php:932
2339
  #, php-format
2340
  msgid "Select the default %1$s for your %2$s shortcodes."
2341
  msgstr ""
2342
 
2343
- #: includes/class-mla-options.php:882 includes/class-mla-options.php:926
2344
  msgid "Markup Template"
2345
  msgstr ""
2346
 
2347
- #: includes/class-mla-options.php:888 includes/class-mla-options.php:932
2348
- #: includes/class-mla-settings.php:3292 includes/class-mla-settings.php:3305
2349
- #: includes/class-mla-settings.php:3311 includes/class-mla-settings.php:3315
2350
- #: includes/class-mla-settings.php:3384
2351
  msgid "markup template"
2352
  msgstr ""
2353
 
2354
- #: includes/class-mla-options.php:892 includes/class-mla-options.php:936
2355
  msgid "Default columns"
2356
  msgstr ""
2357
 
2358
- #: includes/class-mla-options.php:896
2359
  msgid ""
2360
  "Enter the number of [mla_tag_cloud] columns; must be a positive integer."
2361
  msgstr ""
2362
 
2363
- #: includes/class-mla-options.php:900 includes/class-mla-options.php:944
2364
  msgid "Default mla_margin"
2365
  msgstr ""
2366
 
2367
- #: includes/class-mla-options.php:904 includes/class-mla-options.php:948
2368
  msgid ""
2369
  "Enter the CSS \"margin\" property value, in length (px, em, pt, etc.), "
2370
  "percent (%), \"auto\" or \"inherit\".<br>&nbsp;&nbsp;Enter \"none\" to "
2371
  "remove the property entirely."
2372
  msgstr ""
2373
 
2374
- #: includes/class-mla-options.php:908 includes/class-mla-options.php:952
2375
  msgid "Default mla_itemwidth"
2376
  msgstr ""
2377
 
2378
- #: includes/class-mla-options.php:912 includes/class-mla-options.php:956
2379
  msgid ""
2380
  "Enter the CSS \"width\" property value, in length (px, em, pt, etc.), "
2381
  "percent (%), \"auto\" or \"inherit\".<br>&nbsp;&nbsp;Enter \"calculate"
@@ -2385,63 +2351,77 @@ msgid ""
2385
  "the property entirely."
2386
  msgstr ""
2387
 
2388
- #: includes/class-mla-options.php:940
2389
  msgid "Enter the number of [mla_gallery] columns; must be a positive integer."
2390
  msgstr ""
2391
 
2392
- #: includes/class-mla-options.php:960
 
 
 
 
2393
  msgid "Enable thumbnail substitution"
2394
  msgstr ""
2395
 
2396
- #: includes/class-mla-options.php:963
2397
  msgid ""
2398
  "Check this option to allow the \"mla_viewer\" to generate thumbnail images "
2399
  "for PDF documents. Thumbnails are generated dynamically, each time the item "
2400
  "appears in an [mla_gallery] display.<br>&nbsp;&nbsp;<strong>IMPORTANT: both "
2401
- "Ghostscript and Imagick/Imagemagick must be installed for this feature.</"
2402
  "strong>"
2403
  msgstr ""
2404
 
2405
- #: includes/class-mla-options.php:967
2406
  msgid "Enable Featured Images"
2407
  msgstr ""
2408
 
2409
- #: includes/class-mla-options.php:970
2410
  msgid ""
2411
  "Check this option to extend Featured Image support to all Media Library "
2412
  "items. The Featured Image can be used as a thumbnail image for the item in "
2413
  "an [mla_gallery] display."
2414
  msgstr ""
2415
 
2416
- #: includes/class-mla-options.php:974
 
 
 
 
 
 
 
 
 
 
2417
  msgid "Enable explicit Ghostscript check"
2418
  msgstr ""
2419
 
2420
- #: includes/class-mla-options.php:977
2421
  msgid ""
2422
  "Check this option to enable the explicit check for Ghostscript support "
2423
  "required for thumbnail generation. If your Ghostscript software is in a non-"
2424
  "standard location, unchecking this option bypasses the check. Bad things can "
2425
- "happen if Ghostscript is missing but Imagick/Imagemagick is present, so "
2426
  "leave this option checked unless you know it is safe to turn it off."
2427
  msgstr ""
2428
 
2429
- #: includes/class-mla-options.php:981
2430
  msgid "Ghostscript path"
2431
  msgstr ""
2432
 
2433
- #: includes/class-mla-options.php:985
2434
  msgid ""
2435
  "If your &ldquo;gs&rdquo; executable is in a non-standard location, enter the "
2436
  "full path and filename here, e.g., &ldquo;/usr/bin/gs&rdquo;. It will "
2437
  "override the search for Ghostscript in other places."
2438
  msgstr ""
2439
 
2440
- #: includes/class-mla-options.php:1005
2441
  msgid "Enable custom field mapping when adding new media"
2442
  msgstr ""
2443
 
2444
- #: includes/class-mla-options.php:1008
2445
  msgid ""
2446
  "Check this option to enable mapping when uploading new media (attachments)."
2447
  "<br>&nbsp;&nbsp;Click Save Changes at the bottom of the screen if you change "
@@ -2449,18 +2429,18 @@ msgid ""
2449
  "buttons on the bulk edit, single edit and settings screens."
2450
  msgstr ""
2451
 
2452
- #: includes/class-mla-options.php:1012
2453
  msgid "Enable custom field mapping when updating media metadata"
2454
  msgstr ""
2455
 
2456
- #: includes/class-mla-options.php:1015 includes/class-mla-options.php:1039
2457
  msgid ""
2458
  "Check this option to enable mapping when media (attachments) metadata is "
2459
  "regenerated,<br>&nbsp;&nbsp;e.g., when the Media/Edit Media \"Edit Image\" "
2460
  "functions are used."
2461
  msgstr ""
2462
 
2463
- #: includes/class-mla-options.php:1019
2464
  msgid ""
2465
  "Update the custom field mapping values above, then click Save Changes to "
2466
  "make the updates permanent.<br>You can also make temporary updates and click "
@@ -2468,22 +2448,22 @@ msgid ""
2468
  "saving any rule changes."
2469
  msgstr ""
2470
 
2471
- #: includes/class-mla-options.php:1029
2472
  msgid "Enable IPTC/EXIF Mapping when adding new media"
2473
  msgstr ""
2474
 
2475
- #: includes/class-mla-options.php:1032
2476
  msgid ""
2477
  "Check this option to enable mapping when uploading new media (attachments)."
2478
  "<br>&nbsp;&nbsp;Does NOT affect the operation of the \"Map\" buttons on the "
2479
  "bulk edit, single edit and settings screens."
2480
  msgstr ""
2481
 
2482
- #: includes/class-mla-options.php:1036
2483
  msgid "Enable IPTC/EXIF Mapping when updating media metadata"
2484
  msgstr ""
2485
 
2486
- #: includes/class-mla-options.php:1043
2487
  msgid ""
2488
  "Update the standard field mapping values above, then click <strong>Save "
2489
  "Changes</strong> to make the updates permanent.<br>You can also make "
@@ -2492,13 +2472,13 @@ msgid ""
2492
  "changes."
2493
  msgstr ""
2494
 
2495
- #: includes/class-mla-options.php:1053
2496
  msgid ""
2497
  "Update the taxonomy term mapping values above, then click <strong>Save "
2498
  "Changes</strong> or <strong>Map All Attachments, Taxonomy Terms Now</strong>."
2499
  msgstr ""
2500
 
2501
- #: includes/class-mla-options.php:1063
2502
  msgid ""
2503
  "<strong>Update</strong> individual custom field mapping values above, or "
2504
  "make several updates and click <strong>Save Changes</strong> below to apply "
@@ -2509,773 +2489,803 @@ msgid ""
2509
  "changes."
2510
  msgstr ""
2511
 
2512
- #: includes/class-mla-options.php:1073
2513
  msgid "IPTC/EXIF Mapping help"
2514
  msgstr ""
2515
 
2516
- #: includes/class-mla-options.php:1125
2517
  msgid "Enable View and Post MIME Type Support"
2518
  msgstr ""
2519
 
2520
- #: includes/class-mla-options.php:1128
2521
  msgid ""
2522
  "Check/uncheck this option to enable/disable Post MIME Type Support, then "
2523
  "click <strong>Save Changes</strong> to record the new setting."
2524
  msgstr ""
2525
 
2526
- #: includes/class-mla-options.php:1137
2527
  msgid "Post MIME Types help."
2528
  msgstr ""
2529
 
2530
- #: includes/class-mla-options.php:1146 includes/class-mla-options.php:1200
2531
- #: includes/class-mla-options.php:1209 includes/class-mla-options.php:1218
2532
  msgctxt "post_mime_types_description"
2533
  msgid "Built-in view"
2534
  msgstr ""
2535
 
2536
- #: includes/class-mla-options.php:1149
2537
  msgctxt "table_view_singular"
2538
  msgid "Image"
2539
  msgstr ""
2540
 
2541
- #: includes/class-mla-options.php:1150
2542
  msgctxt "table_view_plural"
2543
  msgid "Images"
2544
  msgstr ""
2545
 
2546
- #: includes/class-mla-options.php:1155
2547
  msgctxt "post_mime_types_description"
2548
  msgid "All image subtypes"
2549
  msgstr ""
2550
 
2551
- #: includes/class-mla-options.php:1158
2552
  msgctxt "table_view_singular"
2553
  msgid "Audio"
2554
  msgstr ""
2555
 
2556
- #: includes/class-mla-options.php:1159
2557
  msgctxt "table_view_plural"
2558
  msgid "Audio"
2559
  msgstr ""
2560
 
2561
- #: includes/class-mla-options.php:1164
2562
  msgctxt "post_mime_types_description"
2563
  msgid "All audio subtypes"
2564
  msgstr ""
2565
 
2566
- #: includes/class-mla-options.php:1167
2567
  msgctxt "table_view_singular"
2568
  msgid "Video"
2569
  msgstr ""
2570
 
2571
- #: includes/class-mla-options.php:1168
2572
  msgctxt "table_view_plural"
2573
  msgid "Video"
2574
  msgstr ""
2575
 
2576
- #: includes/class-mla-options.php:1173
2577
  msgctxt "post_mime_types_description"
2578
  msgid "All video subtypes"
2579
  msgstr ""
2580
 
2581
- #: includes/class-mla-options.php:1176
2582
  msgctxt "table_view_singular"
2583
  msgid "Text"
2584
  msgstr ""
2585
 
2586
- #: includes/class-mla-options.php:1177
2587
  msgctxt "table_view_plural"
2588
  msgid "Text"
2589
  msgstr ""
2590
 
2591
- #: includes/class-mla-options.php:1182
2592
  msgctxt "post_mime_types_description"
2593
  msgid "All text subtypes"
2594
  msgstr ""
2595
 
2596
- #: includes/class-mla-options.php:1185
2597
  msgctxt "table_view_singular"
2598
  msgid "Application"
2599
  msgstr ""
2600
 
2601
- #: includes/class-mla-options.php:1186
2602
  msgctxt "table_view_plural"
2603
  msgid "Applications"
2604
  msgstr ""
2605
 
2606
- #: includes/class-mla-options.php:1191
2607
  msgctxt "post_mime_types_description"
2608
  msgid "All application subtypes"
2609
  msgstr ""
2610
 
2611
- #: includes/class-mla-options.php:1195
2612
  msgctxt "table_view_plural"
2613
  msgid "Unattached"
2614
  msgstr ""
2615
 
2616
- #: includes/class-mla-options.php:1203
2617
  msgctxt "table_view_singular"
2618
  msgid "Attached"
2619
  msgstr ""
2620
 
2621
- #: includes/class-mla-options.php:1204
2622
  msgctxt "table_view_plural"
2623
  msgid "Attached"
2624
  msgstr ""
2625
 
2626
- #: includes/class-mla-options.php:1212
2627
  msgctxt "table_view_singular"
2628
  msgid "Trash"
2629
  msgstr ""
2630
 
2631
- #: includes/class-mla-options.php:1213
2632
  msgctxt "table_view_plural"
2633
  msgid "Trash"
2634
  msgstr ""
2635
 
2636
- #: includes/class-mla-options.php:1224
2637
  msgid "Enable Upload MIME Type Support"
2638
  msgstr ""
2639
 
2640
- #: includes/class-mla-options.php:1227
2641
  msgid ""
2642
  "Check/uncheck this option to enable/disable Upload MIME Type Support, then "
2643
  "click <strong>Save Changes</strong> to record the new setting."
2644
  msgstr ""
2645
 
2646
- #: includes/class-mla-options.php:1236
2647
  msgid "Upload MIME Types help."
2648
  msgstr ""
2649
 
2650
- #: includes/class-mla-options.php:1241
2651
  msgid "Enable MLA File Type Icons Support"
2652
  msgstr ""
2653
 
2654
- #: includes/class-mla-options.php:1244
2655
  msgid ""
2656
  "Check/uncheck this option to enable/disable MLA File Type Icons Support, "
2657
  "then click <strong>Save Changes</strong> to record the new setting."
2658
  msgstr ""
2659
 
2660
- #: includes/class-mla-options.php:1296 includes/class-mla-options.php:1318
2661
- #: includes/class-mla-options.php:1360
 
 
 
 
 
 
 
 
 
 
2662
  msgid "no templates exist"
2663
  msgstr ""
2664
 
2665
- #: includes/class-mla-options.php:1304
2666
  msgid "not found"
2667
  msgstr ""
2668
 
2669
  #. translators: 1: ERROR tag 2: option name 3: action, e.g., update, delete, reset
2670
- #: includes/class-mla-options.php:1710 includes/class-mla-options.php:1887
2671
- #: includes/class-mla-options.php:1963 includes/class-mla-options.php:3754
2672
- #: includes/class-mla-options.php:5052
2673
  #, php-format
2674
  msgid "%1$s: Custom %2$s unknown action \"%3$s\""
2675
  msgstr ""
2676
 
2677
- #: includes/class-mla-options.php:1801
2678
  msgid "Support"
2679
  msgstr ""
2680
 
2681
- #: includes/class-mla-options.php:1802
2682
  msgid "Inline Edit"
2683
  msgstr ""
2684
 
2685
- #: includes/class-mla-options.php:1803
2686
  msgid "Term Search"
2687
  msgstr ""
2688
 
2689
- #: includes/class-mla-options.php:1804
2690
  msgid "Checklist"
2691
  msgstr ""
2692
 
2693
- #: includes/class-mla-options.php:1805
2694
  msgid "Checked On Top"
2695
  msgstr ""
2696
 
2697
- #: includes/class-mla-options.php:1806
2698
  msgid "List Filter"
2699
  msgstr ""
2700
 
2701
- #: includes/class-mla-options.php:1807
2702
  msgid "Taxonomy"
2703
  msgstr ""
2704
 
2705
  #. translators: 1: taxonomy name
2706
- #: includes/class-mla-options.php:1826
2707
  #, php-format
2708
  msgid "List Filter ignored; %1$s not supported."
2709
  msgstr ""
2710
 
2711
  #. translators: 1: taxonomy name
2712
- #: includes/class-mla-options.php:1833
2713
  #, php-format
2714
  msgid "Inline Edit ignored; %1$s not supported."
2715
  msgstr ""
2716
 
2717
  #. translators: 1: taxonomy name
2718
- #: includes/class-mla-options.php:1841
2719
  #, php-format
2720
  msgid "Term Search ignored; %1$s not supported."
2721
  msgstr ""
2722
 
2723
  #. translators: 1: taxonomy name
2724
- #: includes/class-mla-options.php:1851
2725
  #, php-format
2726
  msgid "Checklist ignored; %1$s not supported."
2727
  msgstr ""
2728
 
2729
  #. translators: 1: taxonomy name
2730
- #: includes/class-mla-options.php:1859
2731
  #, php-format
2732
  msgid "Checked On Top ignored; %1$s not supported."
2733
  msgstr ""
2734
 
2735
  #. translators: 1: option name, e.g., taxonomy_support
2736
- #: includes/class-mla-options.php:1877 includes/class-mla-options.php:1953
2737
  #, php-format
2738
  msgid "Update custom %1$s"
2739
  msgstr ""
2740
 
2741
  #. translators: 1: option name, e.g., taxonomy_support
2742
- #: includes/class-mla-options.php:1884 includes/class-mla-options.php:1960
2743
- #: includes/class-mla-options.php:5045
2744
  #, php-format
2745
  msgid "Reset custom %1$s"
2746
  msgstr ""
2747
 
2748
- #: includes/class-mla-options.php:1913
2749
- #: includes/mla-main-search-box-template.php:38
2750
- #: includes/mla-media-modal-js-template.php:24
2751
  msgid "and"
2752
  msgstr ""
2753
 
2754
- #: includes/class-mla-options.php:1915
2755
- #: includes/mla-main-search-box-template.php:40
2756
- #: includes/mla-media-modal-js-template.php:28
2757
  msgid "or"
2758
  msgstr ""
2759
 
2760
- #: includes/class-mla-options.php:1920 includes/class-mla-settings.php:2369
2761
- #: includes/class-mla-settings.php:2402 includes/class-mla-settings.php:2428
2762
- #: includes/class-mla-settings.php:2463 includes/class-mla-settings.php:2520
2763
- #: includes/class-mla-settings.php:2570
2764
- #: includes/mla-main-search-box-template.php:43
2765
- #: includes/mla-media-modal-js-template.php:36
2766
  msgid "Name"
2767
  msgstr ""
2768
 
2769
- #: includes/class-mla-options.php:1932
2770
- #: includes/mla-main-search-box-template.php:47
2771
- #: includes/mla-media-modal-js-template.php:53
2772
  msgid "Terms"
2773
  msgstr ""
2774
 
2775
- #: includes/class-mla-options.php:3086 includes/class-mla-options.php:3215
2776
- #: includes/class-mla-options.php:4204 includes/class-mla-options.php:4235
2777
- #: includes/class-mla-settings.php:1819
2778
  msgid "None (select a value)"
2779
  msgstr ""
2780
 
2781
- #: includes/class-mla-options.php:3222
2782
  msgid "Metadata (see below)"
2783
  msgstr ""
2784
 
2785
- #: includes/class-mla-options.php:3229
2786
  msgid "Template (see below)"
2787
  msgstr ""
2788
 
2789
  #. translators: 1: ERROR tag 2: custom field name
2790
- #: includes/class-mla-options.php:3297 includes/class-mla-options.php:4512
2791
  #, php-format
2792
  msgid "%1$s: New field %2$s already exists."
2793
  msgstr ""
2794
 
2795
  #. translators: 1: custom field name
2796
- #: includes/class-mla-options.php:3302 includes/class-mla-options.php:4517
2797
  #, php-format
2798
  msgid "Adding new field %1$s."
2799
  msgstr ""
2800
 
2801
  #. translators: 1: custom field name
2802
- #: includes/class-mla-options.php:3310 includes/class-mla-options.php:4525
2803
  #, php-format
2804
  msgid "Adding new rule for %1$s."
2805
  msgstr ""
2806
 
2807
  #. translators: 1: custom field name
2808
- #: includes/class-mla-options.php:3336 includes/class-mla-options.php:4386
2809
- #: includes/class-mla-options.php:4548
2810
  #, php-format
2811
  msgid "Deleting rule for %1$s."
2812
  msgstr ""
2813
 
2814
  #. translators: 1: custom field name 2: attribute 3: old value 4: new value
2815
- #: includes/class-mla-options.php:3359 includes/class-mla-options.php:3380
2816
- #: includes/class-mla-options.php:3430 includes/class-mla-options.php:3437
2817
- #: includes/class-mla-options.php:4302 includes/class-mla-options.php:4309
2818
- #: includes/class-mla-options.php:4316 includes/class-mla-options.php:4411
2819
- #: includes/class-mla-options.php:4418 includes/class-mla-options.php:4453
2820
- #: includes/class-mla-options.php:4460 includes/class-mla-options.php:4558
2821
- #: includes/class-mla-options.php:4565
 
2822
  #, php-format
2823
  msgid "%1$s changing %2$s from %3$s to %4$s."
2824
  msgstr ""
2825
 
2826
- #: includes/class-mla-options.php:3359 includes/class-mla-options.php:3711
2827
  msgid "Data Source"
2828
  msgstr ""
2829
 
2830
- #: includes/class-mla-options.php:3365 includes/class-mla-options.php:4336
2831
- #: includes/class-mla-options.php:4438 includes/class-mla-options.php:4585
2832
  msgid "Replace to Keep"
2833
  msgstr ""
2834
 
2835
- #: includes/class-mla-options.php:3368 includes/class-mla-options.php:4339
2836
- #: includes/class-mla-options.php:4441 includes/class-mla-options.php:4588
2837
  msgid "Keep to Replace"
2838
  msgstr ""
2839
 
2840
  #. translators: 1: custom field name 2: attribute 3: old value 'to' new value
2841
- #: includes/class-mla-options.php:3373 includes/class-mla-options.php:3394
2842
- #: includes/class-mla-options.php:3408 includes/class-mla-options.php:3422
2843
- #: includes/class-mla-options.php:3451 includes/class-mla-options.php:4330
2844
- #: includes/class-mla-options.php:4344 includes/class-mla-options.php:4432
2845
- #: includes/class-mla-options.php:4446 includes/class-mla-options.php:4579
2846
- #: includes/class-mla-options.php:4593
2847
  #, php-format
2848
  msgid "%1$s changing %2$s value from %3$s."
2849
  msgstr ""
2850
 
2851
- #: includes/class-mla-options.php:3373 includes/class-mla-options.php:3712
2852
- #: includes/class-mla-options.php:4344 includes/class-mla-options.php:4446
2853
- #: includes/class-mla-options.php:4593 includes/class-mla-options.php:4719
2854
- #: includes/class-mla-options.php:4805 includes/class-mla-options.php:4943
2855
  msgid "Existing Text"
2856
  msgstr ""
2857
 
2858
- #: includes/class-mla-options.php:3380 includes/class-mla-options.php:3713
 
 
2859
  msgid "Format"
2860
  msgstr ""
2861
 
2862
- #: includes/class-mla-options.php:3386 includes/class-mla-options.php:3400
2863
- #: includes/class-mla-options.php:3414 includes/class-mla-options.php:3443
 
2864
  msgid "unchecked to checked"
2865
  msgstr ""
2866
 
2867
- #: includes/class-mla-options.php:3389 includes/class-mla-options.php:3403
2868
- #: includes/class-mla-options.php:3417 includes/class-mla-options.php:3446
 
2869
  msgid "checked to unchecked"
2870
  msgstr ""
2871
 
2872
- #: includes/class-mla-options.php:3394 includes/class-mla-options.php:3714
2873
  msgid "MLA Column"
2874
  msgstr ""
2875
 
2876
- #: includes/class-mla-options.php:3430
2877
  msgid "Metavalue name"
2878
  msgstr ""
2879
 
2880
- #: includes/class-mla-options.php:3437 includes/class-mla-options.php:3545
2881
- #: includes/class-mla-options.php:3647 includes/class-mla-options.php:3691
 
 
2882
  msgid "Option"
2883
  msgstr ""
2884
 
2885
- #: includes/class-mla-options.php:3451 includes/class-mla-options.php:3557
2886
- #: includes/class-mla-options.php:3659 includes/class-mla-options.php:3703
 
 
2887
  msgid "Delete NULL values"
2888
  msgstr ""
2889
 
2890
- #: includes/class-mla-options.php:3490 includes/class-mla-options.php:4817
2891
  msgid "No Custom Field Mapping Rules Defined"
2892
  msgstr ""
2893
 
2894
- #: includes/class-mla-options.php:3529 includes/class-mla-options.php:3632
2895
- #: includes/class-mla-options.php:3676 includes/class-mla-options.php:4694
2896
- #: includes/class-mla-options.php:4744 includes/class-mla-options.php:4863
2897
- #: includes/class-mla-options.php:4905 includes/class-mla-options.php:4930
 
2898
  msgid "Keep"
2899
  msgstr ""
2900
 
2901
- #: includes/class-mla-options.php:3533 includes/class-mla-options.php:3636
2902
- #: includes/class-mla-options.php:3680
 
2903
  msgid "Native"
2904
  msgstr ""
2905
 
2906
- #: includes/class-mla-options.php:3535 includes/class-mla-options.php:3638
2907
- #: includes/class-mla-options.php:3682
 
2908
  msgid "Commas"
2909
  msgstr ""
2910
 
2911
- #: includes/class-mla-options.php:3537 includes/class-mla-options.php:3640
2912
- #: includes/class-mla-options.php:3684
 
2913
  msgid "Raw"
2914
  msgstr ""
2915
 
2916
- #: includes/class-mla-options.php:3547 includes/class-mla-options.php:3649
2917
- #: includes/class-mla-options.php:3693
 
2918
  msgid "Text"
2919
  msgstr ""
2920
 
2921
- #: includes/class-mla-options.php:3549 includes/class-mla-options.php:3651
2922
- #: includes/class-mla-options.php:3695
 
2923
  msgid "Single"
2924
  msgstr ""
2925
 
2926
- #: includes/class-mla-options.php:3551 includes/class-mla-options.php:3653
2927
- #: includes/class-mla-options.php:3697
 
2928
  msgid "Export"
2929
  msgstr ""
2930
 
2931
- #: includes/class-mla-options.php:3553 includes/class-mla-options.php:3655
2932
- #: includes/class-mla-options.php:3699
 
2933
  msgid "Array"
2934
  msgstr ""
2935
 
2936
- #: includes/class-mla-options.php:3555 includes/class-mla-options.php:3657
2937
- #: includes/class-mla-options.php:3701
 
2938
  msgid "Multi"
2939
  msgstr ""
2940
 
2941
- #: includes/class-mla-options.php:3558 includes/class-mla-options.php:4866
2942
  msgid "Delete Rule"
2943
  msgstr ""
2944
 
2945
- #: includes/class-mla-options.php:3559 includes/class-mla-options.php:4867
2946
  msgid "Delete Rule AND Field"
2947
  msgstr ""
2948
 
2949
- #: includes/class-mla-options.php:3560 includes/class-mla-options.php:4868
2950
  msgid "Update Rule"
2951
  msgstr ""
2952
 
2953
- #: includes/class-mla-options.php:3561 includes/class-mla-options.php:4869
2954
- #: includes/class-mla-settings.php:711 includes/class-mla-settings.php:842
2955
  msgid "Map All Attachments"
2956
  msgstr ""
2957
 
2958
- #: includes/class-mla-options.php:3627 includes/class-mla-options.php:4894
2959
  msgid "Add a new Mapping Rule"
2960
  msgstr ""
2961
 
2962
- #: includes/class-mla-options.php:3660 includes/class-mla-options.php:4908
2963
  msgid "Add Rule"
2964
  msgstr ""
2965
 
2966
- #: includes/class-mla-options.php:3661 includes/class-mla-options.php:4909
2967
  msgid "Add Rule and Map All Attachments"
2968
  msgstr ""
2969
 
2970
- #: includes/class-mla-options.php:3671 includes/class-mla-options.php:4919
2971
  msgid "Add a new Field and Mapping Rule"
2972
  msgstr ""
2973
 
2974
- #: includes/class-mla-options.php:3704 includes/class-mla-options.php:4933
2975
  msgid "Add Field"
2976
  msgstr ""
2977
 
2978
- #: includes/class-mla-options.php:3705 includes/class-mla-options.php:4934
2979
  msgid "Add Field and Map All Attachments"
2980
  msgstr ""
2981
 
2982
- #: includes/class-mla-options.php:3710 includes/class-mla-options.php:4302
2983
- #: includes/class-mla-options.php:4715 includes/class-mla-options.php:4801
2984
- #: includes/class-mla-options.php:4939
2985
  msgid "Field Title"
2986
  msgstr ""
2987
 
2988
- #: includes/class-mla-options.php:3735
2989
  msgid "Custom field mapping rules updated."
2990
  msgstr ""
2991
 
2992
- #: includes/class-mla-options.php:3737
2993
  msgid "Custom field mapping rules update failed."
2994
  msgstr ""
2995
 
2996
- #: includes/class-mla-options.php:3740 includes/class-mla-settings.php:756
2997
- #: includes/class-mla-settings.php:762
2998
  msgid "Custom field no mapping rule changes detected."
2999
  msgstr ""
3000
 
3001
- #: includes/class-mla-options.php:3748
3002
  msgid "Custom field mapping settings saved."
3003
  msgstr ""
3004
 
3005
- #: includes/class-mla-options.php:3750
3006
  msgid "Custom field mapping settings reset failed."
3007
  msgstr ""
3008
 
3009
  #. translators: 1: ERROR tag 2: custom field name
3010
- #: includes/class-mla-options.php:4290
3011
  #, php-format
3012
  msgid "%1$s: No old values for %2$s."
3013
  msgstr ""
3014
 
3015
- #: includes/class-mla-options.php:4309 includes/class-mla-options.php:4411
3016
- #: includes/class-mla-options.php:4558 includes/class-mla-options.php:4716
3017
- #: includes/class-mla-options.php:4802 includes/class-mla-options.php:4940
3018
  msgid "IPTC Value"
3019
  msgstr ""
3020
 
3021
- #: includes/class-mla-options.php:4316 includes/class-mla-options.php:4418
3022
- #: includes/class-mla-options.php:4565
3023
  msgid "EXIF Value"
3024
  msgstr ""
3025
 
3026
- #: includes/class-mla-options.php:4322 includes/class-mla-options.php:4424
3027
- #: includes/class-mla-options.php:4571
3028
  msgid "EXIF to IPTC"
3029
  msgstr ""
3030
 
3031
- #: includes/class-mla-options.php:4325 includes/class-mla-options.php:4427
3032
- #: includes/class-mla-options.php:4574
3033
  msgid "IPTC to EXIF"
3034
  msgstr ""
3035
 
3036
- #: includes/class-mla-options.php:4330 includes/class-mla-options.php:4432
3037
- #: includes/class-mla-options.php:4579 includes/class-mla-options.php:4718
3038
- #: includes/class-mla-options.php:4804 includes/class-mla-options.php:4942
3039
  msgid "Priority"
3040
  msgstr ""
3041
 
3042
- #: includes/class-mla-options.php:4453 includes/class-mla-options.php:4806
3043
  msgid "Delimiter(s)"
3044
  msgstr ""
3045
 
3046
- #: includes/class-mla-options.php:4690 includes/class-mla-options.php:4740
3047
- #: includes/class-mla-options.php:4859 includes/class-mla-options.php:4901
3048
- #: includes/class-mla-options.php:4926
3049
  msgid "IPTC"
3050
  msgstr ""
3051
 
3052
- #: includes/class-mla-options.php:4692 includes/class-mla-options.php:4742
3053
- #: includes/class-mla-options.php:4861 includes/class-mla-options.php:4903
3054
- #: includes/class-mla-options.php:4928
3055
  msgid "EXIF"
3056
  msgstr ""
3057
 
3058
- #: includes/class-mla-options.php:4717 includes/class-mla-options.php:4803
3059
- #: includes/class-mla-options.php:4941
3060
  msgid "EXIF/Template Value"
3061
  msgstr ""
3062
 
3063
  #. translators: 1: ERROR tag 2: option name
3064
- #: includes/class-mla-options.php:4951
3065
  #, php-format
3066
  msgid "%1$s: Render unknown custom %2$s."
3067
  msgstr ""
3068
 
3069
  #. translators: 1: ERROR tag 2: option name
3070
- #: includes/class-mla-options.php:4995
3071
  #, php-format
3072
  msgid "%1$s: Update/delete unknown custom %2$s."
3073
  msgstr ""
3074
 
3075
- #: includes/class-mla-options.php:5001
3076
  msgid "IPTC/EXIF mapping settings updated."
3077
  msgstr ""
3078
 
3079
- #: includes/class-mla-options.php:5003
3080
  msgid "IPTC/EXIF settings update failed."
3081
  msgstr ""
3082
 
3083
- #: includes/class-mla-options.php:5006 includes/class-mla-settings.php:890
3084
- #: includes/class-mla-settings.php:896
3085
  msgid "IPTC/EXIF no mapping changes detected."
3086
  msgstr ""
3087
 
3088
  #. translators: 1: field type
3089
- #: includes/class-mla-options.php:5017 includes/class-mla-options.php:5027
3090
- #: includes/class-mla-options.php:5037 includes/class-mla-settings.php:3390
3091
  #, php-format
3092
  msgid "%1$s settings saved."
3093
  msgstr ""
3094
 
3095
- #: includes/class-mla-options.php:5017 includes/class-mla-options.php:5020
3096
- #: includes/class-mla-settings.php:3635 includes/class-mla-settings.php:3674
3097
- #: includes/class-mla-settings.php:3677
3098
  msgid "Standard field"
3099
  msgstr ""
3100
 
3101
  #. translators: 1: ERROR tag 2: field type
3102
- #: includes/class-mla-options.php:5020 includes/class-mla-options.php:5030
3103
- #: includes/class-mla-options.php:5040
3104
  #, php-format
3105
  msgid "%1$s: IPTC/EXIF %2$s settings update failed."
3106
  msgstr ""
3107
 
3108
- #: includes/class-mla-options.php:5027 includes/class-mla-options.php:5030
3109
- #: includes/class-mla-settings.php:3706 includes/class-mla-settings.php:3745
3110
- #: includes/class-mla-settings.php:3748
3111
  msgid "Taxonomy term"
3112
  msgstr ""
3113
 
3114
- #: includes/class-mla-options.php:5037 includes/class-mla-options.php:5040
3115
- #: includes/class-mla-settings.php:3535 includes/class-mla-settings.php:3538
3116
- #: includes/class-mla-settings.php:3792 includes/class-mla-settings.php:3831
3117
- #: includes/class-mla-settings.php:3834
3118
  msgid "Custom field"
3119
  msgstr ""
3120
 
3121
  #. translators: 1: ERROR tag 2: option name, e.g., taxonomy_support
3122
- #: includes/class-mla-options.php:5048
3123
  #, php-format
3124
  msgid "%1$s: Reset unknown custom %2$s"
3125
  msgstr ""
3126
 
3127
- #: includes/class-mla-polylang-support.php:264
3128
  msgid "ERROR: No post ID found"
3129
  msgstr ""
3130
 
3131
- #: includes/class-mla-polylang-support.php:365
3132
  msgid "Error while saving the translations."
3133
  msgstr ""
3134
 
3135
- #: includes/class-mla-polylang-support.php:366
3136
  msgid "Remove From Bulk Translate"
3137
  msgstr ""
3138
 
3139
- #: includes/class-mla-polylang-support.php:368
3140
  msgid "Bulk Translate items"
3141
  msgstr ""
3142
 
3143
- #: includes/class-mla-polylang-support.php:369
3144
  msgid "Add new"
3145
  msgstr ""
3146
 
3147
- #: includes/class-mla-polylang-support.php:1125
3148
- #: includes/class-mla-polylang-support.php:1128
3149
  msgid "Attached"
3150
  msgstr ""
3151
 
3152
- #: includes/class-mla-polylang-support.php:1494
3153
- #: includes/class-mla-polylang-support.php:1814
 
3154
  msgid "Bulk Translations"
3155
  msgstr ""
3156
 
3157
- #: includes/class-mla-polylang-support.php:1518
3158
  msgid "Translate"
3159
  msgstr ""
3160
 
3161
- #: includes/class-mla-polylang-support.php:1634
3162
  msgid "All Languages"
3163
  msgstr ""
3164
 
3165
- #: includes/class-mla-polylang-support.php:1641
3166
- #: includes/class-mla-polylang-support.php:1887
3167
- #: includes/class-mla-polylang-support.php:2013
3168
  msgid "Quick Translate"
3169
  msgstr ""
3170
 
3171
- #: includes/class-mla-polylang-support.php:1645
3172
  msgid "Set Language"
3173
  msgstr ""
3174
 
3175
- #: includes/class-mla-polylang-support.php:1646
3176
- #: includes/class-mla-polylang-support.php:2020
3177
  msgid "Bulk Translate"
3178
  msgstr ""
3179
 
3180
- #: includes/class-mla-polylang-support.php:1647
3181
  msgid "Add or Modify Translation"
3182
  msgstr ""
3183
 
3184
- #: includes/class-mla-polylang-support.php:1648
3185
- #: includes/class-mla-polylang-support.php:1689
3186
- #: includes/class-mla-polylang-support.php:1959
3187
- #: includes/class-mla-wpml-support.php:1105
3188
- #: includes/class-mla-wpml-support.php:1603
3189
  msgid "Language"
3190
  msgstr ""
3191
 
3192
- #: includes/class-mla-polylang-support.php:1650
 
3193
  msgid "Options"
3194
  msgstr ""
3195
 
3196
- #: includes/class-mla-polylang-support.php:1887
3197
  msgid "Translate this item inline"
3198
  msgstr ""
3199
 
3200
- #: includes/class-mla-polylang-support.php:1994
3201
- #: includes/class-mla-polylang-support.php:2083
3202
- #: includes/class-mla-wpml-support.php:1140
3203
- #: includes/class-mla-wpml-support.php:1215
3204
  msgid "Media/Assistant submenu table"
3205
  msgstr ""
3206
 
3207
- #: includes/class-mla-polylang-support.php:1999
3208
- #: includes/class-mla-wpml-support.php:1145
3209
  msgid "Language Column"
3210
  msgstr ""
3211
 
3212
- #: includes/class-mla-polylang-support.php:2002
3213
- #: includes/class-mla-wpml-support.php:1148
3214
  msgid ""
3215
  "Check this option to add a Language column to the Media/Assistant submenu "
3216
  "table."
3217
  msgstr ""
3218
 
3219
- #: includes/class-mla-polylang-support.php:2006
3220
- #: includes/class-mla-wpml-support.php:1152
3221
  msgid "Translations Column"
3222
  msgstr ""
3223
 
3224
- #: includes/class-mla-polylang-support.php:2009
3225
- #: includes/class-mla-wpml-support.php:1155
3226
  msgid ""
3227
  "Check this option to add a Translation Status column to the Media/Assistant "
3228
  "submenu table."
3229
  msgstr ""
3230
 
3231
- #: includes/class-mla-polylang-support.php:2016
3232
  msgid ""
3233
  "Check this option to add a Quick Translate rollover action to the Media/"
3234
  "Assistant submenu table."
3235
  msgstr ""
3236
 
3237
- #: includes/class-mla-polylang-support.php:2023
3238
  msgid ""
3239
  "Check this option to add \"Translate\" to the \"Bulk Actions\" control on "
3240
  "the Media/Assistant submenu table."
3241
  msgstr ""
3242
 
3243
- #: includes/class-mla-polylang-support.php:2027
3244
- #: includes/class-mla-polylang-support.php:2083
3245
- #: includes/class-mla-wpml-support.php:1159
3246
- #: includes/class-mla-wpml-support.php:1215
3247
  msgid "Term Management"
3248
  msgstr ""
3249
 
3250
- #: includes/class-mla-polylang-support.php:2032
3251
- #: includes/class-mla-wpml-support.php:1164
3252
  msgid "Term Assignment"
3253
  msgstr ""
3254
 
3255
- #: includes/class-mla-polylang-support.php:2035
3256
- #: includes/class-mla-wpml-support.php:1167
3257
  msgid ""
3258
  "Check this option to assign language-specific terms when items are updated."
3259
  msgstr ""
3260
 
3261
- #: includes/class-mla-polylang-support.php:2039
3262
- #: includes/class-mla-wpml-support.php:1171
3263
  msgid "Term Synchronization"
3264
  msgstr ""
3265
 
3266
- #: includes/class-mla-polylang-support.php:2042
3267
- #: includes/class-mla-wpml-support.php:1174
3268
  msgid ""
3269
  "Check this option to synchronize common terms among all item translations."
3270
  msgstr ""
3271
 
3272
- #: includes/class-mla-polylang-support.php:2081
3273
- #: includes/class-mla-wpml-support.php:1213
3274
  msgid "Language Options"
3275
  msgstr ""
3276
 
3277
  #. translators: 1: - 4: page subheader values
3278
- #: includes/class-mla-polylang-support.php:2083
3279
  #, php-format
3280
  msgid ""
3281
  "In this tab you can find a number of options for controlling Polylang-"
@@ -3285,167 +3295,167 @@ msgid ""
3285
  msgstr ""
3286
 
3287
  #. translators: 1: Documentation hyperlink
3288
- #: includes/class-mla-polylang-support.php:2085
3289
- #: includes/class-mla-wpml-support.php:1217
3290
  #, php-format
3291
  msgid ""
3292
  "You can find more information about multilingual features in the %1$s "
3293
  "section of the Documentation."
3294
  msgstr ""
3295
 
3296
- #: includes/class-mla-polylang-support.php:2085
3297
- #: includes/class-mla-wpml-support.php:1217
3298
  msgid "Language Options documentation"
3299
  msgstr ""
3300
 
3301
- #: includes/class-mla-polylang-support.php:2085
3302
- #: includes/class-mla-wpml-support.php:1217
3303
  msgid "WPML &amp; Polylang Multilingual Support; the MLA Language Tab"
3304
  msgstr ""
3305
 
3306
- #: includes/class-mla-polylang-support.php:2087
3307
- #: includes/class-mla-settings.php:1340 includes/class-mla-settings.php:1698
3308
- #: includes/class-mla-settings.php:1751 includes/class-mla-settings.php:2167
3309
- #: includes/class-mla-settings.php:2217 includes/class-mla-settings.php:2305
3310
- #: includes/class-mla-settings.php:2728 includes/class-mla-settings.php:2731
3311
- #: includes/class-mla-settings.php:2870 includes/class-mla-settings.php:2872
3312
- #: includes/class-mla-settings.php:3053 includes/class-mla-settings.php:3055
3313
- #: includes/class-mla-wpml-support.php:1219
3314
  msgid "Save Changes"
3315
  msgstr ""
3316
 
3317
- #: includes/class-mla-polylang-support.php:2088
3318
- #: includes/class-mla-wpml-support.php:1220
3319
  msgid "Delete Language options and restore default settings"
3320
  msgstr ""
3321
 
3322
- #: includes/class-mla-polylang-support.php:2091
3323
- #: includes/class-mla-settings.php:1079 includes/class-mla-settings.php:1345
3324
- #: includes/class-mla-settings.php:2300
3325
- #: includes/class-mla-wpml-support.php:1223
3326
  msgid "Go to Top"
3327
  msgstr ""
3328
 
3329
- #: includes/class-mla-polylang-support.php:2128
3330
- #: includes/class-mla-wpml-support.php:1260
3331
  msgid "Language settings saved."
3332
  msgstr ""
3333
 
3334
  #. translators: 1: option name
3335
- #: includes/class-mla-polylang-support.php:2159
3336
- #: includes/class-mla-settings.php:4011
3337
- #: includes/class-mla-wpml-support.php:1291
3338
  #, php-format
3339
  msgctxt "message_list"
3340
  msgid "delete_option \"%1$s\""
3341
  msgstr ""
3342
 
3343
- #: includes/class-mla-polylang-support.php:2167
3344
- #: includes/class-mla-wpml-support.php:1299
3345
  msgid "Language settings reset to default values."
3346
  msgstr ""
3347
 
3348
- #: includes/class-mla-settings.php:339
3349
  msgid "no slug"
3350
  msgstr ""
3351
 
3352
- #: includes/class-mla-settings.php:355
3353
  msgid "Running"
3354
  msgstr ""
3355
 
3356
- #: includes/class-mla-settings.php:360
3357
  msgid "Skipped"
3358
  msgstr ""
3359
 
3360
- #: includes/class-mla-settings.php:361
3361
  msgid "Reprocessed"
3362
  msgstr ""
3363
 
3364
- #: includes/class-mla-settings.php:447 includes/class-mla-settings.php:960
3365
- #: includes/class-mla-settings.php:3096
3366
  msgid "Settings"
3367
  msgstr ""
3368
 
3369
- #: includes/class-mla-settings.php:466
3370
  msgid "Views per page"
3371
  msgstr ""
3372
 
3373
- #: includes/class-mla-settings.php:477
3374
  msgid "Types per page"
3375
  msgstr ""
3376
 
3377
- #: includes/class-mla-settings.php:488
3378
  msgid "Upload types per page"
3379
  msgstr ""
3380
 
3381
- #: includes/class-mla-settings.php:624
3382
  msgid "No view slug found"
3383
  msgstr ""
3384
 
3385
- #: includes/class-mla-settings.php:667
3386
  msgid "No upload slug found"
3387
  msgstr ""
3388
 
3389
- #: includes/class-mla-settings.php:707 includes/class-mla-settings.php:2729
3390
- #: includes/class-mla-settings.php:2733
3391
  msgid "Map All Rules, All Attachments Now"
3392
  msgstr ""
3393
 
3394
- #: includes/class-mla-settings.php:831 includes/class-mla-settings.php:2862
3395
  msgid "Map All Attachments, Standard Fields Now"
3396
  msgstr ""
3397
 
3398
- #: includes/class-mla-settings.php:834 includes/class-mla-settings.php:2865
3399
  msgid "Map All Attachments, Taxonomy Terms Now"
3400
  msgstr ""
3401
 
3402
- #: includes/class-mla-settings.php:837 includes/class-mla-settings.php:2868
3403
  msgid "Map All Attachments, Custom Fields Now"
3404
  msgstr ""
3405
 
3406
  #. translators: 1: ERROR tag 2: function name 3: option type, e.g., radio, select, text
3407
- #: includes/class-mla-settings.php:1009 includes/class-mla-settings.php:1042
3408
- #: includes/class-mla-settings.php:1181
3409
  #, php-format
3410
  msgctxt "error_log"
3411
  msgid "%1$s: %2$s unknown type = \"%3$s\""
3412
  msgstr ""
3413
 
3414
- #: includes/class-mla-settings.php:1230
3415
  msgid "General"
3416
  msgstr ""
3417
 
3418
- #: includes/class-mla-settings.php:1231
3419
  msgid "Views"
3420
  msgstr ""
3421
 
3422
- #: includes/class-mla-settings.php:1232
3423
  msgid "Uploads"
3424
  msgstr ""
3425
 
3426
- #: includes/class-mla-settings.php:1233 includes/class-mla-settings.php:3390
3427
- #: includes/class-mla-settings.php:3393
3428
  msgid "MLA Gallery"
3429
  msgstr ""
3430
 
3431
- #: includes/class-mla-settings.php:1234
3432
  msgid "Custom Fields"
3433
  msgstr ""
3434
 
3435
- #: includes/class-mla-settings.php:1236
3436
  msgid "Documentation"
3437
  msgstr ""
3438
 
3439
- #: includes/class-mla-settings.php:1237
3440
  msgid "Debug"
3441
  msgstr ""
3442
 
3443
- #: includes/class-mla-settings.php:1337
3444
  msgid "General Processing Options"
3445
  msgstr ""
3446
 
3447
  #. translators: 1: - 4: page subheader values
3448
- #: includes/class-mla-settings.php:1339
3449
  #, php-format
3450
  msgid ""
3451
  "In this tab you can find a number of options for controlling the "
@@ -3454,36 +3464,36 @@ msgid ""
3454
  "any changes you make."
3455
  msgstr ""
3456
 
3457
- #: includes/class-mla-settings.php:1339
3458
  msgid "Media/Assistant Table Defaults"
3459
  msgstr ""
3460
 
3461
- #: includes/class-mla-settings.php:1339
3462
  msgid "Media Manager Enhancements"
3463
  msgstr ""
3464
 
3465
- #: includes/class-mla-settings.php:1341
3466
  msgid "Export ALL Settings"
3467
  msgstr ""
3468
 
3469
- #: includes/class-mla-settings.php:1342
3470
  msgid "Delete General options and restore default settings"
3471
  msgstr ""
3472
 
3473
- #: includes/class-mla-settings.php:1346
3474
  msgid "Support Our Work"
3475
  msgstr ""
3476
 
3477
- #: includes/class-mla-settings.php:1347 includes/class-mla-settings.php:1350
3478
  msgid "Donate to FTJ"
3479
  msgstr ""
3480
 
3481
- #: includes/class-mla-settings.php:1348 includes/class-mla-settings.php:3088
3482
  msgid "Donate"
3483
  msgstr ""
3484
 
3485
  #. translators: 1: donation hyperlink
3486
- #: includes/class-mla-settings.php:1350
3487
  #, php-format
3488
  msgid ""
3489
  "This plugin was inspired by my work on the WordPress web site for our "
@@ -3492,27 +3502,27 @@ msgid ""
3492
  "our work. Thank you!"
3493
  msgstr ""
3494
 
3495
- #: includes/class-mla-settings.php:1350
3496
  msgid "tax-deductible donation"
3497
  msgstr ""
3498
 
3499
- #: includes/class-mla-settings.php:1371
3500
  msgid "enhanced version of the WordPress [gallery] shortcode."
3501
  msgstr ""
3502
 
3503
- #: includes/class-mla-settings.php:1372
3504
  msgid "enhanced version of the WordPress Tag Cloud."
3505
  msgstr ""
3506
 
3507
- #: includes/class-mla-settings.php:1384
3508
  msgid "Shortcodes made available by this plugin"
3509
  msgstr ""
3510
 
3511
- #: includes/class-mla-settings.php:1492
3512
  msgid "Edit View"
3513
  msgstr ""
3514
 
3515
- #: includes/class-mla-settings.php:1498 includes/class-mla-settings.php:1755
3516
  msgid ""
3517
  "The &#8220;slug&#8221; is the URL-friendly, unique key for the view. It must "
3518
  "be all lowercase and contain only letters, numbers, periods (.), slashes (/) "
@@ -3521,25 +3531,25 @@ msgid ""
3521
  "MIME</strong> type, e.g., &#8220;image&#8221; or &#8220;image/jpeg&#8221;."
3522
  msgstr ""
3523
 
3524
- #: includes/class-mla-settings.php:1499 includes/class-mla-settings.php:1756
3525
  msgid "Singular Label"
3526
  msgstr ""
3527
 
3528
- #: includes/class-mla-settings.php:1500 includes/class-mla-settings.php:1757
3529
  msgid "Plural Label"
3530
  msgstr ""
3531
 
3532
- #: includes/class-mla-settings.php:1501 includes/class-mla-settings.php:1758
3533
  msgid ""
3534
  "The labels, e.g., &#8220;Image&#8221; and &#8220;Images&#8221; are used for "
3535
  "column headers and other display purposes."
3536
  msgstr ""
3537
 
3538
- #: includes/class-mla-settings.php:1502 includes/class-mla-settings.php:1759
3539
  msgid "Specification"
3540
  msgstr ""
3541
 
3542
- #: includes/class-mla-settings.php:1503 includes/class-mla-settings.php:1760
3543
  msgid ""
3544
  "If the MIME type specification differs from the slug, enter it here. You may "
3545
  "include multiple MIME types, e.g., &#8220;audio,video&#8221; and/or wildcard "
@@ -3547,60 +3557,60 @@ msgid ""
3547
  "MIME Type box is checked."
3548
  msgstr ""
3549
 
3550
- #: includes/class-mla-settings.php:1504 includes/class-mla-settings.php:1761
3551
  msgid "Post MIME Type"
3552
  msgstr ""
3553
 
3554
- #: includes/class-mla-settings.php:1505 includes/class-mla-settings.php:1762
3555
  msgid ""
3556
  "Check this box if you want to add this entry to the list of MIME types "
3557
  "returned by wp_get_mime_types()."
3558
  msgstr ""
3559
 
3560
- #: includes/class-mla-settings.php:1506 includes/class-mla-settings.php:1763
3561
  msgid "Table View"
3562
  msgstr ""
3563
 
3564
- #: includes/class-mla-settings.php:1507 includes/class-mla-settings.php:1764
3565
  msgid ""
3566
  "Check this box if you want to add this entry to the list of Media/Assistant "
3567
  "table views."
3568
  msgstr ""
3569
 
3570
- #: includes/class-mla-settings.php:1509 includes/class-mla-settings.php:1766
3571
  msgid ""
3572
  "You can choose your own table view order by entering a number (1 for first, "
3573
  "etc.) in this field."
3574
  msgstr ""
3575
 
3576
- #: includes/class-mla-settings.php:1511 includes/class-mla-settings.php:1768
3577
- #: includes/class-mla-settings.php:1866 includes/class-mla-settings.php:2230
3578
  msgid ""
3579
  "The description can contain any documentation or notes you need to "
3580
  "understand or use the item."
3581
  msgstr ""
3582
 
3583
  #. translators: 1: bulk_action, e.g., delete, edit, restore, trash
3584
- #: includes/class-mla-settings.php:1622 includes/class-mla-settings.php:2088
3585
  #, php-format
3586
  msgid "Unknown bulk action %1$s"
3587
  msgstr ""
3588
 
3589
  #. translators: 1: view name/slug
3590
- #: includes/class-mla-settings.php:1661 includes/class-mla-settings.php:2130
3591
  #, php-format
3592
  msgid "Edit view \"%1$s\" cancelled."
3593
  msgstr ""
3594
 
3595
- #: includes/class-mla-settings.php:1695
3596
  msgid "View and Post MIME Type Support is disabled"
3597
  msgstr ""
3598
 
3599
- #: includes/class-mla-settings.php:1740 includes/class-mla-settings.php:1743
3600
  msgid "Library Views/Post MIME Type Processing"
3601
  msgstr ""
3602
 
3603
- #: includes/class-mla-settings.php:1741
3604
  msgid ""
3605
  "In this tab you can manage the list of \"Post MIME Types\", which are used "
3606
  "by WordPress to define the views for the <em><strong>Media/Library</strong></"
@@ -3612,7 +3622,7 @@ msgid ""
3612
  msgstr ""
3613
 
3614
  #. translators: 1: Documentation hyperlink
3615
- #: includes/class-mla-settings.php:1743
3616
  #, php-format
3617
  msgid ""
3618
  "You can find more information about library views, Post MIME types and how "
@@ -3621,87 +3631,87 @@ msgid ""
3621
  "screen."
3622
  msgstr ""
3623
 
3624
- #: includes/class-mla-settings.php:1743
3625
  msgid "Library View Processing documentation"
3626
  msgstr ""
3627
 
3628
- #: includes/class-mla-settings.php:1747 includes/class-mla-settings.php:1936
3629
- #: includes/class-mla-settings.php:2242
3630
  msgid "Displaying search results for"
3631
  msgstr ""
3632
 
3633
- #: includes/class-mla-settings.php:1748
3634
  msgid "Search Views"
3635
  msgstr ""
3636
 
3637
- #: includes/class-mla-settings.php:1769
3638
  msgid "Add View"
3639
  msgstr ""
3640
 
3641
- #: includes/class-mla-settings.php:1771 includes/class-mla-settings.php:2235
3642
  msgid "<strong>Quick Edit</strong>"
3643
  msgstr ""
3644
 
3645
- #: includes/class-mla-settings.php:1851
3646
  msgid "Edit Upload MIME Type"
3647
  msgstr ""
3648
 
3649
- #: includes/class-mla-settings.php:1857
3650
  msgid ""
3651
  "The &#8220;extension&#8221; is the file extension for this type, and a "
3652
  "unique key for the item. It must be all lowercase and contain only letters "
3653
  "and numbers."
3654
  msgstr ""
3655
 
3656
- #: includes/class-mla-settings.php:1859 includes/class-mla-settings.php:2224
3657
  msgid ""
3658
  "The MIME Type must be all lowercase and contain only letters, numbers, "
3659
  "periods (.), slashes (/) and hyphens (-). It <strong>must be a valid MIME</"
3660
  "strong> type, e.g., &#8220;image&#8221; or &#8220;image/jpeg&#8221;."
3661
  msgstr ""
3662
 
3663
- #: includes/class-mla-settings.php:1860 includes/class-mla-settings.php:2225
3664
  msgid "Icon Type"
3665
  msgstr ""
3666
 
3667
- #: includes/class-mla-settings.php:1862 includes/class-mla-settings.php:2226
3668
  msgid ""
3669
  "The Icon Type selects a thumbnail image displayed for non-image file types, "
3670
  "such as PDF documents."
3671
  msgstr ""
3672
 
3673
- #: includes/class-mla-settings.php:1863 includes/class-mla-settings.php:2227
3674
  #: includes/class-mla-upload-list-table.php:415
3675
  msgid "Inactive"
3676
  msgstr ""
3677
 
3678
- #: includes/class-mla-settings.php:1864 includes/class-mla-settings.php:2228
3679
  msgid ""
3680
  "Check this box if you want to remove this entry from the list of Upload MIME "
3681
  "Types returned by get_allowed_mime_types()."
3682
  msgstr ""
3683
 
3684
- #: includes/class-mla-settings.php:1935
3685
  msgid "Known File Extension/MIME Type Associations"
3686
  msgstr ""
3687
 
3688
- #: includes/class-mla-settings.php:1937
3689
  msgid "Search Known MIME Types"
3690
  msgstr ""
3691
 
3692
- #: includes/class-mla-settings.php:1939 includes/class-mla-settings.php:2213
3693
  msgid "To search by extension, use \".\", e.g., \".doc\""
3694
  msgstr ""
3695
 
3696
- #: includes/class-mla-settings.php:2164
3697
  msgid "Upload MIME Type Support is disabled"
3698
  msgstr ""
3699
 
3700
- #: includes/class-mla-settings.php:2207 includes/class-mla-settings.php:2210
3701
  msgid "File Extension and MIME Type Processing"
3702
  msgstr ""
3703
 
3704
- #: includes/class-mla-settings.php:2208
3705
  msgid ""
3706
  "In this tab you can manage the list of file extension/MIME Type "
3707
  "associations, which are used by WordPress to decide what kind of files can "
@@ -3711,7 +3721,7 @@ msgid ""
3711
  msgstr ""
3712
 
3713
  #. translators: 1: Documentation hyperlink
3714
- #: includes/class-mla-settings.php:2210
3715
  #, php-format
3716
  msgid ""
3717
  "You can find more information about file extensions, MIME types and how "
@@ -3719,57 +3729,57 @@ msgid ""
3719
  "the <strong>\"Help\"</strong> tab in the upper-right corner of this screen."
3720
  msgstr ""
3721
 
3722
- #: includes/class-mla-settings.php:2210
3723
  msgid "File Extension Processing documentation"
3724
  msgstr ""
3725
 
3726
- #: includes/class-mla-settings.php:2212
3727
  msgid "Search Uploads"
3728
  msgstr ""
3729
 
3730
- #: includes/class-mla-settings.php:2219
3731
  msgid "Upload MIME Type"
3732
  msgstr ""
3733
 
3734
- #: includes/class-mla-settings.php:2220
3735
  msgid ""
3736
  "To search the database of over 1,500 known extension/type associations, "
3737
  "click \"Search Known Types\" below the form."
3738
  msgstr ""
3739
 
3740
- #: includes/class-mla-settings.php:2222
3741
  msgid ""
3742
  "The &#8220;extension&#8221; is the file extension for this type, and unique "
3743
  "key for the item. It must be all lowercase and contain only letters and "
3744
  "numbers."
3745
  msgstr ""
3746
 
3747
- #: includes/class-mla-settings.php:2231
3748
  msgid "Add Upload MIME Type"
3749
  msgstr ""
3750
 
3751
- #: includes/class-mla-settings.php:2233
3752
  msgid "Search Known Types"
3753
  msgstr ""
3754
 
3755
- #: includes/class-mla-settings.php:2241
3756
  #: includes/class-mla-upload-list-table.php:417
3757
  msgid "Active"
3758
  msgstr ""
3759
 
3760
- #: includes/class-mla-settings.php:2294
3761
  msgid "MLA Gallery Options"
3762
  msgstr ""
3763
 
3764
- #: includes/class-mla-settings.php:2295
3765
  msgid "Go to Style Templates"
3766
  msgstr ""
3767
 
3768
- #: includes/class-mla-settings.php:2296
3769
  msgid "Go to Markup Templates"
3770
  msgstr ""
3771
 
3772
- #: includes/class-mla-settings.php:2297
3773
  msgid ""
3774
  "In this tab you can view the default style and markup templates. You can "
3775
  "also define additional templates and use the <code>mla_style</code> and "
@@ -3779,150 +3789,162 @@ msgid ""
3779
  "Changes\" at the bottom of this page."
3780
  msgstr ""
3781
 
3782
- #: includes/class-mla-settings.php:2301
3783
  msgid "Style Templates"
3784
  msgstr ""
3785
 
3786
- #: includes/class-mla-settings.php:2303
3787
  msgid "Markup Templates"
3788
  msgstr ""
3789
 
3790
- #: includes/class-mla-settings.php:2316
3791
  msgid "Theme"
3792
  msgstr ""
3793
 
3794
  #: includes/class-mla-settings.php:2364
 
 
 
 
 
 
 
 
 
 
 
 
3795
  msgid ""
3796
  "This default template cannot be altered or deleted, but you can copy the "
3797
  "styles."
3798
  msgstr ""
3799
 
3800
- #: includes/class-mla-settings.php:2375 includes/class-mla-settings.php:2408
3801
- #: includes/class-mla-settings.php:2434
3802
  msgid "Styles"
3803
  msgstr ""
3804
 
3805
- #: includes/class-mla-settings.php:2379 includes/class-mla-settings.php:2412
3806
- #: includes/class-mla-settings.php:2438
3807
  msgid ""
3808
  "List of substitution parameters, e.g., [+selector+], on Documentation tab."
3809
  msgstr ""
3810
 
3811
- #: includes/class-mla-settings.php:2396 includes/class-mla-settings.php:2514
3812
  msgid "Delete this template"
3813
  msgstr ""
3814
 
3815
- #: includes/class-mla-settings.php:2397 includes/class-mla-settings.php:2515
3816
  msgid ""
3817
  "Check the box to delete this template when you press Update at the bottom of "
3818
  "the page."
3819
  msgstr ""
3820
 
3821
- #: includes/class-mla-settings.php:2423
3822
  msgid "Fill in a name and styles to add a new template."
3823
  msgstr ""
3824
 
3825
- #: includes/class-mla-settings.php:2458
3826
  msgid ""
3827
  "This default template cannot be altered or deleted, but you can copy the "
3828
  "markup."
3829
  msgstr ""
3830
 
3831
- #: includes/class-mla-settings.php:2470 includes/class-mla-settings.php:2527
3832
- #: includes/class-mla-settings.php:2577
3833
  msgid "Open"
3834
  msgstr ""
3835
 
3836
- #: includes/class-mla-settings.php:2474 includes/class-mla-settings.php:2531
3837
- #: includes/class-mla-settings.php:2581
3838
  msgid ""
3839
  "Markup for the beginning of the gallery. List of parameters, e.g., [+selector"
3840
  "+], on Documentation tab."
3841
  msgstr ""
3842
 
3843
- #: includes/class-mla-settings.php:2476 includes/class-mla-settings.php:2533
3844
- #: includes/class-mla-settings.php:2583
3845
  msgid "Row"
3846
  msgstr ""
3847
 
3848
- #: includes/class-mla-settings.php:2480 includes/class-mla-settings.php:2587
3849
  msgid "Markup for the beginning of each row in the gallery."
3850
  msgstr ""
3851
 
3852
- #: includes/class-mla-settings.php:2482 includes/class-mla-settings.php:2539
3853
- #: includes/class-mla-settings.php:2589
3854
  msgid "Item"
3855
  msgstr ""
3856
 
3857
- #: includes/class-mla-settings.php:2486 includes/class-mla-settings.php:2593
3858
  msgid "Markup for each item/cell of the gallery."
3859
  msgstr ""
3860
 
3861
- #: includes/class-mla-settings.php:2488 includes/class-mla-settings.php:2545
3862
- #: includes/class-mla-settings.php:2595 includes/class-mla-settings.php:2709
3863
- #: includes/class-mla-settings.php:2845
3864
  msgid "Close"
3865
  msgstr ""
3866
 
3867
- #: includes/class-mla-settings.php:2492 includes/class-mla-settings.php:2599
3868
  msgid "Markup for the end of each row in the gallery."
3869
  msgstr ""
3870
 
3871
- #: includes/class-mla-settings.php:2497 includes/class-mla-settings.php:2554
3872
- #: includes/class-mla-settings.php:2604
3873
  msgid "Markup for the end of the gallery."
3874
  msgstr ""
3875
 
3876
- #: includes/class-mla-settings.php:2537
3877
  msgid "Markup for the beginning of each row."
3878
  msgstr ""
3879
 
3880
- #: includes/class-mla-settings.php:2543
3881
  msgid "Markup for each item/cell."
3882
  msgstr ""
3883
 
3884
- #: includes/class-mla-settings.php:2549
3885
  msgid "Markup for the end of each row."
3886
  msgstr ""
3887
 
3888
- #: includes/class-mla-settings.php:2565
3889
  msgid "Fill in a name and markup to add a new template."
3890
  msgstr ""
3891
 
3892
- #: includes/class-mla-settings.php:2701
3893
  msgid "Custom Field Mapping Progress"
3894
  msgstr ""
3895
 
3896
- #: includes/class-mla-settings.php:2702 includes/class-mla-settings.php:2838
3897
  msgid "DO NOT DO THE FOLLOWING (they will cause mapping to fail)"
3898
  msgstr ""
3899
 
3900
- #: includes/class-mla-settings.php:2703 includes/class-mla-settings.php:2839
3901
  msgid "Close the window"
3902
  msgstr ""
3903
 
3904
- #: includes/class-mla-settings.php:2704 includes/class-mla-settings.php:2840
3905
  msgid "Reload the page"
3906
  msgstr ""
3907
 
3908
- #: includes/class-mla-settings.php:2705 includes/class-mla-settings.php:2841
3909
  msgid "Click the browser&rsquo;s Stop, Back or forward buttons"
3910
  msgstr ""
3911
 
3912
- #: includes/class-mla-settings.php:2706 includes/class-mla-settings.php:2842
3913
  msgid "Progress"
3914
  msgstr ""
3915
 
3916
- #: includes/class-mla-settings.php:2708 includes/class-mla-settings.php:2844
3917
  msgid "Resume"
3918
  msgstr ""
3919
 
3920
- #: includes/class-mla-settings.php:2718 includes/class-mla-settings.php:2722
3921
  msgid "Custom Field and Attachment Metadata Processing Options"
3922
  msgstr ""
3923
 
3924
  #. translators: 1: Documentation hyperlink
3925
- #: includes/class-mla-settings.php:2720
3926
  #, php-format
3927
  msgid ""
3928
  "In this tab you can define the rules for mapping several types of image "
@@ -3932,32 +3954,32 @@ msgid ""
3932
  "field. See the %1$s section of the Documentation for details."
3933
  msgstr ""
3934
 
3935
- #: includes/class-mla-settings.php:2720
3936
  msgid "Updating Attachment Metadata Documentation"
3937
  msgstr ""
3938
 
3939
- #: includes/class-mla-settings.php:2720
3940
  msgid "Adding or changing Attachment Metadata"
3941
  msgstr ""
3942
 
3943
  #. translators: 1: Documentation hyperlink
3944
- #: includes/class-mla-settings.php:2722 includes/class-mla-settings.php:2857
3945
  #, php-format
3946
  msgid ""
3947
  "You can find more information about using the controls in this tab to define "
3948
  "mapping rules and apply them in the %1$s section of the Documentation."
3949
  msgstr ""
3950
 
3951
- #: includes/class-mla-settings.php:2722
3952
  msgid "Custom Field Options documentation"
3953
  msgstr ""
3954
 
3955
- #: includes/class-mla-settings.php:2726 includes/class-mla-settings.php:2867
3956
  msgid "Custom field mapping"
3957
  msgstr ""
3958
 
3959
  #. translators: 1: "Save Changes"
3960
- #: includes/class-mla-settings.php:2731
3961
  #, php-format
3962
  msgid ""
3963
  "Click %1$s to update the \"Enable custom field mapping...\" checkbox and/or "
@@ -3966,22 +3988,22 @@ msgid ""
3966
  msgstr ""
3967
 
3968
  #. translators: 1: "Map All Rules..."
3969
- #: includes/class-mla-settings.php:2733
3970
  #, php-format
3971
  msgid ""
3972
  "Click %1$s to apply all the rules at once (rule changes will be applied but "
3973
  "not saved)."
3974
  msgstr ""
3975
 
3976
- #: includes/class-mla-settings.php:2837
3977
  msgid "IPTC &amp; EXIF Mapping Progress"
3978
  msgstr ""
3979
 
3980
- #: includes/class-mla-settings.php:2854 includes/class-mla-settings.php:2857
3981
  msgid "IPTC &amp; EXIF Processing Options"
3982
  msgstr ""
3983
 
3984
- #: includes/class-mla-settings.php:2855
3985
  msgid ""
3986
  "In this tab you can define the rules for mapping IPTC (International Press "
3987
  "Telecommunications Council) and EXIF (EXchangeable Image File) metadata to "
@@ -3990,20 +4012,20 @@ msgid ""
3990
  "click \"Save Changes\" at the bottom of this page."
3991
  msgstr ""
3992
 
3993
- #: includes/class-mla-settings.php:2857
3994
  msgid "IPTC/EXIF Options documentation"
3995
  msgstr ""
3996
 
3997
- #: includes/class-mla-settings.php:2861
3998
  msgid "Standard field mapping"
3999
  msgstr ""
4000
 
4001
- #: includes/class-mla-settings.php:2864
4002
  msgid "Taxonomy term mapping"
4003
  msgstr ""
4004
 
4005
  #. translators: 1: "Save Changes"
4006
- #: includes/class-mla-settings.php:2872
4007
  #, php-format
4008
  msgid ""
4009
  "Click %1$s to update the \"Enable IPTC/EXIF mapping...\" checkbox and/or all "
@@ -4011,192 +4033,198 @@ msgid ""
4011
  "performed.</strong>"
4012
  msgstr ""
4013
 
4014
- #: includes/class-mla-settings.php:2943
4015
  msgid "Debug settings saved."
4016
  msgstr ""
4017
 
4018
- #. translators: 1: ERROR tag 2: file type 3: file name
4019
- #: includes/class-mla-settings.php:2988
4020
  #, php-format
4021
- msgid "%1$s: The %2$s file ( %3$s ) could not be reset."
4022
  msgstr ""
4023
 
4024
- #: includes/class-mla-settings.php:2988 includes/class-mla-settings.php:3018
4025
- #: includes/class-mla-settings.php:3030 includes/class-mla-settings.php:3037
4026
- #: includes/class-mla-settings.php:3041
4027
  msgid "Error Log"
4028
  msgstr ""
4029
 
4030
  #. translators: 1: ERROR tag 2: file type 3: file name 4: error message
4031
- #: includes/class-mla-settings.php:3018
4032
  #, php-format
4033
  msgid "%1$s: Reading the %2$s file ( %3$s ) \"%4$s\"."
4034
  msgstr ""
4035
 
4036
- #: includes/class-mla-settings.php:3037
 
 
 
 
 
 
4037
  msgid "Reset"
4038
  msgstr ""
4039
 
4040
- #: includes/class-mla-settings.php:3046 includes/class-mla-settings.php:3055
4041
  msgid "Debug Options"
4042
  msgstr ""
4043
 
4044
  #. translators: 1: "Save Changes"
4045
- #: includes/class-mla-settings.php:3055
4046
  #, php-format
4047
  msgid "Click %1$s to update the %2$s."
4048
  msgstr ""
4049
 
4050
- #: includes/class-mla-settings.php:3074
4051
  msgid "You do not have permission to manage plugin settings."
4052
  msgstr ""
4053
 
4054
- #: includes/class-mla-settings.php:3108
4055
  msgid "Cannot render content tab"
4056
  msgstr ""
4057
 
4058
- #: includes/class-mla-settings.php:3111
4059
  msgid "Unknown content tab"
4060
  msgstr ""
4061
 
4062
  #. translators: 1: template type 2: template name
4063
- #: includes/class-mla-settings.php:3203 includes/class-mla-settings.php:3292
4064
  #, php-format
4065
  msgctxt "message_list"
4066
  msgid "Deleting %1$s \"%2$s\"."
4067
  msgstr ""
4068
 
4069
  #. translators: 1: ERROR tag 2: template name 3: template type
4070
- #: includes/class-mla-settings.php:3214 includes/class-mla-settings.php:3305
4071
  #, php-format
4072
  msgid "%1$s: Reserved name \"%2$s\", new %3$s discarded."
4073
  msgstr ""
4074
 
4075
  #. translators: 1: ERROR tag 2: template name 3: template type
4076
- #: includes/class-mla-settings.php:3220 includes/class-mla-settings.php:3311
4077
  #, php-format
4078
  msgid "%1$s: Duplicate name \"%2$s\", new %3$s discarded."
4079
  msgstr ""
4080
 
4081
  #. translators: 1: template type 2: template name
4082
- #: includes/class-mla-settings.php:3224 includes/class-mla-settings.php:3315
4083
  #, php-format
4084
  msgctxt "message_list"
4085
  msgid "Adding new %1$s \"%2$s\"."
4086
  msgstr ""
4087
 
4088
  #. translators: 1: ERROR tag 2: element name 3: old value
4089
- #: includes/class-mla-settings.php:3234 includes/class-mla-settings.php:3325
4090
  #, php-format
4091
  msgid "%1$s: Blank %2$s, reverting to \"%3$s\"."
4092
  msgstr ""
4093
 
4094
- #: includes/class-mla-settings.php:3234 includes/class-mla-settings.php:3241
4095
- #: includes/class-mla-settings.php:3245
4096
  msgid "style template name"
4097
  msgstr ""
4098
 
4099
  #. translators: 1: ERROR tag 2: element name 3: new value 4: old value
4100
- #: includes/class-mla-settings.php:3241 includes/class-mla-settings.php:3332
4101
  #, php-format
4102
  msgid "%1$s: Duplicate new %2$s \"%3$s\", reverting to \"%4$s\"."
4103
  msgstr ""
4104
 
4105
  #. translators: 1: element name 2: old_value 3: new_value
4106
- #: includes/class-mla-settings.php:3245 includes/class-mla-settings.php:3336
4107
  #, php-format
4108
  msgctxt "message_list"
4109
  msgid "Changing %1$s from \"%2$s\" to \"%3$s\""
4110
  msgstr ""
4111
 
4112
  #. translators: 1: template type 2: template name
4113
- #: includes/class-mla-settings.php:3252
4114
  #, php-format
4115
  msgctxt "message_list"
4116
  msgid "Updating contents of %1$s \"%2$s\"."
4117
  msgstr ""
4118
 
4119
  #. translators: 1: ERROR tag 2: template type
4120
- #: includes/class-mla-settings.php:3263 includes/class-mla-settings.php:3384
4121
  #, php-format
4122
  msgid "%1$s: Update of %2$s failed."
4123
  msgstr ""
4124
 
4125
- #: includes/class-mla-settings.php:3325 includes/class-mla-settings.php:3332
4126
- #: includes/class-mla-settings.php:3336
4127
  msgid "markup template name"
4128
  msgstr ""
4129
 
4130
  #. translators: 1: template name
4131
- #: includes/class-mla-settings.php:3344
4132
  #, php-format
4133
  msgctxt "message_list"
4134
  msgid "Updating open markup for \"%1$s\"."
4135
  msgstr ""
4136
 
4137
  #. translators: 1: template name
4138
- #: includes/class-mla-settings.php:3350
4139
  #, php-format
4140
  msgctxt "message_list"
4141
  msgid "Updating row open markup for \"%1$s\"."
4142
  msgstr ""
4143
 
4144
  #. translators: 1: template name
4145
- #: includes/class-mla-settings.php:3356
4146
  #, php-format
4147
  msgctxt "message_list"
4148
  msgid "Updating item markup for \"%1$s\"."
4149
  msgstr ""
4150
 
4151
  #. translators: 1: template name
4152
- #: includes/class-mla-settings.php:3362
4153
  #, php-format
4154
  msgctxt "message_list"
4155
  msgid "Updating row close markup for \"%1$s\"."
4156
  msgstr ""
4157
 
4158
  #. translators: 1: template name
4159
- #: includes/class-mla-settings.php:3368
4160
  #, php-format
4161
  msgctxt "message_list"
4162
  msgid "Updating close markup for \"%1$s\"."
4163
  msgstr ""
4164
 
4165
  #. translators: 1: field type
4166
- #: includes/class-mla-settings.php:3393
4167
  #, php-format
4168
  msgid "%1$s no changes detected."
4169
  msgstr ""
4170
 
4171
- #: includes/class-mla-settings.php:3428
4172
  msgid "View settings saved."
4173
  msgstr ""
4174
 
4175
- #: includes/class-mla-settings.php:3462
4176
  msgid "Upload MIME Type settings saved."
4177
  msgstr ""
4178
 
4179
- #: includes/class-mla-settings.php:3505
4180
  msgid "No custom field mapping rules to process."
4181
  msgstr ""
4182
 
4183
  #. translators: 1: field type 2: examined count 3: updated count
4184
- #: includes/class-mla-settings.php:3535 includes/class-mla-settings.php:3674
4185
- #: includes/class-mla-settings.php:3745 includes/class-mla-settings.php:3831
4186
  #, php-format
4187
  msgid "%1$s mapping completed; %2$d attachment(s) examined, %3$d updated."
4188
  msgstr ""
4189
 
4190
  #. translators: 1: field type 2: examined count
4191
- #: includes/class-mla-settings.php:3538 includes/class-mla-settings.php:3677
4192
- #: includes/class-mla-settings.php:3748 includes/class-mla-settings.php:3834
4193
  #, php-format
4194
  msgid ""
4195
  "%1$s mapping completed; %2$d attachment(s) examined, no changes detected."
4196
  msgstr ""
4197
 
4198
  #. translators: 1: number of attachments
4199
- #: includes/class-mla-settings.php:3569
4200
  #, php-format
4201
  msgid "%s attachment"
4202
  msgid_plural "%s attachments"
@@ -4204,252 +4232,358 @@ msgstr[0] ""
4204
  msgstr[1] ""
4205
 
4206
  #. translators: 1: singular/plural number of attachments
4207
- #: includes/class-mla-settings.php:3571
4208
  #, php-format
4209
  msgid "Deleted custom field value from %1$s."
4210
  msgstr ""
4211
 
4212
- #: includes/class-mla-settings.php:3574
4213
  msgid "No attachments contained this custom field."
4214
  msgstr ""
4215
 
4216
  #. translators: 1: ERROR tag 2: field type
4217
- #: includes/class-mla-settings.php:3635 includes/class-mla-settings.php:3706
4218
- #: includes/class-mla-settings.php:3792
4219
  #, php-format
4220
  msgid "%1$s: No %2$s settings to process."
4221
  msgstr ""
4222
 
4223
- #: includes/class-mla-settings.php:3665 includes/class-mla-settings.php:3736
4224
- #: includes/class-mla-settings.php:3822
4225
  msgid "updated."
4226
  msgstr ""
4227
 
4228
  #. translators: 1: reference type, e.g., Gallery in
4229
- #: includes/class-mla-settings.php:3927 includes/class-mla-settings.php:3937
4230
  #, php-format
4231
  msgctxt "message_list"
4232
  msgid "%1$s - references updated."
4233
  msgstr ""
4234
 
4235
- #: includes/class-mla-settings.php:3980
4236
  msgid "General settings saved."
4237
  msgstr ""
4238
 
4239
- #: includes/class-mla-settings.php:4019
4240
  msgid "General settings reset to default values."
4241
  msgstr ""
4242
 
4243
- #: includes/class-mla-settings.php:4061
4244
  msgid "select settings"
4245
  msgstr ""
4246
 
4247
- #: includes/class-mla-settings.php:4081
4248
  msgid "Import ALL Settings"
4249
  msgstr ""
4250
 
4251
- #: includes/class-mla-settings.php:4106
4252
  msgctxt "message_list"
4253
  msgid "exported"
4254
  msgstr ""
4255
 
4256
- #: includes/class-mla-settings.php:4108
4257
  msgctxt "message_list"
4258
  msgid "skipped"
4259
  msgstr ""
4260
 
4261
- #: includes/class-mla-settings.php:4115
4262
  msgid "ALL settings exported."
4263
  msgstr ""
4264
 
4265
  #. translators: 1: ERROR tag 2: backup directory name
4266
- #: includes/class-mla-settings.php:4126
4267
  #, php-format
4268
  msgid "%1$s: The settings directory ( %2$s ) cannot be created."
4269
  msgstr ""
4270
 
4271
  #. translators: 1: ERROR tag 2: backup directory name
4272
- #: includes/class-mla-settings.php:4130
4273
  #, php-format
4274
  msgid "%1$s: The settings directory ( %2$s ) is not writable."
4275
  msgstr ""
4276
 
4277
  #. translators: 1: ERROR tag 2: backup file name
4278
- #: includes/class-mla-settings.php:4141
4279
  #, php-format
4280
  msgid "%1$s: The settings file ( %2$s ) could not be opened."
4281
  msgstr ""
4282
 
4283
  #. translators: 1: ERROR tag 2: PHP error information
4284
- #: includes/class-mla-settings.php:4148
4285
  #, php-format
4286
  msgctxt "error_log"
4287
  msgid "%1$s: _export_settings $error_info = \"%2$s\"."
4288
  msgstr ""
4289
 
4290
  #. translators: 1: ERROR tag 2: backup file name 3: error message
4291
- #: includes/class-mla-settings.php:4157
4292
  #, php-format
4293
  msgid "%1$s: Writing the settings file ( %2$s ) \"%3$s\"."
4294
  msgstr ""
4295
 
4296
  #. translators: 1: number of option settings
4297
- #: includes/class-mla-settings.php:4163
4298
  #, php-format
4299
  msgid "Settings exported; %1$s settings recorded."
4300
  msgstr ""
4301
 
4302
- #: includes/class-mla-settings.php:4181
4303
  msgid "No settings imported."
4304
  msgstr ""
4305
 
4306
- #: includes/class-mla-settings.php:4190
4307
  msgid "Please select an import settings file from the dropdown list."
4308
  msgstr ""
4309
 
4310
- #: includes/class-mla-settings.php:4194
4311
  msgid "The import settings dropdown selection is missing."
4312
  msgstr ""
4313
 
4314
  #. translators: 1: ERROR tag 2: PHP error information
4315
- #: includes/class-mla-settings.php:4202
4316
  #, php-format
4317
  msgctxt "error_log"
4318
  msgid "%1$s: _import_settings $error_info = \"%2$s\"."
4319
  msgstr ""
4320
 
4321
  #. translators: 1: ERROR tag 2: backup file name 3: error message
4322
- #: includes/class-mla-settings.php:4211
4323
  #, php-format
4324
  msgid "%1$s: Reading the settings file ( %2$s ) \"%3$s\"."
4325
  msgstr ""
4326
 
4327
- #: includes/class-mla-settings.php:4221
4328
  msgctxt "message_list"
4329
  msgid "updated"
4330
  msgstr ""
4331
 
4332
- #: includes/class-mla-settings.php:4224
4333
  msgctxt "message_list"
4334
  msgid "unchanged"
4335
  msgstr ""
4336
 
4337
  #. translators: 1: number of option settings updated 2: number of option settings unchanged
4338
- #: includes/class-mla-settings.php:4229
4339
  #, php-format
4340
  msgid "Settings imported; %1$s updated, %2$s unchanged."
4341
  msgstr ""
4342
 
4343
- #: includes/class-mla-shortcodes.php:334
4344
- #: includes/class-mla-shortcodes.php:1448
4345
- #: includes/class-mla-shortcodes.php:2355
4346
- #: includes/class-mla-shortcodes.php:2642
4347
  msgid "Previous"
4348
  msgstr ""
4349
 
4350
- #: includes/class-mla-shortcodes.php:335
4351
- #: includes/class-mla-shortcodes.php:1449
4352
- #: includes/class-mla-shortcodes.php:2404
4353
- #: includes/class-mla-shortcodes.php:2648
4354
  msgid "Next"
4355
  msgstr ""
4356
 
4357
- #: includes/class-mla-shortcodes.php:442
4358
  msgid "mla_debug empty gallery"
4359
  msgstr ""
4360
 
4361
- #: includes/class-mla-shortcodes.php:511
4362
  msgid ""
4363
  "<strong>Photonic-enhanced [mla_gallery]</strong> type must be "
4364
  "<strong>default</strong>, query = "
4365
  msgstr ""
4366
 
4367
- #: includes/class-mla-shortcodes.php:859
4368
  msgid "unknown"
4369
  msgstr ""
4370
 
4371
- #: includes/class-mla-shortcodes.php:1581
4372
  msgid "mla_debug attributes"
4373
  msgstr ""
4374
 
4375
- #: includes/class-mla-shortcodes.php:1582
4376
  msgid "mla_debug arguments"
4377
  msgstr ""
4378
 
4379
- #: includes/class-mla-shortcodes.php:1674
4380
  msgid "mla_debug empty cloud"
4381
  msgstr ""
4382
 
4383
- #: includes/class-mla-shortcodes.php:3023
4384
- #: includes/class-mla-shortcodes.php:3351
4385
- #: includes/class-mla-shortcodes.php:3382
4386
  msgid "Invalid mla_gallery"
4387
  msgstr ""
4388
 
4389
- #: includes/class-mla-shortcodes.php:3630
4390
  msgid "mla_debug query"
4391
  msgstr ""
4392
 
4393
- #: includes/class-mla-shortcodes.php:3631
4394
  msgid "mla_debug request"
4395
  msgstr ""
4396
 
4397
- #: includes/class-mla-shortcodes.php:3632
4398
  msgid "mla_debug query_vars"
4399
  msgstr ""
4400
 
4401
- #: includes/class-mla-shortcodes.php:3633
4402
  msgid "mla_debug post_count"
4403
  msgstr ""
4404
 
4405
- #: includes/class-mla-shortcodes.php:3701
4406
  msgid "mla_debug WHERE filter"
4407
  msgstr ""
4408
 
4409
- #: includes/class-mla-shortcodes.php:3720
4410
  msgid "mla_debug modified WHERE filter"
4411
  msgstr ""
4412
 
4413
- #: includes/class-mla-shortcodes.php:3743
4414
  msgid "mla_debug ORDER BY filter, incoming"
4415
  msgstr ""
4416
 
4417
- #: includes/class-mla-shortcodes.php:3743
4418
  msgid "Replacement ORDER BY clause"
4419
  msgstr ""
4420
 
4421
- #: includes/class-mla-shortcodes.php:3766
4422
  msgid "mla_debug posts_clauses filter"
4423
  msgstr ""
4424
 
4425
- #: includes/class-mla-shortcodes.php:3784
4426
  msgid "mla_debug posts_clauses_request filter"
4427
  msgstr ""
4428
 
4429
- #: includes/class-mla-shortcodes.php:3974
4430
  msgid "Invalid taxonomy"
4431
  msgstr ""
4432
 
4433
- #: includes/class-mla-shortcodes.php:4180
4434
  msgid "mla_debug query arguments"
4435
  msgstr ""
4436
 
4437
- #: includes/class-mla-shortcodes.php:4181
4438
  msgid "mla_debug last_query"
4439
  msgstr ""
4440
 
4441
- #: includes/class-mla-shortcodes.php:4182
4442
  msgid "mla_debug last_error"
4443
  msgstr ""
4444
 
4445
- #: includes/class-mla-shortcodes.php:4183
4446
  msgid "mla_debug num_rows"
4447
  msgstr ""
4448
 
4449
- #: includes/class-mla-shortcodes.php:4184
4450
  msgid "mla_debug found_rows"
4451
  msgstr ""
4452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4453
  #: includes/class-mla-upload-list-table.php:177
4454
  #: includes/class-mla-upload-optional-list-table.php:167
4455
  msgctxt "list_table_column"
@@ -4545,12 +4679,12 @@ msgctxt "list_table_column"
4545
  msgid "Order"
4546
  msgstr ""
4547
 
4548
- #: includes/class-mla-wpml-support.php:372
4549
  msgid "Duplicate translation created; update as desired."
4550
  msgstr ""
4551
 
4552
  #. translators: 1: - 4: page subheader values
4553
- #: includes/class-mla-wpml-support.php:1215
4554
  #, php-format
4555
  msgid ""
4556
  "In this tab you can find a number of options for controlling WPML-specific "
@@ -4558,20 +4692,20 @@ msgid ""
4558
  "\"Save Changes\" at the bottom of the tab to save any changes you make."
4559
  msgstr ""
4560
 
4561
- #: includes/class-mla-wpml-support.php:1710
4562
- #: includes/class-mla-wpml-support.php:1716
4563
  #, php-format
4564
  msgid "Edit the %s translation"
4565
  msgstr ""
4566
 
4567
- #: includes/class-mla-wpml-support.php:1722
4568
  #, php-format
4569
  msgid "Add translation to %s"
4570
  msgstr ""
4571
 
4572
- #: includes/mla-main-search-box-template.php:34
4573
- #: includes/mla-main-search-box-template.php:36
4574
- #: includes/mla-media-modal-js-template.php:17
4575
  msgid "Search Media"
4576
  msgstr ""
4577
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Media Library Assistant\n"
4
+ "POT-Creation-Date: 2015-07-14 13:57-0800\n"
5
+ "PO-Revision-Date: 2015-07-14 13:57-0800\n"
6
  "Last-Translator: David Lingren <david@fairtradejudaica.org>\n"
7
  "Language-Team: David Lingren <david@fairtradejudaica.org>\n"
8
  "Language: en_US\n"
27
 
28
  #: includes/class-mla-data-pdf.php:216 includes/class-mla-data-pdf.php:496
29
  #: includes/class-mla-data-pdf.php:498 includes/class-mla-data-pdf.php:544
30
+ #: includes/class-mla-data-pdf.php:726 includes/class-mla-data.php:111
31
+ #: includes/class-mla-data.php:129 includes/class-mla-data.php:208
32
+ #: includes/class-mla-data.php:267 includes/class-mla-data.php:355
33
+ #: includes/class-mla-data.php:399 includes/class-mla-data.php:502
34
+ #: includes/class-mla-data.php:658 includes/class-mla-data.php:721
35
+ #: includes/class-mla-data.php:1301 includes/class-mla-data.php:1582
36
+ #: includes/class-mla-data.php:2826 includes/class-mla-data.php:2832
37
+ #: includes/class-mla-data.php:4195 includes/class-mla-data.php:4198
38
+ #: includes/class-mla-data.php:5310 includes/class-mla-data.php:5337
39
+ #: includes/class-mla-data.php:5657 includes/class-mla-data.php:5670
40
+ #: includes/class-mla-data.php:5692 includes/class-mla-data.php:5881
41
+ #: includes/class-mla-data.php:5922 includes/class-mla-data.php:5954
42
+ #: includes/class-mla-data.php:5970 includes/class-mla-data.php:6149
43
+ #: includes/class-mla-edit-media.php:321 includes/class-mla-edit-media.php:698
44
+ #: includes/class-mla-edit-media.php:738 includes/class-mla-main.php:758
45
+ #: includes/class-mla-main.php:887 includes/class-mla-main.php:1223
46
+ #: includes/class-mla-main.php:1279 includes/class-mla-main.php:1304
47
+ #: includes/class-mla-main.php:1430 includes/class-mla-main.php:1482
48
+ #: includes/class-mla-main.php:1573 includes/class-mla-main.php:1604
49
+ #: includes/class-mla-main.php:1783 includes/class-mla-main.php:1790
50
+ #: includes/class-mla-main.php:1794 includes/class-mla-main.php:1870
51
+ #: includes/class-mla-main.php:1877 includes/class-mla-main.php:2027
52
+ #: includes/class-mla-main.php:2102 includes/class-mla-main.php:2349
53
+ #: includes/class-mla-main.php:2357 includes/class-mla-main.php:2381
54
+ #: includes/class-mla-main.php:2389 includes/class-mla-main.php:2421
55
+ #: includes/class-mla-main.php:2429 includes/class-mla-media-modal.php:1232
56
+ #: includes/class-mla-mime-types.php:483 includes/class-mla-mime-types.php:916
57
+ #: includes/class-mla-mime-types.php:922 includes/class-mla-mime-types.php:926
58
+ #: includes/class-mla-mime-types.php:971
59
+ #: includes/class-mla-mime-types.php:1059
60
+ #: includes/class-mla-mime-types.php:1205
61
+ #: includes/class-mla-mime-types.php:1228
62
+ #: includes/class-mla-mime-types.php:1970
63
+ #: includes/class-mla-mime-types.php:1981
64
+ #: includes/class-mla-mime-types.php:1994
65
+ #: includes/class-mla-mime-types.php:2002
66
+ #: includes/class-mla-mime-types.php:2007
67
+ #: includes/class-mla-mime-types.php:2050
68
+ #: includes/class-mla-mime-types.php:2069
69
+ #: includes/class-mla-mime-types.php:2120
70
+ #: includes/class-mla-mime-types.php:2154
71
+ #: includes/class-mla-mime-types.php:2239
72
+ #: includes/class-mla-mime-types.php:2318
73
+ #: includes/class-mla-mime-types.php:2327
74
+ #: includes/class-mla-mime-types.php:2359 includes/class-mla-objects.php:201
75
+ #: includes/class-mla-options.php:1735 includes/class-mla-options.php:1912
76
+ #: includes/class-mla-options.php:1988 includes/class-mla-options.php:3322
77
+ #: includes/class-mla-options.php:3759 includes/class-mla-options.php:3772
78
+ #: includes/class-mla-options.php:3776 includes/class-mla-options.php:4333
79
+ #: includes/class-mla-options.php:4555 includes/class-mla-options.php:5120
80
+ #: includes/class-mla-options.php:5164 includes/class-mla-options.php:5172
81
+ #: includes/class-mla-options.php:5189 includes/class-mla-options.php:5199
82
+ #: includes/class-mla-options.php:5209 includes/class-mla-options.php:5217
83
+ #: includes/class-mla-options.php:5221 includes/class-mla-settings.php:579
84
+ #: includes/class-mla-settings.php:643 includes/class-mla-settings.php:657
85
+ #: includes/class-mla-settings.php:686 includes/class-mla-settings.php:697
86
+ #: includes/class-mla-settings.php:787 includes/class-mla-settings.php:921
87
+ #: includes/class-mla-settings.php:1028 includes/class-mla-settings.php:1061
88
+ #: includes/class-mla-settings.php:1200 includes/class-mla-settings.php:1563
89
+ #: includes/class-mla-settings.php:1595 includes/class-mla-settings.php:1672
90
+ #: includes/class-mla-settings.php:2009 includes/class-mla-settings.php:2060
91
+ #: includes/class-mla-settings.php:2139 includes/class-mla-settings.php:2712
92
+ #: includes/class-mla-settings.php:2854 includes/class-mla-settings.php:3034
93
+ #: includes/class-mla-settings.php:3078 includes/class-mla-settings.php:3148
94
+ #: includes/class-mla-settings.php:3183 includes/class-mla-settings.php:3186
95
+ #: includes/class-mla-settings.php:3190 includes/class-mla-settings.php:3289
96
+ #: includes/class-mla-settings.php:3295 includes/class-mla-settings.php:3309
97
+ #: includes/class-mla-settings.php:3316 includes/class-mla-settings.php:3338
98
+ #: includes/class-mla-settings.php:3380 includes/class-mla-settings.php:3386
99
+ #: includes/class-mla-settings.php:3400 includes/class-mla-settings.php:3407
100
+ #: includes/class-mla-settings.php:3459 includes/class-mla-settings.php:3580
101
+ #: includes/class-mla-settings.php:3710 includes/class-mla-settings.php:3781
102
+ #: includes/class-mla-settings.php:3867 includes/class-mla-settings.php:4201
103
+ #: includes/class-mla-settings.php:4205 includes/class-mla-settings.php:4216
104
+ #: includes/class-mla-settings.php:4223 includes/class-mla-settings.php:4232
105
+ #: includes/class-mla-settings.php:4269 includes/class-mla-settings.php:4277
106
+ #: includes/class-mla-settings.php:4286 includes/class-mla-shortcodes.php:1709
107
+ #: includes/class-mla-shortcodes.php:1784
108
+ #: includes/class-mla-shortcodes.php:3075
109
+ #: includes/class-mla-shortcodes.php:3403
110
+ #: includes/class-mla-shortcodes.php:3434
111
+ #: includes/class-mla-thumbnail-generation.php:249
112
+ #: includes/class-mla-thumbnail-generation.php:263
113
+ #: includes/class-mla-thumbnail-generation.php:309
114
  msgid "ERROR"
115
  msgstr ""
116
 
136
  msgstr ""
137
 
138
  #. translators: 1: ERROR tag 2: path and file
139
+ #: includes/class-mla-data-pdf.php:726
140
  #, php-format
141
  msgctxt "error_log"
142
  msgid "%1$s: File \"%2$s\", startxref not found."
143
  msgstr ""
144
 
145
  #. translators: 1: ERROR tag 2: path and file name
146
+ #: includes/class-mla-data.php:111
147
  #, php-format
148
  msgctxt "error_log"
149
  msgid "%1$s: mla_load_template file \"%2$s\" not found."
150
  msgstr ""
151
 
152
  #. translators: 1: ERROR tag 2: path and file name 3: source type, e.g., file, option, string
153
+ #: includes/class-mla-data.php:129
154
  #, php-format
155
  msgctxt "error_log"
156
  msgid "%1$s: mla_load_template file \"%2$s\" bad source type \"%3$s\"."
157
  msgstr ""
158
 
159
  #. translators: 1: ERROR tag 2: template excerpt
160
+ #: includes/class-mla-data.php:208
161
  #, php-format
162
  msgctxt "error_log"
163
  msgid ""
165
  msgstr ""
166
 
167
  #. translators: 1: ERROR tag 2: template excerpt
168
+ #: includes/class-mla-data.php:267
169
  #, php-format
170
  msgctxt "error_log"
171
  msgid ""
173
  msgstr ""
174
 
175
  #. translators: 1: ERROR tag 2: template excerpt
176
+ #: includes/class-mla-data.php:355
177
  #, php-format
178
  msgctxt "error_log"
179
  msgid "%1$s: mla_parse_template no end delimiter, tail = \"%2$s\"."
180
  msgstr ""
181
 
182
  #. translators: 1: ERROR tag 2: template string
183
+ #: includes/class-mla-data.php:399
184
  #, php-format
185
  msgctxt "error_log"
186
  msgid "%1$s: _find_test_substring no end delimiter, tail = \"%2$s\"."
187
  msgstr ""
188
 
189
+ #: includes/class-mla-data.php:502
190
  msgid "Test; no closing parenthesis "
191
  msgstr ""
192
 
193
  #. translators: 1: ERROR tag 2: node type, e.g., template
194
+ #: includes/class-mla-data.php:658
195
  #, php-format
196
  msgctxt "error_log"
197
  msgid "%1$s: _evaluate_template_array_node unknown type \"%2$s\"."
198
  msgstr ""
199
 
200
  #. translators: 1: ERROR tag 2: node type, e.g., template
201
+ #: includes/class-mla-data.php:721
202
  #, php-format
203
  msgctxt "error_log"
204
  msgid "%1$s: _evaluate_template_node unknown type \"%2$s\"."
205
  msgstr ""
206
 
207
  #. translators: 1: ERROR tag 2: template excerpt
208
+ #: includes/class-mla-data.php:1301
209
  #, php-format
210
  msgctxt "error_log"
211
  msgid ""
214
  msgstr ""
215
 
216
  #. translators: 1: ERROR tag 2: function name 3: non-array value
217
+ #: includes/class-mla-data.php:1582 includes/class-mla-edit-media.php:321
218
+ #: includes/class-mla-main.php:2027 includes/class-mla-main.php:2102
219
+ #: includes/class-mla-media-modal.php:1232
220
  #: includes/class-mla-mime-types.php:483
221
+ #: includes/class-mla-mime-types.php:1228
222
+ #: includes/class-mla-mime-types.php:2359 includes/class-mla-settings.php:1563
223
+ #: includes/class-mla-settings.php:2009
224
  #, php-format
225
  msgctxt "error_log"
226
  msgid "%1$s: %2$s non-array \"%3$s\""
227
  msgstr ""
228
 
229
  #. translators: 1: DEBUG tag 2: query filter details
230
+ #: includes/class-mla-data.php:2033
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  #, php-format
232
  msgctxt "error_log"
233
  msgid "%1$s: _execute_list_table_query $wp_filter = \"%2$s\"."
234
  msgstr ""
235
 
236
+ #: includes/class-mla-data.php:2033 includes/class-mla-data.php:2048
237
+ #: includes/class-mla-data.php:2050 includes/class-mla-data.php:2479
238
+ #: includes/class-mla-data.php:2550 includes/class-mla-data.php:2599
239
+ #: includes/class-mla-data.php:2696 includes/class-mla-data.php:2774
240
+ #: includes/class-mla-data.php:2793
241
+ msgid "DEBUG"
 
 
 
 
242
  msgstr ""
243
 
244
  #. translators: 1: DEBUG tag 2: query details
245
+ #: includes/class-mla-data.php:2048
246
  #, php-format
247
  msgctxt "error_log"
248
  msgid "%1$s: _execute_list_table_query WP_Query = \"%2$s\"."
249
  msgstr ""
250
 
251
  #. translators: 1: DEBUG tag 2: SQL statement
252
+ #: includes/class-mla-data.php:2050
253
  #, php-format
254
  msgctxt "error_log"
255
  msgid "%1$s: _execute_list_table_query SQL_request = \"%2$s\"."
256
  msgstr ""
257
 
258
  #. translators: 1: DEBUG tag 2: search filter details
259
+ #: includes/class-mla-data.php:2479
 
 
 
 
 
 
260
  #, php-format
261
  msgctxt "error_log"
262
  msgid "%1$s: mla_query_posts_search_filter = \"%2$s\"."
263
  msgstr ""
264
 
265
  #. translators: 1: DEBUG tag 2: where filter details
266
+ #: includes/class-mla-data.php:2550
 
 
 
 
 
 
267
  #, php-format
268
  msgctxt "error_log"
269
  msgid "%1$s: mla_query_posts_where_filter = \"%2$s\"."
270
  msgstr ""
271
 
272
  #. translators: 1: DEBUG tag 2: join filter details
273
+ #: includes/class-mla-data.php:2599
 
 
 
 
 
 
274
  #, php-format
275
  msgctxt "error_log"
276
  msgid "%1$s: mla_query_posts_join_filter = \"%2$s\"."
277
  msgstr ""
278
 
279
  #. translators: 1: DEBUG tag 2: orderby details details
280
+ #: includes/class-mla-data.php:2696
 
 
 
 
 
 
281
  #, php-format
282
  msgctxt "error_log"
283
  msgid "%1$s: mla_query_posts_orderby_filter = \"%2$s\"."
284
  msgstr ""
285
 
286
  #. translators: 1: DEBUG tag 2: SQL clauses
287
+ #: includes/class-mla-data.php:2774
 
 
 
 
 
 
288
  #, php-format
289
  msgctxt "error_log"
290
  msgid "%1$s: mla_query_posts_clauses_filter = \"%2$s\"."
291
  msgstr ""
292
 
293
  #. translators: 1: DEBUG tag 2: SQL clauses
294
+ #: includes/class-mla-data.php:2793
 
 
 
 
 
 
295
  #, php-format
296
  msgctxt "error_log"
297
  msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
298
  msgstr ""
299
 
300
  #. translators: 1: ERROR tag 2: post ID
301
+ #: includes/class-mla-data.php:2826
302
  #, php-format
303
  msgctxt "error_log"
304
  msgid "%1$s: mla_get_attachment_by_id(%2$d) not found."
305
  msgstr ""
306
 
307
  #. translators: 1: ERROR tag 2: post ID 3: post_type
308
+ #: includes/class-mla-data.php:2832
309
  #, php-format
310
  msgctxt "error_log"
311
  msgid "%1$s: mla_get_attachment_by_id(%2$d) wrong post_type \"%3$s\"."
312
  msgstr ""
313
 
314
+ #: includes/class-mla-data.php:3464 includes/class-mla-data.php:3807
315
+ #: includes/class-mla-list-table.php:1030
316
  msgid "NO REFERENCE TESTS"
317
  msgstr ""
318
 
319
+ #: includes/class-mla-data.php:3470 includes/class-mla-data.php:3813
320
+ #: includes/class-mla-options.php:2863 includes/class-mla-options.php:2864
321
  msgid "ORPHAN"
322
  msgstr ""
323
 
324
+ #: includes/class-mla-data.php:3474 includes/class-mla-data.php:3817
325
  msgid "UNUSED"
326
  msgstr ""
327
 
328
+ #: includes/class-mla-data.php:3479 includes/class-mla-data.php:3822
329
  msgid "UNATTACHED"
330
  msgstr ""
331
 
332
+ #: includes/class-mla-data.php:3481 includes/class-mla-data.php:3824
333
  msgid "INVALID PARENT"
334
  msgstr ""
335
 
336
  #. translators: 1: post_type, 2: post_title, 3: post ID, 4: query string, 5: error message
337
+ #: includes/class-mla-data.php:4004
338
  #, php-format
339
  msgid "(%1$s) %2$s (ID %3$d) query \"%4$s\" failed, returning \"%5$s\""
340
  msgstr ""
341
 
342
+ #: includes/class-mla-data.php:4195
343
  msgctxt "error_log"
344
  msgid "mla_parse_xmp_metadata xml_parse_into_struct failed."
345
  msgstr ""
346
 
347
+ #: includes/class-mla-data.php:4198
348
  msgctxt "error_log"
349
  msgid "mla_parse_xmp_metadata set option failed."
350
  msgstr ""
351
 
352
+ #: includes/class-mla-data.php:5394 includes/class-mla-settings.php:1796
353
  #: includes/class-mla-view-list-table.php:377
354
  #: includes/class-mla-view-list-table.php:393
355
  msgid "Yes"
356
  msgstr ""
357
 
358
+ #: includes/class-mla-data.php:5396 includes/class-mla-list-table.php:280
359
+ #: includes/class-mla-settings.php:1795
360
  #: includes/class-mla-view-list-table.php:379
361
  #: includes/class-mla-view-list-table.php:395
362
  msgid "No"
363
  msgstr ""
364
 
365
  #. translators: 1: meta_key
366
+ #: includes/class-mla-data.php:5654 includes/class-mla-data.php:5752
367
  #, php-format
368
  msgid "Deleting %1$s"
369
  msgstr ""
370
 
371
  #. translators: 1: ERROR tag 2: meta_key
372
+ #: includes/class-mla-data.php:5657
373
  #, php-format
374
  msgid "%1$s: meta:%2$s not found"
375
  msgstr ""
377
  #. translators: 1: meta_key 2: meta_value
378
  #. translators: 1: meta_key 2: new_value
379
  #. translators: 1: meta_key 2: meta_value
380
+ #: includes/class-mla-data.php:5666 includes/class-mla-data.php:5763
381
+ #: includes/class-mla-data.php:5769
382
  #, php-format
383
  msgid "Adding %1$s = %2$s"
384
  msgstr ""
385
 
386
  #. translators: 1: ERROR tag 2: meta_key
387
+ #: includes/class-mla-data.php:5670
388
  #, php-format
389
  msgid "%1$s: Adding meta:%2$s; not found"
390
  msgstr ""
391
 
392
  #. translators: 1: meta_key
393
+ #: includes/class-mla-data.php:5677
394
  #, php-format
395
  msgid "Deleting Null meta:%1$s"
396
  msgstr ""
397
 
398
  #. translators: 1: element name 2: old_value 3: new_value
399
+ #: includes/class-mla-data.php:5687 includes/class-mla-data.php:5838
400
+ #: includes/class-mla-data.php:5899 includes/class-mla-data.php:5925
401
+ #: includes/class-mla-data.php:5967 includes/class-mla-data.php:5980
402
+ #: includes/class-mla-data.php:5989 includes/class-mla-data.php:6000
403
+ #: includes/class-mla-data.php:6011 includes/class-mla-data.php:6024
404
+ #: includes/class-mla-data.php:6033 includes/class-mla-data.php:6042
405
+ #: includes/class-mla-mime-types.php:1062
406
+ #: includes/class-mla-mime-types.php:2123
407
  #, php-format
408
  msgid "Changing %1$s from \"%2$s\" to \"%3$s\""
409
  msgstr ""
410
 
411
  #. translators: 1: ERROR tag 2: meta_key
412
+ #: includes/class-mla-data.php:5692
413
  #, php-format
414
  msgid "%1$s: Changing meta:%2$s; not found"
415
  msgstr ""
416
 
417
  #. translators: 1: meta_key
418
+ #: includes/class-mla-data.php:5793
419
  #, php-format
420
  msgid "Deleting old %1$s values"
421
  msgstr ""
422
 
423
  #. translators: 1: meta_key 2: old_value 3: new_value 4: update count
424
+ #: includes/class-mla-data.php:5823
425
  #, php-format
426
  msgid "Changing %1$s from \"%2$s\" to \"%3$s\"; %4$d updates"
427
  msgstr ""
428
 
429
+ #: includes/class-mla-data.php:5881
430
  msgid "Could not retrieve Attachment."
431
  msgstr ""
432
 
433
+ #: includes/class-mla-data.php:5899 includes/class-mla-edit-media.php:430
434
+ #: includes/class-mla-main.php:1725 includes/class-mla-main.php:2041
435
+ #: includes/class-mla-main.php:2231 includes/class-mla-objects.php:278
436
+ #: includes/class-mla-options.php:1094 includes/class-mla-options.php:1942
437
+ #: includes/mla-main-search-box-template.php:50
438
+ #: includes/mla-media-modal-js-template.php:39
439
  msgid "Title"
440
  msgstr ""
441
 
442
  #. translators: 1: ERROR tag 2: old_value
443
+ #: includes/class-mla-data.php:5922
444
  #, php-format
445
  msgid "%1$s: Could not change Name/Slug \"%2$s\"; name already exists"
446
  msgstr ""
447
 
448
+ #: includes/class-mla-data.php:5925 includes/class-mla-edit-media.php:431
449
+ #: includes/class-mla-main.php:2232 includes/class-mla-options.php:1101
450
  msgid "Name/Slug"
451
  msgstr ""
452
 
453
  #. translators: 1: old_value
454
+ #: includes/class-mla-data.php:5951
455
  #, php-format
456
  msgid "Deleting ALT Text, was \"%1$s\""
457
  msgstr ""
458
 
459
  #. translators: 1: ERROR tag 2: old_value
460
+ #: includes/class-mla-data.php:5954
461
  #, php-format
462
  msgid "%1$s: Could not delete ALT Text, remains \"%2$s\""
463
  msgstr ""
464
 
465
+ #: includes/class-mla-data.php:5967 includes/class-mla-edit-media.php:434
466
+ #: includes/class-mla-list-table.php:1305 includes/class-mla-main.php:2235
467
+ #: includes/class-mla-options.php:1108 includes/class-mla-options.php:1948
468
+ #: includes/mla-main-search-box-template.php:52
469
+ #: includes/mla-media-modal-js-template.php:47
470
  msgid "ALT Text"
471
  msgstr ""
472
 
473
  #. translators: 1: ERROR tag 2: old_value 3: new_value
474
+ #: includes/class-mla-data.php:5970
475
  #, php-format
476
  msgid "%1$s: Could not change ALT Text from \"%2$s\" to \"%3$s\""
477
  msgstr ""
478
 
479
+ #: includes/class-mla-data.php:5980 includes/class-mla-edit-media.php:432
480
+ #: includes/class-mla-main.php:2233 includes/class-mla-options.php:1115
481
+ #: includes/class-mla-options.php:1951
482
+ #: includes/mla-main-search-box-template.php:53
483
+ #: includes/mla-media-modal-js-template.php:52
484
  msgid "Caption"
485
  msgstr ""
486
 
487
+ #: includes/class-mla-data.php:5989 includes/class-mla-edit-media.php:433
488
+ #: includes/class-mla-main.php:2234 includes/class-mla-options.php:1122
489
+ #: includes/class-mla-options.php:1954 includes/class-mla-settings.php:1529
490
+ #: includes/class-mla-settings.php:1786 includes/class-mla-settings.php:1884
491
+ #: includes/class-mla-settings.php:2248
492
+ #: includes/mla-main-search-box-template.php:54
493
+ #: includes/mla-media-modal-js-template.php:56
494
  msgid "Description"
495
  msgstr ""
496
 
497
+ #: includes/class-mla-data.php:6000 includes/class-mla-list-table.php:1010
498
+ #: includes/class-mla-list-table.php:1081 includes/class-mla-options.php:4503
499
+ #: includes/class-mla-options.php:4881
500
  msgid "Parent"
501
  msgstr ""
502
 
503
+ #: includes/class-mla-data.php:6011 includes/class-mla-edit-media.php:622
504
+ #: includes/class-mla-edit-media.php:825 includes/class-mla-main.php:2238
505
+ #: includes/class-mla-settings.php:1527 includes/class-mla-settings.php:1784
506
  msgid "Menu Order"
507
  msgstr ""
508
 
509
+ #: includes/class-mla-data.php:6024 includes/class-mla-edit-media.php:400
510
+ #: includes/class-mla-list-table.php:1461
511
+ #: includes/class-mla-list-table.php:1464 includes/class-mla-main.php:2108
512
+ #: includes/class-mla-main.php:2210
513
  msgid "Author"
514
  msgstr ""
515
 
516
+ #: includes/class-mla-data.php:6033 includes/class-mla-edit-media.php:424
517
+ #: includes/class-mla-main.php:2249
518
  msgid "Comments"
519
  msgstr ""
520
 
521
+ #: includes/class-mla-data.php:6042 includes/class-mla-edit-media.php:425
522
+ #: includes/class-mla-main.php:2250
523
  msgid "Pings"
524
  msgstr ""
525
 
526
+ #: includes/class-mla-data.php:6073
527
  msgid "Adding"
528
  msgstr ""
529
 
530
+ #: includes/class-mla-data.php:6077
531
  msgid "Removing"
532
  msgstr ""
533
 
534
+ #: includes/class-mla-data.php:6086
535
  msgid "Replacing"
536
  msgstr ""
537
 
538
+ #: includes/class-mla-data.php:6094
539
  msgid "Ignoring"
540
  msgstr ""
541
 
542
  #. translators: 1: action_name, 2: taxonomy
543
+ #: includes/class-mla-data.php:6107
544
  #, php-format
545
  msgid "%1$s \"%2$s\" terms"
546
  msgstr ""
547
 
548
  #. translators: 1: taxonomy
549
+ #: includes/class-mla-data.php:6111
550
  #, php-format
551
  msgid "You cannot assign \"%1$s\" terms"
552
  msgstr ""
553
 
554
  #. translators: 1: post ID
555
+ #: includes/class-mla-data.php:6123 includes/class-mla-main.php:1289
556
  #, php-format
557
  msgid "Item %1$d, no changes detected."
558
  msgstr ""
559
 
560
  #. translators: 1: post ID
561
+ #: includes/class-mla-data.php:6135
562
  #, php-format
563
  msgid "Item %1$d updated."
564
  msgstr ""
565
 
566
  #. translators: 1: ERROR tag 2: post ID
567
+ #: includes/class-mla-data.php:6149
568
  #, php-format
569
  msgid "%1$s: Item %2$d update failed."
570
  msgstr ""
571
 
572
+ #: includes/class-mla-edit-media.php:147 includes/class-mla-edit-media.php:187
573
+ #: includes/class-mla-edit-media.php:242 includes/class-mla-main.php:546
574
+ #: includes/class-mla-main.php:1074 includes/class-mla-main.php:1920
575
+ #: includes/class-mla-media-modal.php:415 includes/class-mla-options.php:4025
576
+ #: includes/class-mla-polylang-support.php:379
577
+ #: includes/class-mla-settings.php:359
578
+ #: includes/class-mla-thumbnail-generation.php:92
579
  msgctxt "tag_delimiter"
580
  msgid ","
581
  msgstr ""
582
 
583
+ #: includes/class-mla-edit-media.php:186
584
  msgid "Upload New Media items"
585
  msgstr ""
586
 
587
+ #: includes/class-mla-edit-media.php:188 includes/class-mla-edit-media.php:244
588
+ #: includes/class-mla-main.php:533
589
  msgid "An ajax.fail error has occurred. Please reload the page and try again."
590
  msgstr ""
591
 
592
+ #: includes/class-mla-edit-media.php:189 includes/class-mla-edit-media.php:245
593
+ #: includes/class-mla-main.php:534
594
  msgid "An ajax.done error has occurred. Please reload the page and try again."
595
  msgstr ""
596
 
597
+ #: includes/class-mla-edit-media.php:192 includes/class-mla-edit-media.php:420
598
  msgid "Open Bulk Edit area"
599
  msgstr ""
600
 
601
+ #: includes/class-mla-edit-media.php:193
602
  msgid "Close Bulk Edit area"
603
  msgstr ""
604
 
605
+ #: includes/class-mla-edit-media.php:343 includes/class-mla-main.php:2143
606
  msgid "more"
607
  msgstr ""
608
 
609
+ #: includes/class-mla-edit-media.php:344 includes/class-mla-main.php:2144
610
  msgid "less"
611
  msgstr ""
612
 
613
+ #: includes/class-mla-edit-media.php:347 includes/class-mla-edit-media.php:378
614
+ #: includes/class-mla-main.php:2147 includes/class-mla-main.php:2185
615
  msgid "Add"
616
  msgstr ""
617
 
618
+ #: includes/class-mla-edit-media.php:348 includes/class-mla-edit-media.php:379
619
+ #: includes/class-mla-main.php:2148 includes/class-mla-main.php:2186
620
  msgid "Remove"
621
  msgstr ""
622
 
623
+ #: includes/class-mla-edit-media.php:349 includes/class-mla-edit-media.php:380
624
+ #: includes/class-mla-main.php:2149 includes/class-mla-main.php:2187
625
+ #: includes/class-mla-options.php:3558 includes/class-mla-options.php:3657
626
+ #: includes/class-mla-options.php:3701 includes/class-mla-options.php:4770
627
+ #: includes/class-mla-options.php:4820 includes/class-mla-options.php:4940
628
+ #: includes/class-mla-options.php:5035 includes/class-mla-options.php:5081
629
  msgid "Replace"
630
  msgstr ""
631
 
632
+ #: includes/class-mla-edit-media.php:419
633
+ msgid ""
634
+ "IMPORTANT: Make your entries BEFORE uploading new items. Pull down the Help "
635
+ "menu for more information."
636
+ msgstr ""
637
+
638
+ #: includes/class-mla-edit-media.php:426 includes/class-mla-main.php:2251
639
+ #: includes/class-mla-main.php:2297 includes/class-mla-settings.php:1794
640
+ #: includes/class-mla-settings.php:1832 includes/class-mla-settings.php:2259
641
  msgid "No Change"
642
  msgstr ""
643
 
644
+ #: includes/class-mla-edit-media.php:427 includes/class-mla-main.php:2252
645
  msgid "Allow"
646
  msgstr ""
647
 
648
+ #: includes/class-mla-edit-media.php:428 includes/class-mla-main.php:2253
649
  msgid "Do not allow"
650
  msgstr ""
651
 
652
+ #: includes/class-mla-edit-media.php:435
653
+ #: includes/class-mla-list-table.php:1007
654
+ #: includes/class-mla-list-table.php:1078 includes/class-mla-main.php:2236
655
  msgid "Parent ID"
656
  msgstr ""
657
 
658
+ #: includes/class-mla-edit-media.php:436 includes/class-mla-edit-media.php:805
659
+ #: includes/class-mla-main.php:2237
660
  #: includes/class-mla-upload-optional-list-table.php:281
661
  msgid "Select"
662
  msgstr ""
663
 
664
+ #: includes/class-mla-edit-media.php:512
665
  msgid "Custom field mapping updated."
666
  msgstr ""
667
 
668
+ #: includes/class-mla-edit-media.php:513
669
  msgid "IPTC/EXIF mapping updated."
670
  msgstr ""
671
 
672
  #. translators: date_i18n format for last modified date and time
673
+ #: includes/class-mla-edit-media.php:531
674
  msgid "M j, Y @ G:i"
675
  msgstr ""
676
 
677
+ #: includes/class-mla-edit-media.php:533
678
  msgid "Last modified"
679
  msgstr ""
680
 
681
+ #: includes/class-mla-edit-media.php:544
682
  msgid "Map Custom Field metadata for this item"
683
  msgstr ""
684
 
685
+ #: includes/class-mla-edit-media.php:544 includes/class-mla-main.php:1838
686
+ #: includes/class-mla-main.php:2256
687
  msgid "Map Custom Field metadata"
688
  msgstr ""
689
 
690
+ #: includes/class-mla-edit-media.php:546
691
  msgid "Map IPTC/EXIF metadata for this item"
692
  msgstr ""
693
 
694
+ #: includes/class-mla-edit-media.php:546 includes/class-mla-main.php:1841
695
+ #: includes/class-mla-main.php:2255
696
  msgid "Map IPTC/EXIF metadata"
697
  msgstr ""
698
 
699
+ #: includes/class-mla-edit-media.php:618 includes/class-mla-edit-media.php:806
700
  msgid "Parent Info"
701
  msgstr ""
702
 
703
+ #: includes/class-mla-edit-media.php:628 includes/class-mla-edit-media.php:849
704
  msgid "Attachment Metadata"
705
  msgstr ""
706
 
707
+ #: includes/class-mla-edit-media.php:633 includes/class-mla-edit-media.php:883
708
+ #: includes/class-mla-options.php:477
709
  msgid "Featured in"
710
  msgstr ""
711
 
712
+ #: includes/class-mla-edit-media.php:637 includes/class-mla-edit-media.php:922
713
+ #: includes/class-mla-options.php:486
714
  msgid "Inserted in"
715
  msgstr ""
716
 
717
+ #: includes/class-mla-edit-media.php:641 includes/class-mla-edit-media.php:957
718
+ #: includes/class-mla-options.php:495 includes/class-mla-settings.php:4002
719
  msgid "Gallery in"
720
  msgstr ""
721
 
722
+ #: includes/class-mla-edit-media.php:645 includes/class-mla-edit-media.php:992
723
+ #: includes/class-mla-options.php:504 includes/class-mla-settings.php:4012
724
  msgid "MLA Gallery in"
725
  msgstr ""
726
 
727
  #. translators: 1: ERROR tag 2: function name 3: template key
728
+ #: includes/class-mla-edit-media.php:698 includes/class-mla-edit-media.php:738
729
+ #: includes/class-mla-main.php:758 includes/class-mla-settings.php:579
730
  #, php-format
731
  msgctxt "error_log"
732
  msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
733
  msgstr ""
734
 
735
+ #: includes/class-mla-edit-media.php:784 includes/class-mla-list-table.php:738
736
+ #: includes/class-mla-main.php:1738
737
  msgid "Scheduled"
738
  msgstr ""
739
 
740
+ #: includes/class-mla-edit-media.php:787 includes/class-mla-list-table.php:741
741
  msgctxt "post state"
742
  msgid "Pending"
743
  msgstr ""
744
 
745
+ #: includes/class-mla-edit-media.php:790 includes/class-mla-list-table.php:735
746
+ #: includes/class-mla-main.php:1744
747
  msgid "Draft"
748
  msgstr ""
749
 
750
+ #: includes/class-mla-edit-media.php:804
751
  msgid "Post Parent"
752
  msgstr ""
753
 
754
+ #: includes/class-mla-edit-media.php:805 includes/class-mla-main.php:2032
755
  msgid "Select Parent"
756
  msgstr ""
757
 
758
+ #: includes/class-mla-edit-media.php:872 includes/class-mla-edit-media.php:910
759
+ #: includes/class-mla-edit-media.php:946 includes/class-mla-edit-media.php:981
760
+ #: includes/class-mla-list-table.php:1128
761
+ #: includes/class-mla-list-table.php:1177
762
+ #: includes/class-mla-list-table.php:1223
763
+ #: includes/class-mla-list-table.php:1268
764
  msgid "PARENT"
765
  msgstr ""
766
 
767
+ #: includes/class-mla-edit-media.php:1175
768
  msgid "Most Used"
769
  msgstr ""
770
 
771
  #. translators: %s: add new taxonomy label
772
+ #: includes/class-mla-edit-media.php:1204
773
  #, php-format
774
  msgid "+ %s"
775
  msgstr ""
776
 
777
+ #: includes/class-mla-edit-media.php:1210 includes/class-mla-main.php:2033
778
+ #: includes/class-mla-media-modal.php:1262
779
+ #: includes/mla-media-modal-js-template.php:27
780
+ #: includes/mla-media-modal-js-template.php:70
781
  msgid "Search"
782
  msgstr ""
783
 
784
+ #: includes/class-mla-list-table.php:239
785
  msgctxt "list_table_column"
786
  msgid "ID/Parent"
787
  msgstr ""
788
 
789
+ #: includes/class-mla-list-table.php:240
790
  msgctxt "list_table_column"
791
  msgid "Title/Name"
792
  msgstr ""
793
 
794
+ #: includes/class-mla-list-table.php:241
795
  msgctxt "list_table_column"
796
  msgid "Title"
797
  msgstr ""
798
 
799
+ #: includes/class-mla-list-table.php:242
800
  msgctxt "list_table_column"
801
  msgid "Name"
802
  msgstr ""
803
 
804
+ #: includes/class-mla-list-table.php:243
805
  msgctxt "list_table_column"
806
  msgid "Parent ID"
807
  msgstr ""
808
 
809
+ #: includes/class-mla-list-table.php:244
810
  msgctxt "list_table_column"
811
  msgid "Menu Order"
812
  msgstr ""
813
 
814
+ #: includes/class-mla-list-table.php:245
815
  msgctxt "list_table_column"
816
  msgid "Featured in"
817
  msgstr ""
818
 
819
+ #: includes/class-mla-list-table.php:246
820
  msgctxt "list_table_column"
821
  msgid "Inserted in"
822
  msgstr ""
823
 
824
+ #: includes/class-mla-list-table.php:247
825
  msgctxt "list_table_column"
826
  msgid "Gallery in"
827
  msgstr ""
828
 
829
+ #: includes/class-mla-list-table.php:248
830
  msgctxt "list_table_column"
831
  msgid "MLA Gallery in"
832
  msgstr ""
833
 
834
+ #: includes/class-mla-list-table.php:249
835
  msgctxt "list_table_column"
836
  msgid "ALT Text"
837
  msgstr ""
838
 
839
+ #: includes/class-mla-list-table.php:250
840
  msgctxt "list_table_column"
841
  msgid "Caption"
842
  msgstr ""
843
 
844
+ #: includes/class-mla-list-table.php:251
845
  #: includes/class-mla-upload-list-table.php:186
846
  #: includes/class-mla-upload-optional-list-table.php:171
847
  #: includes/class-mla-view-list-table.php:179
849
  msgid "Description"
850
  msgstr ""
851
 
852
+ #: includes/class-mla-list-table.php:252
853
  #: includes/class-mla-upload-list-table.php:178
854
  #: includes/class-mla-upload-optional-list-table.php:168
855
  msgctxt "list_table_column"
856
  msgid "MIME Type"
857
  msgstr ""
858
 
859
+ #: includes/class-mla-list-table.php:253
860
  msgctxt "list_table_column"
861
  msgid "File URL"
862
  msgstr ""
863
 
864
+ #: includes/class-mla-list-table.php:254
865
  msgctxt "list_table_column"
866
  msgid "Base File"
867
  msgstr ""
868
 
869
+ #: includes/class-mla-list-table.php:255
870
  msgctxt "list_table_column"
871
  msgid "Date"
872
  msgstr ""
873
 
874
+ #: includes/class-mla-list-table.php:256
875
  msgctxt "list_table_column"
876
  msgid "Last Modified"
877
  msgstr ""
878
 
879
+ #: includes/class-mla-list-table.php:257
880
  msgctxt "list_table_column"
881
  msgid "Author"
882
  msgstr ""
883
 
884
+ #: includes/class-mla-list-table.php:258
885
  msgctxt "list_table_column"
886
  msgid "Attached to"
887
  msgstr ""
888
 
889
+ #: includes/class-mla-list-table.php:279
890
  msgid "All"
891
  msgstr ""
892
 
893
+ #: includes/class-mla-list-table.php:522
894
+ msgid "List View"
895
+ msgstr ""
896
+
897
+ #: includes/class-mla-list-table.php:581
898
+ #: includes/class-mla-list-table.php:1363 includes/class-mla-options.php:609
899
+ #: includes/class-mla-options.php:811 includes/class-mla-options.php:835
900
+ #: includes/class-mla-options.php:849 includes/class-mla-settings.php:2333
901
  msgid "None"
902
  msgstr ""
903
 
904
+ #: includes/class-mla-list-table.php:587 includes/class-mla-list-table.php:620
905
+ #: includes/class-mla-list-table.php:1007
906
+ #: includes/class-mla-list-table.php:1078
907
+ #: includes/class-mla-list-table.php:1301
908
+ #: includes/class-mla-list-table.php:1345
909
+ #: includes/class-mla-list-table.php:1377
910
+ #: includes/class-mla-list-table.php:1461
911
  msgid "Filter by"
912
  msgstr ""
913
 
914
+ #: includes/class-mla-list-table.php:597
915
+ #: includes/class-mla-media-modal.php:923
916
  msgid "Not Supported"
917
  msgstr ""
918
 
919
  #. translators: 1: column_name 2: column_values
920
+ #: includes/class-mla-list-table.php:640
921
  #: includes/class-mla-upload-list-table.php:247
922
  #: includes/class-mla-upload-optional-list-table.php:228
923
  #: includes/class-mla-view-list-table.php:236
925
  msgid "column_default: %1$s, %2$s"
926
  msgstr ""
927
 
928
+ #: includes/class-mla-list-table.php:719 includes/class-mla-list-table.php:824
929
+ #: includes/class-mla-list-table.php:1133
930
+ #: includes/class-mla-list-table.php:1182
931
+ #: includes/class-mla-list-table.php:1228
932
+ #: includes/class-mla-list-table.php:1273
933
+ #: includes/class-mla-list-table.php:1481
934
+ #: includes/class-mla-list-table.php:1797
935
+ #: includes/class-mla-polylang-support.php:378
936
  #: includes/class-mla-upload-list-table.php:312
937
  #: includes/class-mla-upload-list-table.php:610
938
  #: includes/class-mla-view-list-table.php:302
940
  msgid "Edit"
941
  msgstr ""
942
 
943
+ #: includes/class-mla-list-table.php:744
944
+ #: includes/class-mla-thumbnail-generation.php:433
945
  msgid "Trash"
946
  msgstr ""
947
 
948
+ #: includes/class-mla-list-table.php:813
949
  msgid "Restore this item from the Trash"
950
  msgstr ""
951
 
952
+ #: includes/class-mla-list-table.php:813
953
+ #: includes/class-mla-list-table.php:1794
954
  msgid "Restore"
955
  msgstr ""
956
 
957
+ #: includes/class-mla-list-table.php:824
958
  #: includes/class-mla-upload-list-table.php:312
959
  #: includes/class-mla-view-list-table.php:302
960
  msgid "Edit this item"
961
  msgstr ""
962
 
963
+ #: includes/class-mla-list-table.php:825
964
  #: includes/class-mla-upload-list-table.php:314
965
  #: includes/class-mla-view-list-table.php:304
966
  msgid "Edit this item inline"
967
  msgstr ""
968
 
969
+ #: includes/class-mla-list-table.php:825 includes/class-mla-main.php:2230
970
+ #: includes/class-mla-options.php:3433 includes/class-mla-options.php:3737
971
  #: includes/class-mla-upload-list-table.php:314
972
  #: includes/class-mla-view-list-table.php:304
973
  msgid "Quick Edit"
974
  msgstr ""
975
 
976
+ #: includes/class-mla-list-table.php:831
977
  msgid "Move this item to the Trash"
978
  msgstr ""
979
 
980
+ #: includes/class-mla-list-table.php:831
981
+ #: includes/class-mla-list-table.php:1800
982
  msgid "Move to Trash"
983
  msgstr ""
984
 
985
+ #: includes/class-mla-list-table.php:836
986
  #: includes/class-mla-upload-list-table.php:318
987
  #: includes/class-mla-view-list-table.php:310
988
  msgid "Delete this item Permanently"
989
  msgstr ""
990
 
991
+ #: includes/class-mla-list-table.php:836
992
+ #: includes/class-mla-list-table.php:1795
993
+ #: includes/class-mla-list-table.php:1802
994
  #: includes/class-mla-upload-list-table.php:318
995
  #: includes/class-mla-view-list-table.php:310
996
  #: includes/class-mla-view-list-table.php:514
997
  msgid "Delete Permanently"
998
  msgstr ""
999
 
1000
+ #: includes/class-mla-list-table.php:844 includes/class-mla-settings.php:3101
1001
  msgid "Download"
1002
  msgstr ""
1003
 
1004
+ #: includes/class-mla-list-table.php:847 includes/class-mla-settings.php:1772
1005
  msgid "View"
1006
  msgstr ""
1007
 
1008
+ #: includes/class-mla-list-table.php:893
1009
+ #: includes/class-mla-list-table.php:1004 includes/class-mla-main.php:537
1010
+ #: includes/class-mla-main.php:1729
1011
+ #: includes/class-mla-polylang-support.php:375
1012
+ #: includes/class-mla-thumbnail-generation.php:90
1013
  msgid "(no title)"
1014
  msgstr ""
1015
 
1016
+ #: includes/class-mla-list-table.php:1075
1017
  msgid "(no title: bad ID)"
1018
  msgstr ""
1019
 
1020
+ #: includes/class-mla-list-table.php:1110
1021
+ #: includes/class-mla-list-table.php:1155
1022
+ #: includes/class-mla-list-table.php:1205
1023
+ #: includes/class-mla-list-table.php:1250 includes/class-mla-options.php:481
1024
+ #: includes/class-mla-options.php:490 includes/class-mla-options.php:499
1025
+ #: includes/class-mla-options.php:508
1026
  msgid "Disabled"
1027
  msgstr ""
1028
 
1029
+ #: includes/class-mla-list-table.php:1348 includes/class-mla-settings.php:1877
1030
+ #: includes/class-mla-settings.php:2242
1031
  msgid "MIME Type"
1032
  msgstr ""
1033
 
1034
+ #: includes/class-mla-list-table.php:1381
1035
  msgid "Base File"
1036
  msgstr ""
1037
 
1038
+ #: includes/class-mla-list-table.php:1397
1039
+ #: includes/class-mla-list-table.php:1430
1040
  msgid "Unpublished"
1041
  msgstr ""
1042
 
1043
  #. translators: 1: upload/last modified date and time
1044
+ #: includes/class-mla-list-table.php:1406
1045
+ #: includes/class-mla-list-table.php:1437
1046
  #, php-format
1047
  msgid "%1$s from now"
1048
  msgstr ""
1049
 
1050
  #. translators: 1: upload/last modified date and time
1051
+ #: includes/class-mla-list-table.php:1409
1052
+ #: includes/class-mla-list-table.php:1439
1053
  #, php-format
1054
  msgid "%1$s ago"
1055
  msgstr ""
1056
 
1057
  #. translators: format for upload/last modified date
1058
  #. translators: date format in table columns, see http://php.net/date
1059
+ #: includes/class-mla-list-table.php:1413
1060
+ #: includes/class-mla-list-table.php:1442
1061
+ #: includes/class-mla-list-table.php:1498 includes/class-mla-main.php:1754
1062
  msgid "Y/m/d"
1063
  msgstr ""
1064
 
1065
+ #: includes/class-mla-list-table.php:1500 includes/class-mla-options.php:1211
1066
  msgctxt "table_view_singular"
1067
  msgid "Unattached"
1068
  msgstr ""
1069
 
1070
+ #: includes/class-mla-list-table.php:1503
1071
  msgid "Set Parent"
1072
  msgstr ""
1073
 
1074
+ #: includes/class-mla-list-table.php:1649
1075
  msgctxt "uploaded files"
1076
  msgid "All"
1077
  msgid_plural "All"
1078
  msgstr[0] ""
1079
  msgstr[1] ""
1080
 
1081
+ #: includes/class-mla-list-table.php:1828
1082
  msgid "Filter"
1083
  msgstr ""
1084
 
1085
+ #: includes/class-mla-list-table.php:1834
1086
+ #: includes/mla-media-modal-js-template.php:67
1087
  msgid "Terms Search"
1088
  msgstr ""
1089
 
1090
+ #: includes/class-mla-list-table.php:1841
1091
+ #: includes/class-mla-polylang-support.php:1670
1092
+ #: includes/class-mla-thumbnail-generation.php:438
1093
  msgid "Clear Filter-by"
1094
  msgstr ""
1095
 
1096
+ #: includes/class-mla-list-table.php:1845
1097
  msgid "Empty Trash"
1098
  msgstr ""
1099
 
1100
+ #: includes/class-mla-main.php:535 includes/class-mla-settings.php:356
1101
  msgid "Error while saving the changes."
1102
  msgstr ""
1103
 
1104
+ #: includes/class-mla-main.php:536 includes/class-mla-settings.php:357
1105
  msgid "Remove From Bulk Edit"
1106
  msgstr ""
1107
 
1108
+ #: includes/class-mla-main.php:538
1109
  msgid "Bulk Edit items"
1110
  msgstr ""
1111
 
1112
+ #: includes/class-mla-main.php:539 includes/class-mla-main.php:2257
1113
+ #: includes/class-mla-settings.php:373
1114
  msgid "Waiting"
1115
  msgstr ""
1116
 
1117
+ #: includes/class-mla-main.php:540 includes/class-mla-main.php:2259
1118
+ #: includes/class-mla-settings.php:375
1119
  msgid "Complete"
1120
  msgstr ""
1121
 
1122
+ #: includes/class-mla-main.php:541 includes/class-mla-settings.php:376
1123
  msgid "Unchanged"
1124
  msgstr ""
1125
 
1126
+ #: includes/class-mla-main.php:542 includes/class-mla-settings.php:377
1127
  msgid "Succeeded"
1128
  msgstr ""
1129
 
1130
+ #: includes/class-mla-main.php:543 includes/class-mla-settings.php:378
1131
  msgid "Failed"
1132
  msgstr ""
1133
 
1134
+ #: includes/class-mla-main.php:544 includes/class-mla-settings.php:381
1135
  msgid "CANCELED"
1136
  msgstr ""
1137
 
1138
+ #: includes/class-mla-main.php:647
1139
  #, php-format
1140
  msgid "Item permanently deleted."
1141
  msgid_plural "%d items permanently deleted."
1143
  msgstr[1] ""
1144
 
1145
  #. translators: 1: post ID
1146
+ #: includes/class-mla-main.php:652 includes/class-mla-main.php:2436
1147
  #, php-format
1148
  msgid "Item %1$d moved to Trash."
1149
  msgstr ""
1150
 
1151
+ #: includes/class-mla-main.php:671
1152
  msgid "Entries per page"
1153
  msgstr ""
1154
 
1155
+ #: includes/class-mla-main.php:1223
1156
  msgid "You are not allowed to edit Attachment: "
1157
  msgstr ""
1158
 
1159
  #. translators: 1: ERROR tag 2: bulk action
1160
+ #: includes/class-mla-main.php:1279
1161
  #, php-format
1162
  msgid "%1$s: Unknown bulk action %2$s"
1163
  msgstr ""
1164
 
1165
+ #: includes/class-mla-main.php:1301
1166
  msgid "no changes detected"
1167
  msgstr ""
1168
 
1169
  #. translators: 1: action name, e.g., edit
1170
+ #: includes/class-mla-main.php:1348 includes/class-mla-settings.php:1651
1171
+ #: includes/class-mla-settings.php:2118
1172
  #, php-format
1173
  msgid "Bulk Action %1$s - no items selected."
1174
  msgstr ""
1175
 
1176
+ #: includes/class-mla-main.php:1431
1177
  msgid "You do not have permission to manage attachments."
1178
  msgstr ""
1179
 
1180
  #. translators: 1: number of items
1181
+ #: includes/class-mla-main.php:1491
1182
  #, php-format
1183
  msgctxt "deleted items"
1184
  msgid "%s item deleted."
1186
  msgstr[0] ""
1187
  msgstr[1] ""
1188
 
1189
+ #: includes/class-mla-main.php:1493
1190
  msgid "No items deleted."
1191
  msgstr ""
1192
 
1193
+ #: includes/class-mla-main.php:1547
1194
  msgid "Empty Terms Search; ignored"
1195
  msgstr ""
1196
 
1197
  #. translators: 1: row-level action, e.g., single_item_delete, single_item_edit
1198
  #. translators: 1: bulk_action, e.g., single_item_delete, single_item_edit
1199
+ #: includes/class-mla-main.php:1559 includes/class-mla-settings.php:1688
1200
+ #: includes/class-mla-settings.php:2157
1201
  #, php-format
1202
  msgid "Unknown mla_admin_action - \"%1$s\""
1203
  msgstr ""
1204
 
1205
+ #: includes/class-mla-main.php:1592
1206
  msgid "term search results for"
1207
  msgstr ""
1208
 
1209
+ #: includes/class-mla-main.php:1595
1210
  msgid "post/parent results for"
1211
  msgstr ""
1212
 
1213
+ #: includes/class-mla-main.php:1597
1214
  msgid "search results for"
1215
  msgstr ""
1216
 
1217
+ #: includes/class-mla-main.php:1725 includes/class-mla-main.php:2042
1218
+ #: includes/class-mla-thumbnail-generation.php:429
1219
  msgid "Type"
1220
  msgstr ""
1221
 
1222
+ #: includes/class-mla-main.php:1725 includes/class-mla-main.php:2043
1223
  msgid "Date"
1224
  msgstr ""
1225
 
1226
+ #: includes/class-mla-main.php:1725 includes/class-mla-main.php:2044
1227
+ #: includes/class-mla-settings.php:2258
1228
  msgid "Status"
1229
  msgstr ""
1230
 
1231
+ #: includes/class-mla-main.php:1735
1232
  msgid "Published"
1233
  msgstr ""
1234
 
1235
+ #: includes/class-mla-main.php:1741
1236
  msgid "Pending Review"
1237
  msgstr ""
1238
 
1239
+ #: includes/class-mla-main.php:1783 includes/class-mla-main.php:1870
1240
  msgid "No post ID found"
1241
  msgstr ""
1242
 
1243
+ #: includes/class-mla-main.php:1790 includes/class-mla-main.php:1877
1244
+ #: includes/class-mla-polylang-support.php:279
1245
  msgid "You are not allowed to edit this Attachment."
1246
  msgstr ""
1247
 
1248
+ #: includes/class-mla-main.php:1844 includes/class-mla-main.php:2054
1249
+ #: includes/class-mla-main.php:2244 includes/class-mla-settings.php:1531
1250
+ #: includes/class-mla-settings.php:1792 includes/class-mla-settings.php:1886
1251
+ #: includes/class-mla-settings.php:2256
1252
  msgid "Update"
1253
  msgstr ""
1254
 
1255
+ #: includes/class-mla-main.php:1989
1256
  msgid "All Post Types"
1257
  msgstr ""
1258
 
1259
+ #: includes/class-mla-main.php:2035
1260
  msgid "For"
1261
  msgstr ""
1262
 
1263
+ #: includes/class-mla-main.php:2045 includes/class-mla-shortcodes.php:855
1264
  msgid "Unattached"
1265
  msgstr ""
1266
 
1267
+ #: includes/class-mla-main.php:2050 includes/class-mla-main.php:2243
1268
+ #: includes/class-mla-polylang-support.php:1663
1269
+ #: includes/class-mla-settings.php:1532 includes/class-mla-settings.php:1791
1270
+ #: includes/class-mla-settings.php:1887 includes/class-mla-settings.php:1959
1271
+ #: includes/class-mla-settings.php:2255 includes/class-mla-settings.php:2745
1272
+ #: includes/class-mla-settings.php:2881
1273
+ #: includes/class-mla-thumbnail-generation.php:439
1274
  msgid "Cancel"
1275
  msgstr ""
1276
 
1277
+ #: includes/class-mla-main.php:2245 includes/class-mla-options.php:3447
1278
+ #: includes/class-mla-options.php:3738 includes/class-mla-settings.php:1793
1279
+ #: includes/class-mla-settings.php:2257
1280
  msgid "Bulk Edit"
1281
  msgstr ""
1282
 
1283
+ #: includes/class-mla-main.php:2258
1284
  msgid "In-process"
1285
  msgstr ""
1286
 
1287
+ #: includes/class-mla-main.php:2260 includes/class-mla-options.php:499
1288
+ #: includes/class-mla-options.php:508 includes/class-mla-settings.php:2748
1289
+ #: includes/class-mla-settings.php:2884
1290
  msgid "Refresh"
1291
  msgstr ""
1292
 
1293
+ #: includes/class-mla-main.php:2349
1294
  msgid "You are not allowed to delete this item."
1295
  msgstr ""
1296
 
1297
  #. translators: 1: ERROR tag 2: post ID
1298
+ #: includes/class-mla-main.php:2357
1299
  #, php-format
1300
  msgid "%1$s: Item %2$d could NOT be deleted."
1301
  msgstr ""
1302
 
1303
  #. translators: 1: post ID
1304
+ #: includes/class-mla-main.php:2364
1305
  #, php-format
1306
  msgid "Item %1$d permanently deleted."
1307
  msgstr ""
1308
 
1309
+ #: includes/class-mla-main.php:2381
1310
  msgid "You are not allowed to move this item out of the Trash."
1311
  msgstr ""
1312
 
1313
  #. translators: 1: ERROR tag 2: post ID
1314
+ #: includes/class-mla-main.php:2389
1315
  #, php-format
1316
  msgid "%1$s: Item %2$d could NOT be restored from Trash."
1317
  msgstr ""
1318
 
1319
  #. translators: 1: post ID
1320
+ #: includes/class-mla-main.php:2404
1321
  #, php-format
1322
  msgid "Item %1$d restored from Trash."
1323
  msgstr ""
1324
 
1325
+ #: includes/class-mla-main.php:2421
1326
  msgid "You are not allowed to move this item to the Trash."
1327
  msgstr ""
1328
 
1329
  #. translators: 1: ERROR tag 2: post ID
1330
+ #: includes/class-mla-main.php:2429
1331
  #, php-format
1332
  msgid "%1$s: Item %2$d could NOT be moved to Trash."
1333
  msgstr ""
1334
 
1335
  #: includes/class-mla-media-modal.php:245
1336
  #: includes/class-mla-media-modal.php:251
1337
+ #: includes/class-mla-media-modal.php:837
1338
+ #: includes/class-mla-media-modal.php:872
1339
+ #: includes/class-mla-media-modal.php:917
1340
  msgid "Click to toggle"
1341
  msgstr ""
1342
 
1350
  msgid "%1$s %2$d"
1351
  msgstr ""
1352
 
1353
+ #: includes/class-mla-media-modal.php:534
1354
  msgid "Search Box"
1355
  msgstr ""
1356
 
1357
+ #: includes/class-mla-media-modal.php:535
1358
  msgid "Loading..."
1359
  msgstr ""
1360
 
1361
+ #: includes/class-mla-media-modal.php:883
1362
  msgid "Tags"
1363
  msgstr ""
1364
 
1365
  #. translators: %s: add new taxonomy label
1366
  #. translators: %s: add new View
1367
  #. translators: %s: add new Upload MIME Type
1368
+ #: includes/class-mla-media-modal.php:885 includes/class-mla-objects.php:46
1369
+ #: includes/class-mla-objects.php:76 includes/class-mla-settings.php:1772
1370
+ #: includes/class-mla-settings.php:2238
1371
  #, php-format
1372
  msgid "Add New %1$s"
1373
  msgstr ""
1374
 
1375
+ #: includes/class-mla-media-modal.php:901
1376
  msgid "Choose from the most used tags"
1377
  msgstr ""
1378
 
1379
+ #: includes/class-mla-media-modal.php:1245
1380
+ #: includes/class-mla-media-modal.php:1261
1381
  msgid "Search Terms"
1382
  msgstr ""
1383
 
1384
+ #: includes/class-mla-media-modal.php:1246
1385
  msgid "There are no taxonomies to search"
1386
  msgstr ""
1387
 
1388
+ #: includes/class-mla-media-modal.php:1264
1389
  msgid "All phrases"
1390
  msgstr ""
1391
 
1392
+ #: includes/class-mla-media-modal.php:1266
1393
  msgid "Any phrase"
1394
  msgstr ""
1395
 
1396
+ #: includes/class-mla-media-modal.php:1268
1397
  msgid "All terms"
1398
  msgstr ""
1399
 
1400
+ #: includes/class-mla-media-modal.php:1270
1401
  msgid "Any term"
1402
  msgstr ""
1403
 
1404
+ #: includes/class-mla-media-modal.php:1272
1405
  msgid "Exact"
1406
  msgstr ""
1407
 
1416
  msgstr ""
1417
 
1418
  #. translators: 1: ERROR tag 2: raw_mime_type
1419
+ #: includes/class-mla-mime-types.php:916
1420
  #, php-format
1421
  msgid "%1$s: Bad specification part \"%2$s\""
1422
  msgstr ""
1423
 
1424
  #. translators: 1: ERROR tag 2: option, e.g., any, match, null
1425
+ #: includes/class-mla-mime-types.php:922
1426
  #, php-format
1427
  msgid "%1$s: Bad specification option \"%2$s\""
1428
  msgstr ""
1429
 
1430
  #. translators: 1: ERROR tag 2: prefix, e.g., custom
1431
+ #: includes/class-mla-mime-types.php:926
1432
  #, php-format
1433
  msgid "%1$s: Bad specification prefix \"%2$s\""
1434
  msgstr ""
1435
 
1436
+ #: includes/class-mla-mime-types.php:957
1437
+ #: includes/class-mla-mime-types.php:1074
1438
  msgid "Ignoring specification for Post MIME Type; using slug"
1439
  msgstr ""
1440
 
1441
  #. translators: 1: element name 2: bad_value 3: good_value
1442
+ #: includes/class-mla-mime-types.php:963
1443
+ #: includes/class-mla-mime-types.php:1986
1444
  #, php-format
1445
  msgid "<br>Changing %1$s \"%2$s\" to valid value \"%3$s\""
1446
  msgstr ""
1447
 
1448
+ #: includes/class-mla-mime-types.php:963
1449
+ #: includes/class-mla-mime-types.php:1051
1450
+ #: includes/class-mla-mime-types.php:1062 includes/class-mla-settings.php:1516
1451
+ #: includes/class-mla-settings.php:1773
1452
  msgid "Slug"
1453
  msgstr ""
1454
 
1455
  #. translators: 1: ERROR tag 2: slug
1456
+ #: includes/class-mla-mime-types.php:971
1457
+ #: includes/class-mla-mime-types.php:1059
1458
  #, php-format
1459
  msgid "%1$s: Could not add Slug \"%2$s\"; value already exists"
1460
  msgstr ""
1461
 
1462
  #. translators: 1: slug
1463
+ #: includes/class-mla-mime-types.php:1006
1464
  #, php-format
1465
  msgid "Edit view \"%1$s\"; added"
1466
  msgstr ""
1467
 
1468
  #. translators: 1: element name 2: bad_value 3: good_value
1469
+ #: includes/class-mla-mime-types.php:1051
1470
+ #: includes/class-mla-mime-types.php:2112
1471
  #, php-format
1472
  msgid "<br>Changing new %1$s \"%2$s\" to valid value \"%3$s\""
1473
  msgstr ""
1474
 
1475
  #. translators: 1: slug
1476
+ #: includes/class-mla-mime-types.php:1104
1477
  #, php-format
1478
  msgid "Edit view \"%1$s\"; no changes detected"
1479
  msgstr ""
1480
 
1481
  #. translators: 1: slug
1482
+ #: includes/class-mla-mime-types.php:1118
1483
  #, php-format
1484
  msgid "Edit view \"%1$s\"; updated"
1485
  msgstr ""
1486
 
1487
  #. translators: 1: slug
1488
+ #: includes/class-mla-mime-types.php:1191
1489
  #, php-format
1490
  msgid "View \"%1$s\" reverted to standard"
1491
  msgstr ""
1492
 
1493
  #. translators: 1: slug
1494
+ #: includes/class-mla-mime-types.php:1197
1495
  #, php-format
1496
  msgid "View \"%1$s\" deleted"
1497
  msgstr ""
1498
 
1499
  #. translators: 1: ERROR tag 2: slug
1500
+ #: includes/class-mla-mime-types.php:1205
1501
  #, php-format
1502
  msgid "%1$s: Did not find view \"%2$s\""
1503
  msgstr ""
1504
 
1505
+ #: includes/class-mla-mime-types.php:1464 includes/class-mla-options.php:1157
1506
  msgctxt "table_view_singular"
1507
  msgid "All"
1508
  msgstr ""
1509
 
1510
+ #: includes/class-mla-mime-types.php:1465 includes/class-mla-options.php:1158
1511
  msgctxt "table_view_plural"
1512
  msgid "All"
1513
  msgstr ""
1514
 
1515
+ #: includes/class-mla-mime-types.php:1468
1516
  msgctxt "table_view_singular"
1517
  msgid "Active"
1518
  msgstr ""
1519
 
1520
+ #: includes/class-mla-mime-types.php:1469
1521
  msgctxt "table_view_plural"
1522
  msgid "Active"
1523
  msgstr ""
1524
 
1525
+ #: includes/class-mla-mime-types.php:1472
1526
  msgctxt "table_view_singular"
1527
  msgid "Inactive"
1528
  msgstr ""
1529
 
1530
+ #: includes/class-mla-mime-types.php:1473
1531
  msgctxt "table_view_plural"
1532
  msgid "Inactive"
1533
  msgstr ""
1534
 
1535
+ #: includes/class-mla-mime-types.php:1476
1536
  msgctxt "table_view_singular"
1537
  msgid "WordPress"
1538
  msgstr ""
1539
 
1540
+ #: includes/class-mla-mime-types.php:1477
1541
  msgctxt "table_view_plural"
1542
  msgid "WordPress"
1543
  msgstr ""
1544
 
1545
+ #: includes/class-mla-mime-types.php:1480
1546
  msgctxt "table_view_singular"
1547
  msgid "MLA"
1548
  msgstr ""
1549
 
1550
+ #: includes/class-mla-mime-types.php:1481
1551
  msgctxt "table_view_plural"
1552
  msgid "MLA"
1553
  msgstr ""
1554
 
1555
+ #: includes/class-mla-mime-types.php:1484
1556
  msgctxt "table_view_singular"
1557
  msgid "Custom"
1558
  msgstr ""
1559
 
1560
+ #: includes/class-mla-mime-types.php:1485
1561
  msgctxt "table_view_plural"
1562
  msgid "Custom"
1563
  msgstr ""
1564
 
1565
+ #: includes/class-mla-mime-types.php:1676
1566
  msgid "icon"
1567
  msgstr ""
1568
 
1569
+ #: includes/class-mla-mime-types.php:1970
1570
+ #: includes/class-mla-mime-types.php:2069
1571
  msgid "Cannot load Upload MIME Types"
1572
  msgstr ""
1573
 
1574
+ #: includes/class-mla-mime-types.php:1981
1575
  msgid "Extension is required"
1576
  msgstr ""
1577
 
1578
+ #: includes/class-mla-mime-types.php:1986
1579
+ #: includes/class-mla-mime-types.php:2112
1580
+ #: includes/class-mla-mime-types.php:2123 includes/class-mla-settings.php:1875
1581
+ #: includes/class-mla-settings.php:2240
1582
  msgid "Extension"
1583
  msgstr ""
1584
 
1585
  #. translators: 1: ERROR tag 2: slug
1586
+ #: includes/class-mla-mime-types.php:1994
1587
  #, php-format
1588
  msgid "%1$s: Could not add extension \"%2$s\"; value already exists"
1589
  msgstr ""
1590
 
1591
+ #: includes/class-mla-mime-types.php:2002
1592
  msgid "MIME type is required"
1593
  msgstr ""
1594
 
1595
  #. translators: 1: ERROR tag 2: clean_mime_type
1596
+ #: includes/class-mla-mime-types.php:2007
1597
+ #: includes/class-mla-mime-types.php:2154
1598
  #, php-format
1599
  msgid "%1$s: Bad MIME type; try \"%2$s\""
1600
  msgstr ""
1601
 
1602
  #. translators: 1: slug
1603
+ #: includes/class-mla-mime-types.php:2044
1604
  #, php-format
1605
  msgid "Upload MIME Type \"%1$s\"; added"
1606
  msgstr ""
1607
 
1608
+ #: includes/class-mla-mime-types.php:2050
1609
+ #: includes/class-mla-mime-types.php:2239
1610
+ #: includes/class-mla-mime-types.php:2318
1611
  msgid "Cannot update Upload MIME Types"
1612
  msgstr ""
1613
 
1614
  #. translators: 1: ERROR tag 2: slug
1615
+ #: includes/class-mla-mime-types.php:2120
1616
  #, php-format
1617
  msgid "%1$s: Could not add new extension \"%2$s\"; value already exists"
1618
  msgstr ""
1619
 
1620
  #. translators: 1: slug
1621
+ #: includes/class-mla-mime-types.php:2219
1622
  #, php-format
1623
  msgid "Edit type \"%1$s\"; no changes detected"
1624
  msgstr ""
1625
 
1626
  #. translators: 1: slug
1627
+ #: includes/class-mla-mime-types.php:2233
1628
  #, php-format
1629
  msgid "Edit type \"%1$s\"; updated"
1630
  msgstr ""
1631
 
1632
  #. translators: 1: slug
1633
+ #: includes/class-mla-mime-types.php:2306
1634
  #, php-format
1635
  msgid "Upload MIME Type \"%1$s\"; reverted to standard"
1636
  msgstr ""
1637
 
1638
  #. translators: 1: slug
1639
+ #: includes/class-mla-mime-types.php:2312
1640
  #, php-format
1641
  msgid "Upload MIME Type \"%1$s\"; deleted"
1642
  msgstr ""
1643
 
1644
  #. translators: 1: ERROR tag 2: slug
1645
+ #: includes/class-mla-mime-types.php:2327
1646
  #, php-format
1647
  msgid "%1$s: Did not find Upload type \"%2$s\""
1648
  msgstr ""
1751
  msgid "Automatically add paragraphs"
1752
  msgstr ""
1753
 
1754
+ #: includes/class-mla-options.php:390
1755
  msgid "error loading tpls/mla-option-templates.tpl"
1756
  msgstr ""
1757
 
1758
+ #: includes/class-mla-options.php:393
1759
  msgid "tpls/mla-option-templates.tpl not found"
1760
  msgstr ""
1761
 
1762
+ #: includes/class-mla-options.php:446 includes/class-mla-options.php:1769
1763
  msgid "Attachment Categories"
1764
  msgstr ""
1765
 
1766
+ #: includes/class-mla-options.php:449
1767
  msgid "Check this option to add support for Attachment Categories."
1768
  msgstr ""
1769
 
1770
+ #: includes/class-mla-options.php:453 includes/class-mla-options.php:1784
1771
  msgid "Attachment Tags"
1772
  msgstr ""
1773
 
1774
+ #: includes/class-mla-options.php:456
1775
  msgid "Check this option to add support for Attachment Tags."
1776
  msgstr ""
1777
 
1778
+ #: includes/class-mla-options.php:460 includes/class-mla-settings.php:1358
1779
  msgid "Where-used Reporting"
1780
  msgstr ""
1781
 
1782
+ #: includes/class-mla-options.php:465
1783
  msgid "Exclude Revisions"
1784
  msgstr ""
1785
 
1786
+ #: includes/class-mla-options.php:468
1787
  msgid "Check this option to exclude revisions from where-used reporting."
1788
  msgstr ""
1789
 
1790
+ #: includes/class-mla-options.php:472
1791
  msgid "Where-used database access tuning"
1792
  msgstr ""
1793
 
1794
+ #: includes/class-mla-options.php:481 includes/class-mla-options.php:490
1795
  msgid "Enabled"
1796
  msgstr ""
1797
 
1798
+ #: includes/class-mla-options.php:482
1799
  msgid "Search database posts and pages for Featured Image attachments."
1800
  msgstr ""
1801
 
1802
+ #: includes/class-mla-options.php:490
1803
  msgid "Base"
1804
  msgstr ""
1805
 
1806
+ #: includes/class-mla-options.php:491
1807
  msgid ""
1808
  "Search database posts and pages for attachments embedded in content."
1809
  "<br>&nbsp;&nbsp;Base = ignore intermediate size suffixes; use path, base "
1810
  "name and extension only."
1811
  msgstr ""
1812
 
1813
+ #: includes/class-mla-options.php:499 includes/class-mla-options.php:508
1814
  msgid "Dynamic"
1815
  msgstr ""
1816
 
1817
+ #: includes/class-mla-options.php:499 includes/class-mla-options.php:508
1818
  msgid "Cached"
1819
  msgstr ""
1820
 
1821
+ #: includes/class-mla-options.php:500
1822
  msgid ""
1823
  "Search database posts and pages for [gallery] shortcode results.<br>&nbsp;"
1824
  "&nbsp;Dynamic = once every page load, Cached = once every login, Disabled = "
1825
  "never.<br>&nbsp;&nbsp;Refresh = update references, then set to Cached."
1826
  msgstr ""
1827
 
1828
+ #: includes/class-mla-options.php:509
1829
  msgid ""
1830
  "Search database posts and pages for [mla_gallery] shortcode results."
1831
  "<br>&nbsp;&nbsp;Dynamic = once every page load, Cached = once every login, "
1833
  "Cached."
1834
  msgstr ""
1835
 
1836
+ #: includes/class-mla-options.php:513 includes/class-mla-settings.php:1358
1837
  msgid "Taxonomy Support"
1838
  msgstr ""
1839
 
1840
+ #: includes/class-mla-options.php:518
1841
  msgid "Compute Attachments Column"
1842
  msgstr ""
1843
 
1844
+ #: includes/class-mla-options.php:521
1845
  msgid ""
1846
  "Check this option to calculate attachments per term in the Attachments "
1847
  "Column."
1848
  msgstr ""
1849
 
1850
+ #: includes/class-mla-options.php:525
1851
  msgid ""
1852
  "Check the \"<strong>Support</strong>\" box to add the taxonomy to the "
1853
  "Assistant and the Edit Media screen."
1854
  msgstr ""
1855
 
1856
+ #: includes/class-mla-options.php:526
1857
  msgid ""
1858
  "Check the \"<strong>Inline Edit</strong>\" box to display the taxonomy in "
1859
  "the Quick Edit and Bulk Edit areas."
1860
  msgstr ""
1861
 
1862
+ #: includes/class-mla-options.php:527
1863
  msgid ""
1864
  "Check the \"<strong>Term Search</strong>\" box to add the taxonomy to the "
1865
  "\"Search Media/Terms\" list."
1866
  msgstr ""
1867
 
1868
+ #: includes/class-mla-options.php:528 includes/class-mla-options.php:709
1869
+ #: includes/class-mla-settings.php:1390 includes/class-mla-settings.php:1391
1870
  msgid "For complete documentation"
1871
  msgstr ""
1872
 
1873
+ #: includes/class-mla-options.php:528 includes/class-mla-options.php:709
1874
+ #: includes/class-mla-settings.php:1390 includes/class-mla-settings.php:1391
1875
  msgid "click here"
1876
  msgstr ""
1877
 
1878
+ #: includes/class-mla-options.php:530
1879
  msgid ""
1880
  "Check the \"<strong>Checklist</strong>\" box to enable the checklist-style "
1881
  "meta box for a flat taxonomy."
1882
  msgstr ""
1883
 
1884
+ #: includes/class-mla-options.php:531
1885
  msgid ""
1886
  "You must also check the <strong>\"Enable enhanced checklist taxonomies\"</"
1887
  "strong> box below to enable this feature."
1888
  msgstr ""
1889
 
1890
+ #: includes/class-mla-options.php:532
1891
  msgid ""
1892
  "Check the \"<strong>Checked On Top</strong>\" box to moved checked terms to "
1893
  "the top of the checklist-style meta box."
1894
  msgstr ""
1895
 
1896
+ #: includes/class-mla-options.php:533
1897
  msgid ""
1898
  "Use the \"<strong>List Filter</strong>\" option to select the taxonomy on "
1899
  "which to filter the Assistant table listing."
1900
  msgstr ""
1901
 
1902
+ #: includes/class-mla-options.php:559
1903
  msgid "Media/Assistant Screen Options"
1904
  msgstr ""
1905
 
1906
+ #: includes/class-mla-options.php:564
1907
  msgid "Admin Menu Options"
1908
  msgstr ""
1909
 
1910
+ #: includes/class-mla-options.php:569
1911
  msgid "Page Title"
1912
  msgstr ""
1913
 
1914
+ #: includes/class-mla-options.php:571 includes/class-mla-settings.php:466
1915
+ #: includes/class-mla-settings.php:3148 includes/class-mla-settings.php:3170
1916
  msgid "Media Library Assistant"
1917
  msgstr ""
1918
 
1919
+ #: includes/class-mla-options.php:573
1920
  msgid "Enter the title for the Media/Assistant submenu page"
1921
  msgstr ""
1922
 
1923
+ #: includes/class-mla-options.php:577
1924
  msgid "Menu Title"
1925
  msgstr ""
1926
 
1927
+ #: includes/class-mla-options.php:579
1928
  msgid "Assistant"
1929
  msgstr ""
1930
 
1931
+ #: includes/class-mla-options.php:581
1932
  msgid "Enter the title for the Media/Assistant submenu entry"
1933
  msgstr ""
1934
 
1935
+ #: includes/class-mla-options.php:585
1936
  msgid "Submenu Order"
1937
  msgstr ""
1938
 
1939
+ #: includes/class-mla-options.php:589
1940
  msgid ""
1941
  "Enter the position of the Media/Assistant submenu entry.<br>&nbsp;&nbsp;0 = "
1942
  "natural order (at bottom),&nbsp;&nbsp;&nbsp;&nbsp;1 - 4 = at top<br>&nbsp;"
1944
  "\""
1945
  msgstr ""
1946
 
1947
+ #: includes/class-mla-options.php:593
1948
  msgid "Display Media/Library"
1949
  msgstr ""
1950
 
1951
+ #: includes/class-mla-options.php:596
1952
  msgid ""
1953
  "Check/uncheck this option to display/remove the WordPress Media/Library "
1954
  "submenu entry."
1955
  msgstr ""
1956
 
1957
+ #: includes/class-mla-options.php:600
1958
  msgid "Table Defaults"
1959
  msgstr ""
1960
 
1961
+ #: includes/class-mla-options.php:605
1962
  msgid "Order By"
1963
  msgstr ""
1964
 
1965
+ #: includes/class-mla-options.php:609 includes/class-mla-options.php:811
1966
  msgid "Title/Name"
1967
  msgstr ""
1968
 
1969
+ #: includes/class-mla-options.php:610
1970
  msgid "Select the column for the sort order of the Assistant table listing."
1971
  msgstr ""
1972
 
1973
+ #: includes/class-mla-options.php:614
1974
  msgid "Order"
1975
  msgstr ""
1976
 
1977
+ #: includes/class-mla-options.php:618
1978
  msgid "Ascending"
1979
  msgstr ""
1980
 
1981
+ #: includes/class-mla-options.php:618
1982
  msgid "Descending"
1983
  msgstr ""
1984
 
1985
+ #: includes/class-mla-options.php:619 includes/class-mla-options.php:821
1986
  msgid "Choose the sort order."
1987
  msgstr ""
1988
 
1989
+ #: includes/class-mla-options.php:623
1990
  msgid "Views Width"
1991
  msgstr ""
1992
 
1993
+ #: includes/class-mla-options.php:627
1994
  msgid "Enter the width for the views list, in pixels (px) or percent (%)"
1995
  msgstr ""
1996
 
1997
+ #: includes/class-mla-options.php:631
1998
  msgid "Icon Size"
1999
  msgstr ""
2000
 
2001
+ #: includes/class-mla-options.php:635
2002
  msgid "Enter the size of the thumbnail/icon images, in pixels"
2003
  msgstr ""
2004
 
2005
+ #: includes/class-mla-options.php:639
2006
  msgid "Bulk Chunk Size"
2007
  msgstr ""
2008
 
2009
+ #: includes/class-mla-options.php:643
2010
  msgid "Enter the size of the Bulk Edit and Map All processing chunks"
2011
  msgstr ""
2012
 
2013
+ #: includes/class-mla-options.php:647
2014
  msgid "Taxonomy Filter parameters"
2015
  msgstr ""
2016
 
2017
+ #: includes/class-mla-options.php:652
2018
  msgid "Maximum Depth"
2019
  msgstr ""
2020
 
2021
+ #: includes/class-mla-options.php:656
2022
  msgid ""
2023
  "Enter the number of levels displayed for hierarchial taxonomies; enter zero "
2024
  "for no limit."
2025
  msgstr ""
2026
 
2027
+ #: includes/class-mla-options.php:660
2028
  msgid "Include Children"
2029
  msgstr ""
2030
 
2031
+ #: includes/class-mla-options.php:663
2032
  msgid ""
2033
  "Check/uncheck this option to include/exclude children for hierarchical "
2034
  "taxonomies."
2035
  msgstr ""
2036
 
2037
+ #: includes/class-mla-options.php:667
2038
  msgid "Search Media Defaults"
2039
  msgstr ""
2040
 
2041
+ #: includes/class-mla-options.php:672
2042
  msgid "Display Search Controls"
2043
  msgstr ""
2044
 
2045
+ #: includes/class-mla-options.php:675 includes/class-mla-options.php:782
2046
  msgid ""
2047
  "Check/uncheck this option to display/hide the and/or connector and search "
2048
  "fields controls."
2049
  msgstr ""
2050
 
2051
+ #: includes/class-mla-options.php:679
2052
  msgid ""
2053
  "Use these controls to set defaults for the and/or connector and search "
2054
  "fields controls.<br>These defaults will be used for the Search Media boxes "
2055
  "on both the Media/Assistant submenu<br>and the Media Manager Modal Window."
2056
  msgstr ""
2057
 
2058
+ #: includes/class-mla-options.php:692
2059
  msgid "Media/Edit Media Enhancements"
2060
  msgstr ""
2061
 
2062
+ #: includes/class-mla-options.php:697
2063
  msgid "Enable enhanced \"checklist\" taxonomies"
2064
  msgstr ""
2065
 
2066
+ #: includes/class-mla-options.php:700
2067
  msgid ""
2068
  "Check this option to enable the \"? Search\" feature for hierarchical "
2069
  "taxonomies, e.g., Att. Categories.<br>&nbsp;&nbsp;This option also enables "
2070
  "the \"checklist-style\" support for flat taxonomies, e.g., Att. Tags."
2071
  msgstr ""
2072
 
2073
+ #: includes/class-mla-options.php:704
2074
  msgid "Enable Edit Media additional meta boxes"
2075
  msgstr ""
2076
 
2077
+ #: includes/class-mla-options.php:707
2078
  msgid ""
2079
  "Check this option to add \"Parent Info\", \"Menu Order\", \"Attachment "
2080
  "Metadata\" and four \"where-used\" meta boxes to the Edit Media screen."
2081
  msgstr ""
2082
 
2083
+ #: includes/class-mla-options.php:708
2084
  msgid "You can also use Filters to customize the meta boxes."
2085
  msgstr ""
2086
 
2087
+ #: includes/class-mla-options.php:713
2088
  msgid "Media/Add New Enhancements"
2089
  msgstr ""
2090
 
2091
+ #: includes/class-mla-options.php:718
2092
  msgid "Enable \"bulk edit\" area"
2093
  msgstr ""
2094
 
2095
+ #: includes/class-mla-options.php:721
2096
  msgid ""
2097
  "Check this option to enable the \"Bulk Edit area\" feature on the Media/Add "
2098
  "New screen."
2099
  msgstr ""
2100
 
2101
+ #: includes/class-mla-options.php:725
2102
  msgid "Media Manager/Media Grid Enhancements"
2103
  msgstr ""
2104
 
2105
+ #: includes/class-mla-options.php:730
2106
  msgid "Enable Media Grid Enhancements"
2107
  msgstr ""
2108
 
2109
+ #: includes/class-mla-options.php:733
2110
  msgid ""
2111
  "Check/uncheck this option to enable/disable Media Library Grid View "
2112
  "Enhancements."
2113
  msgstr ""
2114
 
2115
+ #: includes/class-mla-options.php:737
2116
  msgid "Enable Media Manager Enhancements"
2117
  msgstr ""
2118
 
2119
+ #: includes/class-mla-options.php:740
2120
  msgid ""
2121
  "Check/uncheck this option to enable/disable Media Manager Modal Window "
2122
  "Enhancements."
2123
  msgstr ""
2124
 
2125
+ #: includes/class-mla-options.php:744
2126
  msgid "Media Manager Enhanced MIME Type filter"
2127
  msgstr ""
2128
 
2129
+ #: includes/class-mla-options.php:747
2130
  msgid ""
2131
  "Check this option to filter by more MIME Types, e.g., text, applications."
2132
  msgstr ""
2133
 
2134
+ #: includes/class-mla-options.php:751
2135
  msgid "Media Manager Month and Year filter"
2136
  msgstr ""
2137
 
2138
+ #: includes/class-mla-options.php:754
2139
  msgid "Check this option to filter by month and year uploaded."
2140
  msgstr ""
2141
 
2142
+ #: includes/class-mla-options.php:758
2143
  msgid "Media Manager Category/Tag filter"
2144
  msgstr ""
2145
 
2146
+ #: includes/class-mla-options.php:761
2147
  msgid "Check this option to filter by taxonomy terms."
2148
  msgstr ""
2149
 
2150
+ #: includes/class-mla-options.php:765
2151
  msgid "Media Manager Terms Search popup"
2152
  msgstr ""
2153
 
2154
+ #: includes/class-mla-options.php:768
2155
  msgid "Check this option to enable the \"Terms Search\" popup window."
2156
  msgstr ""
2157
 
2158
+ #: includes/class-mla-options.php:772
2159
  msgid "Media Manager Enhanced Search Media box"
2160
  msgstr ""
2161
 
2162
+ #: includes/class-mla-options.php:775
2163
  msgid "Check this option to enable search box enhancements."
2164
  msgstr ""
2165
 
2166
+ #: includes/class-mla-options.php:779
2167
  msgid "Media Manager Enhanced Search Media Controls"
2168
  msgstr ""
2169
 
2170
+ #: includes/class-mla-options.php:786
2171
  msgid "Media Manager Checklist meta boxes"
2172
  msgstr ""
2173
 
2174
+ #: includes/class-mla-options.php:789
2175
  msgid ""
2176
  "Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
2177
  "DETAILS\" pane.<br>&nbsp;&nbsp;This option is for any taxonomy that uses a "
2178
  "<strong>\"checklist-style\"</strong> meta box.</strong>"
2179
  msgstr ""
2180
 
2181
+ #: includes/class-mla-options.php:793
2182
  msgid "Media Manager Flat meta boxes"
2183
  msgstr ""
2184
 
2185
+ #: includes/class-mla-options.php:796
2186
  msgid ""
2187
  "Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
2188
  "DETAILS\" pane.<br>&nbsp;&nbsp;This option is for <strong>flat taxonomies</"
2190
  "style\" meta box."
2191
  msgstr ""
2192
 
2193
+ #: includes/class-mla-options.php:800
2194
  msgid "Media Manager auto-fill meta boxes"
2195
  msgstr ""
2196
 
2197
+ #: includes/class-mla-options.php:803
2198
  msgid ""
2199
  "Check this option to automatically fill MLA-enhanced meta boxes in the "
2200
  "\"ATTACHMENT DETAILS\" pane<br>&nbsp;&nbsp;when the item is selected."
2201
  msgstr ""
2202
 
2203
+ #: includes/class-mla-options.php:807
2204
  msgid "Media Manager Order By"
2205
  msgstr ""
2206
 
2207
+ #: includes/class-mla-options.php:811 includes/class-mla-options.php:820
2208
+ #: includes/class-mla-options.php:835 includes/class-mla-options.php:849
2209
+ #: includes/class-mla-options.php:863 includes/class-mla-settings.php:1440
2210
  msgid "Media Manager Default"
2211
  msgstr ""
2212
 
2213
+ #: includes/class-mla-options.php:812
2214
  msgid ""
2215
  "If you want to override the Media Manager default,<br>&nbsp;&nbsp;select a "
2216
  "column for the sort order of the Media Library listing."
2217
  msgstr ""
2218
 
2219
+ #: includes/class-mla-options.php:816
2220
  msgid "Media Manager Order"
2221
  msgstr ""
2222
 
2223
+ #: includes/class-mla-options.php:825
2224
  msgid "Attachment Display Settings"
2225
  msgstr ""
2226
 
2227
+ #: includes/class-mla-options.php:830 includes/class-mla-options.php:832
2228
  msgid "Alignment"
2229
  msgstr ""
2230
 
2231
  #. translators: 1: option name, e.g., Alignment, Link To or Size
2232
+ #: includes/class-mla-options.php:832 includes/class-mla-options.php:846
2233
+ #: includes/class-mla-options.php:860
2234
  #, php-format
2235
  msgid ""
2236
  "Select a value for the default %1$s option in the Attachment Display "
2237
  "Settings."
2238
  msgstr ""
2239
 
2240
+ #: includes/class-mla-options.php:835
2241
  msgid "Left"
2242
  msgstr ""
2243
 
2244
+ #: includes/class-mla-options.php:835
2245
  msgid "Center"
2246
  msgstr ""
2247
 
2248
+ #: includes/class-mla-options.php:835
2249
  msgid "Right"
2250
  msgstr ""
2251
 
2252
+ #: includes/class-mla-options.php:844 includes/class-mla-options.php:846
2253
  msgid "Link To"
2254
  msgstr ""
2255
 
2256
+ #: includes/class-mla-options.php:849
2257
  msgid "Media File"
2258
  msgstr ""
2259
 
2260
+ #: includes/class-mla-options.php:849
2261
  msgid "Attachment Page"
2262
  msgstr ""
2263
 
2264
+ #: includes/class-mla-options.php:849
2265
  msgid "Custom URL"
2266
  msgstr ""
2267
 
2268
+ #: includes/class-mla-options.php:858 includes/class-mla-options.php:860
2269
  msgid "Size"
2270
  msgstr ""
2271
 
2272
+ #: includes/class-mla-options.php:863
2273
+ #: includes/class-mla-thumbnail-generation.php:389
2274
+ #: includes/class-mla-thumbnail-generation.php:436
2275
  msgid "Thumbnail"
2276
  msgstr ""
2277
 
2278
+ #: includes/class-mla-options.php:863
2279
  msgid "Medium"
2280
  msgstr ""
2281
 
2282
+ #: includes/class-mla-options.php:863
2283
  msgid "Large"
2284
  msgstr ""
2285
 
2286
+ #: includes/class-mla-options.php:863
2287
  msgid "Full Size"
2288
  msgstr ""
2289
 
2290
+ #: includes/class-mla-options.php:872
2291
  msgid "Default [mla_gallery] Templates and Settings"
2292
  msgstr ""
2293
 
2294
+ #: includes/class-mla-options.php:877 includes/class-mla-options.php:883
2295
+ #: includes/class-mla-options.php:921 includes/class-mla-options.php:927
2296
+ #: includes/class-mla-settings.php:3278 includes/class-mla-settings.php:3289
2297
+ #: includes/class-mla-settings.php:3295 includes/class-mla-settings.php:3299
2298
+ #: includes/class-mla-settings.php:3327 includes/class-mla-settings.php:3338
2299
  msgid "Style Template"
2300
  msgstr ""
2301
 
2302
  #. translators: 1: template type 2: shortcode
2303
+ #: includes/class-mla-options.php:883 includes/class-mla-options.php:893
2304
+ #: includes/class-mla-options.php:927 includes/class-mla-options.php:937
2305
  #, php-format
2306
  msgid "Select the default %1$s for your %2$s shortcodes."
2307
  msgstr ""
2308
 
2309
+ #: includes/class-mla-options.php:887 includes/class-mla-options.php:931
2310
  msgid "Markup Template"
2311
  msgstr ""
2312
 
2313
+ #: includes/class-mla-options.php:893 includes/class-mla-options.php:937
2314
+ #: includes/class-mla-settings.php:3367 includes/class-mla-settings.php:3380
2315
+ #: includes/class-mla-settings.php:3386 includes/class-mla-settings.php:3390
2316
+ #: includes/class-mla-settings.php:3459
2317
  msgid "markup template"
2318
  msgstr ""
2319
 
2320
+ #: includes/class-mla-options.php:897 includes/class-mla-options.php:941
2321
  msgid "Default columns"
2322
  msgstr ""
2323
 
2324
+ #: includes/class-mla-options.php:901
2325
  msgid ""
2326
  "Enter the number of [mla_tag_cloud] columns; must be a positive integer."
2327
  msgstr ""
2328
 
2329
+ #: includes/class-mla-options.php:905 includes/class-mla-options.php:949
2330
  msgid "Default mla_margin"
2331
  msgstr ""
2332
 
2333
+ #: includes/class-mla-options.php:909 includes/class-mla-options.php:953
2334
  msgid ""
2335
  "Enter the CSS \"margin\" property value, in length (px, em, pt, etc.), "
2336
  "percent (%), \"auto\" or \"inherit\".<br>&nbsp;&nbsp;Enter \"none\" to "
2337
  "remove the property entirely."
2338
  msgstr ""
2339
 
2340
+ #: includes/class-mla-options.php:913 includes/class-mla-options.php:957
2341
  msgid "Default mla_itemwidth"
2342
  msgstr ""
2343
 
2344
+ #: includes/class-mla-options.php:917 includes/class-mla-options.php:961
2345
  msgid ""
2346
  "Enter the CSS \"width\" property value, in length (px, em, pt, etc.), "
2347
  "percent (%), \"auto\" or \"inherit\".<br>&nbsp;&nbsp;Enter \"calculate"
2351
  "the property entirely."
2352
  msgstr ""
2353
 
2354
+ #: includes/class-mla-options.php:945
2355
  msgid "Enter the number of [mla_gallery] columns; must be a positive integer."
2356
  msgstr ""
2357
 
2358
+ #: includes/class-mla-options.php:965
2359
+ msgid "Thumbnail Substitution Support, mla_viewer"
2360
+ msgstr ""
2361
+
2362
+ #: includes/class-mla-options.php:970
2363
  msgid "Enable thumbnail substitution"
2364
  msgstr ""
2365
 
2366
+ #: includes/class-mla-options.php:973
2367
  msgid ""
2368
  "Check this option to allow the \"mla_viewer\" to generate thumbnail images "
2369
  "for PDF documents. Thumbnails are generated dynamically, each time the item "
2370
  "appears in an [mla_gallery] display.<br>&nbsp;&nbsp;<strong>IMPORTANT: both "
2371
+ "Ghostscript and Imagick/ImageMagick must be installed for this feature.</"
2372
  "strong>"
2373
  msgstr ""
2374
 
2375
+ #: includes/class-mla-options.php:977
2376
  msgid "Enable Featured Images"
2377
  msgstr ""
2378
 
2379
+ #: includes/class-mla-options.php:980
2380
  msgid ""
2381
  "Check this option to extend Featured Image support to all Media Library "
2382
  "items. The Featured Image can be used as a thumbnail image for the item in "
2383
  "an [mla_gallery] display."
2384
  msgstr ""
2385
 
2386
+ #: includes/class-mla-options.php:984
2387
+ msgid "Enable Featured Image Generation"
2388
+ msgstr ""
2389
+
2390
+ #: includes/class-mla-options.php:987
2391
+ msgid ""
2392
+ "Check this option to enable the \"Thumbnail\" generation action in the Media/"
2393
+ "Assistant submenu Bulk Actions dropdown."
2394
+ msgstr ""
2395
+
2396
+ #: includes/class-mla-options.php:991
2397
  msgid "Enable explicit Ghostscript check"
2398
  msgstr ""
2399
 
2400
+ #: includes/class-mla-options.php:994
2401
  msgid ""
2402
  "Check this option to enable the explicit check for Ghostscript support "
2403
  "required for thumbnail generation. If your Ghostscript software is in a non-"
2404
  "standard location, unchecking this option bypasses the check. Bad things can "
2405
+ "happen if Ghostscript is missing but Imagick/ImageMagick is present, so "
2406
  "leave this option checked unless you know it is safe to turn it off."
2407
  msgstr ""
2408
 
2409
+ #: includes/class-mla-options.php:998
2410
  msgid "Ghostscript path"
2411
  msgstr ""
2412
 
2413
+ #: includes/class-mla-options.php:1002
2414
  msgid ""
2415
  "If your &ldquo;gs&rdquo; executable is in a non-standard location, enter the "
2416
  "full path and filename here, e.g., &ldquo;/usr/bin/gs&rdquo;. It will "
2417
  "override the search for Ghostscript in other places."
2418
  msgstr ""
2419
 
2420
+ #: includes/class-mla-options.php:1022
2421
  msgid "Enable custom field mapping when adding new media"
2422
  msgstr ""
2423
 
2424
+ #: includes/class-mla-options.php:1025
2425
  msgid ""
2426
  "Check this option to enable mapping when uploading new media (attachments)."
2427
  "<br>&nbsp;&nbsp;Click Save Changes at the bottom of the screen if you change "
2429
  "buttons on the bulk edit, single edit and settings screens."
2430
  msgstr ""
2431
 
2432
+ #: includes/class-mla-options.php:1029
2433
  msgid "Enable custom field mapping when updating media metadata"
2434
  msgstr ""
2435
 
2436
+ #: includes/class-mla-options.php:1032 includes/class-mla-options.php:1056
2437
  msgid ""
2438
  "Check this option to enable mapping when media (attachments) metadata is "
2439
  "regenerated,<br>&nbsp;&nbsp;e.g., when the Media/Edit Media \"Edit Image\" "
2440
  "functions are used."
2441
  msgstr ""
2442
 
2443
+ #: includes/class-mla-options.php:1036
2444
  msgid ""
2445
  "Update the custom field mapping values above, then click Save Changes to "
2446
  "make the updates permanent.<br>You can also make temporary updates and click "
2448
  "saving any rule changes."
2449
  msgstr ""
2450
 
2451
+ #: includes/class-mla-options.php:1046
2452
  msgid "Enable IPTC/EXIF Mapping when adding new media"
2453
  msgstr ""
2454
 
2455
+ #: includes/class-mla-options.php:1049
2456
  msgid ""
2457
  "Check this option to enable mapping when uploading new media (attachments)."
2458
  "<br>&nbsp;&nbsp;Does NOT affect the operation of the \"Map\" buttons on the "
2459
  "bulk edit, single edit and settings screens."
2460
  msgstr ""
2461
 
2462
+ #: includes/class-mla-options.php:1053
2463
  msgid "Enable IPTC/EXIF Mapping when updating media metadata"
2464
  msgstr ""
2465
 
2466
+ #: includes/class-mla-options.php:1060
2467
  msgid ""
2468
  "Update the standard field mapping values above, then click <strong>Save "
2469
  "Changes</strong> to make the updates permanent.<br>You can also make "
2472
  "changes."
2473
  msgstr ""
2474
 
2475
+ #: includes/class-mla-options.php:1070
2476
  msgid ""
2477
  "Update the taxonomy term mapping values above, then click <strong>Save "
2478
  "Changes</strong> or <strong>Map All Attachments, Taxonomy Terms Now</strong>."
2479
  msgstr ""
2480
 
2481
+ #: includes/class-mla-options.php:1080
2482
  msgid ""
2483
  "<strong>Update</strong> individual custom field mapping values above, or "
2484
  "make several updates and click <strong>Save Changes</strong> below to apply "
2489
  "changes."
2490
  msgstr ""
2491
 
2492
+ #: includes/class-mla-options.php:1090
2493
  msgid "IPTC/EXIF Mapping help"
2494
  msgstr ""
2495
 
2496
+ #: includes/class-mla-options.php:1142
2497
  msgid "Enable View and Post MIME Type Support"
2498
  msgstr ""
2499
 
2500
+ #: includes/class-mla-options.php:1145
2501
  msgid ""
2502
  "Check/uncheck this option to enable/disable Post MIME Type Support, then "
2503
  "click <strong>Save Changes</strong> to record the new setting."
2504
  msgstr ""
2505
 
2506
+ #: includes/class-mla-options.php:1154
2507
  msgid "Post MIME Types help."
2508
  msgstr ""
2509
 
2510
+ #: includes/class-mla-options.php:1163 includes/class-mla-options.php:1217
2511
+ #: includes/class-mla-options.php:1226 includes/class-mla-options.php:1235
2512
  msgctxt "post_mime_types_description"
2513
  msgid "Built-in view"
2514
  msgstr ""
2515
 
2516
+ #: includes/class-mla-options.php:1166
2517
  msgctxt "table_view_singular"
2518
  msgid "Image"
2519
  msgstr ""
2520
 
2521
+ #: includes/class-mla-options.php:1167
2522
  msgctxt "table_view_plural"
2523
  msgid "Images"
2524
  msgstr ""
2525
 
2526
+ #: includes/class-mla-options.php:1172
2527
  msgctxt "post_mime_types_description"
2528
  msgid "All image subtypes"
2529
  msgstr ""
2530
 
2531
+ #: includes/class-mla-options.php:1175
2532
  msgctxt "table_view_singular"
2533
  msgid "Audio"
2534
  msgstr ""
2535
 
2536
+ #: includes/class-mla-options.php:1176
2537
  msgctxt "table_view_plural"
2538
  msgid "Audio"
2539
  msgstr ""
2540
 
2541
+ #: includes/class-mla-options.php:1181
2542
  msgctxt "post_mime_types_description"
2543
  msgid "All audio subtypes"
2544
  msgstr ""
2545
 
2546
+ #: includes/class-mla-options.php:1184
2547
  msgctxt "table_view_singular"
2548
  msgid "Video"
2549
  msgstr ""
2550
 
2551
+ #: includes/class-mla-options.php:1185
2552
  msgctxt "table_view_plural"
2553
  msgid "Video"
2554
  msgstr ""
2555
 
2556
+ #: includes/class-mla-options.php:1190
2557
  msgctxt "post_mime_types_description"
2558
  msgid "All video subtypes"
2559
  msgstr ""
2560
 
2561
+ #: includes/class-mla-options.php:1193
2562
  msgctxt "table_view_singular"
2563
  msgid "Text"
2564
  msgstr ""
2565
 
2566
+ #: includes/class-mla-options.php:1194
2567
  msgctxt "table_view_plural"
2568
  msgid "Text"
2569
  msgstr ""
2570
 
2571
+ #: includes/class-mla-options.php:1199
2572
  msgctxt "post_mime_types_description"
2573
  msgid "All text subtypes"
2574
  msgstr ""
2575
 
2576
+ #: includes/class-mla-options.php:1202
2577
  msgctxt "table_view_singular"
2578
  msgid "Application"
2579
  msgstr ""
2580
 
2581
+ #: includes/class-mla-options.php:1203
2582
  msgctxt "table_view_plural"
2583
  msgid "Applications"
2584
  msgstr ""
2585
 
2586
+ #: includes/class-mla-options.php:1208
2587
  msgctxt "post_mime_types_description"
2588
  msgid "All application subtypes"
2589
  msgstr ""
2590
 
2591
+ #: includes/class-mla-options.php:1212
2592
  msgctxt "table_view_plural"
2593
  msgid "Unattached"
2594
  msgstr ""
2595
 
2596
+ #: includes/class-mla-options.php:1220
2597
  msgctxt "table_view_singular"
2598
  msgid "Attached"
2599
  msgstr ""
2600
 
2601
+ #: includes/class-mla-options.php:1221
2602
  msgctxt "table_view_plural"
2603
  msgid "Attached"
2604
  msgstr ""
2605
 
2606
+ #: includes/class-mla-options.php:1229
2607
  msgctxt "table_view_singular"
2608
  msgid "Trash"
2609
  msgstr ""
2610
 
2611
+ #: includes/class-mla-options.php:1230
2612
  msgctxt "table_view_plural"
2613
  msgid "Trash"
2614
  msgstr ""
2615
 
2616
+ #: includes/class-mla-options.php:1241
2617
  msgid "Enable Upload MIME Type Support"
2618
  msgstr ""
2619
 
2620
+ #: includes/class-mla-options.php:1244
2621
  msgid ""
2622
  "Check/uncheck this option to enable/disable Upload MIME Type Support, then "
2623
  "click <strong>Save Changes</strong> to record the new setting."
2624
  msgstr ""
2625
 
2626
+ #: includes/class-mla-options.php:1253
2627
  msgid "Upload MIME Types help."
2628
  msgstr ""
2629
 
2630
+ #: includes/class-mla-options.php:1258
2631
  msgid "Enable MLA File Type Icons Support"
2632
  msgstr ""
2633
 
2634
+ #: includes/class-mla-options.php:1261
2635
  msgid ""
2636
  "Check/uncheck this option to enable/disable MLA File Type Icons Support, "
2637
  "then click <strong>Save Changes</strong> to record the new setting."
2638
  msgstr ""
2639
 
2640
+ #: includes/class-mla-options.php:1265
2641
+ msgid "Display Limit"
2642
+ msgstr ""
2643
+
2644
+ #: includes/class-mla-options.php:1269
2645
+ msgid ""
2646
+ "Enter the maximum number of debug log characters to display; enter zero or "
2647
+ "leave blank for no limit."
2648
+ msgstr ""
2649
+
2650
+ #: includes/class-mla-options.php:1321 includes/class-mla-options.php:1343
2651
+ #: includes/class-mla-options.php:1385
2652
  msgid "no templates exist"
2653
  msgstr ""
2654
 
2655
+ #: includes/class-mla-options.php:1329
2656
  msgid "not found"
2657
  msgstr ""
2658
 
2659
  #. translators: 1: ERROR tag 2: option name 3: action, e.g., update, delete, reset
2660
+ #: includes/class-mla-options.php:1735 includes/class-mla-options.php:1912
2661
+ #: includes/class-mla-options.php:1988 includes/class-mla-options.php:3776
2662
+ #: includes/class-mla-options.php:5221
2663
  #, php-format
2664
  msgid "%1$s: Custom %2$s unknown action \"%3$s\""
2665
  msgstr ""
2666
 
2667
+ #: includes/class-mla-options.php:1826
2668
  msgid "Support"
2669
  msgstr ""
2670
 
2671
+ #: includes/class-mla-options.php:1827
2672
  msgid "Inline Edit"
2673
  msgstr ""
2674
 
2675
+ #: includes/class-mla-options.php:1828
2676
  msgid "Term Search"
2677
  msgstr ""
2678
 
2679
+ #: includes/class-mla-options.php:1829
2680
  msgid "Checklist"
2681
  msgstr ""
2682
 
2683
+ #: includes/class-mla-options.php:1830
2684
  msgid "Checked On Top"
2685
  msgstr ""
2686
 
2687
+ #: includes/class-mla-options.php:1831
2688
  msgid "List Filter"
2689
  msgstr ""
2690
 
2691
+ #: includes/class-mla-options.php:1832
2692
  msgid "Taxonomy"
2693
  msgstr ""
2694
 
2695
  #. translators: 1: taxonomy name
2696
+ #: includes/class-mla-options.php:1851
2697
  #, php-format
2698
  msgid "List Filter ignored; %1$s not supported."
2699
  msgstr ""
2700
 
2701
  #. translators: 1: taxonomy name
2702
+ #: includes/class-mla-options.php:1858
2703
  #, php-format
2704
  msgid "Inline Edit ignored; %1$s not supported."
2705
  msgstr ""
2706
 
2707
  #. translators: 1: taxonomy name
2708
+ #: includes/class-mla-options.php:1866
2709
  #, php-format
2710
  msgid "Term Search ignored; %1$s not supported."
2711
  msgstr ""
2712
 
2713
  #. translators: 1: taxonomy name
2714
+ #: includes/class-mla-options.php:1876
2715
  #, php-format
2716
  msgid "Checklist ignored; %1$s not supported."
2717
  msgstr ""
2718
 
2719
  #. translators: 1: taxonomy name
2720
+ #: includes/class-mla-options.php:1884
2721
  #, php-format
2722
  msgid "Checked On Top ignored; %1$s not supported."
2723
  msgstr ""
2724
 
2725
  #. translators: 1: option name, e.g., taxonomy_support
2726
+ #: includes/class-mla-options.php:1902 includes/class-mla-options.php:1978
2727
  #, php-format
2728
  msgid "Update custom %1$s"
2729
  msgstr ""
2730
 
2731
  #. translators: 1: option name, e.g., taxonomy_support
2732
+ #: includes/class-mla-options.php:1909 includes/class-mla-options.php:1985
2733
+ #: includes/class-mla-options.php:5214
2734
  #, php-format
2735
  msgid "Reset custom %1$s"
2736
  msgstr ""
2737
 
2738
+ #: includes/class-mla-options.php:1938
2739
+ #: includes/mla-main-search-box-template.php:46
2740
+ #: includes/mla-media-modal-js-template.php:31
2741
  msgid "and"
2742
  msgstr ""
2743
 
2744
+ #: includes/class-mla-options.php:1940
2745
+ #: includes/mla-main-search-box-template.php:48
2746
+ #: includes/mla-media-modal-js-template.php:35
2747
  msgid "or"
2748
  msgstr ""
2749
 
2750
+ #: includes/class-mla-options.php:1945 includes/class-mla-settings.php:2407
2751
+ #: includes/class-mla-settings.php:2440 includes/class-mla-settings.php:2466
2752
+ #: includes/class-mla-settings.php:2501 includes/class-mla-settings.php:2558
2753
+ #: includes/class-mla-settings.php:2608
2754
+ #: includes/mla-main-search-box-template.php:51
2755
+ #: includes/mla-media-modal-js-template.php:43
2756
  msgid "Name"
2757
  msgstr ""
2758
 
2759
+ #: includes/class-mla-options.php:1957
2760
+ #: includes/mla-main-search-box-template.php:55
2761
+ #: includes/mla-media-modal-js-template.php:61
2762
  msgid "Terms"
2763
  msgstr ""
2764
 
2765
+ #: includes/class-mla-options.php:3111 includes/class-mla-options.php:3240
2766
+ #: includes/class-mla-options.php:4247 includes/class-mla-options.php:4278
2767
+ #: includes/class-mla-settings.php:1838
2768
  msgid "None (select a value)"
2769
  msgstr ""
2770
 
2771
+ #: includes/class-mla-options.php:3247
2772
  msgid "Metadata (see below)"
2773
  msgstr ""
2774
 
2775
+ #: includes/class-mla-options.php:3254
2776
  msgid "Template (see below)"
2777
  msgstr ""
2778
 
2779
  #. translators: 1: ERROR tag 2: custom field name
2780
+ #: includes/class-mla-options.php:3322 includes/class-mla-options.php:4555
2781
  #, php-format
2782
  msgid "%1$s: New field %2$s already exists."
2783
  msgstr ""
2784
 
2785
  #. translators: 1: custom field name
2786
+ #: includes/class-mla-options.php:3327 includes/class-mla-options.php:4560
2787
  #, php-format
2788
  msgid "Adding new field %1$s."
2789
  msgstr ""
2790
 
2791
  #. translators: 1: custom field name
2792
+ #: includes/class-mla-options.php:3335 includes/class-mla-options.php:4568
2793
  #, php-format
2794
  msgid "Adding new rule for %1$s."
2795
  msgstr ""
2796
 
2797
  #. translators: 1: custom field name
2798
+ #: includes/class-mla-options.php:3361 includes/class-mla-options.php:4429
2799
+ #: includes/class-mla-options.php:4594
2800
  #, php-format
2801
  msgid "Deleting rule for %1$s."
2802
  msgstr ""
2803
 
2804
  #. translators: 1: custom field name 2: attribute 3: old value 4: new value
2805
+ #: includes/class-mla-options.php:3384 includes/class-mla-options.php:3405
2806
+ #: includes/class-mla-options.php:3455 includes/class-mla-options.php:3462
2807
+ #: includes/class-mla-options.php:4345 includes/class-mla-options.php:4352
2808
+ #: includes/class-mla-options.php:4359 includes/class-mla-options.php:4454
2809
+ #: includes/class-mla-options.php:4461 includes/class-mla-options.php:4496
2810
+ #: includes/class-mla-options.php:4503 includes/class-mla-options.php:4604
2811
+ #: includes/class-mla-options.php:4611 includes/class-mla-options.php:4646
2812
+ #: includes/class-mla-options.php:4653
2813
  #, php-format
2814
  msgid "%1$s changing %2$s from %3$s to %4$s."
2815
  msgstr ""
2816
 
2817
+ #: includes/class-mla-options.php:3384 includes/class-mla-options.php:3733
2818
  msgid "Data Source"
2819
  msgstr ""
2820
 
2821
+ #: includes/class-mla-options.php:3390 includes/class-mla-options.php:4379
2822
+ #: includes/class-mla-options.php:4481 includes/class-mla-options.php:4631
2823
  msgid "Replace to Keep"
2824
  msgstr ""
2825
 
2826
+ #: includes/class-mla-options.php:3393 includes/class-mla-options.php:4382
2827
+ #: includes/class-mla-options.php:4484 includes/class-mla-options.php:4634
2828
  msgid "Keep to Replace"
2829
  msgstr ""
2830
 
2831
  #. translators: 1: custom field name 2: attribute 3: old value 'to' new value
2832
+ #: includes/class-mla-options.php:3398 includes/class-mla-options.php:3419
2833
+ #: includes/class-mla-options.php:3433 includes/class-mla-options.php:3447
2834
+ #: includes/class-mla-options.php:3476 includes/class-mla-options.php:4373
2835
+ #: includes/class-mla-options.php:4387 includes/class-mla-options.php:4475
2836
+ #: includes/class-mla-options.php:4489 includes/class-mla-options.php:4625
2837
+ #: includes/class-mla-options.php:4639 includes/class-mla-options.php:4667
2838
  #, php-format
2839
  msgid "%1$s changing %2$s value from %3$s."
2840
  msgstr ""
2841
 
2842
+ #: includes/class-mla-options.php:3398 includes/class-mla-options.php:3734
2843
+ #: includes/class-mla-options.php:4387 includes/class-mla-options.php:4489
2844
+ #: includes/class-mla-options.php:4639 includes/class-mla-options.php:4793
2845
+ #: includes/class-mla-options.php:4879 includes/class-mla-options.php:5112
2846
  msgid "Existing Text"
2847
  msgstr ""
2848
 
2849
+ #: includes/class-mla-options.php:3405 includes/class-mla-options.php:3735
2850
+ #: includes/class-mla-options.php:4646 includes/class-mla-options.php:4941
2851
+ #: includes/class-mla-options.php:5036 includes/class-mla-options.php:5082
2852
  msgid "Format"
2853
  msgstr ""
2854
 
2855
+ #: includes/class-mla-options.php:3411 includes/class-mla-options.php:3425
2856
+ #: includes/class-mla-options.php:3439 includes/class-mla-options.php:3468
2857
+ #: includes/class-mla-options.php:4659
2858
  msgid "unchecked to checked"
2859
  msgstr ""
2860
 
2861
+ #: includes/class-mla-options.php:3414 includes/class-mla-options.php:3428
2862
+ #: includes/class-mla-options.php:3442 includes/class-mla-options.php:3471
2863
+ #: includes/class-mla-options.php:4662
2864
  msgid "checked to unchecked"
2865
  msgstr ""
2866
 
2867
+ #: includes/class-mla-options.php:3419 includes/class-mla-options.php:3736
2868
  msgid "MLA Column"
2869
  msgstr ""
2870
 
2871
+ #: includes/class-mla-options.php:3455
2872
  msgid "Metavalue name"
2873
  msgstr ""
2874
 
2875
+ #: includes/class-mla-options.php:3462 includes/class-mla-options.php:3570
2876
+ #: includes/class-mla-options.php:3669 includes/class-mla-options.php:3713
2877
+ #: includes/class-mla-options.php:4653 includes/class-mla-options.php:4948
2878
+ #: includes/class-mla-options.php:5043 includes/class-mla-options.php:5089
2879
  msgid "Option"
2880
  msgstr ""
2881
 
2882
+ #: includes/class-mla-options.php:3476 includes/class-mla-options.php:3582
2883
+ #: includes/class-mla-options.php:3681 includes/class-mla-options.php:3725
2884
+ #: includes/class-mla-options.php:4667 includes/class-mla-options.php:4960
2885
+ #: includes/class-mla-options.php:5055 includes/class-mla-options.php:5101
2886
  msgid "Delete NULL values"
2887
  msgstr ""
2888
 
2889
+ #: includes/class-mla-options.php:3515 includes/class-mla-options.php:4891
2890
  msgid "No Custom Field Mapping Rules Defined"
2891
  msgstr ""
2892
 
2893
+ #: includes/class-mla-options.php:3556 includes/class-mla-options.php:3655
2894
+ #: includes/class-mla-options.php:3699 includes/class-mla-options.php:4768
2895
+ #: includes/class-mla-options.php:4818 includes/class-mla-options.php:4938
2896
+ #: includes/class-mla-options.php:5033 includes/class-mla-options.php:5079
2897
+ #: includes/class-mla-thumbnail-generation.php:431
2898
  msgid "Keep"
2899
  msgstr ""
2900
 
2901
+ #: includes/class-mla-options.php:3560 includes/class-mla-options.php:3659
2902
+ #: includes/class-mla-options.php:3703 includes/class-mla-options.php:4943
2903
+ #: includes/class-mla-options.php:5038 includes/class-mla-options.php:5084
2904
  msgid "Native"
2905
  msgstr ""
2906
 
2907
+ #: includes/class-mla-options.php:3562 includes/class-mla-options.php:3661
2908
+ #: includes/class-mla-options.php:3705 includes/class-mla-options.php:4945
2909
+ #: includes/class-mla-options.php:5040 includes/class-mla-options.php:5086
2910
  msgid "Commas"
2911
  msgstr ""
2912
 
2913
+ #: includes/class-mla-options.php:3564 includes/class-mla-options.php:3663
2914
+ #: includes/class-mla-options.php:3707 includes/class-mla-options.php:4947
2915
+ #: includes/class-mla-options.php:5042 includes/class-mla-options.php:5088
2916
  msgid "Raw"
2917
  msgstr ""
2918
 
2919
+ #: includes/class-mla-options.php:3572 includes/class-mla-options.php:3671
2920
+ #: includes/class-mla-options.php:3715 includes/class-mla-options.php:4950
2921
+ #: includes/class-mla-options.php:5045 includes/class-mla-options.php:5091
2922
  msgid "Text"
2923
  msgstr ""
2924
 
2925
+ #: includes/class-mla-options.php:3574 includes/class-mla-options.php:3673
2926
+ #: includes/class-mla-options.php:3717 includes/class-mla-options.php:4952
2927
+ #: includes/class-mla-options.php:5047 includes/class-mla-options.php:5093
2928
  msgid "Single"
2929
  msgstr ""
2930
 
2931
+ #: includes/class-mla-options.php:3576 includes/class-mla-options.php:3675
2932
+ #: includes/class-mla-options.php:3719 includes/class-mla-options.php:4954
2933
+ #: includes/class-mla-options.php:5049 includes/class-mla-options.php:5095
2934
  msgid "Export"
2935
  msgstr ""
2936
 
2937
+ #: includes/class-mla-options.php:3578 includes/class-mla-options.php:3677
2938
+ #: includes/class-mla-options.php:3721 includes/class-mla-options.php:4956
2939
+ #: includes/class-mla-options.php:5051 includes/class-mla-options.php:5097
2940
  msgid "Array"
2941
  msgstr ""
2942
 
2943
+ #: includes/class-mla-options.php:3580 includes/class-mla-options.php:3679
2944
+ #: includes/class-mla-options.php:3723 includes/class-mla-options.php:4958
2945
+ #: includes/class-mla-options.php:5053 includes/class-mla-options.php:5099
2946
  msgid "Multi"
2947
  msgstr ""
2948
 
2949
+ #: includes/class-mla-options.php:3583 includes/class-mla-options.php:4961
2950
  msgid "Delete Rule"
2951
  msgstr ""
2952
 
2953
+ #: includes/class-mla-options.php:3584 includes/class-mla-options.php:4962
2954
  msgid "Delete Rule AND Field"
2955
  msgstr ""
2956
 
2957
+ #: includes/class-mla-options.php:3585 includes/class-mla-options.php:4963
2958
  msgid "Update Rule"
2959
  msgstr ""
2960
 
2961
+ #: includes/class-mla-options.php:3586 includes/class-mla-options.php:4964
2962
+ #: includes/class-mla-settings.php:730 includes/class-mla-settings.php:861
2963
  msgid "Map All Attachments"
2964
  msgstr ""
2965
 
2966
+ #: includes/class-mla-options.php:3650 includes/class-mla-options.php:5022
2967
  msgid "Add a new Mapping Rule"
2968
  msgstr ""
2969
 
2970
+ #: includes/class-mla-options.php:3682 includes/class-mla-options.php:5056
2971
  msgid "Add Rule"
2972
  msgstr ""
2973
 
2974
+ #: includes/class-mla-options.php:3683 includes/class-mla-options.php:5057
2975
  msgid "Add Rule and Map All Attachments"
2976
  msgstr ""
2977
 
2978
+ #: includes/class-mla-options.php:3694 includes/class-mla-options.php:5068
2979
  msgid "Add a new Field and Mapping Rule"
2980
  msgstr ""
2981
 
2982
+ #: includes/class-mla-options.php:3726 includes/class-mla-options.php:5102
2983
  msgid "Add Field"
2984
  msgstr ""
2985
 
2986
+ #: includes/class-mla-options.php:3727 includes/class-mla-options.php:5103
2987
  msgid "Add Field and Map All Attachments"
2988
  msgstr ""
2989
 
2990
+ #: includes/class-mla-options.php:3732 includes/class-mla-options.php:4345
2991
+ #: includes/class-mla-options.php:4789 includes/class-mla-options.php:4875
2992
+ #: includes/class-mla-options.php:5108
2993
  msgid "Field Title"
2994
  msgstr ""
2995
 
2996
+ #: includes/class-mla-options.php:3757
2997
  msgid "Custom field mapping rules updated."
2998
  msgstr ""
2999
 
3000
+ #: includes/class-mla-options.php:3759
3001
  msgid "Custom field mapping rules update failed."
3002
  msgstr ""
3003
 
3004
+ #: includes/class-mla-options.php:3762 includes/class-mla-settings.php:775
3005
+ #: includes/class-mla-settings.php:781
3006
  msgid "Custom field no mapping rule changes detected."
3007
  msgstr ""
3008
 
3009
+ #: includes/class-mla-options.php:3770
3010
  msgid "Custom field mapping settings saved."
3011
  msgstr ""
3012
 
3013
+ #: includes/class-mla-options.php:3772
3014
  msgid "Custom field mapping settings reset failed."
3015
  msgstr ""
3016
 
3017
  #. translators: 1: ERROR tag 2: custom field name
3018
+ #: includes/class-mla-options.php:4333
3019
  #, php-format
3020
  msgid "%1$s: No old values for %2$s."
3021
  msgstr ""
3022
 
3023
+ #: includes/class-mla-options.php:4352 includes/class-mla-options.php:4454
3024
+ #: includes/class-mla-options.php:4604 includes/class-mla-options.php:4790
3025
+ #: includes/class-mla-options.php:4876 includes/class-mla-options.php:5109
3026
  msgid "IPTC Value"
3027
  msgstr ""
3028
 
3029
+ #: includes/class-mla-options.php:4359 includes/class-mla-options.php:4461
3030
+ #: includes/class-mla-options.php:4611
3031
  msgid "EXIF Value"
3032
  msgstr ""
3033
 
3034
+ #: includes/class-mla-options.php:4365 includes/class-mla-options.php:4467
3035
+ #: includes/class-mla-options.php:4617
3036
  msgid "EXIF to IPTC"
3037
  msgstr ""
3038
 
3039
+ #: includes/class-mla-options.php:4368 includes/class-mla-options.php:4470
3040
+ #: includes/class-mla-options.php:4620
3041
  msgid "IPTC to EXIF"
3042
  msgstr ""
3043
 
3044
+ #: includes/class-mla-options.php:4373 includes/class-mla-options.php:4475
3045
+ #: includes/class-mla-options.php:4625 includes/class-mla-options.php:4792
3046
+ #: includes/class-mla-options.php:4878 includes/class-mla-options.php:5111
3047
  msgid "Priority"
3048
  msgstr ""
3049
 
3050
+ #: includes/class-mla-options.php:4496 includes/class-mla-options.php:4880
3051
  msgid "Delimiter(s)"
3052
  msgstr ""
3053
 
3054
+ #: includes/class-mla-options.php:4764 includes/class-mla-options.php:4814
3055
+ #: includes/class-mla-options.php:4934 includes/class-mla-options.php:5029
3056
+ #: includes/class-mla-options.php:5075
3057
  msgid "IPTC"
3058
  msgstr ""
3059
 
3060
+ #: includes/class-mla-options.php:4766 includes/class-mla-options.php:4816
3061
+ #: includes/class-mla-options.php:4936 includes/class-mla-options.php:5031
3062
+ #: includes/class-mla-options.php:5077
3063
  msgid "EXIF"
3064
  msgstr ""
3065
 
3066
+ #: includes/class-mla-options.php:4791 includes/class-mla-options.php:4877
3067
+ #: includes/class-mla-options.php:5110
3068
  msgid "EXIF/Template Value"
3069
  msgstr ""
3070
 
3071
  #. translators: 1: ERROR tag 2: option name
3072
+ #: includes/class-mla-options.php:5120
3073
  #, php-format
3074
  msgid "%1$s: Render unknown custom %2$s."
3075
  msgstr ""
3076
 
3077
  #. translators: 1: ERROR tag 2: option name
3078
+ #: includes/class-mla-options.php:5164
3079
  #, php-format
3080
  msgid "%1$s: Update/delete unknown custom %2$s."
3081
  msgstr ""
3082
 
3083
+ #: includes/class-mla-options.php:5170
3084
  msgid "IPTC/EXIF mapping settings updated."
3085
  msgstr ""
3086
 
3087
+ #: includes/class-mla-options.php:5172
3088
  msgid "IPTC/EXIF settings update failed."
3089
  msgstr ""
3090
 
3091
+ #: includes/class-mla-options.php:5175 includes/class-mla-settings.php:909
3092
+ #: includes/class-mla-settings.php:915
3093
  msgid "IPTC/EXIF no mapping changes detected."
3094
  msgstr ""
3095
 
3096
  #. translators: 1: field type
3097
+ #: includes/class-mla-options.php:5186 includes/class-mla-options.php:5196
3098
+ #: includes/class-mla-options.php:5206 includes/class-mla-settings.php:3465
3099
  #, php-format
3100
  msgid "%1$s settings saved."
3101
  msgstr ""
3102
 
3103
+ #: includes/class-mla-options.php:5186 includes/class-mla-options.php:5189
3104
+ #: includes/class-mla-settings.php:3710 includes/class-mla-settings.php:3749
3105
+ #: includes/class-mla-settings.php:3752
3106
  msgid "Standard field"
3107
  msgstr ""
3108
 
3109
  #. translators: 1: ERROR tag 2: field type
3110
+ #: includes/class-mla-options.php:5189 includes/class-mla-options.php:5199
3111
+ #: includes/class-mla-options.php:5209
3112
  #, php-format
3113
  msgid "%1$s: IPTC/EXIF %2$s settings update failed."
3114
  msgstr ""
3115
 
3116
+ #: includes/class-mla-options.php:5196 includes/class-mla-options.php:5199
3117
+ #: includes/class-mla-settings.php:3781 includes/class-mla-settings.php:3820
3118
+ #: includes/class-mla-settings.php:3823
3119
  msgid "Taxonomy term"
3120
  msgstr ""
3121
 
3122
+ #: includes/class-mla-options.php:5206 includes/class-mla-options.php:5209
3123
+ #: includes/class-mla-settings.php:3610 includes/class-mla-settings.php:3613
3124
+ #: includes/class-mla-settings.php:3867 includes/class-mla-settings.php:3906
3125
+ #: includes/class-mla-settings.php:3909
3126
  msgid "Custom field"
3127
  msgstr ""
3128
 
3129
  #. translators: 1: ERROR tag 2: option name, e.g., taxonomy_support
3130
+ #: includes/class-mla-options.php:5217
3131
  #, php-format
3132
  msgid "%1$s: Reset unknown custom %2$s"
3133
  msgstr ""
3134
 
3135
+ #: includes/class-mla-polylang-support.php:272
3136
  msgid "ERROR: No post ID found"
3137
  msgstr ""
3138
 
3139
+ #: includes/class-mla-polylang-support.php:373
3140
  msgid "Error while saving the translations."
3141
  msgstr ""
3142
 
3143
+ #: includes/class-mla-polylang-support.php:374
3144
  msgid "Remove From Bulk Translate"
3145
  msgstr ""
3146
 
3147
+ #: includes/class-mla-polylang-support.php:376
3148
  msgid "Bulk Translate items"
3149
  msgstr ""
3150
 
3151
+ #: includes/class-mla-polylang-support.php:377
3152
  msgid "Add new"
3153
  msgstr ""
3154
 
3155
+ #: includes/class-mla-polylang-support.php:1156
3156
+ #: includes/class-mla-polylang-support.php:1159
3157
  msgid "Attached"
3158
  msgstr ""
3159
 
3160
+ #: includes/class-mla-polylang-support.php:1513
3161
+ #: includes/class-mla-polylang-support.php:1846
3162
+ #: includes/class-mla-thumbnail-generation.php:466
3163
  msgid "Bulk Translations"
3164
  msgstr ""
3165
 
3166
+ #: includes/class-mla-polylang-support.php:1537
3167
  msgid "Translate"
3168
  msgstr ""
3169
 
3170
+ #: includes/class-mla-polylang-support.php:1653
3171
  msgid "All Languages"
3172
  msgstr ""
3173
 
3174
+ #: includes/class-mla-polylang-support.php:1660
3175
+ #: includes/class-mla-polylang-support.php:1919
3176
+ #: includes/class-mla-polylang-support.php:2045
3177
  msgid "Quick Translate"
3178
  msgstr ""
3179
 
3180
+ #: includes/class-mla-polylang-support.php:1664
3181
  msgid "Set Language"
3182
  msgstr ""
3183
 
3184
+ #: includes/class-mla-polylang-support.php:1665
3185
+ #: includes/class-mla-polylang-support.php:2052
3186
  msgid "Bulk Translate"
3187
  msgstr ""
3188
 
3189
+ #: includes/class-mla-polylang-support.php:1666
3190
  msgid "Add or Modify Translation"
3191
  msgstr ""
3192
 
3193
+ #: includes/class-mla-polylang-support.php:1667
3194
+ #: includes/class-mla-polylang-support.php:1708
3195
+ #: includes/class-mla-polylang-support.php:1991
3196
+ #: includes/class-mla-wpml-support.php:1111
3197
+ #: includes/class-mla-wpml-support.php:1608
3198
  msgid "Language"
3199
  msgstr ""
3200
 
3201
+ #: includes/class-mla-polylang-support.php:1669
3202
+ #: includes/class-mla-thumbnail-generation.php:437
3203
  msgid "Options"
3204
  msgstr ""
3205
 
3206
+ #: includes/class-mla-polylang-support.php:1919
3207
  msgid "Translate this item inline"
3208
  msgstr ""
3209
 
3210
+ #: includes/class-mla-polylang-support.php:2026
3211
+ #: includes/class-mla-polylang-support.php:2115
3212
+ #: includes/class-mla-wpml-support.php:1146
3213
+ #: includes/class-mla-wpml-support.php:1221
3214
  msgid "Media/Assistant submenu table"
3215
  msgstr ""
3216
 
3217
+ #: includes/class-mla-polylang-support.php:2031
3218
+ #: includes/class-mla-wpml-support.php:1151
3219
  msgid "Language Column"
3220
  msgstr ""
3221
 
3222
+ #: includes/class-mla-polylang-support.php:2034
3223
+ #: includes/class-mla-wpml-support.php:1154
3224
  msgid ""
3225
  "Check this option to add a Language column to the Media/Assistant submenu "
3226
  "table."
3227
  msgstr ""
3228
 
3229
+ #: includes/class-mla-polylang-support.php:2038
3230
+ #: includes/class-mla-wpml-support.php:1158
3231
  msgid "Translations Column"
3232
  msgstr ""
3233
 
3234
+ #: includes/class-mla-polylang-support.php:2041
3235
+ #: includes/class-mla-wpml-support.php:1161
3236
  msgid ""
3237
  "Check this option to add a Translation Status column to the Media/Assistant "
3238
  "submenu table."
3239
  msgstr ""
3240
 
3241
+ #: includes/class-mla-polylang-support.php:2048
3242
  msgid ""
3243
  "Check this option to add a Quick Translate rollover action to the Media/"
3244
  "Assistant submenu table."
3245
  msgstr ""
3246
 
3247
+ #: includes/class-mla-polylang-support.php:2055
3248
  msgid ""
3249
  "Check this option to add \"Translate\" to the \"Bulk Actions\" control on "
3250
  "the Media/Assistant submenu table."
3251
  msgstr ""
3252
 
3253
+ #: includes/class-mla-polylang-support.php:2059
3254
+ #: includes/class-mla-polylang-support.php:2115
3255
+ #: includes/class-mla-wpml-support.php:1165
3256
+ #: includes/class-mla-wpml-support.php:1221
3257
  msgid "Term Management"
3258
  msgstr ""
3259
 
3260
+ #: includes/class-mla-polylang-support.php:2064
3261
+ #: includes/class-mla-wpml-support.php:1170
3262
  msgid "Term Assignment"
3263
  msgstr ""
3264
 
3265
+ #: includes/class-mla-polylang-support.php:2067
3266
+ #: includes/class-mla-wpml-support.php:1173
3267
  msgid ""
3268
  "Check this option to assign language-specific terms when items are updated."
3269
  msgstr ""
3270
 
3271
+ #: includes/class-mla-polylang-support.php:2071
3272
+ #: includes/class-mla-wpml-support.php:1177
3273
  msgid "Term Synchronization"
3274
  msgstr ""
3275
 
3276
+ #: includes/class-mla-polylang-support.php:2074
3277
+ #: includes/class-mla-wpml-support.php:1180
3278
  msgid ""
3279
  "Check this option to synchronize common terms among all item translations."
3280
  msgstr ""
3281
 
3282
+ #: includes/class-mla-polylang-support.php:2113
3283
+ #: includes/class-mla-wpml-support.php:1219
3284
  msgid "Language Options"
3285
  msgstr ""
3286
 
3287
  #. translators: 1: - 4: page subheader values
3288
+ #: includes/class-mla-polylang-support.php:2115
3289
  #, php-format
3290
  msgid ""
3291
  "In this tab you can find a number of options for controlling Polylang-"
3295
  msgstr ""
3296
 
3297
  #. translators: 1: Documentation hyperlink
3298
+ #: includes/class-mla-polylang-support.php:2117
3299
+ #: includes/class-mla-wpml-support.php:1223
3300
  #, php-format
3301
  msgid ""
3302
  "You can find more information about multilingual features in the %1$s "
3303
  "section of the Documentation."
3304
  msgstr ""
3305
 
3306
+ #: includes/class-mla-polylang-support.php:2117
3307
+ #: includes/class-mla-wpml-support.php:1223
3308
  msgid "Language Options documentation"
3309
  msgstr ""
3310
 
3311
+ #: includes/class-mla-polylang-support.php:2117
3312
+ #: includes/class-mla-wpml-support.php:1223
3313
  msgid "WPML &amp; Polylang Multilingual Support; the MLA Language Tab"
3314
  msgstr ""
3315
 
3316
+ #: includes/class-mla-polylang-support.php:2119
3317
+ #: includes/class-mla-settings.php:1359 includes/class-mla-settings.php:1717
3318
+ #: includes/class-mla-settings.php:1770 includes/class-mla-settings.php:2186
3319
+ #: includes/class-mla-settings.php:2236 includes/class-mla-settings.php:2324
3320
+ #: includes/class-mla-settings.php:2766 includes/class-mla-settings.php:2769
3321
+ #: includes/class-mla-settings.php:2908 includes/class-mla-settings.php:2910
3322
+ #: includes/class-mla-settings.php:3128 includes/class-mla-settings.php:3130
3323
+ #: includes/class-mla-wpml-support.php:1225
3324
  msgid "Save Changes"
3325
  msgstr ""
3326
 
3327
+ #: includes/class-mla-polylang-support.php:2120
3328
+ #: includes/class-mla-wpml-support.php:1226
3329
  msgid "Delete Language options and restore default settings"
3330
  msgstr ""
3331
 
3332
+ #: includes/class-mla-polylang-support.php:2123
3333
+ #: includes/class-mla-settings.php:1098 includes/class-mla-settings.php:1364
3334
+ #: includes/class-mla-settings.php:2319
3335
+ #: includes/class-mla-wpml-support.php:1229
3336
  msgid "Go to Top"
3337
  msgstr ""
3338
 
3339
+ #: includes/class-mla-polylang-support.php:2160
3340
+ #: includes/class-mla-wpml-support.php:1266
3341
  msgid "Language settings saved."
3342
  msgstr ""
3343
 
3344
  #. translators: 1: option name
3345
+ #: includes/class-mla-polylang-support.php:2191
3346
+ #: includes/class-mla-settings.php:4086
3347
+ #: includes/class-mla-wpml-support.php:1297
3348
  #, php-format
3349
  msgctxt "message_list"
3350
  msgid "delete_option \"%1$s\""
3351
  msgstr ""
3352
 
3353
+ #: includes/class-mla-polylang-support.php:2199
3354
+ #: includes/class-mla-wpml-support.php:1305
3355
  msgid "Language settings reset to default values."
3356
  msgstr ""
3357
 
3358
+ #: includes/class-mla-settings.php:358
3359
  msgid "no slug"
3360
  msgstr ""
3361
 
3362
+ #: includes/class-mla-settings.php:374
3363
  msgid "Running"
3364
  msgstr ""
3365
 
3366
+ #: includes/class-mla-settings.php:379
3367
  msgid "Skipped"
3368
  msgstr ""
3369
 
3370
+ #: includes/class-mla-settings.php:380
3371
  msgid "Reprocessed"
3372
  msgstr ""
3373
 
3374
+ #: includes/class-mla-settings.php:466 includes/class-mla-settings.php:979
3375
+ #: includes/class-mla-settings.php:3171
3376
  msgid "Settings"
3377
  msgstr ""
3378
 
3379
+ #: includes/class-mla-settings.php:485
3380
  msgid "Views per page"
3381
  msgstr ""
3382
 
3383
+ #: includes/class-mla-settings.php:496
3384
  msgid "Types per page"
3385
  msgstr ""
3386
 
3387
+ #: includes/class-mla-settings.php:507
3388
  msgid "Upload types per page"
3389
  msgstr ""
3390
 
3391
+ #: includes/class-mla-settings.php:643
3392
  msgid "No view slug found"
3393
  msgstr ""
3394
 
3395
+ #: includes/class-mla-settings.php:686
3396
  msgid "No upload slug found"
3397
  msgstr ""
3398
 
3399
+ #: includes/class-mla-settings.php:726 includes/class-mla-settings.php:2767
3400
+ #: includes/class-mla-settings.php:2771
3401
  msgid "Map All Rules, All Attachments Now"
3402
  msgstr ""
3403
 
3404
+ #: includes/class-mla-settings.php:850 includes/class-mla-settings.php:2900
3405
  msgid "Map All Attachments, Standard Fields Now"
3406
  msgstr ""
3407
 
3408
+ #: includes/class-mla-settings.php:853 includes/class-mla-settings.php:2903
3409
  msgid "Map All Attachments, Taxonomy Terms Now"
3410
  msgstr ""
3411
 
3412
+ #: includes/class-mla-settings.php:856 includes/class-mla-settings.php:2906
3413
  msgid "Map All Attachments, Custom Fields Now"
3414
  msgstr ""
3415
 
3416
  #. translators: 1: ERROR tag 2: function name 3: option type, e.g., radio, select, text
3417
+ #: includes/class-mla-settings.php:1028 includes/class-mla-settings.php:1061
3418
+ #: includes/class-mla-settings.php:1200
3419
  #, php-format
3420
  msgctxt "error_log"
3421
  msgid "%1$s: %2$s unknown type = \"%3$s\""
3422
  msgstr ""
3423
 
3424
+ #: includes/class-mla-settings.php:1249
3425
  msgid "General"
3426
  msgstr ""
3427
 
3428
+ #: includes/class-mla-settings.php:1250
3429
  msgid "Views"
3430
  msgstr ""
3431
 
3432
+ #: includes/class-mla-settings.php:1251
3433
  msgid "Uploads"
3434
  msgstr ""
3435
 
3436
+ #: includes/class-mla-settings.php:1252 includes/class-mla-settings.php:3465
3437
+ #: includes/class-mla-settings.php:3468
3438
  msgid "MLA Gallery"
3439
  msgstr ""
3440
 
3441
+ #: includes/class-mla-settings.php:1253
3442
  msgid "Custom Fields"
3443
  msgstr ""
3444
 
3445
+ #: includes/class-mla-settings.php:1255
3446
  msgid "Documentation"
3447
  msgstr ""
3448
 
3449
+ #: includes/class-mla-settings.php:1256
3450
  msgid "Debug"
3451
  msgstr ""
3452
 
3453
+ #: includes/class-mla-settings.php:1356
3454
  msgid "General Processing Options"
3455
  msgstr ""
3456
 
3457
  #. translators: 1: - 4: page subheader values
3458
+ #: includes/class-mla-settings.php:1358
3459
  #, php-format
3460
  msgid ""
3461
  "In this tab you can find a number of options for controlling the "
3464
  "any changes you make."
3465
  msgstr ""
3466
 
3467
+ #: includes/class-mla-settings.php:1358
3468
  msgid "Media/Assistant Table Defaults"
3469
  msgstr ""
3470
 
3471
+ #: includes/class-mla-settings.php:1358
3472
  msgid "Media Manager Enhancements"
3473
  msgstr ""
3474
 
3475
+ #: includes/class-mla-settings.php:1360
3476
  msgid "Export ALL Settings"
3477
  msgstr ""
3478
 
3479
+ #: includes/class-mla-settings.php:1361
3480
  msgid "Delete General options and restore default settings"
3481
  msgstr ""
3482
 
3483
+ #: includes/class-mla-settings.php:1365
3484
  msgid "Support Our Work"
3485
  msgstr ""
3486
 
3487
+ #: includes/class-mla-settings.php:1366 includes/class-mla-settings.php:1369
3488
  msgid "Donate to FTJ"
3489
  msgstr ""
3490
 
3491
+ #: includes/class-mla-settings.php:1367 includes/class-mla-settings.php:3163
3492
  msgid "Donate"
3493
  msgstr ""
3494
 
3495
  #. translators: 1: donation hyperlink
3496
+ #: includes/class-mla-settings.php:1369
3497
  #, php-format
3498
  msgid ""
3499
  "This plugin was inspired by my work on the WordPress web site for our "
3502
  "our work. Thank you!"
3503
  msgstr ""
3504
 
3505
+ #: includes/class-mla-settings.php:1369
3506
  msgid "tax-deductible donation"
3507
  msgstr ""
3508
 
3509
+ #: includes/class-mla-settings.php:1390
3510
  msgid "enhanced version of the WordPress [gallery] shortcode."
3511
  msgstr ""
3512
 
3513
+ #: includes/class-mla-settings.php:1391
3514
  msgid "enhanced version of the WordPress Tag Cloud."
3515
  msgstr ""
3516
 
3517
+ #: includes/class-mla-settings.php:1403
3518
  msgid "Shortcodes made available by this plugin"
3519
  msgstr ""
3520
 
3521
+ #: includes/class-mla-settings.php:1511
3522
  msgid "Edit View"
3523
  msgstr ""
3524
 
3525
+ #: includes/class-mla-settings.php:1517 includes/class-mla-settings.php:1774
3526
  msgid ""
3527
  "The &#8220;slug&#8221; is the URL-friendly, unique key for the view. It must "
3528
  "be all lowercase and contain only letters, numbers, periods (.), slashes (/) "
3531
  "MIME</strong> type, e.g., &#8220;image&#8221; or &#8220;image/jpeg&#8221;."
3532
  msgstr ""
3533
 
3534
+ #: includes/class-mla-settings.php:1518 includes/class-mla-settings.php:1775
3535
  msgid "Singular Label"
3536
  msgstr ""
3537
 
3538
+ #: includes/class-mla-settings.php:1519 includes/class-mla-settings.php:1776
3539
  msgid "Plural Label"
3540
  msgstr ""
3541
 
3542
+ #: includes/class-mla-settings.php:1520 includes/class-mla-settings.php:1777
3543
  msgid ""
3544
  "The labels, e.g., &#8220;Image&#8221; and &#8220;Images&#8221; are used for "
3545
  "column headers and other display purposes."
3546
  msgstr ""
3547
 
3548
+ #: includes/class-mla-settings.php:1521 includes/class-mla-settings.php:1778
3549
  msgid "Specification"
3550
  msgstr ""
3551
 
3552
+ #: includes/class-mla-settings.php:1522 includes/class-mla-settings.php:1779
3553
  msgid ""
3554
  "If the MIME type specification differs from the slug, enter it here. You may "
3555
  "include multiple MIME types, e.g., &#8220;audio,video&#8221; and/or wildcard "
3557
  "MIME Type box is checked."
3558
  msgstr ""
3559
 
3560
+ #: includes/class-mla-settings.php:1523 includes/class-mla-settings.php:1780
3561
  msgid "Post MIME Type"
3562
  msgstr ""
3563
 
3564
+ #: includes/class-mla-settings.php:1524 includes/class-mla-settings.php:1781
3565
  msgid ""
3566
  "Check this box if you want to add this entry to the list of MIME types "
3567
  "returned by wp_get_mime_types()."
3568
  msgstr ""
3569
 
3570
+ #: includes/class-mla-settings.php:1525 includes/class-mla-settings.php:1782
3571
  msgid "Table View"
3572
  msgstr ""
3573
 
3574
+ #: includes/class-mla-settings.php:1526 includes/class-mla-settings.php:1783
3575
  msgid ""
3576
  "Check this box if you want to add this entry to the list of Media/Assistant "
3577
  "table views."
3578
  msgstr ""
3579
 
3580
+ #: includes/class-mla-settings.php:1528 includes/class-mla-settings.php:1785
3581
  msgid ""
3582
  "You can choose your own table view order by entering a number (1 for first, "
3583
  "etc.) in this field."
3584
  msgstr ""
3585
 
3586
+ #: includes/class-mla-settings.php:1530 includes/class-mla-settings.php:1787
3587
+ #: includes/class-mla-settings.php:1885 includes/class-mla-settings.php:2249
3588
  msgid ""
3589
  "The description can contain any documentation or notes you need to "
3590
  "understand or use the item."
3591
  msgstr ""
3592
 
3593
  #. translators: 1: bulk_action, e.g., delete, edit, restore, trash
3594
+ #: includes/class-mla-settings.php:1641 includes/class-mla-settings.php:2107
3595
  #, php-format
3596
  msgid "Unknown bulk action %1$s"
3597
  msgstr ""
3598
 
3599
  #. translators: 1: view name/slug
3600
+ #: includes/class-mla-settings.php:1680 includes/class-mla-settings.php:2149
3601
  #, php-format
3602
  msgid "Edit view \"%1$s\" cancelled."
3603
  msgstr ""
3604
 
3605
+ #: includes/class-mla-settings.php:1714
3606
  msgid "View and Post MIME Type Support is disabled"
3607
  msgstr ""
3608
 
3609
+ #: includes/class-mla-settings.php:1759 includes/class-mla-settings.php:1762
3610
  msgid "Library Views/Post MIME Type Processing"
3611
  msgstr ""
3612
 
3613
+ #: includes/class-mla-settings.php:1760
3614
  msgid ""
3615
  "In this tab you can manage the list of \"Post MIME Types\", which are used "
3616
  "by WordPress to define the views for the <em><strong>Media/Library</strong></"
3622
  msgstr ""
3623
 
3624
  #. translators: 1: Documentation hyperlink
3625
+ #: includes/class-mla-settings.php:1762
3626
  #, php-format
3627
  msgid ""
3628
  "You can find more information about library views, Post MIME types and how "
3631
  "screen."
3632
  msgstr ""
3633
 
3634
+ #: includes/class-mla-settings.php:1762
3635
  msgid "Library View Processing documentation"
3636
  msgstr ""
3637
 
3638
+ #: includes/class-mla-settings.php:1766 includes/class-mla-settings.php:1955
3639
+ #: includes/class-mla-settings.php:2261
3640
  msgid "Displaying search results for"
3641
  msgstr ""
3642
 
3643
+ #: includes/class-mla-settings.php:1767
3644
  msgid "Search Views"
3645
  msgstr ""
3646
 
3647
+ #: includes/class-mla-settings.php:1788
3648
  msgid "Add View"
3649
  msgstr ""
3650
 
3651
+ #: includes/class-mla-settings.php:1790 includes/class-mla-settings.php:2254
3652
  msgid "<strong>Quick Edit</strong>"
3653
  msgstr ""
3654
 
3655
+ #: includes/class-mla-settings.php:1870
3656
  msgid "Edit Upload MIME Type"
3657
  msgstr ""
3658
 
3659
+ #: includes/class-mla-settings.php:1876
3660
  msgid ""
3661
  "The &#8220;extension&#8221; is the file extension for this type, and a "
3662
  "unique key for the item. It must be all lowercase and contain only letters "
3663
  "and numbers."
3664
  msgstr ""
3665
 
3666
+ #: includes/class-mla-settings.php:1878 includes/class-mla-settings.php:2243
3667
  msgid ""
3668
  "The MIME Type must be all lowercase and contain only letters, numbers, "
3669
  "periods (.), slashes (/) and hyphens (-). It <strong>must be a valid MIME</"
3670
  "strong> type, e.g., &#8220;image&#8221; or &#8220;image/jpeg&#8221;."
3671
  msgstr ""
3672
 
3673
+ #: includes/class-mla-settings.php:1879 includes/class-mla-settings.php:2244
3674
  msgid "Icon Type"
3675
  msgstr ""
3676
 
3677
+ #: includes/class-mla-settings.php:1881 includes/class-mla-settings.php:2245
3678
  msgid ""
3679
  "The Icon Type selects a thumbnail image displayed for non-image file types, "
3680
  "such as PDF documents."
3681
  msgstr ""
3682
 
3683
+ #: includes/class-mla-settings.php:1882 includes/class-mla-settings.php:2246
3684
  #: includes/class-mla-upload-list-table.php:415
3685
  msgid "Inactive"
3686
  msgstr ""
3687
 
3688
+ #: includes/class-mla-settings.php:1883 includes/class-mla-settings.php:2247
3689
  msgid ""
3690
  "Check this box if you want to remove this entry from the list of Upload MIME "
3691
  "Types returned by get_allowed_mime_types()."
3692
  msgstr ""
3693
 
3694
+ #: includes/class-mla-settings.php:1954
3695
  msgid "Known File Extension/MIME Type Associations"
3696
  msgstr ""
3697
 
3698
+ #: includes/class-mla-settings.php:1956
3699
  msgid "Search Known MIME Types"
3700
  msgstr ""
3701
 
3702
+ #: includes/class-mla-settings.php:1958 includes/class-mla-settings.php:2232
3703
  msgid "To search by extension, use \".\", e.g., \".doc\""
3704
  msgstr ""
3705
 
3706
+ #: includes/class-mla-settings.php:2183
3707
  msgid "Upload MIME Type Support is disabled"
3708
  msgstr ""
3709
 
3710
+ #: includes/class-mla-settings.php:2226 includes/class-mla-settings.php:2229
3711
  msgid "File Extension and MIME Type Processing"
3712
  msgstr ""
3713
 
3714
+ #: includes/class-mla-settings.php:2227
3715
  msgid ""
3716
  "In this tab you can manage the list of file extension/MIME Type "
3717
  "associations, which are used by WordPress to decide what kind of files can "
3721
  msgstr ""
3722
 
3723
  #. translators: 1: Documentation hyperlink
3724
+ #: includes/class-mla-settings.php:2229
3725
  #, php-format
3726
  msgid ""
3727
  "You can find more information about file extensions, MIME types and how "
3729
  "the <strong>\"Help\"</strong> tab in the upper-right corner of this screen."
3730
  msgstr ""
3731
 
3732
+ #: includes/class-mla-settings.php:2229
3733
  msgid "File Extension Processing documentation"
3734
  msgstr ""
3735
 
3736
+ #: includes/class-mla-settings.php:2231
3737
  msgid "Search Uploads"
3738
  msgstr ""
3739
 
3740
+ #: includes/class-mla-settings.php:2238
3741
  msgid "Upload MIME Type"
3742
  msgstr ""
3743
 
3744
+ #: includes/class-mla-settings.php:2239
3745
  msgid ""
3746
  "To search the database of over 1,500 known extension/type associations, "
3747
  "click \"Search Known Types\" below the form."
3748
  msgstr ""
3749
 
3750
+ #: includes/class-mla-settings.php:2241
3751
  msgid ""
3752
  "The &#8220;extension&#8221; is the file extension for this type, and unique "
3753
  "key for the item. It must be all lowercase and contain only letters and "
3754
  "numbers."
3755
  msgstr ""
3756
 
3757
+ #: includes/class-mla-settings.php:2250
3758
  msgid "Add Upload MIME Type"
3759
  msgstr ""
3760
 
3761
+ #: includes/class-mla-settings.php:2252
3762
  msgid "Search Known Types"
3763
  msgstr ""
3764
 
3765
+ #: includes/class-mla-settings.php:2260
3766
  #: includes/class-mla-upload-list-table.php:417
3767
  msgid "Active"
3768
  msgstr ""
3769
 
3770
+ #: includes/class-mla-settings.php:2313
3771
  msgid "MLA Gallery Options"
3772
  msgstr ""
3773
 
3774
+ #: includes/class-mla-settings.php:2314
3775
  msgid "Go to Style Templates"
3776
  msgstr ""
3777
 
3778
+ #: includes/class-mla-settings.php:2315
3779
  msgid "Go to Markup Templates"
3780
  msgstr ""
3781
 
3782
+ #: includes/class-mla-settings.php:2316
3783
  msgid ""
3784
  "In this tab you can view the default style and markup templates. You can "
3785
  "also define additional templates and use the <code>mla_style</code> and "
3789
  "Changes\" at the bottom of this page."
3790
  msgstr ""
3791
 
3792
+ #: includes/class-mla-settings.php:2320
3793
  msgid "Style Templates"
3794
  msgstr ""
3795
 
3796
+ #: includes/class-mla-settings.php:2322
3797
  msgid "Markup Templates"
3798
  msgstr ""
3799
 
3800
+ #: includes/class-mla-settings.php:2335
3801
  msgid "Theme"
3802
  msgstr ""
3803
 
3804
  #: includes/class-mla-settings.php:2364
3805
+ msgid "Imagick support is not installed."
3806
+ msgstr ""
3807
+
3808
+ #: includes/class-mla-settings.php:2371
3809
+ msgid "Ghostscript support is not installed."
3810
+ msgstr ""
3811
+
3812
+ #: includes/class-mla-settings.php:2375
3813
+ msgid "WARNING: MLA Viewer support may not be available"
3814
+ msgstr ""
3815
+
3816
+ #: includes/class-mla-settings.php:2402
3817
  msgid ""
3818
  "This default template cannot be altered or deleted, but you can copy the "
3819
  "styles."
3820
  msgstr ""
3821
 
3822
+ #: includes/class-mla-settings.php:2413 includes/class-mla-settings.php:2446
3823
+ #: includes/class-mla-settings.php:2472
3824
  msgid "Styles"
3825
  msgstr ""
3826
 
3827
+ #: includes/class-mla-settings.php:2417 includes/class-mla-settings.php:2450
3828
+ #: includes/class-mla-settings.php:2476
3829
  msgid ""
3830
  "List of substitution parameters, e.g., [+selector+], on Documentation tab."
3831
  msgstr ""
3832
 
3833
+ #: includes/class-mla-settings.php:2434 includes/class-mla-settings.php:2552
3834
  msgid "Delete this template"
3835
  msgstr ""
3836
 
3837
+ #: includes/class-mla-settings.php:2435 includes/class-mla-settings.php:2553
3838
  msgid ""
3839
  "Check the box to delete this template when you press Update at the bottom of "
3840
  "the page."
3841
  msgstr ""
3842
 
3843
+ #: includes/class-mla-settings.php:2461
3844
  msgid "Fill in a name and styles to add a new template."
3845
  msgstr ""
3846
 
3847
+ #: includes/class-mla-settings.php:2496
3848
  msgid ""
3849
  "This default template cannot be altered or deleted, but you can copy the "
3850
  "markup."
3851
  msgstr ""
3852
 
3853
+ #: includes/class-mla-settings.php:2508 includes/class-mla-settings.php:2565
3854
+ #: includes/class-mla-settings.php:2615
3855
  msgid "Open"
3856
  msgstr ""
3857
 
3858
+ #: includes/class-mla-settings.php:2512 includes/class-mla-settings.php:2569
3859
+ #: includes/class-mla-settings.php:2619
3860
  msgid ""
3861
  "Markup for the beginning of the gallery. List of parameters, e.g., [+selector"
3862
  "+], on Documentation tab."
3863
  msgstr ""
3864
 
3865
+ #: includes/class-mla-settings.php:2514 includes/class-mla-settings.php:2571
3866
+ #: includes/class-mla-settings.php:2621
3867
  msgid "Row"
3868
  msgstr ""
3869
 
3870
+ #: includes/class-mla-settings.php:2518 includes/class-mla-settings.php:2625
3871
  msgid "Markup for the beginning of each row in the gallery."
3872
  msgstr ""
3873
 
3874
+ #: includes/class-mla-settings.php:2520 includes/class-mla-settings.php:2577
3875
+ #: includes/class-mla-settings.php:2627
3876
  msgid "Item"
3877
  msgstr ""
3878
 
3879
+ #: includes/class-mla-settings.php:2524 includes/class-mla-settings.php:2631
3880
  msgid "Markup for each item/cell of the gallery."
3881
  msgstr ""
3882
 
3883
+ #: includes/class-mla-settings.php:2526 includes/class-mla-settings.php:2583
3884
+ #: includes/class-mla-settings.php:2633 includes/class-mla-settings.php:2747
3885
+ #: includes/class-mla-settings.php:2883
3886
  msgid "Close"
3887
  msgstr ""
3888
 
3889
+ #: includes/class-mla-settings.php:2530 includes/class-mla-settings.php:2637
3890
  msgid "Markup for the end of each row in the gallery."
3891
  msgstr ""
3892
 
3893
+ #: includes/class-mla-settings.php:2535 includes/class-mla-settings.php:2592
3894
+ #: includes/class-mla-settings.php:2642
3895
  msgid "Markup for the end of the gallery."
3896
  msgstr ""
3897
 
3898
+ #: includes/class-mla-settings.php:2575
3899
  msgid "Markup for the beginning of each row."
3900
  msgstr ""
3901
 
3902
+ #: includes/class-mla-settings.php:2581
3903
  msgid "Markup for each item/cell."
3904
  msgstr ""
3905
 
3906
+ #: includes/class-mla-settings.php:2587
3907
  msgid "Markup for the end of each row."
3908
  msgstr ""
3909
 
3910
+ #: includes/class-mla-settings.php:2603
3911
  msgid "Fill in a name and markup to add a new template."
3912
  msgstr ""
3913
 
3914
+ #: includes/class-mla-settings.php:2739
3915
  msgid "Custom Field Mapping Progress"
3916
  msgstr ""
3917
 
3918
+ #: includes/class-mla-settings.php:2740 includes/class-mla-settings.php:2876
3919
  msgid "DO NOT DO THE FOLLOWING (they will cause mapping to fail)"
3920
  msgstr ""
3921
 
3922
+ #: includes/class-mla-settings.php:2741 includes/class-mla-settings.php:2877
3923
  msgid "Close the window"
3924
  msgstr ""
3925
 
3926
+ #: includes/class-mla-settings.php:2742 includes/class-mla-settings.php:2878
3927
  msgid "Reload the page"
3928
  msgstr ""
3929
 
3930
+ #: includes/class-mla-settings.php:2743 includes/class-mla-settings.php:2879
3931
  msgid "Click the browser&rsquo;s Stop, Back or forward buttons"
3932
  msgstr ""
3933
 
3934
+ #: includes/class-mla-settings.php:2744 includes/class-mla-settings.php:2880
3935
  msgid "Progress"
3936
  msgstr ""
3937
 
3938
+ #: includes/class-mla-settings.php:2746 includes/class-mla-settings.php:2882
3939
  msgid "Resume"
3940
  msgstr ""
3941
 
3942
+ #: includes/class-mla-settings.php:2756 includes/class-mla-settings.php:2760
3943
  msgid "Custom Field and Attachment Metadata Processing Options"
3944
  msgstr ""
3945
 
3946
  #. translators: 1: Documentation hyperlink
3947
+ #: includes/class-mla-settings.php:2758
3948
  #, php-format
3949
  msgid ""
3950
  "In this tab you can define the rules for mapping several types of image "
3954
  "field. See the %1$s section of the Documentation for details."
3955
  msgstr ""
3956
 
3957
+ #: includes/class-mla-settings.php:2758
3958
  msgid "Updating Attachment Metadata Documentation"
3959
  msgstr ""
3960
 
3961
+ #: includes/class-mla-settings.php:2758
3962
  msgid "Adding or changing Attachment Metadata"
3963
  msgstr ""
3964
 
3965
  #. translators: 1: Documentation hyperlink
3966
+ #: includes/class-mla-settings.php:2760 includes/class-mla-settings.php:2895
3967
  #, php-format
3968
  msgid ""
3969
  "You can find more information about using the controls in this tab to define "
3970
  "mapping rules and apply them in the %1$s section of the Documentation."
3971
  msgstr ""
3972
 
3973
+ #: includes/class-mla-settings.php:2760
3974
  msgid "Custom Field Options documentation"
3975
  msgstr ""
3976
 
3977
+ #: includes/class-mla-settings.php:2764 includes/class-mla-settings.php:2905
3978
  msgid "Custom field mapping"
3979
  msgstr ""
3980
 
3981
  #. translators: 1: "Save Changes"
3982
+ #: includes/class-mla-settings.php:2769
3983
  #, php-format
3984
  msgid ""
3985
  "Click %1$s to update the \"Enable custom field mapping...\" checkbox and/or "
3988
  msgstr ""
3989
 
3990
  #. translators: 1: "Map All Rules..."
3991
+ #: includes/class-mla-settings.php:2771
3992
  #, php-format
3993
  msgid ""
3994
  "Click %1$s to apply all the rules at once (rule changes will be applied but "
3995
  "not saved)."
3996
  msgstr ""
3997
 
3998
+ #: includes/class-mla-settings.php:2875
3999
  msgid "IPTC &amp; EXIF Mapping Progress"
4000
  msgstr ""
4001
 
4002
+ #: includes/class-mla-settings.php:2892 includes/class-mla-settings.php:2895
4003
  msgid "IPTC &amp; EXIF Processing Options"
4004
  msgstr ""
4005
 
4006
+ #: includes/class-mla-settings.php:2893
4007
  msgid ""
4008
  "In this tab you can define the rules for mapping IPTC (International Press "
4009
  "Telecommunications Council) and EXIF (EXchangeable Image File) metadata to "
4012
  "click \"Save Changes\" at the bottom of this page."
4013
  msgstr ""
4014
 
4015
+ #: includes/class-mla-settings.php:2895
4016
  msgid "IPTC/EXIF Options documentation"
4017
  msgstr ""
4018
 
4019
+ #: includes/class-mla-settings.php:2899
4020
  msgid "Standard field mapping"
4021
  msgstr ""
4022
 
4023
+ #: includes/class-mla-settings.php:2902
4024
  msgid "Taxonomy term mapping"
4025
  msgstr ""
4026
 
4027
  #. translators: 1: "Save Changes"
4028
+ #: includes/class-mla-settings.php:2910
4029
  #, php-format
4030
  msgid ""
4031
  "Click %1$s to update the \"Enable IPTC/EXIF mapping...\" checkbox and/or all "
4033
  "performed.</strong>"
4034
  msgstr ""
4035
 
4036
+ #: includes/class-mla-settings.php:2981
4037
  msgid "Debug settings saved."
4038
  msgstr ""
4039
 
4040
+ #. translators: 1: ERROR tag 2: file type 3: file name 4: error message
4041
+ #: includes/class-mla-settings.php:3034
4042
  #, php-format
4043
+ msgid "%1$s: Reseting the %2$s file ( %3$s ) \"%4$s\"."
4044
  msgstr ""
4045
 
4046
+ #: includes/class-mla-settings.php:3034 includes/class-mla-settings.php:3078
4047
+ #: includes/class-mla-settings.php:3101 includes/class-mla-settings.php:3111
4048
+ #: includes/class-mla-settings.php:3115
4049
  msgid "Error Log"
4050
  msgstr ""
4051
 
4052
  #. translators: 1: ERROR tag 2: file type 3: file name 4: error message
4053
+ #: includes/class-mla-settings.php:3078
4054
  #, php-format
4055
  msgid "%1$s: Reading the %2$s file ( %3$s ) \"%4$s\"."
4056
  msgstr ""
4057
 
4058
+ #. translators: 1: file name
4059
+ #: includes/class-mla-settings.php:3088
4060
+ #, php-format
4061
+ msgid "Error log file (%1$s) not found; click Reset to create it."
4062
+ msgstr ""
4063
+
4064
+ #: includes/class-mla-settings.php:3111
4065
  msgid "Reset"
4066
  msgstr ""
4067
 
4068
+ #: includes/class-mla-settings.php:3120 includes/class-mla-settings.php:3130
4069
  msgid "Debug Options"
4070
  msgstr ""
4071
 
4072
  #. translators: 1: "Save Changes"
4073
+ #: includes/class-mla-settings.php:3130
4074
  #, php-format
4075
  msgid "Click %1$s to update the %2$s."
4076
  msgstr ""
4077
 
4078
+ #: includes/class-mla-settings.php:3149
4079
  msgid "You do not have permission to manage plugin settings."
4080
  msgstr ""
4081
 
4082
+ #: includes/class-mla-settings.php:3183
4083
  msgid "Cannot render content tab"
4084
  msgstr ""
4085
 
4086
+ #: includes/class-mla-settings.php:3186
4087
  msgid "Unknown content tab"
4088
  msgstr ""
4089
 
4090
  #. translators: 1: template type 2: template name
4091
+ #: includes/class-mla-settings.php:3278 includes/class-mla-settings.php:3367
4092
  #, php-format
4093
  msgctxt "message_list"
4094
  msgid "Deleting %1$s \"%2$s\"."
4095
  msgstr ""
4096
 
4097
  #. translators: 1: ERROR tag 2: template name 3: template type
4098
+ #: includes/class-mla-settings.php:3289 includes/class-mla-settings.php:3380
4099
  #, php-format
4100
  msgid "%1$s: Reserved name \"%2$s\", new %3$s discarded."
4101
  msgstr ""
4102
 
4103
  #. translators: 1: ERROR tag 2: template name 3: template type
4104
+ #: includes/class-mla-settings.php:3295 includes/class-mla-settings.php:3386
4105
  #, php-format
4106
  msgid "%1$s: Duplicate name \"%2$s\", new %3$s discarded."
4107
  msgstr ""
4108
 
4109
  #. translators: 1: template type 2: template name
4110
+ #: includes/class-mla-settings.php:3299 includes/class-mla-settings.php:3390
4111
  #, php-format
4112
  msgctxt "message_list"
4113
  msgid "Adding new %1$s \"%2$s\"."
4114
  msgstr ""
4115
 
4116
  #. translators: 1: ERROR tag 2: element name 3: old value
4117
+ #: includes/class-mla-settings.php:3309 includes/class-mla-settings.php:3400
4118
  #, php-format
4119
  msgid "%1$s: Blank %2$s, reverting to \"%3$s\"."
4120
  msgstr ""
4121
 
4122
+ #: includes/class-mla-settings.php:3309 includes/class-mla-settings.php:3316
4123
+ #: includes/class-mla-settings.php:3320
4124
  msgid "style template name"
4125
  msgstr ""
4126
 
4127
  #. translators: 1: ERROR tag 2: element name 3: new value 4: old value
4128
+ #: includes/class-mla-settings.php:3316 includes/class-mla-settings.php:3407
4129
  #, php-format
4130
  msgid "%1$s: Duplicate new %2$s \"%3$s\", reverting to \"%4$s\"."
4131
  msgstr ""
4132
 
4133
  #. translators: 1: element name 2: old_value 3: new_value
4134
+ #: includes/class-mla-settings.php:3320 includes/class-mla-settings.php:3411
4135
  #, php-format
4136
  msgctxt "message_list"
4137
  msgid "Changing %1$s from \"%2$s\" to \"%3$s\""
4138
  msgstr ""
4139
 
4140
  #. translators: 1: template type 2: template name
4141
+ #: includes/class-mla-settings.php:3327
4142
  #, php-format
4143
  msgctxt "message_list"
4144
  msgid "Updating contents of %1$s \"%2$s\"."
4145
  msgstr ""
4146
 
4147
  #. translators: 1: ERROR tag 2: template type
4148
+ #: includes/class-mla-settings.php:3338 includes/class-mla-settings.php:3459
4149
  #, php-format
4150
  msgid "%1$s: Update of %2$s failed."
4151
  msgstr ""
4152
 
4153
+ #: includes/class-mla-settings.php:3400 includes/class-mla-settings.php:3407
4154
+ #: includes/class-mla-settings.php:3411
4155
  msgid "markup template name"
4156
  msgstr ""
4157
 
4158
  #. translators: 1: template name
4159
+ #: includes/class-mla-settings.php:3419
4160
  #, php-format
4161
  msgctxt "message_list"
4162
  msgid "Updating open markup for \"%1$s\"."
4163
  msgstr ""
4164
 
4165
  #. translators: 1: template name
4166
+ #: includes/class-mla-settings.php:3425
4167
  #, php-format
4168
  msgctxt "message_list"
4169
  msgid "Updating row open markup for \"%1$s\"."
4170
  msgstr ""
4171
 
4172
  #. translators: 1: template name
4173
+ #: includes/class-mla-settings.php:3431
4174
  #, php-format
4175
  msgctxt "message_list"
4176
  msgid "Updating item markup for \"%1$s\"."
4177
  msgstr ""
4178
 
4179
  #. translators: 1: template name
4180
+ #: includes/class-mla-settings.php:3437
4181
  #, php-format
4182
  msgctxt "message_list"
4183
  msgid "Updating row close markup for \"%1$s\"."
4184
  msgstr ""
4185
 
4186
  #. translators: 1: template name
4187
+ #: includes/class-mla-settings.php:3443
4188
  #, php-format
4189
  msgctxt "message_list"
4190
  msgid "Updating close markup for \"%1$s\"."
4191
  msgstr ""
4192
 
4193
  #. translators: 1: field type
4194
+ #: includes/class-mla-settings.php:3468
4195
  #, php-format
4196
  msgid "%1$s no changes detected."
4197
  msgstr ""
4198
 
4199
+ #: includes/class-mla-settings.php:3503
4200
  msgid "View settings saved."
4201
  msgstr ""
4202
 
4203
+ #: includes/class-mla-settings.php:3537
4204
  msgid "Upload MIME Type settings saved."
4205
  msgstr ""
4206
 
4207
+ #: includes/class-mla-settings.php:3580
4208
  msgid "No custom field mapping rules to process."
4209
  msgstr ""
4210
 
4211
  #. translators: 1: field type 2: examined count 3: updated count
4212
+ #: includes/class-mla-settings.php:3610 includes/class-mla-settings.php:3749
4213
+ #: includes/class-mla-settings.php:3820 includes/class-mla-settings.php:3906
4214
  #, php-format
4215
  msgid "%1$s mapping completed; %2$d attachment(s) examined, %3$d updated."
4216
  msgstr ""
4217
 
4218
  #. translators: 1: field type 2: examined count
4219
+ #: includes/class-mla-settings.php:3613 includes/class-mla-settings.php:3752
4220
+ #: includes/class-mla-settings.php:3823 includes/class-mla-settings.php:3909
4221
  #, php-format
4222
  msgid ""
4223
  "%1$s mapping completed; %2$d attachment(s) examined, no changes detected."
4224
  msgstr ""
4225
 
4226
  #. translators: 1: number of attachments
4227
+ #: includes/class-mla-settings.php:3644
4228
  #, php-format
4229
  msgid "%s attachment"
4230
  msgid_plural "%s attachments"
4232
  msgstr[1] ""
4233
 
4234
  #. translators: 1: singular/plural number of attachments
4235
+ #: includes/class-mla-settings.php:3646
4236
  #, php-format
4237
  msgid "Deleted custom field value from %1$s."
4238
  msgstr ""
4239
 
4240
+ #: includes/class-mla-settings.php:3649
4241
  msgid "No attachments contained this custom field."
4242
  msgstr ""
4243
 
4244
  #. translators: 1: ERROR tag 2: field type
4245
+ #: includes/class-mla-settings.php:3710 includes/class-mla-settings.php:3781
4246
+ #: includes/class-mla-settings.php:3867
4247
  #, php-format
4248
  msgid "%1$s: No %2$s settings to process."
4249
  msgstr ""
4250
 
4251
+ #: includes/class-mla-settings.php:3740 includes/class-mla-settings.php:3811
4252
+ #: includes/class-mla-settings.php:3897
4253
  msgid "updated."
4254
  msgstr ""
4255
 
4256
  #. translators: 1: reference type, e.g., Gallery in
4257
+ #: includes/class-mla-settings.php:4002 includes/class-mla-settings.php:4012
4258
  #, php-format
4259
  msgctxt "message_list"
4260
  msgid "%1$s - references updated."
4261
  msgstr ""
4262
 
4263
+ #: includes/class-mla-settings.php:4055
4264
  msgid "General settings saved."
4265
  msgstr ""
4266
 
4267
+ #: includes/class-mla-settings.php:4094
4268
  msgid "General settings reset to default values."
4269
  msgstr ""
4270
 
4271
+ #: includes/class-mla-settings.php:4136
4272
  msgid "select settings"
4273
  msgstr ""
4274
 
4275
+ #: includes/class-mla-settings.php:4156
4276
  msgid "Import ALL Settings"
4277
  msgstr ""
4278
 
4279
+ #: includes/class-mla-settings.php:4181
4280
  msgctxt "message_list"
4281
  msgid "exported"
4282
  msgstr ""
4283
 
4284
+ #: includes/class-mla-settings.php:4183
4285
  msgctxt "message_list"
4286
  msgid "skipped"
4287
  msgstr ""
4288
 
4289
+ #: includes/class-mla-settings.php:4190
4290
  msgid "ALL settings exported."
4291
  msgstr ""
4292
 
4293
  #. translators: 1: ERROR tag 2: backup directory name
4294
+ #: includes/class-mla-settings.php:4201
4295
  #, php-format
4296
  msgid "%1$s: The settings directory ( %2$s ) cannot be created."
4297
  msgstr ""
4298
 
4299
  #. translators: 1: ERROR tag 2: backup directory name
4300
+ #: includes/class-mla-settings.php:4205
4301
  #, php-format
4302
  msgid "%1$s: The settings directory ( %2$s ) is not writable."
4303
  msgstr ""
4304
 
4305
  #. translators: 1: ERROR tag 2: backup file name
4306
+ #: includes/class-mla-settings.php:4216
4307
  #, php-format
4308
  msgid "%1$s: The settings file ( %2$s ) could not be opened."
4309
  msgstr ""
4310
 
4311
  #. translators: 1: ERROR tag 2: PHP error information
4312
+ #: includes/class-mla-settings.php:4223
4313
  #, php-format
4314
  msgctxt "error_log"
4315
  msgid "%1$s: _export_settings $error_info = \"%2$s\"."
4316
  msgstr ""
4317
 
4318
  #. translators: 1: ERROR tag 2: backup file name 3: error message
4319
+ #: includes/class-mla-settings.php:4232
4320
  #, php-format
4321
  msgid "%1$s: Writing the settings file ( %2$s ) \"%3$s\"."
4322
  msgstr ""
4323
 
4324
  #. translators: 1: number of option settings
4325
+ #: includes/class-mla-settings.php:4238
4326
  #, php-format
4327
  msgid "Settings exported; %1$s settings recorded."
4328
  msgstr ""
4329
 
4330
+ #: includes/class-mla-settings.php:4256
4331
  msgid "No settings imported."
4332
  msgstr ""
4333
 
4334
+ #: includes/class-mla-settings.php:4265
4335
  msgid "Please select an import settings file from the dropdown list."
4336
  msgstr ""
4337
 
4338
+ #: includes/class-mla-settings.php:4269
4339
  msgid "The import settings dropdown selection is missing."
4340
  msgstr ""
4341
 
4342
  #. translators: 1: ERROR tag 2: PHP error information
4343
+ #: includes/class-mla-settings.php:4277
4344
  #, php-format
4345
  msgctxt "error_log"
4346
  msgid "%1$s: _import_settings $error_info = \"%2$s\"."
4347
  msgstr ""
4348
 
4349
  #. translators: 1: ERROR tag 2: backup file name 3: error message
4350
+ #: includes/class-mla-settings.php:4286
4351
  #, php-format
4352
  msgid "%1$s: Reading the settings file ( %2$s ) \"%3$s\"."
4353
  msgstr ""
4354
 
4355
+ #: includes/class-mla-settings.php:4296
4356
  msgctxt "message_list"
4357
  msgid "updated"
4358
  msgstr ""
4359
 
4360
+ #: includes/class-mla-settings.php:4299
4361
  msgctxt "message_list"
4362
  msgid "unchanged"
4363
  msgstr ""
4364
 
4365
  #. translators: 1: number of option settings updated 2: number of option settings unchanged
4366
+ #: includes/class-mla-settings.php:4304
4367
  #, php-format
4368
  msgid "Settings imported; %1$s updated, %2$s unchanged."
4369
  msgstr ""
4370
 
4371
+ #: includes/class-mla-shortcodes.php:321
4372
+ #: includes/class-mla-shortcodes.php:1490
4373
+ #: includes/class-mla-shortcodes.php:2407
4374
+ #: includes/class-mla-shortcodes.php:2694
4375
  msgid "Previous"
4376
  msgstr ""
4377
 
4378
+ #: includes/class-mla-shortcodes.php:322
4379
+ #: includes/class-mla-shortcodes.php:1491
4380
+ #: includes/class-mla-shortcodes.php:2456
4381
+ #: includes/class-mla-shortcodes.php:2700
4382
  msgid "Next"
4383
  msgstr ""
4384
 
4385
+ #: includes/class-mla-shortcodes.php:438
4386
  msgid "mla_debug empty gallery"
4387
  msgstr ""
4388
 
4389
+ #: includes/class-mla-shortcodes.php:505
4390
  msgid ""
4391
  "<strong>Photonic-enhanced [mla_gallery]</strong> type must be "
4392
  "<strong>default</strong>, query = "
4393
  msgstr ""
4394
 
4395
+ #: includes/class-mla-shortcodes.php:878
4396
  msgid "unknown"
4397
  msgstr ""
4398
 
4399
+ #: includes/class-mla-shortcodes.php:1633
4400
  msgid "mla_debug attributes"
4401
  msgstr ""
4402
 
4403
+ #: includes/class-mla-shortcodes.php:1634
4404
  msgid "mla_debug arguments"
4405
  msgstr ""
4406
 
4407
+ #: includes/class-mla-shortcodes.php:1725
4408
  msgid "mla_debug empty cloud"
4409
  msgstr ""
4410
 
4411
+ #: includes/class-mla-shortcodes.php:3075
4412
+ #: includes/class-mla-shortcodes.php:3403
4413
+ #: includes/class-mla-shortcodes.php:3434
4414
  msgid "Invalid mla_gallery"
4415
  msgstr ""
4416
 
4417
+ #: includes/class-mla-shortcodes.php:3678
4418
  msgid "mla_debug query"
4419
  msgstr ""
4420
 
4421
+ #: includes/class-mla-shortcodes.php:3679
4422
  msgid "mla_debug request"
4423
  msgstr ""
4424
 
4425
+ #: includes/class-mla-shortcodes.php:3680
4426
  msgid "mla_debug query_vars"
4427
  msgstr ""
4428
 
4429
+ #: includes/class-mla-shortcodes.php:3681
4430
  msgid "mla_debug post_count"
4431
  msgstr ""
4432
 
4433
+ #: includes/class-mla-shortcodes.php:3749
4434
  msgid "mla_debug WHERE filter"
4435
  msgstr ""
4436
 
4437
+ #: includes/class-mla-shortcodes.php:3768
4438
  msgid "mla_debug modified WHERE filter"
4439
  msgstr ""
4440
 
4441
+ #: includes/class-mla-shortcodes.php:3791
4442
  msgid "mla_debug ORDER BY filter, incoming"
4443
  msgstr ""
4444
 
4445
+ #: includes/class-mla-shortcodes.php:3791
4446
  msgid "Replacement ORDER BY clause"
4447
  msgstr ""
4448
 
4449
+ #: includes/class-mla-shortcodes.php:3814
4450
  msgid "mla_debug posts_clauses filter"
4451
  msgstr ""
4452
 
4453
+ #: includes/class-mla-shortcodes.php:3832
4454
  msgid "mla_debug posts_clauses_request filter"
4455
  msgstr ""
4456
 
4457
+ #: includes/class-mla-shortcodes.php:4022
4458
  msgid "Invalid taxonomy"
4459
  msgstr ""
4460
 
4461
+ #: includes/class-mla-shortcodes.php:4228
4462
  msgid "mla_debug query arguments"
4463
  msgstr ""
4464
 
4465
+ #: includes/class-mla-shortcodes.php:4229
4466
  msgid "mla_debug last_query"
4467
  msgstr ""
4468
 
4469
+ #: includes/class-mla-shortcodes.php:4230
4470
  msgid "mla_debug last_error"
4471
  msgstr ""
4472
 
4473
+ #: includes/class-mla-shortcodes.php:4231
4474
  msgid "mla_debug num_rows"
4475
  msgstr ""
4476
 
4477
+ #: includes/class-mla-shortcodes.php:4232
4478
  msgid "mla_debug found_rows"
4479
  msgstr ""
4480
 
4481
+ #: includes/class-mla-thumbnail-generation.php:88
4482
+ msgid "Error while saving the thumbnails."
4483
+ msgstr ""
4484
+
4485
+ #: includes/class-mla-thumbnail-generation.php:89
4486
+ msgid "Remove From"
4487
+ msgstr ""
4488
+
4489
+ #: includes/class-mla-thumbnail-generation.php:89
4490
+ #: includes/class-mla-thumbnail-generation.php:91
4491
+ #: includes/class-mla-thumbnail-generation.php:421
4492
+ #: includes/class-mla-thumbnail-generation.php:440
4493
+ msgid "Generate Thumbnails"
4494
+ msgstr ""
4495
+
4496
+ #. translators: 1: post ID
4497
+ #: includes/class-mla-thumbnail-generation.php:211
4498
+ #, php-format
4499
+ msgid "Item %1$d"
4500
+ msgstr ""
4501
+
4502
+ #: includes/class-mla-thumbnail-generation.php:218
4503
+ msgid "has native thumbnail."
4504
+ msgstr ""
4505
+
4506
+ #: includes/class-mla-thumbnail-generation.php:239
4507
+ msgid "Featured Image retained."
4508
+ msgstr ""
4509
+
4510
+ #. translators: 1: ERROR tag 2: Item post ID
4511
+ #: includes/class-mla-thumbnail-generation.php:249
4512
+ #, php-format
4513
+ msgid "%1$s: %2$sno attached file."
4514
+ msgstr ""
4515
+
4516
+ #: includes/class-mla-thumbnail-generation.php:253
4517
+ msgid "unsupported file type."
4518
+ msgstr ""
4519
+
4520
+ #. translators: 1: ERROR tag 2: Item post ID
4521
+ #: includes/class-mla-thumbnail-generation.php:263
4522
+ #, php-format
4523
+ msgid "%1$s: %2$sthumbnail generation failed"
4524
+ msgstr ""
4525
+
4526
+ #. translators: 1: ERROR tag 2: Item post ID
4527
+ #: includes/class-mla-thumbnail-generation.php:309
4528
+ #, php-format
4529
+ msgid "%1$s: %2$swp_insert_attachment failed."
4530
+ msgstr ""
4531
+
4532
+ #. translators: 1: Item post ID, 2: new thumbnail item ID
4533
+ #: includes/class-mla-thumbnail-generation.php:326
4534
+ #, php-format
4535
+ msgid "%1$sthumbnail generated as new item %2$s."
4536
+ msgstr ""
4537
+
4538
+ #: includes/class-mla-thumbnail-generation.php:370
4539
+ msgid "Generated Thumbnails"
4540
+ msgstr ""
4541
+
4542
+ #: includes/class-mla-thumbnail-generation.php:422
4543
+ msgid ""
4544
+ "Pull down the Help menu and select Thumbnail Generation for setting details"
4545
+ msgstr ""
4546
+
4547
+ #: includes/class-mla-thumbnail-generation.php:423
4548
+ msgid "Width"
4549
+ msgstr ""
4550
+
4551
+ #: includes/class-mla-thumbnail-generation.php:424
4552
+ msgid "Height"
4553
+ msgstr ""
4554
+
4555
+ #: includes/class-mla-thumbnail-generation.php:425
4556
+ msgid "Best Fit"
4557
+ msgstr ""
4558
+
4559
+ #: includes/class-mla-thumbnail-generation.php:426
4560
+ msgid "Page"
4561
+ msgstr ""
4562
+
4563
+ #: includes/class-mla-thumbnail-generation.php:427
4564
+ msgid "Resolution"
4565
+ msgstr ""
4566
+
4567
+ #: includes/class-mla-thumbnail-generation.php:428
4568
+ msgid "Quality"
4569
+ msgstr ""
4570
+
4571
+ #: includes/class-mla-thumbnail-generation.php:430
4572
+ msgid "Existing Items"
4573
+ msgstr ""
4574
+
4575
+ #: includes/class-mla-thumbnail-generation.php:432
4576
+ msgid "Ignore"
4577
+ msgstr ""
4578
+
4579
+ #: includes/class-mla-thumbnail-generation.php:434
4580
+ msgid "Delete"
4581
+ msgstr ""
4582
+
4583
+ #: includes/class-mla-thumbnail-generation.php:435
4584
+ msgid "Suffix"
4585
+ msgstr ""
4586
+
4587
  #: includes/class-mla-upload-list-table.php:177
4588
  #: includes/class-mla-upload-optional-list-table.php:167
4589
  msgctxt "list_table_column"
4679
  msgid "Order"
4680
  msgstr ""
4681
 
4682
+ #: includes/class-mla-wpml-support.php:373
4683
  msgid "Duplicate translation created; update as desired."
4684
  msgstr ""
4685
 
4686
  #. translators: 1: - 4: page subheader values
4687
+ #: includes/class-mla-wpml-support.php:1221
4688
  #, php-format
4689
  msgid ""
4690
  "In this tab you can find a number of options for controlling WPML-specific "
4692
  "\"Save Changes\" at the bottom of the tab to save any changes you make."
4693
  msgstr ""
4694
 
4695
+ #: includes/class-mla-wpml-support.php:1715
4696
+ #: includes/class-mla-wpml-support.php:1721
4697
  #, php-format
4698
  msgid "Edit the %s translation"
4699
  msgstr ""
4700
 
4701
+ #: includes/class-mla-wpml-support.php:1727
4702
  #, php-format
4703
  msgid "Add translation to %s"
4704
  msgstr ""
4705
 
4706
+ #: includes/mla-main-search-box-template.php:42
4707
+ #: includes/mla-main-search-box-template.php:44
4708
+ #: includes/mla-media-modal-js-template.php:24
4709
  msgid "Search Media"
4710
  msgstr ""
4711
 
languages/media-library-assistant-nl_NL.mo ADDED
Binary file
languages/media-library-assistant-sv_SE.mo ADDED
Binary file
phpDocs/classes.svg CHANGED
@@ -4,242 +4,249 @@
4
  <!-- Generated by graphviz version 2.28.0 (20110507.0327)
5
  -->
6
  <!-- Title: G Pages: 1 -->
7
- <svg width="688pt" height="1404pt"
8
- viewBox="0.00 0.00 688.00 1403.59" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
- <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 1399.59)">
10
  <title>G</title>
11
- <polygon fill="white" stroke="white" points="-4,5 -4,-1399.59 685,-1399.59 685,5 -4,5"/>
12
  <g id="graph2" class="cluster"><title>cluster_global</title>
13
- <polyline fill="none" stroke="gray" points="242,-127.587 660,-127.587 "/>
14
- <path fill="none" stroke="gray" d="M660,-127.587C666,-127.587 672,-133.587 672,-139.587"/>
15
- <polyline fill="none" stroke="gray" points="672,-139.587 672,-1375.59 "/>
16
- <path fill="none" stroke="gray" d="M672,-1375.59C672,-1381.59 666,-1387.59 660,-1387.59"/>
17
- <polyline fill="none" stroke="gray" points="660,-1387.59 242,-1387.59 "/>
18
- <path fill="none" stroke="gray" d="M242,-1387.59C236,-1387.59 230,-1381.59 230,-1375.59"/>
19
- <polyline fill="none" stroke="gray" points="230,-1375.59 230,-139.587 "/>
20
- <path fill="none" stroke="gray" d="M230,-139.587C230,-133.587 236,-127.587 242,-127.587"/>
21
- <text text-anchor="middle" x="451" y="-1374.79" font-family="Times New Roman,serif" font-size="11.00" fill="gray">global</text>
22
  </g>
23
  <!-- \\MNA_Pad_Counts_Walker -->
24
  <g id="node2" class="node"><title>\\MNA_Pad_Counts_Walker</title>
25
  <a xlink:href="examples.twentytwelve-mla.content-tosca30-dropdown.html" xlink:title="MNA_Pad_Counts_Walker" target="_parent">
26
- <polygon fill="none" stroke="black" points="633,-1143.59 475,-1143.59 475,-1107.59 633,-1107.59 633,-1143.59"/>
27
- <text text-anchor="middle" x="554" y="-1122.79" font-family="Courier,monospace" font-size="11.00">MNA_Pad_Counts_Walker</text>
28
  </a>
29
  </g>
30
  <!-- \\Walker_Category -->
31
- <g id="node27" class="node"><title>\\Walker_Category</title>
32
- <ellipse fill="none" stroke="black" cx="294" cy="-101.587" rx="77.1866" ry="18"/>
33
- <text text-anchor="middle" x="294" y="-97.8867" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\Walker_Category</text>
34
  </g>
35
  <!-- \\MNA_Pad_Counts_Walker&#45;&gt;\\Walker_Category -->
36
  <g id="edge3" class="edge"><title>\\MNA_Pad_Counts_Walker&#45;&gt;\\Walker_Category</title>
37
- <path fill="none" stroke="black" d="M474.884,-1119C463.051,-1114.68 452.109,-1108.2 444,-1098.59 303.899,-932.538 509.133,-292.095 372,-123.587 370.272,-121.464 368.355,-119.537 366.287,-117.789"/>
38
- <polygon fill="none" stroke="black" points="367.884,-114.642 357.651,-111.897 363.939,-120.424 367.884,-114.642"/>
39
  </g>
40
  <!-- \\MLAPDF -->
41
  <g id="node3" class="node"><title>\\MLAPDF</title>
42
  <a xlink:href="includes.class-mla-data-pdf.html" xlink:title="MLAPDF" target="_parent">
43
- <polygon fill="none" stroke="black" points="582.5,-1305.59 525.5,-1305.59 525.5,-1269.59 582.5,-1269.59 582.5,-1305.59"/>
44
- <text text-anchor="middle" x="554" y="-1284.79" font-family="Courier,monospace" font-size="11.00">MLAPDF</text>
45
  </a>
46
  </g>
47
  <!-- \\MLAData -->
48
  <g id="node4" class="node"><title>\\MLAData</title>
49
  <a xlink:href="includes.class-mla-data.html" xlink:title="MLAData" target="_parent">
50
- <polygon fill="none" stroke="black" points="586,-1251.59 522,-1251.59 522,-1215.59 586,-1215.59 586,-1251.59"/>
51
- <text text-anchor="middle" x="554" y="-1230.79" font-family="Courier,monospace" font-size="11.00">MLAData</text>
52
  </a>
53
  </g>
54
  <!-- \\MLAEdit -->
55
  <g id="node5" class="node"><title>\\MLAEdit</title>
56
  <a xlink:href="includes.class-mla-edit-media.html" xlink:title="MLAEdit" target="_parent">
57
- <polygon fill="none" stroke="black" points="586,-1197.59 522,-1197.59 522,-1161.59 586,-1161.59 586,-1197.59"/>
58
- <text text-anchor="middle" x="554" y="-1176.79" font-family="Courier,monospace" font-size="11.00">MLAEdit</text>
59
  </a>
60
  </g>
61
  <!-- \\MLA_Checklist_Walker -->
62
  <g id="node6" class="node"><title>\\MLA_Checklist_Walker</title>
63
  <a xlink:href="includes.class-mla-edit-media.html" xlink:title="MLA_Checklist_Walker" target="_parent">
64
- <polygon fill="none" stroke="black" points="630,-873.587 478,-873.587 478,-837.587 630,-837.587 630,-873.587"/>
65
- <text text-anchor="middle" x="554" y="-852.787" font-family="Courier,monospace" font-size="11.00">MLA_Checklist_Walker</text>
66
  </a>
67
  </g>
68
  <!-- \\MLA_Checklist_Walker&#45;&gt;\\Walker_Category -->
69
  <g id="edge5" class="edge"><title>\\MLA_Checklist_Walker&#45;&gt;\\Walker_Category</title>
70
- <path fill="none" stroke="black" d="M477.881,-849.768C464.975,-845.485 452.882,-838.819 444,-828.587 237.534,-590.735 574.214,-365.064 372,-123.587 370.243,-121.488 368.3,-119.582 366.212,-117.852"/>
71
- <polygon fill="none" stroke="black" points="367.766,-114.68 357.513,-112.011 363.864,-120.491 367.766,-114.68"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  </g>
73
  <!-- \\MLA_List_Table -->
74
- <g id="node7" class="node"><title>\\MLA_List_Table</title>
75
  <a xlink:href="includes.class-mla-list-table.html" xlink:title="MLA_List_Table" target="_parent">
76
- <polygon fill="none" stroke="black" points="349.5,-766.587 238.5,-766.587 238.5,-730.587 349.5,-730.587 349.5,-766.587"/>
77
- <text text-anchor="middle" x="294" y="-745.787" font-family="Courier,monospace" font-size="11.00">MLA_List_Table</text>
78
  </a>
79
  </g>
80
  <!-- \\WP_List_Table -->
81
- <g id="node30" class="node"><title>\\WP_List_Table</title>
82
- <ellipse fill="none" stroke="black" cx="72" cy="-374.587" rx="71.4873" ry="18"/>
83
- <text text-anchor="middle" x="72" y="-370.887" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\WP_List_Table</text>
84
  </g>
85
  <!-- \\MLA_List_Table&#45;&gt;\\WP_List_Table -->
86
  <g id="edge7" class="edge"><title>\\MLA_List_Table&#45;&gt;\\WP_List_Table</title>
87
- <path fill="none" stroke="black" d="M238.412,-739.754C230.238,-736.605 222.414,-732.345 216,-726.587 116.736,-637.466 85.0626,-469.471 76.1375,-402.845"/>
88
- <polygon fill="none" stroke="black" points="79.5803,-402.172 74.8507,-392.691 72.6358,-403.052 79.5803,-402.172"/>
89
  </g>
90
  <!-- \\MLA -->
91
- <g id="node8" class="node"><title>\\MLA</title>
92
  <a xlink:href="includes.class-mla-main.html" xlink:title="MLA" target="_parent">
93
- <polygon fill="none" stroke="black" points="581,-1089.59 527,-1089.59 527,-1053.59 581,-1053.59 581,-1089.59"/>
94
- <text text-anchor="middle" x="554" y="-1068.79" font-family="Courier,monospace" font-size="11.00">MLA</text>
95
  </a>
96
  </g>
97
  <!-- \\MLAModal -->
98
- <g id="node9" class="node"><title>\\MLAModal</title>
99
  <a xlink:href="includes.class-mla-media-modal.html" xlink:title="MLAModal" target="_parent">
100
- <polygon fill="none" stroke="black" points="589.5,-1035.59 518.5,-1035.59 518.5,-999.587 589.5,-999.587 589.5,-1035.59"/>
101
- <text text-anchor="middle" x="554" y="-1014.79" font-family="Courier,monospace" font-size="11.00">MLAModal</text>
102
  </a>
103
  </g>
104
  <!-- \\MLAMime -->
105
- <g id="node10" class="node"><title>\\MLAMime</title>
106
  <a xlink:href="includes.class-mla-mime-types.html" xlink:title="MLAMime" target="_parent">
107
- <polygon fill="none" stroke="black" points="586,-981.587 522,-981.587 522,-945.587 586,-945.587 586,-981.587"/>
108
- <text text-anchor="middle" x="554" y="-960.787" font-family="Courier,monospace" font-size="11.00">MLAMime</text>
109
  </a>
110
  </g>
111
  <!-- \\MLAObjects -->
112
- <g id="node11" class="node"><title>\\MLAObjects</title>
113
  <a xlink:href="includes.class-mla-objects.html" xlink:title="MLAObjects" target="_parent">
114
- <polygon fill="none" stroke="black" points="596,-927.587 512,-927.587 512,-891.587 596,-891.587 596,-927.587"/>
115
- <text text-anchor="middle" x="554" y="-906.787" font-family="Courier,monospace" font-size="11.00">MLAObjects</text>
116
  </a>
117
  </g>
118
  <!-- \\MLATextWidget -->
119
- <g id="node12" class="node"><title>\\MLATextWidget</title>
120
  <a xlink:href="includes.class-mla-objects.html" xlink:title="MLATextWidget" target="_parent">
121
- <polygon fill="none" stroke="black" points="606,-603.587 502,-603.587 502,-567.587 606,-567.587 606,-603.587"/>
122
- <text text-anchor="middle" x="554" y="-582.787" font-family="Courier,monospace" font-size="11.00">MLATextWidget</text>
123
  </a>
124
  </g>
125
  <!-- \\WP_Widget -->
126
- <g id="node32" class="node"><title>\\WP_Widget</title>
127
- <ellipse fill="none" stroke="black" cx="294" cy="-47.5867" rx="58.4896" ry="18"/>
128
- <text text-anchor="middle" x="294" y="-43.8867" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\WP_Widget</text>
129
  </g>
130
  <!-- \\MLATextWidget&#45;&gt;\\WP_Widget -->
131
  <g id="edge9" class="edge"><title>\\MLATextWidget&#45;&gt;\\WP_Widget</title>
132
- <path fill="none" stroke="black" d="M501.997,-584.865C481.185,-581.866 458.622,-574.671 444,-558.587 297.706,-397.668 510.535,-242.231 372,-74.5867 367.223,-68.8059 361.129,-64.2614 354.467,-60.689"/>
133
- <polygon fill="none" stroke="black" points="355.65,-57.3809 345.101,-56.3953 352.733,-63.7442 355.65,-57.3809"/>
134
  </g>
135
  <!-- \\MLAOptions -->
136
- <g id="node13" class="node"><title>\\MLAOptions</title>
137
  <a xlink:href="includes.class-mla-options.html" xlink:title="MLAOptions" target="_parent">
138
- <polygon fill="none" stroke="black" points="596,-819.587 512,-819.587 512,-783.587 596,-783.587 596,-819.587"/>
139
- <text text-anchor="middle" x="554" y="-798.787" font-family="Courier,monospace" font-size="11.00">MLAOptions</text>
140
  </a>
141
  </g>
142
  <!-- \\MLA_Polylang -->
143
- <g id="node14" class="node"><title>\\MLA_Polylang</title>
144
  <a xlink:href="includes.class-mla-polylang-support.html" xlink:title="MLA_Polylang" target="_parent">
145
- <polygon fill="none" stroke="black" points="603,-765.587 505,-765.587 505,-729.587 603,-729.587 603,-765.587"/>
146
- <text text-anchor="middle" x="554" y="-744.787" font-family="Courier,monospace" font-size="11.00">MLA_Polylang</text>
147
  </a>
148
  </g>
149
  <!-- \\MLASettings -->
150
- <g id="node15" class="node"><title>\\MLASettings</title>
151
  <a xlink:href="includes.class-mla-settings.html" xlink:title="MLASettings" target="_parent">
152
- <polygon fill="none" stroke="black" points="599.5,-711.587 508.5,-711.587 508.5,-675.587 599.5,-675.587 599.5,-711.587"/>
153
- <text text-anchor="middle" x="554" y="-690.787" font-family="Courier,monospace" font-size="11.00">MLASettings</text>
154
  </a>
155
  </g>
156
  <!-- \\MLAShortcodes -->
157
- <g id="node16" class="node"><title>\\MLAShortcodes</title>
158
  <a xlink:href="includes.class-mla-shortcodes.html" xlink:title="MLAShortcodes" target="_parent">
159
- <polygon fill="none" stroke="black" points="606,-657.587 502,-657.587 502,-621.587 606,-621.587 606,-657.587"/>
160
- <text text-anchor="middle" x="554" y="-636.787" font-family="Courier,monospace" font-size="11.00">MLAShortcodes</text>
 
 
 
 
 
 
 
161
  </a>
162
  </g>
163
  <!-- \\MLA_Upload_List_Table -->
164
- <g id="node17" class="node"><title>\\MLA_Upload_List_Table</title>
165
  <a xlink:href="includes.class-mla-upload-list-table.html" xlink:title="MLA_Upload_List_Table" target="_parent">
166
- <polygon fill="none" stroke="black" points="633,-549.587 475,-549.587 475,-513.587 633,-513.587 633,-549.587"/>
167
- <text text-anchor="middle" x="554" y="-528.787" font-family="Courier,monospace" font-size="11.00">MLA_Upload_List_Table</text>
168
  </a>
169
  </g>
170
  <!-- \\MLA_Upload_List_Table&#45;&gt;\\WP_List_Table -->
171
  <g id="edge11" class="edge"><title>\\MLA_Upload_List_Table&#45;&gt;\\WP_List_Table</title>
172
- <path fill="none" stroke="black" d="M474.918,-524.285C463.23,-520.024 452.328,-513.747 444,-504.587 297.706,-343.668 518.366,-181.44 372,-20.5867 348.277,5.48425 330.247,-1.94877 295,-1.58671"/>
173
  </g>
174
  <!-- \\MLA_Upload_Optional_List_Table -->
175
- <g id="node18" class="node"><title>\\MLA_Upload_Optional_List_Table</title>
176
  <a xlink:href="includes.class-mla-upload-optional-list-table.html" xlink:title="MLA_Upload_Optional_List_Table" target="_parent">
177
- <polygon fill="none" stroke="black" points="663.5,-495.587 444.5,-495.587 444.5,-459.587 663.5,-459.587 663.5,-495.587"/>
178
- <text text-anchor="middle" x="554" y="-474.787" font-family="Courier,monospace" font-size="11.00">MLA_Upload_Optional_List_Table</text>
179
  </a>
180
  </g>
181
  <!-- \\MLA_Upload_Optional_List_Table&#45;&gt;\\WP_List_Table -->
182
  <g id="edge13" class="edge"><title>\\MLA_Upload_Optional_List_Table&#45;&gt;\\WP_List_Table</title>
183
- <path fill="none" stroke="black" d="M454.052,-459.378C450.425,-456.794 447.046,-453.877 444,-450.587 312.352,-308.403 503.712,-162.712 372,-20.5867 348.041,5.26699 330.247,-1.94877 295,-1.58671"/>
184
  </g>
185
  <!-- \\MLA_View_List_Table -->
186
- <g id="node19" class="node"><title>\\MLA_View_List_Table</title>
187
  <a xlink:href="includes.class-mla-view-list-table.html" xlink:title="MLA_View_List_Table" target="_parent">
188
- <polygon fill="none" stroke="black" points="626.5,-387.587 481.5,-387.587 481.5,-351.587 626.5,-351.587 626.5,-387.587"/>
189
- <text text-anchor="middle" x="554" y="-366.787" font-family="Courier,monospace" font-size="11.00">MLA_View_List_Table</text>
190
  </a>
191
  </g>
192
  <!-- \\MLA_View_List_Table&#45;&gt;\\WP_List_Table -->
193
  <g id="edge15" class="edge"><title>\\MLA_View_List_Table&#45;&gt;\\WP_List_Table</title>
194
- <path fill="none" stroke="black" d="M293,-1.58671C257.753,-1.22465 242.63,2.50704 216,-20.5867 114.726,-108.413 84.2184,-278.407 75.8716,-345.93"/>
195
- <polygon fill="none" stroke="black" points="72.3533,-345.885 74.6752,-356.222 79.3065,-346.693 72.3533,-345.885"/>
196
- <path fill="none" stroke="black" d="M481.348,-363.694C467.446,-359.512 454.084,-352.904 444,-342.587 341.497,-237.716 474.55,-125.412 372,-20.5867 347.35,4.60974 330.247,-1.94877 295,-1.58671"/>
197
  </g>
198
  <!-- \\MLA_WPML -->
199
- <g id="node20" class="node"><title>\\MLA_WPML</title>
200
  <a xlink:href="includes.class-mla-wpml-support.html" xlink:title="MLA_WPML" target="_parent">
201
- <polygon fill="none" stroke="black" points="589.5,-441.587 518.5,-441.587 518.5,-405.587 589.5,-405.587 589.5,-441.587"/>
202
- <text text-anchor="middle" x="554" y="-420.787" font-family="Courier,monospace" font-size="11.00">MLA_WPML</text>
203
  </a>
204
  </g>
205
  <!-- \\MLA_WPML_List_Table -->
206
- <g id="node21" class="node"><title>\\MLA_WPML_List_Table</title>
207
  <a xlink:href="includes.class-mla-wpml-support.html" xlink:title="MLA_WPML_List_Table" target="_parent">
208
- <polygon fill="none" stroke="black" points="626.5,-1359.59 481.5,-1359.59 481.5,-1323.59 626.5,-1323.59 626.5,-1359.59"/>
209
- <text text-anchor="middle" x="554" y="-1338.79" font-family="Courier,monospace" font-size="11.00">MLA_WPML_List_Table</text>
210
  </a>
211
  </g>
212
  <!-- \\MLA_WPML_List_Table&#45;&gt;\\MLA_List_Table -->
213
  <g id="edge17" class="edge"><title>\\MLA_WPML_List_Table&#45;&gt;\\MLA_List_Table</title>
214
- <path fill="none" stroke="black" d="M481.356,-1335.32C467.537,-1331.15 454.206,-1324.64 444,-1314.59 365.014,-1236.75 312.399,-880.167 298.608,-776.766"/>
215
- <polygon fill="none" stroke="black" points="302.066,-776.22 297.29,-766.763 295.126,-777.134 302.066,-776.22"/>
216
  </g>
217
  <!-- \\MLA_WPML_Table -->
218
- <g id="node22" class="node"><title>\\MLA_WPML_Table</title>
219
  <a xlink:href="includes.class-mla-wpml-support.html" xlink:title="MLA_WPML_Table" target="_parent">
220
- <polygon fill="none" stroke="black" points="609.5,-333.587 498.5,-333.587 498.5,-297.587 609.5,-297.587 609.5,-333.587"/>
221
- <text text-anchor="middle" x="554" y="-312.787" font-family="Courier,monospace" font-size="11.00">MLA_WPML_Table</text>
222
- </a>
223
- </g>
224
- <!-- \\MLAStreamImage -->
225
- <g id="node23" class="node"><title>\\MLAStreamImage</title>
226
- <a xlink:href="includes.mla-stream-image.html" xlink:title="MLAStreamImage" target="_parent">
227
- <polygon fill="none" stroke="black" points="609.5,-279.587 498.5,-279.587 498.5,-243.587 609.5,-243.587 609.5,-279.587"/>
228
- <text text-anchor="middle" x="554" y="-258.787" font-family="Courier,monospace" font-size="11.00">MLAStreamImage</text>
229
- </a>
230
- </g>
231
- <!-- \\MLAMutex -->
232
- <g id="node24" class="node"><title>\\MLAMutex</title>
233
- <a xlink:href="includes.mla-stream-image.html" xlink:title="MLAMutex" target="_parent">
234
- <polygon fill="none" stroke="black" points="589.5,-225.587 518.5,-225.587 518.5,-189.587 589.5,-189.587 589.5,-225.587"/>
235
- <text text-anchor="middle" x="554" y="-204.787" font-family="Courier,monospace" font-size="11.00">MLAMutex</text>
236
  </a>
237
  </g>
238
  <!-- \\MLATest -->
239
- <g id="node25" class="node"><title>\\MLATest</title>
240
  <a xlink:href="tests.class-mla-tests.html" xlink:title="MLATest" target="_parent">
241
- <polygon fill="none" stroke="black" points="586,-171.587 522,-171.587 522,-135.587 586,-135.587 586,-171.587"/>
242
- <text text-anchor="middle" x="554" y="-150.787" font-family="Courier,monospace" font-size="11.00">MLATest</text>
243
  </a>
244
  </g>
245
  </g>
4
  <!-- Generated by graphviz version 2.28.0 (20110507.0327)
5
  -->
6
  <!-- Title: G Pages: 1 -->
7
+ <svg width="688pt" height="1458pt"
8
+ viewBox="0.00 0.00 688.00 1457.82" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 1453.82)">
10
  <title>G</title>
11
+ <polygon fill="white" stroke="white" points="-4,5 -4,-1453.82 685,-1453.82 685,5 -4,5"/>
12
  <g id="graph2" class="cluster"><title>cluster_global</title>
13
+ <polyline fill="none" stroke="gray" points="242,-127.819 660,-127.819 "/>
14
+ <path fill="none" stroke="gray" d="M660,-127.819C666,-127.819 672,-133.819 672,-139.819"/>
15
+ <polyline fill="none" stroke="gray" points="672,-139.819 672,-1429.82 "/>
16
+ <path fill="none" stroke="gray" d="M672,-1429.82C672,-1435.82 666,-1441.82 660,-1441.82"/>
17
+ <polyline fill="none" stroke="gray" points="660,-1441.82 242,-1441.82 "/>
18
+ <path fill="none" stroke="gray" d="M242,-1441.82C236,-1441.82 230,-1435.82 230,-1429.82"/>
19
+ <polyline fill="none" stroke="gray" points="230,-1429.82 230,-139.819 "/>
20
+ <path fill="none" stroke="gray" d="M230,-139.819C230,-133.819 236,-127.819 242,-127.819"/>
21
+ <text text-anchor="middle" x="451" y="-1429.02" font-family="Times New Roman,serif" font-size="11.00" fill="gray">global</text>
22
  </g>
23
  <!-- \\MNA_Pad_Counts_Walker -->
24
  <g id="node2" class="node"><title>\\MNA_Pad_Counts_Walker</title>
25
  <a xlink:href="examples.twentytwelve-mla.content-tosca30-dropdown.html" xlink:title="MNA_Pad_Counts_Walker" target="_parent">
26
+ <polygon fill="none" stroke="black" points="633,-819.819 475,-819.819 475,-783.819 633,-783.819 633,-819.819"/>
27
+ <text text-anchor="middle" x="554" y="-799.019" font-family="Courier,monospace" font-size="11.00">MNA_Pad_Counts_Walker</text>
28
  </a>
29
  </g>
30
  <!-- \\Walker_Category -->
31
+ <g id="node28" class="node"><title>\\Walker_Category</title>
32
+ <ellipse fill="none" stroke="black" cx="294" cy="-101.819" rx="77.1866" ry="18"/>
33
+ <text text-anchor="middle" x="294" y="-98.1192" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\Walker_Category</text>
34
  </g>
35
  <!-- \\MNA_Pad_Counts_Walker&#45;&gt;\\Walker_Category -->
36
  <g id="edge3" class="edge"><title>\\MNA_Pad_Counts_Walker&#45;&gt;\\Walker_Category</title>
37
+ <path fill="none" stroke="black" d="M474.9,-794.88C463.14,-790.589 452.218,-784.207 444,-774.819 252.26,-555.791 559.825,-346.214 372,-123.819 370.234,-121.728 368.284,-119.828 366.189,-118.103"/>
38
+ <polygon fill="none" stroke="black" points="367.731,-114.924 357.472,-112.278 363.841,-120.744 367.731,-114.924"/>
39
  </g>
40
  <!-- \\MLAPDF -->
41
  <g id="node3" class="node"><title>\\MLAPDF</title>
42
  <a xlink:href="includes.class-mla-data-pdf.html" xlink:title="MLAPDF" target="_parent">
43
+ <polygon fill="none" stroke="black" points="582.5,-1359.82 525.5,-1359.82 525.5,-1323.82 582.5,-1323.82 582.5,-1359.82"/>
44
+ <text text-anchor="middle" x="554" y="-1339.02" font-family="Courier,monospace" font-size="11.00">MLAPDF</text>
45
  </a>
46
  </g>
47
  <!-- \\MLAData -->
48
  <g id="node4" class="node"><title>\\MLAData</title>
49
  <a xlink:href="includes.class-mla-data.html" xlink:title="MLAData" target="_parent">
50
+ <polygon fill="none" stroke="black" points="586,-1305.82 522,-1305.82 522,-1269.82 586,-1269.82 586,-1305.82"/>
51
+ <text text-anchor="middle" x="554" y="-1285.02" font-family="Courier,monospace" font-size="11.00">MLAData</text>
52
  </a>
53
  </g>
54
  <!-- \\MLAEdit -->
55
  <g id="node5" class="node"><title>\\MLAEdit</title>
56
  <a xlink:href="includes.class-mla-edit-media.html" xlink:title="MLAEdit" target="_parent">
57
+ <polygon fill="none" stroke="black" points="586,-1251.82 522,-1251.82 522,-1215.82 586,-1215.82 586,-1251.82"/>
58
+ <text text-anchor="middle" x="554" y="-1231.02" font-family="Courier,monospace" font-size="11.00">MLAEdit</text>
59
  </a>
60
  </g>
61
  <!-- \\MLA_Checklist_Walker -->
62
  <g id="node6" class="node"><title>\\MLA_Checklist_Walker</title>
63
  <a xlink:href="includes.class-mla-edit-media.html" xlink:title="MLA_Checklist_Walker" target="_parent">
64
+ <polygon fill="none" stroke="black" points="630,-1197.82 478,-1197.82 478,-1161.82 630,-1161.82 630,-1197.82"/>
65
+ <text text-anchor="middle" x="554" y="-1177.02" font-family="Courier,monospace" font-size="11.00">MLA_Checklist_Walker</text>
66
  </a>
67
  </g>
68
  <!-- \\MLA_Checklist_Walker&#45;&gt;\\Walker_Category -->
69
  <g id="edge5" class="edge"><title>\\MLA_Checklist_Walker&#45;&gt;\\Walker_Category</title>
70
+ <path fill="none" stroke="black" d="M477.897,-1174.32C464.909,-1170.02 452.78,-1163.27 444,-1152.82 296.519,-977.338 516.345,-301.889 372,-123.819 370.276,-121.693 368.362,-119.763 366.298,-118.013"/>
71
+ <polygon fill="none" stroke="black" points="367.9,-114.869 357.67,-112.114 363.949,-120.647 367.9,-114.869"/>
72
+ </g>
73
+ <!-- \\MLAImageProcessor -->
74
+ <g id="node7" class="node"><title>\\MLAImageProcessor</title>
75
+ <a xlink:href="includes.class-mla-image-processor.html" xlink:title="MLAImageProcessor" target="_parent">
76
+ <polygon fill="none" stroke="black" points="619.5,-1143.82 488.5,-1143.82 488.5,-1107.82 619.5,-1107.82 619.5,-1143.82"/>
77
+ <text text-anchor="middle" x="554" y="-1123.02" font-family="Courier,monospace" font-size="11.00">MLAImageProcessor</text>
78
+ </a>
79
+ </g>
80
+ <!-- \\MLAMutex -->
81
+ <g id="node8" class="node"><title>\\MLAMutex</title>
82
+ <a xlink:href="includes.class-mla-image-processor.html" xlink:title="MLAMutex" target="_parent">
83
+ <polygon fill="none" stroke="black" points="589.5,-1089.82 518.5,-1089.82 518.5,-1053.82 589.5,-1053.82 589.5,-1089.82"/>
84
+ <text text-anchor="middle" x="554" y="-1069.02" font-family="Courier,monospace" font-size="11.00">MLAMutex</text>
85
+ </a>
86
  </g>
87
  <!-- \\MLA_List_Table -->
88
+ <g id="node9" class="node"><title>\\MLA_List_Table</title>
89
  <a xlink:href="includes.class-mla-list-table.html" xlink:title="MLA_List_Table" target="_parent">
90
+ <polygon fill="none" stroke="black" points="349.5,-793.819 238.5,-793.819 238.5,-757.819 349.5,-757.819 349.5,-793.819"/>
91
+ <text text-anchor="middle" x="294" y="-773.019" font-family="Courier,monospace" font-size="11.00">MLA_List_Table</text>
92
  </a>
93
  </g>
94
  <!-- \\WP_List_Table -->
95
+ <g id="node31" class="node"><title>\\WP_List_Table</title>
96
+ <ellipse fill="none" stroke="black" cx="72" cy="-388.819" rx="71.4873" ry="18"/>
97
+ <text text-anchor="middle" x="72" y="-385.119" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\WP_List_Table</text>
98
  </g>
99
  <!-- \\MLA_List_Table&#45;&gt;\\WP_List_Table -->
100
  <g id="edge7" class="edge"><title>\\MLA_List_Table&#45;&gt;\\WP_List_Table</title>
101
+ <path fill="none" stroke="black" d="M238.35,-767.055C230.183,-763.898 222.378,-759.618 216,-753.819 113.708,-660.82 83.7149,-485.596 75.6894,-417.19"/>
102
+ <polygon fill="none" stroke="black" points="79.1581,-416.713 74.5823,-407.158 72.2004,-417.481 79.1581,-416.713"/>
103
  </g>
104
  <!-- \\MLA -->
105
+ <g id="node10" class="node"><title>\\MLA</title>
106
  <a xlink:href="includes.class-mla-main.html" xlink:title="MLA" target="_parent">
107
+ <polygon fill="none" stroke="black" points="581,-1035.82 527,-1035.82 527,-999.819 581,-999.819 581,-1035.82"/>
108
+ <text text-anchor="middle" x="554" y="-1015.02" font-family="Courier,monospace" font-size="11.00">MLA</text>
109
  </a>
110
  </g>
111
  <!-- \\MLAModal -->
112
+ <g id="node11" class="node"><title>\\MLAModal</title>
113
  <a xlink:href="includes.class-mla-media-modal.html" xlink:title="MLAModal" target="_parent">
114
+ <polygon fill="none" stroke="black" points="589.5,-981.819 518.5,-981.819 518.5,-945.819 589.5,-945.819 589.5,-981.819"/>
115
+ <text text-anchor="middle" x="554" y="-961.019" font-family="Courier,monospace" font-size="11.00">MLAModal</text>
116
  </a>
117
  </g>
118
  <!-- \\MLAMime -->
119
+ <g id="node12" class="node"><title>\\MLAMime</title>
120
  <a xlink:href="includes.class-mla-mime-types.html" xlink:title="MLAMime" target="_parent">
121
+ <polygon fill="none" stroke="black" points="586,-927.819 522,-927.819 522,-891.819 586,-891.819 586,-927.819"/>
122
+ <text text-anchor="middle" x="554" y="-907.019" font-family="Courier,monospace" font-size="11.00">MLAMime</text>
123
  </a>
124
  </g>
125
  <!-- \\MLAObjects -->
126
+ <g id="node13" class="node"><title>\\MLAObjects</title>
127
  <a xlink:href="includes.class-mla-objects.html" xlink:title="MLAObjects" target="_parent">
128
+ <polygon fill="none" stroke="black" points="596,-873.819 512,-873.819 512,-837.819 596,-837.819 596,-873.819"/>
129
+ <text text-anchor="middle" x="554" y="-853.019" font-family="Courier,monospace" font-size="11.00">MLAObjects</text>
130
  </a>
131
  </g>
132
  <!-- \\MLATextWidget -->
133
+ <g id="node14" class="node"><title>\\MLATextWidget</title>
134
  <a xlink:href="includes.class-mla-objects.html" xlink:title="MLATextWidget" target="_parent">
135
+ <polygon fill="none" stroke="black" points="606,-495.819 502,-495.819 502,-459.819 606,-459.819 606,-495.819"/>
136
+ <text text-anchor="middle" x="554" y="-475.019" font-family="Courier,monospace" font-size="11.00">MLATextWidget</text>
137
  </a>
138
  </g>
139
  <!-- \\WP_Widget -->
140
+ <g id="node33" class="node"><title>\\WP_Widget</title>
141
+ <ellipse fill="none" stroke="black" cx="294" cy="-47.8192" rx="58.4896" ry="18"/>
142
+ <text text-anchor="middle" x="294" y="-44.1192" font-family="Times New Roman,serif" font-size="14.00" fill="gray">\WP_Widget</text>
143
  </g>
144
  <!-- \\MLATextWidget&#45;&gt;\\WP_Widget -->
145
  <g id="edge9" class="edge"><title>\\MLATextWidget&#45;&gt;\\WP_Widget</title>
146
+ <path fill="none" stroke="black" d="M501.754,-476.72C481.153,-473.623 458.819,-466.455 444,-450.819 326.956,-327.325 483.085,-203.7 372,-74.8192 367.104,-69.1388 360.94,-64.6531 354.242,-61.111"/>
147
+ <polygon fill="none" stroke="black" points="355.399,-57.7922 344.847,-56.842 352.503,-64.1652 355.399,-57.7922"/>
148
  </g>
149
  <!-- \\MLAOptions -->
150
+ <g id="node15" class="node"><title>\\MLAOptions</title>
151
  <a xlink:href="includes.class-mla-options.html" xlink:title="MLAOptions" target="_parent">
152
+ <polygon fill="none" stroke="black" points="596,-765.819 512,-765.819 512,-729.819 596,-729.819 596,-765.819"/>
153
+ <text text-anchor="middle" x="554" y="-745.019" font-family="Courier,monospace" font-size="11.00">MLAOptions</text>
154
  </a>
155
  </g>
156
  <!-- \\MLA_Polylang -->
157
+ <g id="node16" class="node"><title>\\MLA_Polylang</title>
158
  <a xlink:href="includes.class-mla-polylang-support.html" xlink:title="MLA_Polylang" target="_parent">
159
+ <polygon fill="none" stroke="black" points="603,-711.819 505,-711.819 505,-675.819 603,-675.819 603,-711.819"/>
160
+ <text text-anchor="middle" x="554" y="-691.019" font-family="Courier,monospace" font-size="11.00">MLA_Polylang</text>
161
  </a>
162
  </g>
163
  <!-- \\MLASettings -->
164
+ <g id="node17" class="node"><title>\\MLASettings</title>
165
  <a xlink:href="includes.class-mla-settings.html" xlink:title="MLASettings" target="_parent">
166
+ <polygon fill="none" stroke="black" points="599.5,-657.819 508.5,-657.819 508.5,-621.819 599.5,-621.819 599.5,-657.819"/>
167
+ <text text-anchor="middle" x="554" y="-637.019" font-family="Courier,monospace" font-size="11.00">MLASettings</text>
168
  </a>
169
  </g>
170
  <!-- \\MLAShortcodes -->
171
+ <g id="node18" class="node"><title>\\MLAShortcodes</title>
172
  <a xlink:href="includes.class-mla-shortcodes.html" xlink:title="MLAShortcodes" target="_parent">
173
+ <polygon fill="none" stroke="black" points="606,-603.819 502,-603.819 502,-567.819 606,-567.819 606,-603.819"/>
174
+ <text text-anchor="middle" x="554" y="-583.019" font-family="Courier,monospace" font-size="11.00">MLAShortcodes</text>
175
+ </a>
176
+ </g>
177
+ <!-- \\MLA_Thumbnail -->
178
+ <g id="node19" class="node"><title>\\MLA_Thumbnail</title>
179
+ <a xlink:href="includes.class-mla-thumbnail-generation.html" xlink:title="MLA_Thumbnail" target="_parent">
180
+ <polygon fill="none" stroke="black" points="606,-549.819 502,-549.819 502,-513.819 606,-513.819 606,-549.819"/>
181
+ <text text-anchor="middle" x="554" y="-529.019" font-family="Courier,monospace" font-size="11.00">MLA_Thumbnail</text>
182
  </a>
183
  </g>
184
  <!-- \\MLA_Upload_List_Table -->
185
+ <g id="node20" class="node"><title>\\MLA_Upload_List_Table</title>
186
  <a xlink:href="includes.class-mla-upload-list-table.html" xlink:title="MLA_Upload_List_Table" target="_parent">
187
+ <polygon fill="none" stroke="black" points="633,-441.819 475,-441.819 475,-405.819 633,-405.819 633,-441.819"/>
188
+ <text text-anchor="middle" x="554" y="-421.019" font-family="Courier,monospace" font-size="11.00">MLA_Upload_List_Table</text>
189
  </a>
190
  </g>
191
  <!-- \\MLA_Upload_List_Table&#45;&gt;\\WP_List_Table -->
192
  <g id="edge11" class="edge"><title>\\MLA_Upload_List_Table&#45;&gt;\\WP_List_Table</title>
193
+ <path fill="none" stroke="black" d="M474.961,-416.12C463.341,-411.896 452.449,-405.734 444,-396.819 326.956,-273.325 489.099,-144.261 372,-20.8192 347.741,4.7537 330.187,0.261052 295,-1.81917"/>
194
  </g>
195
  <!-- \\MLA_Upload_Optional_List_Table -->
196
+ <g id="node21" class="node"><title>\\MLA_Upload_Optional_List_Table</title>
197
  <a xlink:href="includes.class-mla-upload-optional-list-table.html" xlink:title="MLA_Upload_Optional_List_Table" target="_parent">
198
+ <polygon fill="none" stroke="black" points="663.5,-387.819 444.5,-387.819 444.5,-351.819 663.5,-351.819 663.5,-387.819"/>
199
+ <text text-anchor="middle" x="554" y="-367.019" font-family="Courier,monospace" font-size="11.00">MLA_Upload_Optional_List_Table</text>
200
  </a>
201
  </g>
202
  <!-- \\MLA_Upload_Optional_List_Table&#45;&gt;\\WP_List_Table -->
203
  <g id="edge13" class="edge"><title>\\MLA_Upload_Optional_List_Table&#45;&gt;\\WP_List_Table</title>
204
+ <path fill="none" stroke="black" d="M454.753,-351.731C450.886,-349.121 447.271,-346.165 444,-342.819 341.497,-237.948 474.55,-125.644 372,-20.8192 347.35,4.37728 330.187,0.261052 295,-1.81917"/>
205
  </g>
206
  <!-- \\MLA_View_List_Table -->
207
+ <g id="node22" class="node"><title>\\MLA_View_List_Table</title>
208
  <a xlink:href="includes.class-mla-view-list-table.html" xlink:title="MLA_View_List_Table" target="_parent">
209
+ <polygon fill="none" stroke="black" points="626.5,-279.819 481.5,-279.819 481.5,-243.819 626.5,-243.819 626.5,-279.819"/>
210
+ <text text-anchor="middle" x="554" y="-259.019" font-family="Courier,monospace" font-size="11.00">MLA_View_List_Table</text>
211
  </a>
212
  </g>
213
  <!-- \\MLA_View_List_Table&#45;&gt;\\WP_List_Table -->
214
  <g id="edge15" class="edge"><title>\\MLA_View_List_Table&#45;&gt;\\WP_List_Table</title>
215
+ <path fill="none" stroke="black" d="M481.297,-254.852C467.644,-250.715 454.394,-244.397 444,-234.819 370.202,-166.819 445.828,-88.7859 372,-20.8192 346.067,3.05466 330.187,0.261052 295,-1.81917"/>
216
+ <path fill="none" stroke="black" d="M293,-1.81917C257.813,-3.89939 242.476,2.45092 216,-20.8192 111.175,-112.951 82.6362,-291.316 75.3453,-360.464"/>
217
+ <polygon fill="none" stroke="black" points="71.8446,-360.3 74.3491,-370.594 78.811,-360.985 71.8446,-360.3"/>
218
  </g>
219
  <!-- \\MLA_WPML -->
220
+ <g id="node23" class="node"><title>\\MLA_WPML</title>
221
  <a xlink:href="includes.class-mla-wpml-support.html" xlink:title="MLA_WPML" target="_parent">
222
+ <polygon fill="none" stroke="black" points="589.5,-333.819 518.5,-333.819 518.5,-297.819 589.5,-297.819 589.5,-333.819"/>
223
+ <text text-anchor="middle" x="554" y="-313.019" font-family="Courier,monospace" font-size="11.00">MLA_WPML</text>
224
  </a>
225
  </g>
226
  <!-- \\MLA_WPML_List_Table -->
227
+ <g id="node24" class="node"><title>\\MLA_WPML_List_Table</title>
228
  <a xlink:href="includes.class-mla-wpml-support.html" xlink:title="MLA_WPML_List_Table" target="_parent">
229
+ <polygon fill="none" stroke="black" points="626.5,-1413.82 481.5,-1413.82 481.5,-1377.82 626.5,-1377.82 626.5,-1413.82"/>
230
+ <text text-anchor="middle" x="554" y="-1393.02" font-family="Courier,monospace" font-size="11.00">MLA_WPML_List_Table</text>
231
  </a>
232
  </g>
233
  <!-- \\MLA_WPML_List_Table&#45;&gt;\\MLA_List_Table -->
234
  <g id="edge17" class="edge"><title>\\MLA_WPML_List_Table&#45;&gt;\\MLA_List_Table</title>
235
+ <path fill="none" stroke="black" d="M481.27,-1389.64C467.456,-1385.47 454.149,-1378.93 444,-1368.82 361.588,-1286.68 311.058,-910.368 298.24,-803.935"/>
236
+ <polygon fill="none" stroke="black" points="301.708,-803.464 297.053,-793.947 294.757,-804.291 301.708,-803.464"/>
237
  </g>
238
  <!-- \\MLA_WPML_Table -->
239
+ <g id="node25" class="node"><title>\\MLA_WPML_Table</title>
240
  <a xlink:href="includes.class-mla-wpml-support.html" xlink:title="MLA_WPML_Table" target="_parent">
241
+ <polygon fill="none" stroke="black" points="609.5,-225.819 498.5,-225.819 498.5,-189.819 609.5,-189.819 609.5,-225.819"/>
242
+ <text text-anchor="middle" x="554" y="-205.019" font-family="Courier,monospace" font-size="11.00">MLA_WPML_Table</text>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  </a>
244
  </g>
245
  <!-- \\MLATest -->
246
+ <g id="node26" class="node"><title>\\MLATest</title>
247
  <a xlink:href="tests.class-mla-tests.html" xlink:title="MLATest" target="_parent">
248
+ <polygon fill="none" stroke="black" points="586,-171.819 522,-171.819 522,-135.819 586,-135.819 586,-171.819"/>
249
+ <text text-anchor="middle" x="554" y="-151.019" font-family="Courier,monospace" font-size="11.00">MLATest</text>
250
  </a>
251
  </g>
252
  </g>
phpDocs/classes/MLA.html CHANGED
@@ -64,6 +64,11 @@
64
  <li class="method public "><a href="#mla_admin_init_action" title="mla_admin_init_action :: Load the plugin's Ajax handler or process Edit Media update actions"><span class="description">Load the plugin's Ajax handler or process Edit Media update actions</span><pre>mla_admin_init_action()</pre></a></li>
65
  <li class="method public "><a href="#mla_admin_menu_action" title="mla_admin_menu_action :: Add the submenu pages"><span class="description">Add the submenu pages</span><pre>mla_admin_menu_action()</pre></a></li>
66
  <li class="method public "><a href="#mla_authors_dropdown" title="mla_authors_dropdown :: Get the edit Authors dropdown box, if user has suitable permissions"><span class="description">Get the edit Authors dropdown box, if user has suitable permissions</span><pre>mla_authors_dropdown()</pre></a></li>
 
 
 
 
 
67
  <li class="method public "><a href="#mla_find_posts_ajax_action" title='mla_find_posts_ajax_action :: Ajax handler to fetch candidates for the "Set Parent" popup window'><span class="description">Ajax handler to fetch candidates for the "Set Parent" popup window</span><pre>mla_find_posts_ajax_action()</pre></a></li>
68
  <li class="method public "><a href="#mla_inline_edit_ajax_action" title="mla_inline_edit_ajax_action :: Ajax handler for inline editing"><span class="description">Ajax handler for inline editing</span><pre>mla_inline_edit_ajax_action()</pre></a></li>
69
  <li class="method public "><a href="#mla_load_media_action" title="mla_load_media_action :: Redirect to Media/Assistant if Media/Library is hidden"><span class="description">Redirect to Media/Assistant if Media/Library is hidden</span><pre>mla_load_media_action()</pre></a></li>
@@ -90,6 +95,8 @@
90
  <li class="nav-header">
91
  <i class="icon-custom icon-property"></i> Properties</li>
92
  <li class="nav-header private">» Private</li>
 
 
93
  <li class="property private "><a href="#%24mla_language_support_error_messages" title="$mla_language_support_error_messages :: Accumulates error messages from name conflict tests"><span class="description">Accumulates error messages from name conflict tests</span><pre>$mla_language_support_error_messages</pre></a></li>
94
  <li class="property private "><a href="#%24page_hooks" title="$page_hooks :: Holds screen ids to match help text to corresponding screen"><span class="description">Holds screen ids to match help text to corresponding screen</span><pre>$page_hooks</pre></a></li>
95
  <li class="nav-header">
@@ -98,7 +105,8 @@
98
  <li class="constant "><a href="#CURRENT_MLA_VERSION" title="CURRENT_MLA_VERSION :: Current version number"><span class="description">Current version number</span><pre>CURRENT_MLA_VERSION</pre></a></li>
99
  <li class="constant "><a href="#JAVASCRIPT_INLINE_EDIT_OBJECT" title="JAVASCRIPT_INLINE_EDIT_OBJECT :: Object name for localizing JavaScript - MLA List Table"><span class="description">Object name for localizing JavaScript - MLA List Table</span><pre>JAVASCRIPT_INLINE_EDIT_OBJECT</pre></a></li>
100
  <li class="constant "><a href="#JAVASCRIPT_INLINE_EDIT_SLUG" title="JAVASCRIPT_INLINE_EDIT_SLUG :: Slug for localizing and enqueueing JavaScript - MLA List Table"><span class="description">Slug for localizing and enqueueing JavaScript - MLA List Table</span><pre>JAVASCRIPT_INLINE_EDIT_SLUG</pre></a></li>
101
- <li class="constant "><a href="#MLA_ADMIN_NONCE" title="MLA_ADMIN_NONCE :: Action name; uniquely identifies the nonce"><span class="description">Action name; uniquely identifies the nonce</span><pre>MLA_ADMIN_NONCE</pre></a></li>
 
102
  <li class="constant "><a href="#MLA_ADMIN_SET_PARENT" title="MLA_ADMIN_SET_PARENT :: mla_admin_action value for setting an item's parent object"><span class="description">mla_admin_action value for setting an item's parent object</span><pre>MLA_ADMIN_SET_PARENT</pre></a></li>
103
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP" title="MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP :: mla_admin_action value for mapping Custom Field metadata"><span class="description">mla_admin_action value for mapping Custom Field metadata</span><pre>MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP</pre></a></li>
104
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_DELETE" title="MLA_ADMIN_SINGLE_DELETE :: mla_admin_action value for permanently deleting a single item"><span class="description">mla_admin_action value for permanently deleting a single item</span><pre>MLA_ADMIN_SINGLE_DELETE</pre></a></li>
@@ -108,6 +116,7 @@
108
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_RESTORE" title="MLA_ADMIN_SINGLE_RESTORE :: mla_admin_action value for restoring a single item from the trash"><span class="description">mla_admin_action value for restoring a single item from the trash</span><pre>MLA_ADMIN_SINGLE_RESTORE</pre></a></li>
109
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_TRASH" title="MLA_ADMIN_SINGLE_TRASH :: mla_admin_action value for moving a single item to the trash"><span class="description">mla_admin_action value for moving a single item to the trash</span><pre>MLA_ADMIN_SINGLE_TRASH</pre></a></li>
110
  <li class="constant "><a href="#MLA_ADMIN_TERMS_SEARCH" title="MLA_ADMIN_TERMS_SEARCH :: mla_admin_action value for searching taxonomy terms"><span class="description">mla_admin_action value for searching taxonomy terms</span><pre>MLA_ADMIN_TERMS_SEARCH</pre></a></li>
 
111
  <li class="constant "><a href="#MLA_DEVELOPMENT_VERSION" title="MLA_DEVELOPMENT_VERSION :: Current date for Development Version, empty for production versions"><span class="description">Current date for Development Version, empty for production versions</span><pre>MLA_DEVELOPMENT_VERSION</pre></a></li>
112
  <li class="constant "><a href="#STYLESHEET_SLUG" title="STYLESHEET_SLUG :: Slug for registering and enqueueing plugin style sheet"><span class="description">Slug for registering and enqueueing plugin style sheet</span><pre>STYLESHEET_SLUG</pre></a></li>
113
  </ul>
@@ -246,6 +255,113 @@ add settings link in the Plugins section entry for MLA.</p></p>
246
  <code>string</code><code>false</code>HTML markup for the dropdown field or False</div>
247
  </div></div>
248
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  <a name="mla_find_posts_ajax_action" id="mla_find_posts_ajax_action"></a><div class="element clickable method public mla_find_posts_ajax_action" data-toggle="collapse" data-target=".mla_find_posts_ajax_action .collapse">
250
  <h2>Ajax handler to fetch candidates for the "Set Parent" popup window</h2>
251
  <pre>mla_find_posts_ajax_action() : void</pre>
@@ -638,6 +754,30 @@ Defined as public because it's an action.</p></p>
638
  </div>
639
  <h3>
640
  <i class="icon-custom icon-property"></i> Properties</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
641
  <a name="%24mla_language_support_error_messages" id="$mla_language_support_error_messages"> </a><div class="element clickable property private $mla_language_support_error_messages" data-toggle="collapse" data-target=".$mla_language_support_error_messages .collapse">
642
  <h2>Accumulates error messages from name conflict tests</h2>
643
  <pre>$mla_language_support_error_messages </pre>
@@ -712,9 +852,9 @@ Defined as public because it's an action.</p></p>
712
  </tr></table>
713
  </div></div>
714
  </div>
715
- <a name="MLA_ADMIN_NONCE" id="MLA_ADMIN_NONCE"> </a><div class="element clickable constant MLA_ADMIN_NONCE" data-toggle="collapse" data-target=".MLA_ADMIN_NONCE .collapse">
716
- <h2>Action name; uniquely identifies the nonce</h2>
717
- <pre>MLA_ADMIN_NONCE : string</pre>
718
  <div class="labels"></div>
719
  <div class="row collapse"><div class="detail-description">
720
  <p class="long_description"></p>
@@ -724,6 +864,18 @@ Defined as public because it's an action.</p></p>
724
  </tr></table>
725
  </div></div>
726
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
727
  <a name="MLA_ADMIN_SET_PARENT" id="MLA_ADMIN_SET_PARENT"> </a><div class="element clickable constant MLA_ADMIN_SET_PARENT" data-toggle="collapse" data-target=".MLA_ADMIN_SET_PARENT .collapse">
728
  <h2>mla_admin_action value for setting an item's parent object</h2>
729
  <pre>MLA_ADMIN_SET_PARENT : string</pre>
@@ -832,6 +984,18 @@ Defined as public because it's an action.</p></p>
832
  </tr></table>
833
  </div></div>
834
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
835
  <a name="MLA_DEVELOPMENT_VERSION" id="MLA_DEVELOPMENT_VERSION"> </a><div class="element clickable constant MLA_DEVELOPMENT_VERSION" data-toggle="collapse" data-target=".MLA_DEVELOPMENT_VERSION .collapse">
836
  <h2>Current date for Development Version, empty for production versions</h2>
837
  <pre>MLA_DEVELOPMENT_VERSION : string</pre>
@@ -863,7 +1027,7 @@ Defined as public because it's an action.</p></p>
863
  <div class="row"><footer class="span12">
864
  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>
865
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
866
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
867
  </div>
868
  </body>
869
  </html>
64
  <li class="method public "><a href="#mla_admin_init_action" title="mla_admin_init_action :: Load the plugin's Ajax handler or process Edit Media update actions"><span class="description">Load the plugin's Ajax handler or process Edit Media update actions</span><pre>mla_admin_init_action()</pre></a></li>
65
  <li class="method public "><a href="#mla_admin_menu_action" title="mla_admin_menu_action :: Add the submenu pages"><span class="description">Add the submenu pages</span><pre>mla_admin_menu_action()</pre></a></li>
66
  <li class="method public "><a href="#mla_authors_dropdown" title="mla_authors_dropdown :: Get the edit Authors dropdown box, if user has suitable permissions"><span class="description">Get the edit Authors dropdown box, if user has suitable permissions</span><pre>mla_authors_dropdown()</pre></a></li>
67
+ <li class="method public "><a href="#mla_clear_filter_by" title="mla_clear_filter_by :: Clear the Media/Assistant submenu Filter-by variables"><span class="description">Clear the Media/Assistant submenu Filter-by variables</span><pre>mla_clear_filter_by()</pre></a></li>
68
+ <li class="method public "><a href="#mla_debug_add" title="mla_debug_add :: Add a debug message to the collection"><span class="description">Add a debug message to the collection</span><pre>mla_debug_add()</pre></a></li>
69
+ <li class="method public "><a href="#mla_debug_content" title="mla_debug_content :: Get debug information without clearing the buffer"><span class="description">Get debug information without clearing the buffer</span><pre>mla_debug_content()</pre></a></li>
70
+ <li class="method public "><a href="#mla_debug_flush" title="mla_debug_flush :: Flush debug information and clear buffer"><span class="description">Flush debug information and clear buffer</span><pre>mla_debug_flush()</pre></a></li>
71
+ <li class="method public "><a href="#mla_debug_mode" title="mla_debug_mode :: Set debug information collection mode"><span class="description">Set debug information collection mode</span><pre>mla_debug_mode()</pre></a></li>
72
  <li class="method public "><a href="#mla_find_posts_ajax_action" title='mla_find_posts_ajax_action :: Ajax handler to fetch candidates for the "Set Parent" popup window'><span class="description">Ajax handler to fetch candidates for the "Set Parent" popup window</span><pre>mla_find_posts_ajax_action()</pre></a></li>
73
  <li class="method public "><a href="#mla_inline_edit_ajax_action" title="mla_inline_edit_ajax_action :: Ajax handler for inline editing"><span class="description">Ajax handler for inline editing</span><pre>mla_inline_edit_ajax_action()</pre></a></li>
74
  <li class="method public "><a href="#mla_load_media_action" title="mla_load_media_action :: Redirect to Media/Assistant if Media/Library is hidden"><span class="description">Redirect to Media/Assistant if Media/Library is hidden</span><pre>mla_load_media_action()</pre></a></li>
95
  <li class="nav-header">
96
  <i class="icon-custom icon-property"></i> Properties</li>
97
  <li class="nav-header private">» Private</li>
98
+ <li class="property private "><a href="#%24mla_debug_messages" title="$mla_debug_messages :: Accumulates debug messages"><span class="description">Accumulates debug messages</span><pre>$mla_debug_messages</pre></a></li>
99
+ <li class="property private "><a href="#%24mla_debug_mode" title="$mla_debug_mode :: Debug information collection mode"><span class="description">Debug information collection mode</span><pre>$mla_debug_mode</pre></a></li>
100
  <li class="property private "><a href="#%24mla_language_support_error_messages" title="$mla_language_support_error_messages :: Accumulates error messages from name conflict tests"><span class="description">Accumulates error messages from name conflict tests</span><pre>$mla_language_support_error_messages</pre></a></li>
101
  <li class="property private "><a href="#%24page_hooks" title="$page_hooks :: Holds screen ids to match help text to corresponding screen"><span class="description">Holds screen ids to match help text to corresponding screen</span><pre>$page_hooks</pre></a></li>
102
  <li class="nav-header">
105
  <li class="constant "><a href="#CURRENT_MLA_VERSION" title="CURRENT_MLA_VERSION :: Current version number"><span class="description">Current version number</span><pre>CURRENT_MLA_VERSION</pre></a></li>
106
  <li class="constant "><a href="#JAVASCRIPT_INLINE_EDIT_OBJECT" title="JAVASCRIPT_INLINE_EDIT_OBJECT :: Object name for localizing JavaScript - MLA List Table"><span class="description">Object name for localizing JavaScript - MLA List Table</span><pre>JAVASCRIPT_INLINE_EDIT_OBJECT</pre></a></li>
107
  <li class="constant "><a href="#JAVASCRIPT_INLINE_EDIT_SLUG" title="JAVASCRIPT_INLINE_EDIT_SLUG :: Slug for localizing and enqueueing JavaScript - MLA List Table"><span class="description">Slug for localizing and enqueueing JavaScript - MLA List Table</span><pre>JAVASCRIPT_INLINE_EDIT_SLUG</pre></a></li>
108
+ <li class="constant "><a href="#MLA_ADMIN_NONCE_ACTION" title="MLA_ADMIN_NONCE_ACTION :: Action name; gives a context for the nonce"><span class="description">Action name; gives a context for the nonce</span><pre>MLA_ADMIN_NONCE_ACTION</pre></a></li>
109
+ <li class="constant "><a href="#MLA_ADMIN_NONCE_NAME" title="MLA_ADMIN_NONCE_NAME :: Nonce name; uniquely identifies the nonce"><span class="description">Nonce name; uniquely identifies the nonce</span><pre>MLA_ADMIN_NONCE_NAME</pre></a></li>
110
  <li class="constant "><a href="#MLA_ADMIN_SET_PARENT" title="MLA_ADMIN_SET_PARENT :: mla_admin_action value for setting an item's parent object"><span class="description">mla_admin_action value for setting an item's parent object</span><pre>MLA_ADMIN_SET_PARENT</pre></a></li>
111
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP" title="MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP :: mla_admin_action value for mapping Custom Field metadata"><span class="description">mla_admin_action value for mapping Custom Field metadata</span><pre>MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP</pre></a></li>
112
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_DELETE" title="MLA_ADMIN_SINGLE_DELETE :: mla_admin_action value for permanently deleting a single item"><span class="description">mla_admin_action value for permanently deleting a single item</span><pre>MLA_ADMIN_SINGLE_DELETE</pre></a></li>
116
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_RESTORE" title="MLA_ADMIN_SINGLE_RESTORE :: mla_admin_action value for restoring a single item from the trash"><span class="description">mla_admin_action value for restoring a single item from the trash</span><pre>MLA_ADMIN_SINGLE_RESTORE</pre></a></li>
117
  <li class="constant "><a href="#MLA_ADMIN_SINGLE_TRASH" title="MLA_ADMIN_SINGLE_TRASH :: mla_admin_action value for moving a single item to the trash"><span class="description">mla_admin_action value for moving a single item to the trash</span><pre>MLA_ADMIN_SINGLE_TRASH</pre></a></li>
118
  <li class="constant "><a href="#MLA_ADMIN_TERMS_SEARCH" title="MLA_ADMIN_TERMS_SEARCH :: mla_admin_action value for searching taxonomy terms"><span class="description">mla_admin_action value for searching taxonomy terms</span><pre>MLA_ADMIN_TERMS_SEARCH</pre></a></li>
119
+ <li class="constant "><a href="#MLA_DEBUG_CATEGORY_AJAX" title="MLA_DEBUG_CATEGORY_AJAX :: Constant to log Ajax debug activity"><span class="description">Constant to log Ajax debug activity</span><pre>MLA_DEBUG_CATEGORY_AJAX</pre></a></li>
120
  <li class="constant "><a href="#MLA_DEVELOPMENT_VERSION" title="MLA_DEVELOPMENT_VERSION :: Current date for Development Version, empty for production versions"><span class="description">Current date for Development Version, empty for production versions</span><pre>MLA_DEVELOPMENT_VERSION</pre></a></li>
121
  <li class="constant "><a href="#STYLESHEET_SLUG" title="STYLESHEET_SLUG :: Slug for registering and enqueueing plugin style sheet"><span class="description">Slug for registering and enqueueing plugin style sheet</span><pre>STYLESHEET_SLUG</pre></a></li>
122
  </ul>
255
  <code>string</code><code>false</code>HTML markup for the dropdown field or False</div>
256
  </div></div>
257
  </div>
258
+ <a name="mla_clear_filter_by" id="mla_clear_filter_by"></a><div class="element clickable method public mla_clear_filter_by" data-toggle="collapse" data-target=".mla_clear_filter_by .collapse">
259
+ <h2>Clear the Media/Assistant submenu Filter-by variables</h2>
260
+ <pre>mla_clear_filter_by(array $preserves) : void</pre>
261
+ <div class="labels"></div>
262
+ <div class="row collapse"><div class="detail-description">
263
+ <p class="long_description"></p>
264
+ <table class="table table-bordered"><tr>
265
+ <th>since</th>
266
+ <td>2.13</td>
267
+ </tr></table>
268
+ <h3>Parameters</h3>
269
+ <div class="subelement argument">
270
+ <h4>$preserves</h4>
271
+ <code>array</code><p>Filters to be retained</p></div>
272
+ </div></div>
273
+ </div>
274
+ <a name="mla_debug_add" id="mla_debug_add"></a><div class="element clickable method public mla_debug_add" data-toggle="collapse" data-target=".mla_debug_add .collapse">
275
+ <h2>Add a debug message to the collection</h2>
276
+ <pre>mla_debug_add(string $message, integer $debug_level) </pre>
277
+ <div class="labels"></div>
278
+ <div class="row collapse"><div class="detail-description">
279
+ <p class="long_description"></p>
280
+ <table class="table table-bordered"><tr>
281
+ <th>since</th>
282
+ <td>2.12</td>
283
+ </tr></table>
284
+ <h3>Parameters</h3>
285
+ <div class="subelement argument">
286
+ <h4>$message</h4>
287
+ <code>string</code><p>Message text</p></div>
288
+ <div class="subelement argument">
289
+ <h4>$debug_level</h4>
290
+ <code>integer</code><p>Optional. Debug category.</p></div>
291
+ </div></div>
292
+ </div>
293
+ <a name="mla_debug_content" id="mla_debug_content"></a><div class="element clickable method public mla_debug_content" data-toggle="collapse" data-target=".mla_debug_content .collapse">
294
+ <h2>Get debug information without clearing the buffer</h2>
295
+ <pre>mla_debug_content(string $format, string $glue) : boolean</pre>
296
+ <div class="labels"></div>
297
+ <div class="row collapse"><div class="detail-description">
298
+ <p class="long_description"></p>
299
+ <table class="table table-bordered"><tr>
300
+ <th>since</th>
301
+ <td>2.12</td>
302
+ </tr></table>
303
+ <h3>Parameters</h3>
304
+ <div class="subelement argument">
305
+ <h4>$format</h4>
306
+ <code>string</code><p>Return data type: 'string' (default) or 'array'</p>
307
+ </div>
308
+ <div class="subelement argument">
309
+ <h4>$glue</h4>
310
+ <code>string</code><p>Join array elements with '\n' or '</p>
311
+
312
+ <p><</p>
313
+
314
+ <p>p>' (default)</p>
315
+ </div>
316
+ <h3>Returns</h3>
317
+ <div class="subelement response">
318
+ <code>boolean</code>true if success else false</div>
319
+ </div></div>
320
+ </div>
321
+ <a name="mla_debug_flush" id="mla_debug_flush"></a><div class="element clickable method public mla_debug_flush" data-toggle="collapse" data-target=".mla_debug_flush .collapse">
322
+ <h2>Flush debug information and clear buffer</h2>
323
+ <pre>mla_debug_flush(string $destination, boolean $stop_collecting) : string</pre>
324
+ <div class="labels"></div>
325
+ <div class="row collapse"><div class="detail-description">
326
+ <p class="long_description"></p>
327
+ <table class="table table-bordered"><tr>
328
+ <th>since</th>
329
+ <td>2.12</td>
330
+ </tr></table>
331
+ <h3>Parameters</h3>
332
+ <div class="subelement argument">
333
+ <h4>$destination</h4>
334
+ <code>string</code><p>Destination: 'buffer' (default), 'console', 'log' or 'none'</p>
335
+ </div>
336
+ <div class="subelement argument">
337
+ <h4>$stop_collecting</h4>
338
+ <code>boolean</code><p>true (default) to stop, false to continue collection</p>
339
+ </div>
340
+ <h3>Returns</h3>
341
+ <div class="subelement response">
342
+ <code>string</code>debug content if $destination == 'buffer' else empty string</div>
343
+ </div></div>
344
+ </div>
345
+ <a name="mla_debug_mode" id="mla_debug_mode"></a><div class="element clickable method public mla_debug_mode" data-toggle="collapse" data-target=".mla_debug_mode .collapse">
346
+ <h2>Set debug information collection mode</h2>
347
+ <pre>mla_debug_mode(string $mode) : boolean</pre>
348
+ <div class="labels"></div>
349
+ <div class="row collapse"><div class="detail-description">
350
+ <p class="long_description"></p>
351
+ <table class="table table-bordered"><tr>
352
+ <th>since</th>
353
+ <td>2.12</td>
354
+ </tr></table>
355
+ <h3>Parameters</h3>
356
+ <div class="subelement argument">
357
+ <h4>$mode</h4>
358
+ <code>string</code><p>Collection mode: 'buffer' (default), 'console', 'log' or 'none'</p>
359
+ </div>
360
+ <h3>Returns</h3>
361
+ <div class="subelement response">
362
+ <code>boolean</code>true if success else false</div>
363
+ </div></div>
364
+ </div>
365
  <a name="mla_find_posts_ajax_action" id="mla_find_posts_ajax_action"></a><div class="element clickable method public mla_find_posts_ajax_action" data-toggle="collapse" data-target=".mla_find_posts_ajax_action .collapse">
366
  <h2>Ajax handler to fetch candidates for the "Set Parent" popup window</h2>
367
  <pre>mla_find_posts_ajax_action() : void</pre>
754
  </div>
755
  <h3>
756
  <i class="icon-custom icon-property"></i> Properties</h3>
757
+ <a name="%24mla_debug_messages" id="$mla_debug_messages"> </a><div class="element clickable property private $mla_debug_messages" data-toggle="collapse" data-target=".$mla_debug_messages .collapse">
758
+ <h2>Accumulates debug messages</h2>
759
+ <pre>$mla_debug_messages : string</pre>
760
+ <div class="labels"></div>
761
+ <div class="row collapse"><div class="detail-description">
762
+ <p class="long_description"></p>
763
+ <table class="table table-bordered"><tr>
764
+ <th>since</th>
765
+ <td>2.12</td>
766
+ </tr></table>
767
+ </div></div>
768
+ </div>
769
+ <a name="%24mla_debug_mode" id="$mla_debug_mode"> </a><div class="element clickable property private $mla_debug_mode" data-toggle="collapse" data-target=".$mla_debug_mode .collapse">
770
+ <h2>Debug information collection mode</h2>
771
+ <pre>$mla_debug_mode : string</pre>
772
+ <div class="labels"></div>
773
+ <div class="row collapse"><div class="detail-description">
774
+ <p class="long_description"></p>
775
+ <table class="table table-bordered"><tr>
776
+ <th>since</th>
777
+ <td>2.12</td>
778
+ </tr></table>
779
+ </div></div>
780
+ </div>
781
  <a name="%24mla_language_support_error_messages" id="$mla_language_support_error_messages"> </a><div class="element clickable property private $mla_language_support_error_messages" data-toggle="collapse" data-target=".$mla_language_support_error_messages .collapse">
782
  <h2>Accumulates error messages from name conflict tests</h2>
783
  <pre>$mla_language_support_error_messages </pre>
852
  </tr></table>
853
  </div></div>
854
  </div>
855
+ <a name="MLA_ADMIN_NONCE_ACTION" id="MLA_ADMIN_NONCE_ACTION"> </a><div class="element clickable constant MLA_ADMIN_NONCE_ACTION" data-toggle="collapse" data-target=".MLA_ADMIN_NONCE_ACTION .collapse">
856
+ <h2>Action name; gives a context for the nonce</h2>
857
+ <pre>MLA_ADMIN_NONCE_ACTION : string</pre>
858
  <div class="labels"></div>
859
  <div class="row collapse"><div class="detail-description">
860
  <p class="long_description"></p>
864
  </tr></table>
865
  </div></div>
866
  </div>
867
+ <a name="MLA_ADMIN_NONCE_NAME" id="MLA_ADMIN_NONCE_NAME"> </a><div class="element clickable constant MLA_ADMIN_NONCE_NAME" data-toggle="collapse" data-target=".MLA_ADMIN_NONCE_NAME .collapse">
868
+ <h2>Nonce name; uniquely identifies the nonce</h2>
869
+ <pre>MLA_ADMIN_NONCE_NAME : string</pre>
870
+ <div class="labels"></div>
871
+ <div class="row collapse"><div class="detail-description">
872
+ <p class="long_description"></p>
873
+ <table class="table table-bordered"><tr>
874
+ <th>since</th>
875
+ <td>2.13</td>
876
+ </tr></table>
877
+ </div></div>
878
+ </div>
879
  <a name="MLA_ADMIN_SET_PARENT" id="MLA_ADMIN_SET_PARENT"> </a><div class="element clickable constant MLA_ADMIN_SET_PARENT" data-toggle="collapse" data-target=".MLA_ADMIN_SET_PARENT .collapse">
880
  <h2>mla_admin_action value for setting an item's parent object</h2>
881
  <pre>MLA_ADMIN_SET_PARENT : string</pre>
984
  </tr></table>
985
  </div></div>
986
  </div>
987
+ <a name="MLA_DEBUG_CATEGORY_AJAX" id="MLA_DEBUG_CATEGORY_AJAX"> </a><div class="element clickable constant MLA_DEBUG_CATEGORY_AJAX" data-toggle="collapse" data-target=".MLA_DEBUG_CATEGORY_AJAX .collapse">
988
+ <h2>Constant to log Ajax debug activity</h2>
989
+ <pre>MLA_DEBUG_CATEGORY_AJAX : integer</pre>
990
+ <div class="labels"></div>
991
+ <div class="row collapse"><div class="detail-description">
992
+ <p class="long_description"></p>
993
+ <table class="table table-bordered"><tr>
994
+ <th>since</th>
995
+ <td>2.13</td>
996
+ </tr></table>
997
+ </div></div>
998
+ </div>
999
  <a name="MLA_DEVELOPMENT_VERSION" id="MLA_DEVELOPMENT_VERSION"> </a><div class="element clickable constant MLA_DEVELOPMENT_VERSION" data-toggle="collapse" data-target=".MLA_DEVELOPMENT_VERSION .collapse">
1000
  <h2>Current date for Development Version, empty for production versions</h2>
1001
  <pre>MLA_DEVELOPMENT_VERSION : string</pre>
1027
  <div class="row"><footer class="span12">
1028
  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>
1029
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1030
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1031
  </div>
1032
  </body>
1033
  </html>
phpDocs/classes/MLAData.html CHANGED
@@ -64,6 +64,7 @@
64
  <li class="method public "><a href="#mla_count_list_table_items" title="mla_count_list_table_items :: Get the total number of attachment posts"><span class="description">Get the total number of attachment posts</span><pre>mla_count_list_table_items()</pre></a></li>
65
  <li class="method public "><a href="#mla_exif_metadata_value" title="mla_exif_metadata_value :: Parse one EXIF metadata field"><span class="description">Parse one EXIF metadata field</span><pre>mla_exif_metadata_value()</pre></a></li>
66
  <li class="method public "><a href="#mla_expand_field_level_parameters" title="mla_expand_field_level_parameters :: Analyze a template, expanding Field-level Markup Substitution Parameters"><span class="description">Analyze a template, expanding Field-level Markup Substitution Parameters</span><pre>mla_expand_field_level_parameters()</pre></a></li>
 
67
  <li class="method public "><a href="#mla_fetch_attachment_image_metadata" title="mla_fetch_attachment_image_metadata :: Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment"><span class="description">Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment</span><pre>mla_fetch_attachment_image_metadata()</pre></a></li>
68
  <li class="method public "><a href="#mla_fetch_attachment_metadata" title="mla_fetch_attachment_metadata :: Fetch and filter meta data for an attachment"><span class="description">Fetch and filter meta data for an attachment</span><pre>mla_fetch_attachment_metadata()</pre></a></li>
69
  <li class="method public "><a href="#mla_fetch_attachment_parent_data" title="mla_fetch_attachment_parent_data :: Returns information about an attachment's parent, if found"><span class="description">Returns information about an attachment's parent, if found</span><pre>mla_fetch_attachment_parent_data()</pre></a></li>
@@ -73,6 +74,7 @@
73
  <li class="method public "><a href="#mla_get_attachment_by_id" title="mla_get_attachment_by_id :: Retrieve an Attachment array given a $post_id"><span class="description">Retrieve an Attachment array given a $post_id</span><pre>mla_get_attachment_by_id()</pre></a></li>
74
  <li class="method public "><a href="#mla_get_template_placeholders" title="mla_get_template_placeholders :: Analyze a template, returning an array of the placeholders it contains"><span class="description">Analyze a template, returning an array of the placeholders it contains</span><pre>mla_get_template_placeholders()</pre></a></li>
75
  <li class="method public "><a href="#mla_hex_dump" title="mla_hex_dump :: Format printable version of binary data"><span class="description">Format printable version of binary data</span><pre>mla_hex_dump()</pre></a></li>
 
76
  <li class="method public "><a href="#mla_iptc_metadata_value" title="mla_iptc_metadata_value :: Parse one IPTC metadata field"><span class="description">Parse one IPTC metadata field</span><pre>mla_iptc_metadata_value()</pre></a></li>
77
  <li class="method public "><a href="#mla_load_template" title="mla_load_template :: Load an HTML template from a file"><span class="description">Load an HTML template from a file</span><pre>mla_load_template()</pre></a></li>
78
  <li class="method public "><a href="#mla_parse_array_template" title="mla_parse_array_template :: Expand a template, replacing placeholders with their values"><span class="description">Expand a template, replacing placeholders with their values</span><pre>mla_parse_array_template()</pre></a></li>
@@ -92,6 +94,7 @@
92
  <li class="method public "><a href="#mla_query_relevanssi_admin_search_ok_filter" title="mla_query_relevanssi_admin_search_ok_filter :: Disable Relevanssi - A Better Search, v3.2 by Mikko Saari
93
  Defined as public because it's a filter."><span class="description">Disable Relevanssi - A Better Search, v3.2 by Mikko Saari
94
  Defined as public because it's a filter.</span><pre>mla_query_relevanssi_admin_search_ok_filter()</pre></a></li>
 
95
  <li class="method public "><a href="#mla_save_post_action" title="mla_save_post_action :: Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates"><span class="description">Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates</span><pre>mla_save_post_action()</pre></a></li>
96
  <li class="method public "><a href="#mla_search_terms_tidy" title="mla_search_terms_tidy :: Replaces a WordPress function deprecated in v3.7"><span class="description">Replaces a WordPress function deprecated in v3.7</span><pre>mla_search_terms_tidy()</pre></a></li>
97
  <li class="method public "><a href="#mla_update_item_postmeta" title='mla_update_item_postmeta :: Update custom field and "meta:" data for a single attachment'><span class="description">Update custom field and "meta:" data for a single attachment</span><pre>mla_update_item_postmeta()</pre></a></li>
@@ -122,9 +125,11 @@ and meta data for a single attachment</span><pre>mla_update_single_item()</pre><
122
  <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>
123
  <li class="method private "><a href="#_set_array_element" title="_set_array_element :: Adds or replaces the value of a key in a possibly nested array structure"><span class="description">Adds or replaces the value of a key in a possibly nested array structure</span><pre>_set_array_element()</pre></a></li>
124
  <li class="method private "><a href="#_unset_array_element" title="_unset_array_element :: Deletes the value of a key in a possibly nested array structure"><span class="description">Deletes the value of a key in a possibly nested array structure</span><pre>_unset_array_element()</pre></a></li>
 
125
  <li class="nav-header">
126
  <i class="icon-custom icon-property"></i> Properties</li>
127
  <li class="property public "><a href="#%24mla_iptc_keys" title="$mla_iptc_keys :: IPTC Dataset friendly name/slug and identifiers"><span class="description">IPTC Dataset friendly name/slug and identifiers</span><pre>$mla_iptc_keys</pre></a></li>
 
128
  <li class="property public "><a href="#%24search_parameters" title="$search_parameters :: WP_Query 'posts_search' filter &quot;parameters&quot;"><span class="description">WP_Query 'posts_search' filter "parameters"</span><pre>$search_parameters</pre></a></li>
129
  <li class="property public "><a href="#%24utf8_chars" title="$utf8_chars :: UTF-8 replacements for invalid SQL characters"><span class="description">UTF-8 replacements for invalid SQL characters</span><pre>$utf8_chars</pre></a></li>
130
  <li class="nav-header private">» Private</li>
@@ -139,7 +144,7 @@ and mla_fetch_attachment_image_metadata</span><pre>$mla_IPTC_EXIF_errors</pre></
139
  <li class="property private "><a href="#%24mla_iptc_image_types" title="$mla_iptc_image_types :: IPTC image type identifiers and descriptions"><span class="description">IPTC image type identifiers and descriptions</span><pre>$mla_iptc_image_types</pre></a></li>
140
  <li class="property private "><a href="#%24mla_iptc_records" title="$mla_iptc_records :: IPTC Dataset identifiers and names"><span class="description">IPTC Dataset identifiers and names</span><pre>$mla_iptc_records</pre></a></li>
141
  <li class="property private "><a href="#%24mla_list_table_items" title="$mla_list_table_items :: Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items"><span class="description">Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items</span><pre>$mla_list_table_items</pre></a></li>
142
- <li class="property private "><a href="#%24query_parameters" title='$query_parameters :: WP_Query filter "parameters"'><span class="description">WP_Query filter "parameters"</span><pre>$query_parameters</pre></a></li>
143
  <li class="nav-header">
144
  <i class="icon-custom icon-constant"></i> Constants</li>
145
  <li class="constant "><a href="#MLA_ALT_TEXT_VIEW_SUFFIX" title="MLA_ALT_TEXT_VIEW_SUFFIX :: Provides a unique suffix for the ALT Text/custom field SQL View"><span class="description">Provides a unique suffix for the ALT Text/custom field SQL View</span><pre>MLA_ALT_TEXT_VIEW_SUFFIX</pre></a></li>
@@ -282,7 +287,7 @@ as a Featured Image or inserted in the post as an image or link.</p></p>
282
  </div>
283
  <a name="mla_exif_metadata_value" id="mla_exif_metadata_value"></a><div class="element clickable method public mla_exif_metadata_value" data-toggle="collapse" data-target=".mla_exif_metadata_value .collapse">
284
  <h2>Parse one EXIF metadata field</h2>
285
- <pre>mla_exif_metadata_value(string $exif_key, string $item_metadata) : mixed</pre>
286
  <div class="labels"></div>
287
  <div class="row collapse"><div class="detail-description">
288
  <p class="long_description"><p>Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p></p>
@@ -296,7 +301,15 @@ as a Featured Image or inserted in the post as an image or link.</p></p>
296
  <code>string</code><p>field name</p></div>
297
  <div class="subelement argument">
298
  <h4>$item_metadata</h4>
299
- <code>string</code><p>metadata array containing iptc, exif, xmp and pdf metadata arrays</p></div>
 
 
 
 
 
 
 
 
300
  <h3>Returns</h3>
301
  <div class="subelement response">
302
  <code>mixed</code>string/array representation of metadata value or an empty string</div>
@@ -341,6 +354,30 @@ All but request and query require an attachment ID.</p></p>
341
  <code>array</code>( parameter => value ) for all field-level parameters and anything in $markup_values</div>
342
  </div></div>
343
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
344
  <a name="mla_fetch_attachment_image_metadata" id="mla_fetch_attachment_image_metadata"></a><div class="element clickable method public mla_fetch_attachment_image_metadata" data-toggle="collapse" data-target=".mla_fetch_attachment_image_metadata .collapse">
345
  <h2>Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment</h2>
346
  <pre>mla_fetch_attachment_image_metadata(int $post_id, string $path) : array</pre>
@@ -437,7 +474,7 @@ as a Featured Image or inserted in the post as an image or link.</p></p>
437
  <div class="labels"></div>
438
  <div class="row collapse"><div class="detail-description">
439
  <p class="long_description"><p>Used primarily to extract fields from the _wp_attachment_metadata custom field.
440
- Could also be used with the ID3 metadata exposed in WordPress 3.6 and later.</p></p>
441
  <table class="table table-bordered"><tr>
442
  <th>since</th>
443
  <td>1.30</td>
@@ -451,7 +488,7 @@ Could also be used with the ID3 metadata exposed in WordPress 3.6 and later.</p>
451
  <code>array</code><p>PHP nested arrays</p></div>
452
  <div class="subelement argument">
453
  <h4>$option</h4>
454
- <code>string</code><p>data option 'text'|'single'|'export'|'array'|'multi'</p>
455
  </div>
456
  <div class="subelement argument">
457
  <h4>$keep_existing</h4>
@@ -561,9 +598,39 @@ the posts and postmeta tables, and all references to the attachment.</p></p>
561
  <code>string</code>Printable representation of $data</div>
562
  </div></div>
563
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
564
  <a name="mla_iptc_metadata_value" id="mla_iptc_metadata_value"></a><div class="element clickable method public mla_iptc_metadata_value" data-toggle="collapse" data-target=".mla_iptc_metadata_value .collapse">
565
  <h2>Parse one IPTC metadata field</h2>
566
- <pre>mla_iptc_metadata_value(string $iptc_key, string $item_metadata) : mixed</pre>
567
  <div class="labels"></div>
568
  <div class="row collapse"><div class="detail-description">
569
  <p class="long_description"></p>
@@ -578,7 +645,15 @@ the posts and postmeta tables, and all references to the attachment.</p></p>
578
  </div>
579
  <div class="subelement argument">
580
  <h4>$item_metadata</h4>
581
- <code>string</code><p>metadata array containing iptc, exif, xmp and pdf metadata arrays</p></div>
 
 
 
 
 
 
 
 
582
  <h3>Returns</h3>
583
  <div class="subelement response">
584
  <code>mixed</code>string/array representation of metadata value or an empty string</div>
@@ -751,7 +826,7 @@ Modeled after wp_edit_attachments_query in wp-admin/post.php</p></p>
751
  </div>
752
  <a name="mla_query_media_modal_items" id="mla_query_media_modal_items"></a><div class="element clickable method public mla_query_media_modal_items" data-toggle="collapse" data-target=".mla_query_media_modal_items .collapse">
753
  <h2>Retrieve attachment objects for the WordPress Media Manager</h2>
754
- <pre>mla_query_media_modal_items(array $request, int $offset, int $count) : array</pre>
755
  <div class="labels"></div>
756
  <div class="row collapse"><div class="detail-description">
757
  <p class="long_description"><p>Supports month-year and taxonomy-term filters as well as the enhanced search box</p></p>
@@ -771,7 +846,7 @@ Modeled after wp_edit_attachments_query in wp-admin/post.php</p></p>
771
  <code>int</code><p>number of rows on each page</p></div>
772
  <h3>Returns</h3>
773
  <div class="subelement response">
774
- <code>array</code>attachment objects (posts)</div>
775
  </div></div>
776
  </div>
777
  <a name="mla_query_posts_clauses_filter" id="mla_query_posts_clauses_filter"></a><div class="element clickable method public mla_query_posts_clauses_filter" data-toggle="collapse" data-target=".mla_query_posts_clauses_filter .collapse">
@@ -935,6 +1010,28 @@ Defined as public because it's a filter.</h2>
935
  <code>boolean</code>Updated setting</div>
936
  </div></div>
937
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
938
  <a name="mla_save_post_action" id="mla_save_post_action"></a><div class="element clickable method public mla_save_post_action" data-toggle="collapse" data-target=".mla_save_post_action .collapse">
939
  <h2>Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates</h2>
940
  <pre>mla_save_post_action(integer $post_id) : void</pre>
@@ -1050,7 +1147,7 @@ and meta data for a single attachment</h2>
1050
  </div>
1051
  <a name="mla_xmp_metadata_value" id="mla_xmp_metadata_value"></a><div class="element clickable method public mla_xmp_metadata_value" data-toggle="collapse" data-target=".mla_xmp_metadata_value .collapse">
1052
  <h2>Parse one XMP metadata field</h2>
1053
- <pre>mla_xmp_metadata_value(string $xmp_key, string $option, boolean $keep_existing, string $xmp_metadata) : mixed</pre>
1054
  <div class="labels"></div>
1055
  <div class="row collapse"><div class="detail-description">
1056
  <p class="long_description"><p>Also handles the special pseudo-value 'ALL_XMP'.</p></p>
@@ -1063,16 +1160,16 @@ and meta data for a single attachment</h2>
1063
  <h4>$xmp_key</h4>
1064
  <code>string</code><p>field name</p></div>
1065
  <div class="subelement argument">
 
 
 
1066
  <h4>$option</h4>
1067
- <code>string</code><p>data option 'text'|'single'|'export'|'array'|'multi'</p>
1068
  </div>
1069
  <div class="subelement argument">
1070
  <h4>$keep_existing</h4>
1071
  <code>boolean</code><p>Optional: for option 'multi', retain existing values</p>
1072
  </div>
1073
- <div class="subelement argument">
1074
- <h4>$xmp_metadata</h4>
1075
- <code>string</code><p>XMP metadata array</p></div>
1076
  <h3>Returns</h3>
1077
  <div class="subelement response">
1078
  <code>mixed</code>string/array representation of metadata value or an empty string</div>
@@ -1406,7 +1503,7 @@ Modeled after wp_edit_attachments_query in wp-admin/post.php</p></p>
1406
  <code>array</code><p>an array of scalar values</p></div>
1407
  <div class="subelement argument">
1408
  <h4>$option</h4>
1409
- <code>string</code><p>data option 'text'|'single'|'export'|'array'|'multi'</p>
1410
  </div>
1411
  <div class="subelement argument">
1412
  <h4>$keep_existing</h4>
@@ -1562,6 +1659,25 @@ Modeled after wp_edit_attachments_query in wp-admin/post.php</p></p>
1562
  <code>boolean</code>true if $needle element found, false if not</div>
1563
  </div></div>
1564
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1565
  <h3>
1566
  <i class="icon-custom icon-property"></i> Properties</h3>
1567
  <a name="%24mla_iptc_keys" id="$mla_iptc_keys"> </a><div class="element clickable property public $mla_iptc_keys" data-toggle="collapse" data-target=".$mla_iptc_keys .collapse">
@@ -1577,6 +1693,23 @@ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
1577
  </tr></table>
1578
  </div></div>
1579
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1580
  <a name="%24search_parameters" id="$search_parameters"> </a><div class="element clickable property public $search_parameters" data-toggle="collapse" data-target=".$search_parameters .collapse">
1581
  <h2>WP_Query 'posts_search' filter "parameters"</h2>
1582
  <pre>$search_parameters : array</pre>
@@ -1599,7 +1732,6 @@ Note: 'alt-text' is not supported in [mla_gallery]
1599
  ['sentence'] => entire string must match as one "keyword"
1600
  ['exact'] => entire string must match entire field value
1601
  ['debug'] => internal element, console/log/shortcode/none
1602
- ['mla_debug_messages'] => internal element, added when debug = 'shortcode'
1603
  ['tax_terms_count'] => internal element, shared with JOIN and GROUP BY filters</p></p>
1604
  <table class="table table-bordered"><tr>
1605
  <th>since</th>
@@ -1745,20 +1877,15 @@ the "IPTC-NAA Information Interchange Model Version No. 4.1".</p></p>
1745
  </tr></table>
1746
  </div></div>
1747
  </div>
1748
- <a name="%24query_parameters" id="$query_parameters"> </a><div class="element clickable property private $query_parameters" data-toggle="collapse" data-target=".$query_parameters .collapse">
1749
- <h2>WP_Query filter "parameters"</h2>
1750
- <pre>$query_parameters : array</pre>
1751
  <div class="labels"></div>
1752
  <div class="row collapse"><div class="detail-description">
1753
- <p class="long_description"><p>This array defines parameters for the query's join, where and orderby filters.
1754
- The parameters are set up in the _prepare_list_table_query function, and
1755
- any further logic required to translate those values is contained in the filters.</p>
1756
-
1757
- <p>Array index values are: use_postmeta_view, postmeta_key, postmeta_value, patterns,
1758
- detached, orderby, order, mla-metavalue, debug (also in search_parameters)</p></p>
1759
  <table class="table table-bordered"><tr>
1760
  <th>since</th>
1761
- <td>0.30</td>
1762
  </tr></table>
1763
  </div></div>
1764
  </div>
@@ -1784,7 +1911,7 @@ ALT Text and custom field columns.</p></p>
1784
  <div class="row"><footer class="span12">
1785
  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>
1786
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1787
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
1788
  </div>
1789
  </body>
1790
  </html>
64
  <li class="method public "><a href="#mla_count_list_table_items" title="mla_count_list_table_items :: Get the total number of attachment posts"><span class="description">Get the total number of attachment posts</span><pre>mla_count_list_table_items()</pre></a></li>
65
  <li class="method public "><a href="#mla_exif_metadata_value" title="mla_exif_metadata_value :: Parse one EXIF metadata field"><span class="description">Parse one EXIF metadata field</span><pre>mla_exif_metadata_value()</pre></a></li>
66
  <li class="method public "><a href="#mla_expand_field_level_parameters" title="mla_expand_field_level_parameters :: Analyze a template, expanding Field-level Markup Substitution Parameters"><span class="description">Analyze a template, expanding Field-level Markup Substitution Parameters</span><pre>mla_expand_field_level_parameters()</pre></a></li>
67
+ <li class="method public "><a href="#mla_fetch_attachment_id3_metadata" title="mla_fetch_attachment_id3_metadata :: Fetch and filter ID3 metadata for an audio or video attachment"><span class="description">Fetch and filter ID3 metadata for an audio or video attachment</span><pre>mla_fetch_attachment_id3_metadata()</pre></a></li>
68
  <li class="method public "><a href="#mla_fetch_attachment_image_metadata" title="mla_fetch_attachment_image_metadata :: Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment"><span class="description">Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment</span><pre>mla_fetch_attachment_image_metadata()</pre></a></li>
69
  <li class="method public "><a href="#mla_fetch_attachment_metadata" title="mla_fetch_attachment_metadata :: Fetch and filter meta data for an attachment"><span class="description">Fetch and filter meta data for an attachment</span><pre>mla_fetch_attachment_metadata()</pre></a></li>
70
  <li class="method public "><a href="#mla_fetch_attachment_parent_data" title="mla_fetch_attachment_parent_data :: Returns information about an attachment's parent, if found"><span class="description">Returns information about an attachment's parent, if found</span><pre>mla_fetch_attachment_parent_data()</pre></a></li>
74
  <li class="method public "><a href="#mla_get_attachment_by_id" title="mla_get_attachment_by_id :: Retrieve an Attachment array given a $post_id"><span class="description">Retrieve an Attachment array given a $post_id</span><pre>mla_get_attachment_by_id()</pre></a></li>
75
  <li class="method public "><a href="#mla_get_template_placeholders" title="mla_get_template_placeholders :: Analyze a template, returning an array of the placeholders it contains"><span class="description">Analyze a template, returning an array of the placeholders it contains</span><pre>mla_get_template_placeholders()</pre></a></li>
76
  <li class="method public "><a href="#mla_hex_dump" title="mla_hex_dump :: Format printable version of binary data"><span class="description">Format printable version of binary data</span><pre>mla_hex_dump()</pre></a></li>
77
+ <li class="method public "><a href="#mla_id3_metadata_value" title="mla_id3_metadata_value :: Parse one ID3 (audio/visual) metadata field"><span class="description">Parse one ID3 (audio/visual) metadata field</span><pre>mla_id3_metadata_value()</pre></a></li>
78
  <li class="method public "><a href="#mla_iptc_metadata_value" title="mla_iptc_metadata_value :: Parse one IPTC metadata field"><span class="description">Parse one IPTC metadata field</span><pre>mla_iptc_metadata_value()</pre></a></li>
79
  <li class="method public "><a href="#mla_load_template" title="mla_load_template :: Load an HTML template from a file"><span class="description">Load an HTML template from a file</span><pre>mla_load_template()</pre></a></li>
80
  <li class="method public "><a href="#mla_parse_array_template" title="mla_parse_array_template :: Expand a template, replacing placeholders with their values"><span class="description">Expand a template, replacing placeholders with their values</span><pre>mla_parse_array_template()</pre></a></li>
94
  <li class="method public "><a href="#mla_query_relevanssi_admin_search_ok_filter" title="mla_query_relevanssi_admin_search_ok_filter :: Disable Relevanssi - A Better Search, v3.2 by Mikko Saari
95
  Defined as public because it's a filter."><span class="description">Disable Relevanssi - A Better Search, v3.2 by Mikko Saari
96
  Defined as public because it's a filter.</span><pre>mla_query_relevanssi_admin_search_ok_filter()</pre></a></li>
97
+ <li class="method public "><a href="#mla_query_terms_clauses_filter" title="mla_query_terms_clauses_filter :: Filters all clauses for get_terms queries"><span class="description">Filters all clauses for get_terms queries</span><pre>mla_query_terms_clauses_filter()</pre></a></li>
98
  <li class="method public "><a href="#mla_save_post_action" title="mla_save_post_action :: Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates"><span class="description">Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates</span><pre>mla_save_post_action()</pre></a></li>
99
  <li class="method public "><a href="#mla_search_terms_tidy" title="mla_search_terms_tidy :: Replaces a WordPress function deprecated in v3.7"><span class="description">Replaces a WordPress function deprecated in v3.7</span><pre>mla_search_terms_tidy()</pre></a></li>
100
  <li class="method public "><a href="#mla_update_item_postmeta" title='mla_update_item_postmeta :: Update custom field and "meta:" data for a single attachment'><span class="description">Update custom field and "meta:" data for a single attachment</span><pre>mla_update_item_postmeta()</pre></a></li>
125
  <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>
126
  <li class="method private "><a href="#_set_array_element" title="_set_array_element :: Adds or replaces the value of a key in a possibly nested array structure"><span class="description">Adds or replaces the value of a key in a possibly nested array structure</span><pre>_set_array_element()</pre></a></li>
127
  <li class="method private "><a href="#_unset_array_element" title="_unset_array_element :: Deletes the value of a key in a possibly nested array structure"><span class="description">Deletes the value of a key in a possibly nested array structure</span><pre>_unset_array_element()</pre></a></li>
128
+ <li class="method private "><a href="#_wildcard_search_string" title="_wildcard_search_string :: Detects wildcard searches, i.e., containing an asterisk outside quotes"><span class="description">Detects wildcard searches, i.e., containing an asterisk outside quotes</span><pre>_wildcard_search_string()</pre></a></li>
129
  <li class="nav-header">
130
  <i class="icon-custom icon-property"></i> Properties</li>
131
  <li class="property public "><a href="#%24mla_iptc_keys" title="$mla_iptc_keys :: IPTC Dataset friendly name/slug and identifiers"><span class="description">IPTC Dataset friendly name/slug and identifiers</span><pre>$mla_iptc_keys</pre></a></li>
132
+ <li class="property public "><a href="#%24query_parameters" title='$query_parameters :: WP_Query filter "parameters"'><span class="description">WP_Query filter "parameters"</span><pre>$query_parameters</pre></a></li>
133
  <li class="property public "><a href="#%24search_parameters" title="$search_parameters :: WP_Query 'posts_search' filter &quot;parameters&quot;"><span class="description">WP_Query 'posts_search' filter "parameters"</span><pre>$search_parameters</pre></a></li>
134
  <li class="property public "><a href="#%24utf8_chars" title="$utf8_chars :: UTF-8 replacements for invalid SQL characters"><span class="description">UTF-8 replacements for invalid SQL characters</span><pre>$utf8_chars</pre></a></li>
135
  <li class="nav-header private">» Private</li>
144
  <li class="property private "><a href="#%24mla_iptc_image_types" title="$mla_iptc_image_types :: IPTC image type identifiers and descriptions"><span class="description">IPTC image type identifiers and descriptions</span><pre>$mla_iptc_image_types</pre></a></li>
145
  <li class="property private "><a href="#%24mla_iptc_records" title="$mla_iptc_records :: IPTC Dataset identifiers and names"><span class="description">IPTC Dataset identifiers and names</span><pre>$mla_iptc_records</pre></a></li>
146
  <li class="property private "><a href="#%24mla_list_table_items" title="$mla_list_table_items :: Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items"><span class="description">Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items</span><pre>$mla_list_table_items</pre></a></li>
147
+ <li class="property private "><a href="#%24wp_4dot0_plus" title="$wp_4dot0_plus :: WordPress version test for $wpdb-&gt;esc_like() Vs esc_sql()"><span class="description">WordPress version test for $wpdb-&gt;esc_like() Vs esc_sql()</span><pre>$wp_4dot0_plus</pre></a></li>
148
  <li class="nav-header">
149
  <i class="icon-custom icon-constant"></i> Constants</li>
150
  <li class="constant "><a href="#MLA_ALT_TEXT_VIEW_SUFFIX" title="MLA_ALT_TEXT_VIEW_SUFFIX :: Provides a unique suffix for the ALT Text/custom field SQL View"><span class="description">Provides a unique suffix for the ALT Text/custom field SQL View</span><pre>MLA_ALT_TEXT_VIEW_SUFFIX</pre></a></li>
287
  </div>
288
  <a name="mla_exif_metadata_value" id="mla_exif_metadata_value"></a><div class="element clickable method public mla_exif_metadata_value" data-toggle="collapse" data-target=".mla_exif_metadata_value .collapse">
289
  <h2>Parse one EXIF metadata field</h2>
290
+ <pre>mla_exif_metadata_value(string $exif_key, array $item_metadata, string $option, boolean $keep_existing) : mixed</pre>
291
  <div class="labels"></div>
292
  <div class="row collapse"><div class="detail-description">
293
  <p class="long_description"><p>Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p></p>
301
  <code>string</code><p>field name</p></div>
302
  <div class="subelement argument">
303
  <h4>$item_metadata</h4>
304
+ <code>array</code><p>metadata array containing iptc, exif, xmp and pdf metadata arrays</p></div>
305
+ <div class="subelement argument">
306
+ <h4>$option</h4>
307
+ <code>string</code><p>data option; 'text'|'single'|'export'|'array'|'multi'</p>
308
+ </div>
309
+ <div class="subelement argument">
310
+ <h4>$keep_existing</h4>
311
+ <code>boolean</code><p>Optional: for option 'multi', retain existing values</p>
312
+ </div>
313
  <h3>Returns</h3>
314
  <div class="subelement response">
315
  <code>mixed</code>string/array representation of metadata value or an empty string</div>
354
  <code>array</code>( parameter => value ) for all field-level parameters and anything in $markup_values</div>
355
  </div></div>
356
  </div>
357
+ <a name="mla_fetch_attachment_id3_metadata" id="mla_fetch_attachment_id3_metadata"></a><div class="element clickable method public mla_fetch_attachment_id3_metadata" data-toggle="collapse" data-target=".mla_fetch_attachment_id3_metadata .collapse">
358
+ <h2>Fetch and filter ID3 metadata for an audio or video attachment</h2>
359
+ <pre>mla_fetch_attachment_id3_metadata(int $post_id, string $path) : array</pre>
360
+ <div class="labels"></div>
361
+ <div class="row collapse"><div class="detail-description">
362
+ <p class="long_description"><p>Adapted from /wp-admin/includes/media.php functions wp_add_id3_tag_data,
363
+ wp_read_video_metadata and wp_read_audio_metadata</p></p>
364
+ <table class="table table-bordered"><tr>
365
+ <th>since</th>
366
+ <td>2.13</td>
367
+ </tr></table>
368
+ <h3>Parameters</h3>
369
+ <div class="subelement argument">
370
+ <h4>$post_id</h4>
371
+ <code>int</code><p>post ID of attachment</p></div>
372
+ <div class="subelement argument">
373
+ <h4>$path</h4>
374
+ <code>string</code><p>optional; if $post_id is zero, path to the image file.</p>
375
+ </div>
376
+ <h3>Returns</h3>
377
+ <div class="subelement response">
378
+ <code>array</code>Meta data variables, including 'audio' and 'video'</div>
379
+ </div></div>
380
+ </div>
381
  <a name="mla_fetch_attachment_image_metadata" id="mla_fetch_attachment_image_metadata"></a><div class="element clickable method public mla_fetch_attachment_image_metadata" data-toggle="collapse" data-target=".mla_fetch_attachment_image_metadata .collapse">
382
  <h2>Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment</h2>
383
  <pre>mla_fetch_attachment_image_metadata(int $post_id, string $path) : array</pre>
474
  <div class="labels"></div>
475
  <div class="row collapse"><div class="detail-description">
476
  <p class="long_description"><p>Used primarily to extract fields from the _wp_attachment_metadata custom field.
477
+ Also used with the audio/video ID3 metadata exposed in WordPress 3.6 and later.</p></p>
478
  <table class="table table-bordered"><tr>
479
  <th>since</th>
480
  <td>1.30</td>
488
  <code>array</code><p>PHP nested arrays</p></div>
489
  <div class="subelement argument">
490
  <h4>$option</h4>
491
+ <code>string</code><p>data option; 'text'|'single'|'export'|'array'|'multi'</p>
492
  </div>
493
  <div class="subelement argument">
494
  <h4>$keep_existing</h4>
598
  <code>string</code>Printable representation of $data</div>
599
  </div></div>
600
  </div>
601
+ <a name="mla_id3_metadata_value" id="mla_id3_metadata_value"></a><div class="element clickable method public mla_id3_metadata_value" data-toggle="collapse" data-target=".mla_id3_metadata_value .collapse">
602
+ <h2>Parse one ID3 (audio/visual) metadata field</h2>
603
+ <pre>mla_id3_metadata_value(string $id3_key, array $id3_metadata, string $option, boolean $keep_existing) : mixed</pre>
604
+ <div class="labels"></div>
605
+ <div class="row collapse"><div class="detail-description">
606
+ <p class="long_description"><p>Also handles the special pseudo-value 'ALL_ID3'.</p></p>
607
+ <table class="table table-bordered"><tr>
608
+ <th>since</th>
609
+ <td>2.13</td>
610
+ </tr></table>
611
+ <h3>Parameters</h3>
612
+ <div class="subelement argument">
613
+ <h4>$id3_key</h4>
614
+ <code>string</code><p>field name</p></div>
615
+ <div class="subelement argument">
616
+ <h4>$id3_metadata</h4>
617
+ <code>array</code><p>ID3 metadata array</p></div>
618
+ <div class="subelement argument">
619
+ <h4>$option</h4>
620
+ <code>string</code><p>data option; 'text'|'single'|'export'|'array'|'multi'</p>
621
+ </div>
622
+ <div class="subelement argument">
623
+ <h4>$keep_existing</h4>
624
+ <code>boolean</code><p>Optional: for option 'multi', retain existing values</p>
625
+ </div>
626
+ <h3>Returns</h3>
627
+ <div class="subelement response">
628
+ <code>mixed</code>string/array representation of metadata value or an empty string</div>
629
+ </div></div>
630
+ </div>
631
  <a name="mla_iptc_metadata_value" id="mla_iptc_metadata_value"></a><div class="element clickable method public mla_iptc_metadata_value" data-toggle="collapse" data-target=".mla_iptc_metadata_value .collapse">
632
  <h2>Parse one IPTC metadata field</h2>
633
+ <pre>mla_iptc_metadata_value(string $iptc_key, array $item_metadata, string $option, boolean $keep_existing) : mixed</pre>
634
  <div class="labels"></div>
635
  <div class="row collapse"><div class="detail-description">
636
  <p class="long_description"></p>
645
  </div>
646
  <div class="subelement argument">
647
  <h4>$item_metadata</h4>
648
+ <code>array</code><p>metadata array containing iptc, exif, xmp and pdf metadata arrays</p></div>
649
+ <div class="subelement argument">
650
+ <h4>$option</h4>
651
+ <code>string</code><p>data option; 'text'|'single'|'export'|'array'|'multi'</p>
652
+ </div>
653
+ <div class="subelement argument">
654
+ <h4>$keep_existing</h4>
655
+ <code>boolean</code><p>Optional: for option 'multi', retain existing values</p>
656
+ </div>
657
  <h3>Returns</h3>
658
  <div class="subelement response">
659
  <code>mixed</code>string/array representation of metadata value or an empty string</div>
826
  </div>
827
  <a name="mla_query_media_modal_items" id="mla_query_media_modal_items"></a><div class="element clickable method public mla_query_media_modal_items" data-toggle="collapse" data-target=".mla_query_media_modal_items .collapse">
828
  <h2>Retrieve attachment objects for the WordPress Media Manager</h2>
829
+ <pre>mla_query_media_modal_items(array $request, int $offset, int $count) : object</pre>
830
  <div class="labels"></div>
831
  <div class="row collapse"><div class="detail-description">
832
  <p class="long_description"><p>Supports month-year and taxonomy-term filters as well as the enhanced search box</p></p>
846
  <code>int</code><p>number of rows on each page</p></div>
847
  <h3>Returns</h3>
848
  <div class="subelement response">
849
+ <code>object</code>WP_Query object with query results</div>
850
  </div></div>
851
  </div>
852
  <a name="mla_query_posts_clauses_filter" id="mla_query_posts_clauses_filter"></a><div class="element clickable method public mla_query_posts_clauses_filter" data-toggle="collapse" data-target=".mla_query_posts_clauses_filter .collapse">
1010
  <code>boolean</code>Updated setting</div>
1011
  </div></div>
1012
  </div>
1013
+ <a name="mla_query_terms_clauses_filter" id="mla_query_terms_clauses_filter"></a><div class="element clickable method public mla_query_terms_clauses_filter" data-toggle="collapse" data-target=".mla_query_terms_clauses_filter .collapse">
1014
+ <h2>Filters all clauses for get_terms queries</h2>
1015
+ <pre>mla_query_terms_clauses_filter(array $pieces, array $taxonomies, array $args) </pre>
1016
+ <div class="labels"></div>
1017
+ <div class="row collapse"><div class="detail-description">
1018
+ <p class="long_description"><p>Defined as public because it's a filter.</p></p>
1019
+ <table class="table table-bordered"><tr>
1020
+ <th>since</th>
1021
+ <td>2.13</td>
1022
+ </tr></table>
1023
+ <h3>Parameters</h3>
1024
+ <div class="subelement argument">
1025
+ <h4>$pieces</h4>
1026
+ <code>array</code><p>Terms query SQL clauses.</p></div>
1027
+ <div class="subelement argument">
1028
+ <h4>$taxonomies</h4>
1029
+ <code>array</code><p>An array of taxonomies.</p></div>
1030
+ <div class="subelement argument">
1031
+ <h4>$args</h4>
1032
+ <code>array</code><p>An array of terms query arguments.</p></div>
1033
+ </div></div>
1034
+ </div>
1035
  <a name="mla_save_post_action" id="mla_save_post_action"></a><div class="element clickable method public mla_save_post_action" data-toggle="collapse" data-target=".mla_save_post_action .collapse">
1036
  <h2>Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates</h2>
1037
  <pre>mla_save_post_action(integer $post_id) : void</pre>
1147
  </div>
1148
  <a name="mla_xmp_metadata_value" id="mla_xmp_metadata_value"></a><div class="element clickable method public mla_xmp_metadata_value" data-toggle="collapse" data-target=".mla_xmp_metadata_value .collapse">
1149
  <h2>Parse one XMP metadata field</h2>
1150
+ <pre>mla_xmp_metadata_value(string $xmp_key, array $xmp_metadata, string $option, boolean $keep_existing) : mixed</pre>
1151
  <div class="labels"></div>
1152
  <div class="row collapse"><div class="detail-description">
1153
  <p class="long_description"><p>Also handles the special pseudo-value 'ALL_XMP'.</p></p>
1160
  <h4>$xmp_key</h4>
1161
  <code>string</code><p>field name</p></div>
1162
  <div class="subelement argument">
1163
+ <h4>$xmp_metadata</h4>
1164
+ <code>array</code><p>XMP metadata array</p></div>
1165
+ <div class="subelement argument">
1166
  <h4>$option</h4>
1167
+ <code>string</code><p>data option; 'text'|'single'|'export'|'array'|'multi'</p>
1168
  </div>
1169
  <div class="subelement argument">
1170
  <h4>$keep_existing</h4>
1171
  <code>boolean</code><p>Optional: for option 'multi', retain existing values</p>
1172
  </div>
 
 
 
1173
  <h3>Returns</h3>
1174
  <div class="subelement response">
1175
  <code>mixed</code>string/array representation of metadata value or an empty string</div>
1503
  <code>array</code><p>an array of scalar values</p></div>
1504
  <div class="subelement argument">
1505
  <h4>$option</h4>
1506
+ <code>string</code><p>data option; 'text'|'single'|'export'|'array'|'multi'</p>
1507
  </div>
1508
  <div class="subelement argument">
1509
  <h4>$keep_existing</h4>
1659
  <code>boolean</code>true if $needle element found, false if not</div>
1660
  </div></div>
1661
  </div>
1662
+ <a name="_wildcard_search_string" id="_wildcard_search_string"></a><div class="element clickable method private _wildcard_search_string" data-toggle="collapse" data-target="._wildcard_search_string .collapse">
1663
+ <h2>Detects wildcard searches, i.e., containing an asterisk outside quotes</h2>
1664
+ <pre>_wildcard_search_string(string $search_string) : boolean</pre>
1665
+ <div class="labels"></div>
1666
+ <div class="row collapse"><div class="detail-description">
1667
+ <p class="long_description"><p>Defined as public because it's a callback from array_map().</p></p>
1668
+ <table class="table table-bordered"><tr>
1669
+ <th>since</th>
1670
+ <td>2.13</td>
1671
+ </tr></table>
1672
+ <h3>Parameters</h3>
1673
+ <div class="subelement argument">
1674
+ <h4>$search_string</h4>
1675
+ <code>string</code><p>search string</p></div>
1676
+ <h3>Returns</h3>
1677
+ <div class="subelement response">
1678
+ <code>boolean</code>true if wildcard</div>
1679
+ </div></div>
1680
+ </div>
1681
  <h3>
1682
  <i class="icon-custom icon-property"></i> Properties</h3>
1683
  <a name="%24mla_iptc_keys" id="$mla_iptc_keys"> </a><div class="element clickable property public $mla_iptc_keys" data-toggle="collapse" data-target=".$mla_iptc_keys .collapse">
1693
  </tr></table>
1694
  </div></div>
1695
  </div>
1696
+ <a name="%24query_parameters" id="$query_parameters"> </a><div class="element clickable property public $query_parameters" data-toggle="collapse" data-target=".$query_parameters .collapse">
1697
+ <h2>WP_Query filter "parameters"</h2>
1698
+ <pre>$query_parameters : array</pre>
1699
+ <div class="labels"></div>
1700
+ <div class="row collapse"><div class="detail-description">
1701
+ <p class="long_description"><p>This array defines parameters for the query's join, where and orderby filters.
1702
+ The parameters are set up in the _prepare_list_table_query function, and
1703
+ any further logic required to translate those values is contained in the filters.</p>
1704
+
1705
+ <p>Array index values are: use_postmeta_view, postmeta_key, postmeta_value, patterns,
1706
+ detached, orderby, order, mla-metavalue, debug (also in search_parameters)</p></p>
1707
+ <table class="table table-bordered"><tr>
1708
+ <th>since</th>
1709
+ <td>0.30</td>
1710
+ </tr></table>
1711
+ </div></div>
1712
+ </div>
1713
  <a name="%24search_parameters" id="$search_parameters"> </a><div class="element clickable property public $search_parameters" data-toggle="collapse" data-target=".$search_parameters .collapse">
1714
  <h2>WP_Query 'posts_search' filter "parameters"</h2>
1715
  <pre>$search_parameters : array</pre>
1732
  ['sentence'] => entire string must match as one "keyword"
1733
  ['exact'] => entire string must match entire field value
1734
  ['debug'] => internal element, console/log/shortcode/none
 
1735
  ['tax_terms_count'] => internal element, shared with JOIN and GROUP BY filters</p></p>
1736
  <table class="table table-bordered"><tr>
1737
  <th>since</th>
1877
  </tr></table>
1878
  </div></div>
1879
  </div>
1880
+ <a name="%24wp_4dot0_plus" id="$wp_4dot0_plus"> </a><div class="element clickable property private $wp_4dot0_plus" data-toggle="collapse" data-target=".$wp_4dot0_plus .collapse">
1881
+ <h2>WordPress version test for $wpdb-&gt;esc_like() Vs esc_sql()</h2>
1882
+ <pre>$wp_4dot0_plus : boolean</pre>
1883
  <div class="labels"></div>
1884
  <div class="row collapse"><div class="detail-description">
1885
+ <p class="long_description"></p>
 
 
 
 
 
1886
  <table class="table table-bordered"><tr>
1887
  <th>since</th>
1888
+ <td>2.13</td>
1889
  </tr></table>
1890
  </div></div>
1891
  </div>
1911
  <div class="row"><footer class="span12">
1912
  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>
1913
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1914
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1915
  </div>
1916
  </body>
1917
  </html>
phpDocs/classes/MLAEdit.html CHANGED
@@ -513,7 +513,7 @@ The array is built once each page load and cached for subsequent calls.</p></p>
513
  <div class="row"><footer class="span12">
514
  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>
515
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
516
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
517
  </div>
518
  </body>
519
  </html>
513
  <div class="row"><footer class="span12">
514
  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>
515
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
516
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
517
  </div>
518
  </body>
519
  </html>
phpDocs/classes/{MLAStreamImage.html → MLAImageProcessor.html} RENAMED
@@ -3,7 +3,7 @@
3
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
  <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
5
  <meta charset="utf-8">
6
- <title>Media Library Assistant » \MLAStreamImage</title>
7
  <meta name="author" content="Mike van Riel">
8
  <meta name="description" content="">
9
  <link href="../css/template.css" rel="stylesheet" media="all">
@@ -57,31 +57,36 @@
57
  <ul class="side-nav nav nav-list">
58
  <li class="nav-header">
59
  <i class="icon-custom icon-method"></i> Methods</li>
 
60
  <li class="method public "><a href="#mla_process_stream_image" title="mla_process_stream_image :: Process Imagick image stream request, e.g., for a PDF thumbnail"><span class="description">Process Imagick image stream request, e.g., for a PDF thumbnail</span><pre>mla_process_stream_image()</pre></a></li>
61
  <li class="nav-header private">» Private</li>
62
  <li class="method private "><a href="#_get_temp_file" title="_get_temp_file :: Generate a unique, writable file in the temporary directory"><span class="description">Generate a unique, writable file in the temporary directory</span><pre>_get_temp_file()</pre></a></li>
63
  <li class="method private "><a href="#_ghostscript_convert" title="_ghostscript_convert :: Direct Ghostscript file conversion"><span class="description">Direct Ghostscript file conversion</span><pre>_ghostscript_convert()</pre></a></li>
 
64
  <li class="method private "><a href="#_mla_die" title="_mla_die :: Abort the operation and exit"><span class="description">Abort the operation and exit</span><pre>_mla_die()</pre></a></li>
 
65
  <li class="method private "><a href="#_prepare_image" title="_prepare_image :: Prepare the image for output, scaling and flattening as required"><span class="description">Prepare the image for output, scaling and flattening as required</span><pre>_prepare_image()</pre></a></li>
66
  <li class="nav-header">
67
  <i class="icon-custom icon-property"></i> Properties</li>
 
68
  <li class="nav-header protected">» Protected</li>
69
  <li class="property protected "><a href="#%24image" title="$image :: Imagick object for the image to be streamed"><span class="description">Imagick object for the image to be streamed</span><pre>$image</pre></a></li>
70
  </ul>
71
  </div>
72
  <div class="span8">
73
- <a name="%5CMLAStreamImage" id="\MLAStreamImage"></a><ul class="breadcrumb">
74
  <li>
75
  <a href="../index.html"><i class="icon-custom icon-class"></i></a><span class="divider">\</span>
76
  </li>
77
  <li><a href="../namespaces/global.html">global</a></li>
78
  <li class="active">
79
- <span class="divider">\</span><a href="../classes/MLAStreamImage.html">MLAStreamImage</a>
80
  </li>
81
  </ul>
82
- <div href="../classes/MLAStreamImage.html" class="element class">
83
- <p class="short_description">Class MLA (Media Library Assistant) Stream Image provides PDF thumbnails
84
- for the [mla_gallery] mla_viewer.</p>
 
85
  <div class="details">
86
  <p class="long_description"></p>
87
  <table class="table table-bordered">
@@ -96,6 +101,28 @@ for the [mla_gallery] mla_viewer.</p>
96
  </table>
97
  <h3>
98
  <i class="icon-custom icon-method"></i> Methods</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  <a name="mla_process_stream_image" id="mla_process_stream_image"></a><div class="element clickable method public mla_process_stream_image" data-toggle="collapse" data-target=".mla_process_stream_image .collapse">
100
  <h2>Process Imagick image stream request, e.g., for a PDF thumbnail</h2>
101
  <pre>mla_process_stream_image() : void</pre>
@@ -136,10 +163,16 @@ optional $_REQUEST parameters are:
136
  <div class="labels"></div>
137
  <div class="row collapse"><div class="detail-description">
138
  <p class="long_description"></p>
139
- <table class="table table-bordered"><tr>
 
140
  <th>since</th>
141
  <td>2.10</td>
142
- </tr></table>
 
 
 
 
 
143
  <h3>Parameters</h3>
144
  <div class="subelement argument">
145
  <h4>$file</h4>
@@ -157,13 +190,29 @@ optional $_REQUEST parameters are:
157
  </div>
158
  <div class="subelement argument">
159
  <h4>$explicit_path</h4>
160
- <code>string</code><p>Non-standard location to override default search, e.g., 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'</p>
161
  </div>
162
  <h3>Returns</h3>
163
  <div class="subelement response">
164
  <code>boolean</code>true if conversion succeeds else false</div>
165
  </div></div>
166
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  <a name="_mla_die" id="_mla_die"></a><div class="element clickable method private _mla_die" data-toggle="collapse" data-target="._mla_die .collapse">
168
  <h2>Abort the operation and exit</h2>
169
  <pre>_mla_die(string $message, string $title, integer $response) : void</pre>
@@ -186,16 +235,44 @@ optional $_REQUEST parameters are:
186
  <code>integer</code><p>Optional. HTML response code. Default 500.</p></div>
187
  </div></div>
188
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  <a name="_prepare_image" id="_prepare_image"></a><div class="element clickable method private _prepare_image" data-toggle="collapse" data-target="._prepare_image .collapse">
190
  <h2>Prepare the image for output, scaling and flattening as required</h2>
191
  <pre>_prepare_image(integer $width, integer $height, boolean $best_fit, string $type, integer $quality) : void</pre>
192
  <div class="labels"></div>
193
  <div class="row collapse"><div class="detail-description">
194
  <p class="long_description"></p>
195
- <table class="table table-bordered"><tr>
 
196
  <th>since</th>
197
  <td>2.10</td>
198
- </tr></table>
 
 
 
 
 
199
  <h3>Parameters</h3>
200
  <div class="subelement argument">
201
  <h4>$width</h4>
@@ -218,6 +295,18 @@ optional $_REQUEST parameters are:
218
  </div>
219
  <h3>
220
  <i class="icon-custom icon-property"></i> Properties</h3>
 
 
 
 
 
 
 
 
 
 
 
 
221
  <a name="%24image" id="$image"> </a><div class="element clickable property protected $image" data-toggle="collapse" data-target=".$image .collapse">
222
  <h2>Imagick object for the image to be streamed</h2>
223
  <pre>$image : \Imagick</pre>
@@ -237,7 +326,7 @@ optional $_REQUEST parameters are:
237
  <div class="row"><footer class="span12">
238
  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>
239
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
240
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
241
  </div>
242
  </body>
243
  </html>
3
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
  <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
5
  <meta charset="utf-8">
6
+ <title>Media Library Assistant » \MLAImageProcessor</title>
7
  <meta name="author" content="Mike van Riel">
8
  <meta name="description" content="">
9
  <link href="../css/template.css" rel="stylesheet" media="all">
57
  <ul class="side-nav nav nav-list">
58
  <li class="nav-header">
59
  <i class="icon-custom icon-method"></i> Methods</li>
60
+ <li class="method public "><a href="#mla_handle_thumbnail_sideload" title="mla_handle_thumbnail_sideload :: Process Imagick thumbnail conversion request, e.g., for a PDF thumbnail"><span class="description">Process Imagick thumbnail conversion request, e.g., for a PDF thumbnail</span><pre>mla_handle_thumbnail_sideload()</pre></a></li>
61
  <li class="method public "><a href="#mla_process_stream_image" title="mla_process_stream_image :: Process Imagick image stream request, e.g., for a PDF thumbnail"><span class="description">Process Imagick image stream request, e.g., for a PDF thumbnail</span><pre>mla_process_stream_image()</pre></a></li>
62
  <li class="nav-header private">» Private</li>
63
  <li class="method private "><a href="#_get_temp_file" title="_get_temp_file :: Generate a unique, writable file in the temporary directory"><span class="description">Generate a unique, writable file in the temporary directory</span><pre>_get_temp_file()</pre></a></li>
64
  <li class="method private "><a href="#_ghostscript_convert" title="_ghostscript_convert :: Direct Ghostscript file conversion"><span class="description">Direct Ghostscript file conversion</span><pre>_ghostscript_convert()</pre></a></li>
65
+ <li class="method private "><a href="#_mla_debug_add" title="_mla_debug_add :: Log debug information"><span class="description">Log debug information</span><pre>_mla_debug_add()</pre></a></li>
66
  <li class="method private "><a href="#_mla_die" title="_mla_die :: Abort the operation and exit"><span class="description">Abort the operation and exit</span><pre>_mla_die()</pre></a></li>
67
+ <li class="method private "><a href="#_mla_error_return" title="_mla_error_return :: Log the message and return error message array"><span class="description">Log the message and return error message array</span><pre>_mla_error_return()</pre></a></li>
68
  <li class="method private "><a href="#_prepare_image" title="_prepare_image :: Prepare the image for output, scaling and flattening as required"><span class="description">Prepare the image for output, scaling and flattening as required</span><pre>_prepare_image()</pre></a></li>
69
  <li class="nav-header">
70
  <i class="icon-custom icon-property"></i> Properties</li>
71
+ <li class="property public "><a href="#%24mla_debug" title="$mla_debug :: Log debug information if true"><span class="description">Log debug information if true</span><pre>$mla_debug</pre></a></li>
72
  <li class="nav-header protected">» Protected</li>
73
  <li class="property protected "><a href="#%24image" title="$image :: Imagick object for the image to be streamed"><span class="description">Imagick object for the image to be streamed</span><pre>$image</pre></a></li>
74
  </ul>
75
  </div>
76
  <div class="span8">
77
+ <a name="%5CMLAImageProcessor" id="\MLAImageProcessor"></a><ul class="breadcrumb">
78
  <li>
79
  <a href="../index.html"><i class="icon-custom icon-class"></i></a><span class="divider">\</span>
80
  </li>
81
  <li><a href="../namespaces/global.html">global</a></li>
82
  <li class="active">
83
+ <span class="divider">\</span><a href="../classes/MLAImageProcessor.html">MLAImageProcessor</a>
84
  </li>
85
  </ul>
86
+ <div href="../classes/MLAImageProcessor.html" class="element class">
87
+ <p class="short_description">Class MLA (Media Library Assistant) Image Processor provides PDF thumbnails
88
+ for the [mla_gallery] mla_viewer
89
+ and Media/Assistant thumbnail generator.</p>
90
  <div class="details">
91
  <p class="long_description"></p>
92
  <table class="table table-bordered">
101
  </table>
102
  <h3>
103
  <i class="icon-custom icon-method"></i> Methods</h3>
104
+ <a name="mla_handle_thumbnail_sideload" id="mla_handle_thumbnail_sideload"></a><div class="element clickable method public mla_handle_thumbnail_sideload" data-toggle="collapse" data-target=".mla_handle_thumbnail_sideload .collapse">
105
+ <h2>Process Imagick thumbnail conversion request, e.g., for a PDF thumbnail</h2>
106
+ <pre>mla_handle_thumbnail_sideload(string $input_file, array $args) : array</pre>
107
+ <div class="labels"></div>
108
+ <div class="row collapse"><div class="detail-description">
109
+ <p class="long_description"><p>Replaces download_url() in the Codex "Function Reference/wp handle sideload" example.</p></p>
110
+ <table class="table table-bordered"><tr>
111
+ <th>since</th>
112
+ <td>2.13</td>
113
+ </tr></table>
114
+ <h3>Parameters</h3>
115
+ <div class="subelement argument">
116
+ <h4>$input_file</h4>
117
+ <code>string</code><p>Path and name of the source file relative to upload directory</p></div>
118
+ <div class="subelement argument">
119
+ <h4>$args</h4>
120
+ <code>array</code><p>Generation parameters</p></div>
121
+ <h3>Returns</h3>
122
+ <div class="subelement response">
123
+ <code>array</code>file attributes ( 'file', 'url', 'type' ) on success, ( 'error' ) on failure</div>
124
+ </div></div>
125
+ </div>
126
  <a name="mla_process_stream_image" id="mla_process_stream_image"></a><div class="element clickable method public mla_process_stream_image" data-toggle="collapse" data-target=".mla_process_stream_image .collapse">
127
  <h2>Process Imagick image stream request, e.g., for a PDF thumbnail</h2>
128
  <pre>mla_process_stream_image() : void</pre>
163
  <div class="labels"></div>
164
  <div class="row collapse"><div class="detail-description">
165
  <p class="long_description"></p>
166
+ <table class="table table-bordered">
167
+ <tr>
168
  <th>since</th>
169
  <td>2.10</td>
170
+ </tr>
171
+ <tr>
172
+ <th>uses</th>
173
+ <td>\global\self::$image</td>
174
+ </tr>
175
+ </table>
176
  <h3>Parameters</h3>
177
  <div class="subelement argument">
178
  <h4>$file</h4>
190
  </div>
191
  <div class="subelement argument">
192
  <h4>$explicit_path</h4>
193
+ <code>string</code><p>Optional. Non-standard location to override default search, e.g., 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'</p>
194
  </div>
195
  <h3>Returns</h3>
196
  <div class="subelement response">
197
  <code>boolean</code>true if conversion succeeds else false</div>
198
  </div></div>
199
  </div>
200
+ <a name="_mla_debug_add" id="_mla_debug_add"></a><div class="element clickable method private _mla_debug_add" data-toggle="collapse" data-target="._mla_debug_add .collapse">
201
+ <h2>Log debug information</h2>
202
+ <pre>_mla_debug_add(string $message) </pre>
203
+ <div class="labels"></div>
204
+ <div class="row collapse"><div class="detail-description">
205
+ <p class="long_description"></p>
206
+ <table class="table table-bordered"><tr>
207
+ <th>since</th>
208
+ <td>2.12</td>
209
+ </tr></table>
210
+ <h3>Parameters</h3>
211
+ <div class="subelement argument">
212
+ <h4>$message</h4>
213
+ <code>string</code><p>Error message.</p></div>
214
+ </div></div>
215
+ </div>
216
  <a name="_mla_die" id="_mla_die"></a><div class="element clickable method private _mla_die" data-toggle="collapse" data-target="._mla_die .collapse">
217
  <h2>Abort the operation and exit</h2>
218
  <pre>_mla_die(string $message, string $title, integer $response) : void</pre>
235
  <code>integer</code><p>Optional. HTML response code. Default 500.</p></div>
236
  </div></div>
237
  </div>
238
+ <a name="_mla_error_return" id="_mla_error_return"></a><div class="element clickable method private _mla_error_return" data-toggle="collapse" data-target="._mla_error_return .collapse">
239
+ <h2>Log the message and return error message array</h2>
240
+ <pre>_mla_error_return(string $message, string $line) : \array(</pre>
241
+ <div class="labels"></div>
242
+ <div class="row collapse"><div class="detail-description">
243
+ <p class="long_description"></p>
244
+ <table class="table table-bordered"><tr>
245
+ <th>since</th>
246
+ <td>2.10</td>
247
+ </tr></table>
248
+ <h3>Parameters</h3>
249
+ <div class="subelement argument">
250
+ <h4>$message</h4>
251
+ <code>string</code><p>Error message.</p></div>
252
+ <div class="subelement argument">
253
+ <h4>$line</h4>
254
+ <code>string</code><p>Optional. Line number in the caller.</p></div>
255
+ <h3>Returns</h3>
256
+ <div class="subelement response">
257
+ <code>\array(</code>'error' => message )</div>
258
+ </div></div>
259
+ </div>
260
  <a name="_prepare_image" id="_prepare_image"></a><div class="element clickable method private _prepare_image" data-toggle="collapse" data-target="._prepare_image .collapse">
261
  <h2>Prepare the image for output, scaling and flattening as required</h2>
262
  <pre>_prepare_image(integer $width, integer $height, boolean $best_fit, string $type, integer $quality) : void</pre>
263
  <div class="labels"></div>
264
  <div class="row collapse"><div class="detail-description">
265
  <p class="long_description"></p>
266
+ <table class="table table-bordered">
267
+ <tr>
268
  <th>since</th>
269
  <td>2.10</td>
270
+ </tr>
271
+ <tr>
272
+ <th>uses</th>
273
+ <td>\global\self::$image</td>
274
+ </tr>
275
+ </table>
276
  <h3>Parameters</h3>
277
  <div class="subelement argument">
278
  <h4>$width</h4>
295
  </div>
296
  <h3>
297
  <i class="icon-custom icon-property"></i> Properties</h3>
298
+ <a name="%24mla_debug" id="$mla_debug"> </a><div class="element clickable property public $mla_debug" data-toggle="collapse" data-target=".$mla_debug .collapse">
299
+ <h2>Log debug information if true</h2>
300
+ <pre>$mla_debug : boolean</pre>
301
+ <div class="labels"></div>
302
+ <div class="row collapse"><div class="detail-description">
303
+ <p class="long_description"></p>
304
+ <table class="table table-bordered"><tr>
305
+ <th>since</th>
306
+ <td>2.12</td>
307
+ </tr></table>
308
+ </div></div>
309
+ </div>
310
  <a name="%24image" id="$image"> </a><div class="element clickable property protected $image" data-toggle="collapse" data-target=".$image .collapse">
311
  <h2>Imagick object for the image to be streamed</h2>
312
  <pre>$image : \Imagick</pre>
326
  <div class="row"><footer class="span12">
327
  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>
328
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
329
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
330
  </div>
331
  </body>
332
  </html>
phpDocs/classes/MLAMime.html CHANGED
@@ -567,7 +567,7 @@ and get_allowed_mime_types().</p>
567
  </div>
568
  <a name="mla_parse_view_specification" id="mla_parse_view_specification"></a><div class="element clickable method public mla_parse_view_specification" data-toggle="collapse" data-target=".mla_parse_view_specification .collapse">
569
  <h2>Analyze a Library View/Post MIME Type specification, returning an array of the placeholders it contains</h2>
570
- <pre>mla_parse_view_specification(string $specification) : array</pre>
571
  <div class="labels"></div>
572
  <div class="row collapse"><div class="detail-description">
573
  <p class="long_description"></p>
@@ -578,7 +578,7 @@ and get_allowed_mime_types().</p>
578
  <h3>Parameters</h3>
579
  <div class="subelement argument">
580
  <h4>$specification</h4>
581
- <code>string</code><p>A specification, e.g., "custom:Field,null" or "audio,application/vnd.<em>ms</em>"</p>
582
  </div>
583
  <h3>Returns</h3>
584
  <div class="subelement response">
@@ -1288,7 +1288,7 @@ Defined as public because it's a filter.</p></p>
1288
  <div class="row"><footer class="span12">
1289
  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>
1290
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1291
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
1292
  </div>
1293
  </body>
1294
  </html>
567
  </div>
568
  <a name="mla_parse_view_specification" id="mla_parse_view_specification"></a><div class="element clickable method public mla_parse_view_specification" data-toggle="collapse" data-target=".mla_parse_view_specification .collapse">
569
  <h2>Analyze a Library View/Post MIME Type specification, returning an array of the placeholders it contains</h2>
570
+ <pre>mla_parse_view_specification(string | array $specification) : array</pre>
571
  <div class="labels"></div>
572
  <div class="row collapse"><div class="detail-description">
573
  <p class="long_description"></p>
578
  <h3>Parameters</h3>
579
  <div class="subelement argument">
580
  <h4>$specification</h4>
581
+ <code>stringarray</code><p>A specification, e.g., "custom:Field,null" or "audio,application/vnd.<em>ms</em>"</p>
582
  </div>
583
  <h3>Returns</h3>
584
  <div class="subelement response">
1288
  <div class="row"><footer class="span12">
1289
  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>
1290
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1291
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1292
  </div>
1293
  </body>
1294
  </html>
phpDocs/classes/MLAModal.html CHANGED
@@ -515,7 +515,7 @@ and mla_print_media_templates_action</h2>
515
  <div class="row"><footer class="span12">
516
  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>
517
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
518
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
519
  </div>
520
  </body>
521
  </html>
515
  <div class="row"><footer class="span12">
516
  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>
517
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
518
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
519
  </div>
520
  </body>
521
  </html>
phpDocs/classes/MLAMutex.html CHANGED
@@ -251,7 +251,7 @@ for the [mla_gallery] mla_viewer=single option</p>
251
  <div class="row"><footer class="span12">
252
  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>
253
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
254
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
255
  </div>
256
  </body>
257
  </html>
251
  <div class="row"><footer class="span12">
252
  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>
253
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
254
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
255
  </div>
256
  </body>
257
  </html>
phpDocs/classes/MLAObjects.html CHANGED
@@ -172,7 +172,7 @@ which replaces the "Posts" column with an equivalent "Attachments" column.</h2>
172
  <div class="row"><footer class="span12">
173
  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>
174
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
175
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
176
  </div>
177
  </body>
178
  </html>
172
  <div class="row"><footer class="span12">
173
  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>
174
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
175
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
176
  </div>
177
  </body>
178
  </html>
phpDocs/classes/MLAOptions.html CHANGED
@@ -120,6 +120,7 @@ settings are being updated or reset.</span><pre>mla_taxonomy_support()</pre></a>
120
  <li class="constant "><a href="#MLA_ADD_NEW_BULK_EDIT" title="MLA_ADD_NEW_BULK_EDIT :: Provides a unique name for the Media/Add New bulk edit option"><span class="description">Provides a unique name for the Media/Add New bulk edit option</span><pre>MLA_ADD_NEW_BULK_EDIT</pre></a></li>
121
  <li class="constant "><a href="#MLA_BULK_CHUNK_SIZE" title="MLA_BULK_CHUNK_SIZE :: Provides a unique name for the Bulk Update and Map All chunk size option"><span class="description">Provides a unique name for the Bulk Update and Map All chunk size option</span><pre>MLA_BULK_CHUNK_SIZE</pre></a></li>
122
  <li class="constant "><a href="#MLA_COUNT_TERM_ATTACHMENTS" title="MLA_COUNT_TERM_ATTACHMENTS :: Provides a unique name for the taxonomy count Attachments option"><span class="description">Provides a unique name for the taxonomy count Attachments option</span><pre>MLA_COUNT_TERM_ATTACHMENTS</pre></a></li>
 
123
  <li class="constant "><a href="#MLA_DEFAULT_ORDER" title="MLA_DEFAULT_ORDER :: Provides a unique name for the default order option"><span class="description">Provides a unique name for the default order option</span><pre>MLA_DEFAULT_ORDER</pre></a></li>
124
  <li class="constant "><a href="#MLA_DEFAULT_ORDERBY" title="MLA_DEFAULT_ORDERBY :: Provides a unique name for the default orderby option"><span class="description">Provides a unique name for the default orderby option</span><pre>MLA_DEFAULT_ORDERBY</pre></a></li>
125
  <li class="constant "><a href="#MLA_EDIT_MEDIA_META_BOXES" title="MLA_EDIT_MEDIA_META_BOXES :: Provides a unique name for the Edit Media additional meta boxes option"><span class="description">Provides a unique name for the Edit Media additional meta boxes option</span><pre>MLA_EDIT_MEDIA_META_BOXES</pre></a></li>
@@ -1404,6 +1405,12 @@ added to the Media Library.</p></p>
1404
  <div class="labels"></div>
1405
  <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
1406
  </div>
 
 
 
 
 
 
1407
  <a name="MLA_DEFAULT_ORDER" id="MLA_DEFAULT_ORDER"> </a><div class="element clickable constant MLA_DEFAULT_ORDER" data-toggle="collapse" data-target=".MLA_DEFAULT_ORDER .collapse">
1408
  <h2>Provides a unique name for the default order option</h2>
1409
  <pre>MLA_DEFAULT_ORDER </pre>
@@ -1667,7 +1674,7 @@ also controls the ATTACHMENT DETAILS enhancements</h2>
1667
  <div class="row"><footer class="span12">
1668
  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>
1669
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1670
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
1671
  </div>
1672
  </body>
1673
  </html>
120
  <li class="constant "><a href="#MLA_ADD_NEW_BULK_EDIT" title="MLA_ADD_NEW_BULK_EDIT :: Provides a unique name for the Media/Add New bulk edit option"><span class="description">Provides a unique name for the Media/Add New bulk edit option</span><pre>MLA_ADD_NEW_BULK_EDIT</pre></a></li>
121
  <li class="constant "><a href="#MLA_BULK_CHUNK_SIZE" title="MLA_BULK_CHUNK_SIZE :: Provides a unique name for the Bulk Update and Map All chunk size option"><span class="description">Provides a unique name for the Bulk Update and Map All chunk size option</span><pre>MLA_BULK_CHUNK_SIZE</pre></a></li>
122
  <li class="constant "><a href="#MLA_COUNT_TERM_ATTACHMENTS" title="MLA_COUNT_TERM_ATTACHMENTS :: Provides a unique name for the taxonomy count Attachments option"><span class="description">Provides a unique name for the taxonomy count Attachments option</span><pre>MLA_COUNT_TERM_ATTACHMENTS</pre></a></li>
123
+ <li class="constant "><a href="#MLA_DEBUG_DISPLAY_LIMIT" title="MLA_DEBUG_DISPLAY_LIMIT :: Provides a unique name for the Debug display limit option"><span class="description">Provides a unique name for the Debug display limit option</span><pre>MLA_DEBUG_DISPLAY_LIMIT</pre></a></li>
124
  <li class="constant "><a href="#MLA_DEFAULT_ORDER" title="MLA_DEFAULT_ORDER :: Provides a unique name for the default order option"><span class="description">Provides a unique name for the default order option</span><pre>MLA_DEFAULT_ORDER</pre></a></li>
125
  <li class="constant "><a href="#MLA_DEFAULT_ORDERBY" title="MLA_DEFAULT_ORDERBY :: Provides a unique name for the default orderby option"><span class="description">Provides a unique name for the default orderby option</span><pre>MLA_DEFAULT_ORDERBY</pre></a></li>
126
  <li class="constant "><a href="#MLA_EDIT_MEDIA_META_BOXES" title="MLA_EDIT_MEDIA_META_BOXES :: Provides a unique name for the Edit Media additional meta boxes option"><span class="description">Provides a unique name for the Edit Media additional meta boxes option</span><pre>MLA_EDIT_MEDIA_META_BOXES</pre></a></li>
1405
  <div class="labels"></div>
1406
  <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
1407
  </div>
1408
+ <a name="MLA_DEBUG_DISPLAY_LIMIT" id="MLA_DEBUG_DISPLAY_LIMIT"> </a><div class="element clickable constant MLA_DEBUG_DISPLAY_LIMIT" data-toggle="collapse" data-target=".MLA_DEBUG_DISPLAY_LIMIT .collapse">
1409
+ <h2>Provides a unique name for the Debug display limit option</h2>
1410
+ <pre>MLA_DEBUG_DISPLAY_LIMIT </pre>
1411
+ <div class="labels"></div>
1412
+ <div class="row collapse"><div class="detail-description"><p class="long_description"></p></div></div>
1413
+ </div>
1414
  <a name="MLA_DEFAULT_ORDER" id="MLA_DEFAULT_ORDER"> </a><div class="element clickable constant MLA_DEFAULT_ORDER" data-toggle="collapse" data-target=".MLA_DEFAULT_ORDER .collapse">
1415
  <h2>Provides a unique name for the default order option</h2>
1416
  <pre>MLA_DEFAULT_ORDER </pre>
1674
  <div class="row"><footer class="span12">
1675
  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>
1676
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1677
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1678
  </div>
1679
  </body>
1680
  </html>
phpDocs/classes/MLAPDF.html CHANGED
@@ -378,7 +378,7 @@ The array value is array( number, generation, start, optional /length )</p></p>
378
  <div class="row"><footer class="span12">
379
  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>
380
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
381
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
382
  </div>
383
  </body>
384
  </html>
378
  <div class="row"><footer class="span12">
379
  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>
380
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
381
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
382
  </div>
383
  </body>
384
  </html>
phpDocs/classes/MLASettings.html CHANGED
@@ -1339,7 +1339,7 @@ because Localization calls cannot be placed in the "public static" array definit
1339
  <div class="row"><footer class="span12">
1340
  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>
1341
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1342
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
1343
  </div>
1344
  </body>
1345
  </html>
1339
  <div class="row"><footer class="span12">
1340
  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>
1341
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1342
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1343
  </div>
1344
  </body>
1345
  </html>
phpDocs/classes/MLAShortcodes.html CHANGED
@@ -58,10 +58,10 @@
58
  <li class="nav-header">
59
  <i class="icon-custom icon-method"></i> Methods</li>
60
  <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
61
- <li class="method public "><a href="#mla_attachment_list_shortcode" title="mla_attachment_list_shortcode :: Obsolete; no longer supported"><span class="description">Obsolete; no longer supported</span><pre>mla_attachment_list_shortcode()</pre></a></li>
62
  <li class="method public "><a href="#mla_gallery_shortcode" title="mla_gallery_shortcode :: The MLA Gallery shortcode."><span class="description">The MLA Gallery shortcode.</span><pre>mla_gallery_shortcode()</pre></a></li>
63
  <li class="method public "><a href="#mla_get_shortcode_attachments" title="mla_get_shortcode_attachments :: Parses shortcode parameters and returns the gallery objects"><span class="description">Parses shortcode parameters and returns the gallery objects</span><pre>mla_get_shortcode_attachments()</pre></a></li>
64
  <li class="method public "><a href="#mla_get_terms" title="mla_get_terms :: Retrieve the terms in one or more taxonomies."><span class="description">Retrieve the terms in one or more taxonomies.</span><pre>mla_get_terms()</pre></a></li>
 
65
  <li class="method public "><a href="#mla_no_texturize_shortcodes_filter" title="mla_no_texturize_shortcodes_filter :: Prevents wptexturizing of the [mla_gallery] shortcode, avoiding a bug in WP 4.0."><span class="description">Prevents wptexturizing of the [mla_gallery] shortcode, avoiding a bug in WP 4.0.</span><pre>mla_no_texturize_shortcodes_filter()</pre></a></li>
66
  <li class="method public "><a href="#mla_shortcode_query_posts_clauses_filter" title="mla_shortcode_query_posts_clauses_filter :: Filters all clauses for shortcode queries, pre caching plugins"><span class="description">Filters all clauses for shortcode queries, pre caching plugins</span><pre>mla_shortcode_query_posts_clauses_filter()</pre></a></li>
67
  <li class="method public "><a href="#mla_shortcode_query_posts_clauses_request_filter" title="mla_shortcode_query_posts_clauses_request_filter :: Filters all clauses for shortcode queries, post caching plugins"><span class="description">Filters all clauses for shortcode queries, post caching plugins</span><pre>mla_shortcode_query_posts_clauses_request_filter()</pre></a></li>
@@ -71,7 +71,6 @@
71
  <li class="method public "><a href="#mla_tag_cloud" title="mla_tag_cloud :: The MLA Tag Cloud support function."><span class="description">The MLA Tag Cloud support function.</span><pre>mla_tag_cloud()</pre></a></li>
72
  <li class="method public "><a href="#mla_tag_cloud_shortcode" title="mla_tag_cloud_shortcode :: The MLA Tag Cloud shortcode."><span class="description">The MLA Tag Cloud shortcode.</span><pre>mla_tag_cloud_shortcode()</pre></a></li>
73
  <li class="nav-header private">» Private</li>
74
- <li class="method private "><a href="#_ghostscript_present" title="_ghostscript_present :: Verify the presence of Ghostscript for mla_viewer"><span class="description">Verify the presence of Ghostscript for mla_viewer</span><pre>_ghostscript_present()</pre></a></li>
75
  <li class="method private "><a href="#_pad_term_counts" title="_pad_term_counts :: Add count of children to parent count."><span class="description">Add count of children to parent count.</span><pre>_pad_term_counts()</pre></a></li>
76
  <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>
77
  <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>
@@ -82,7 +81,6 @@
82
  <li class="method private "><a href="#_validate_sql_orderby" title="_validate_sql_orderby :: Translates query parameters to a valid SQL order by clause."><span class="description">Translates query parameters to a valid SQL order by clause.</span><pre>_validate_sql_orderby()</pre></a></li>
83
  <li class="nav-header">
84
  <i class="icon-custom icon-property"></i> Properties</li>
85
- <li class="property public "><a href="#%24mla_debug_messages" title="$mla_debug_messages :: Accumulates debug messages"><span class="description">Accumulates debug messages</span><pre>$mla_debug_messages</pre></a></li>
86
  <li class="property public "><a href="#%24mla_gallery_wp_query_object" title="$mla_gallery_wp_query_object :: The WP_Query object used to select items for the gallery."><span class="description">The WP_Query object used to select items for the gallery.</span><pre>$mla_gallery_wp_query_object</pre></a></li>
87
  <li class="nav-header private">» Private</li>
88
  <li class="property private "><a href="#%24mla_debug" title="$mla_debug :: Turn debug collection and display on or off"><span class="description">Turn debug collection and display on or off</span><pre>$mla_debug</pre></a></li>
@@ -129,18 +127,6 @@
129
  </tr></table>
130
  </div></div>
131
  </div>
132
- <a name="mla_attachment_list_shortcode" id="mla_attachment_list_shortcode"></a><div class="element clickable method public mla_attachment_list_shortcode" data-toggle="collapse" data-target=".mla_attachment_list_shortcode .collapse">
133
- <h2>Obsolete; no longer supported</h2>
134
- <pre>mla_attachment_list_shortcode() : void</pre>
135
- <div class="labels"></div>
136
- <div class="row collapse"><div class="detail-description">
137
- <p class="long_description"></p>
138
- <table class="table table-bordered"><tr>
139
- <th>since</th>
140
- <td>0.1</td>
141
- </tr></table>
142
- </div></div>
143
- </div>
144
  <a name="mla_gallery_shortcode" id="mla_gallery_shortcode"></a><div class="element clickable method public mla_gallery_shortcode" data-toggle="collapse" data-target=".mla_gallery_shortcode .collapse">
145
  <h2>The MLA Gallery shortcode.</h2>
146
  <pre>mla_gallery_shortcode(array $attr, string $content) : string</pre>
@@ -253,6 +239,30 @@ descending and then by term_id before this value is applied. Default 0.</p>
253
  <code>array</code>array of term objects, empty if none found</div>
254
  </div></div>
255
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  <a name="mla_no_texturize_shortcodes_filter" id="mla_no_texturize_shortcodes_filter"></a><div class="element clickable method public mla_no_texturize_shortcodes_filter" data-toggle="collapse" data-target=".mla_no_texturize_shortcodes_filter .collapse">
257
  <h2>Prevents wptexturizing of the [mla_gallery] shortcode, avoiding a bug in WP 4.0.</h2>
258
  <pre>mla_no_texturize_shortcodes_filter(array $no_texturize_shortcodes) : array</pre>
@@ -413,26 +423,6 @@ options to customize the hyperlink behind each term.</p></p>
413
  <code>string</code>HTML content to display the tag cloud.</div>
414
  </div></div>
415
  </div>
416
- <a name="_ghostscript_present" id="_ghostscript_present"></a><div class="element clickable method private _ghostscript_present" data-toggle="collapse" data-target="._ghostscript_present .collapse">
417
- <h2>Verify the presence of Ghostscript for mla_viewer</h2>
418
- <pre>_ghostscript_present(string $explicit_path) : boolean</pre>
419
- <div class="labels"></div>
420
- <div class="row collapse"><div class="detail-description">
421
- <p class="long_description"></p>
422
- <table class="table table-bordered"><tr>
423
- <th>since</th>
424
- <td>2.10</td>
425
- </tr></table>
426
- <h3>Parameters</h3>
427
- <div class="subelement argument">
428
- <h4>$explicit_path</h4>
429
- <code>string</code><p>Non-standard location to override default search, e.g., 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'</p>
430
- </div>
431
- <h3>Returns</h3>
432
- <div class="subelement response">
433
- <code>boolean</code>true if Ghostscript available else false</div>
434
- </div></div>
435
- </div>
436
  <a name="_pad_term_counts" id="_pad_term_counts"></a><div class="element clickable method private _pad_term_counts" data-toggle="collapse" data-target="._pad_term_counts .collapse">
437
  <h2>Add count of children to parent count.</h2>
438
  <pre>_pad_term_counts(array $terms, string $taxonomy, array $post_types, array $post_stati) : null</pre>
@@ -644,18 +634,6 @@ Enhanced version of /wp-includes/formatting.php function sanitize_sql_orderby().
644
  </div>
645
  <h3>
646
  <i class="icon-custom icon-property"></i> Properties</h3>
647
- <a name="%24mla_debug_messages" id="$mla_debug_messages"> </a><div class="element clickable property public $mla_debug_messages" data-toggle="collapse" data-target=".$mla_debug_messages .collapse">
648
- <h2>Accumulates debug messages</h2>
649
- <pre>$mla_debug_messages : string</pre>
650
- <div class="labels"></div>
651
- <div class="row collapse"><div class="detail-description">
652
- <p class="long_description"></p>
653
- <table class="table table-bordered"><tr>
654
- <th>since</th>
655
- <td>0.60</td>
656
- </tr></table>
657
- </div></div>
658
- </div>
659
  <a name="%24mla_gallery_wp_query_object" id="$mla_gallery_wp_query_object"> </a><div class="element clickable property public $mla_gallery_wp_query_object" data-toggle="collapse" data-target=".$mla_gallery_wp_query_object .collapse">
660
  <h2>The WP_Query object used to select items for the gallery.</h2>
661
  <pre>$mla_gallery_wp_query_object : object</pre>
@@ -728,7 +706,7 @@ any further logic required to translate those values is contained in the filter.
728
  <div class="row"><footer class="span12">
729
  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>
730
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
731
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
732
  </div>
733
  </body>
734
  </html>
58
  <li class="nav-header">
59
  <i class="icon-custom icon-method"></i> Methods</li>
60
  <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
 
61
  <li class="method public "><a href="#mla_gallery_shortcode" title="mla_gallery_shortcode :: The MLA Gallery shortcode."><span class="description">The MLA Gallery shortcode.</span><pre>mla_gallery_shortcode()</pre></a></li>
62
  <li class="method public "><a href="#mla_get_shortcode_attachments" title="mla_get_shortcode_attachments :: Parses shortcode parameters and returns the gallery objects"><span class="description">Parses shortcode parameters and returns the gallery objects</span><pre>mla_get_shortcode_attachments()</pre></a></li>
63
  <li class="method public "><a href="#mla_get_terms" title="mla_get_terms :: Retrieve the terms in one or more taxonomies."><span class="description">Retrieve the terms in one or more taxonomies.</span><pre>mla_get_terms()</pre></a></li>
64
+ <li class="method public "><a href="#mla_ghostscript_present" title="mla_ghostscript_present :: Verify the presence of Ghostscript for mla_viewer"><span class="description">Verify the presence of Ghostscript for mla_viewer</span><pre>mla_ghostscript_present()</pre></a></li>
65
  <li class="method public "><a href="#mla_no_texturize_shortcodes_filter" title="mla_no_texturize_shortcodes_filter :: Prevents wptexturizing of the [mla_gallery] shortcode, avoiding a bug in WP 4.0."><span class="description">Prevents wptexturizing of the [mla_gallery] shortcode, avoiding a bug in WP 4.0.</span><pre>mla_no_texturize_shortcodes_filter()</pre></a></li>
66
  <li class="method public "><a href="#mla_shortcode_query_posts_clauses_filter" title="mla_shortcode_query_posts_clauses_filter :: Filters all clauses for shortcode queries, pre caching plugins"><span class="description">Filters all clauses for shortcode queries, pre caching plugins</span><pre>mla_shortcode_query_posts_clauses_filter()</pre></a></li>
67
  <li class="method public "><a href="#mla_shortcode_query_posts_clauses_request_filter" title="mla_shortcode_query_posts_clauses_request_filter :: Filters all clauses for shortcode queries, post caching plugins"><span class="description">Filters all clauses for shortcode queries, post caching plugins</span><pre>mla_shortcode_query_posts_clauses_request_filter()</pre></a></li>
71
  <li class="method public "><a href="#mla_tag_cloud" title="mla_tag_cloud :: The MLA Tag Cloud support function."><span class="description">The MLA Tag Cloud support function.</span><pre>mla_tag_cloud()</pre></a></li>
72
  <li class="method public "><a href="#mla_tag_cloud_shortcode" title="mla_tag_cloud_shortcode :: The MLA Tag Cloud shortcode."><span class="description">The MLA Tag Cloud shortcode.</span><pre>mla_tag_cloud_shortcode()</pre></a></li>
73
  <li class="nav-header private">» Private</li>
 
74
  <li class="method private "><a href="#_pad_term_counts" title="_pad_term_counts :: Add count of children to parent count."><span class="description">Add count of children to parent count.</span><pre>_pad_term_counts()</pre></a></li>
75
  <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>
76
  <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>
81
  <li class="method private "><a href="#_validate_sql_orderby" title="_validate_sql_orderby :: Translates query parameters to a valid SQL order by clause."><span class="description">Translates query parameters to a valid SQL order by clause.</span><pre>_validate_sql_orderby()</pre></a></li>
82
  <li class="nav-header">
83
  <i class="icon-custom icon-property"></i> Properties</li>
 
84
  <li class="property public "><a href="#%24mla_gallery_wp_query_object" title="$mla_gallery_wp_query_object :: The WP_Query object used to select items for the gallery."><span class="description">The WP_Query object used to select items for the gallery.</span><pre>$mla_gallery_wp_query_object</pre></a></li>
85
  <li class="nav-header private">» Private</li>
86
  <li class="property private "><a href="#%24mla_debug" title="$mla_debug :: Turn debug collection and display on or off"><span class="description">Turn debug collection and display on or off</span><pre>$mla_debug</pre></a></li>
127
  </tr></table>
128
  </div></div>
129
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
130
  <a name="mla_gallery_shortcode" id="mla_gallery_shortcode"></a><div class="element clickable method public mla_gallery_shortcode" data-toggle="collapse" data-target=".mla_gallery_shortcode .collapse">
131
  <h2>The MLA Gallery shortcode.</h2>
132
  <pre>mla_gallery_shortcode(array $attr, string $content) : string</pre>
239
  <code>array</code>array of term objects, empty if none found</div>
240
  </div></div>
241
  </div>
242
+ <a name="mla_ghostscript_present" id="mla_ghostscript_present"></a><div class="element clickable method public mla_ghostscript_present" data-toggle="collapse" data-target=".mla_ghostscript_present .collapse">
243
+ <h2>Verify the presence of Ghostscript for mla_viewer</h2>
244
+ <pre>mla_ghostscript_present(string $explicit_path, boolean $ghostscript_only) : boolean</pre>
245
+ <div class="labels"></div>
246
+ <div class="row collapse"><div class="detail-description">
247
+ <p class="long_description"></p>
248
+ <table class="table table-bordered"><tr>
249
+ <th>since</th>
250
+ <td>2.10</td>
251
+ </tr></table>
252
+ <h3>Parameters</h3>
253
+ <div class="subelement argument">
254
+ <h4>$explicit_path</h4>
255
+ <code>string</code><p>Non-standard location to override default search, e.g., 'C:\Program Files (x86)\gs\gs9.15\bin\gswin32c.exe'</p>
256
+ </div>
257
+ <div class="subelement argument">
258
+ <h4>$ghostscript_only</h4>
259
+ <code>boolean</code><p>Force ghostscript-only tests, used by MLASettings::_compose_mla_gallery_tab()</p>
260
+ </div>
261
+ <h3>Returns</h3>
262
+ <div class="subelement response">
263
+ <code>boolean</code>true if Ghostscript available else false</div>
264
+ </div></div>
265
+ </div>
266
  <a name="mla_no_texturize_shortcodes_filter" id="mla_no_texturize_shortcodes_filter"></a><div class="element clickable method public mla_no_texturize_shortcodes_filter" data-toggle="collapse" data-target=".mla_no_texturize_shortcodes_filter .collapse">
267
  <h2>Prevents wptexturizing of the [mla_gallery] shortcode, avoiding a bug in WP 4.0.</h2>
268
  <pre>mla_no_texturize_shortcodes_filter(array $no_texturize_shortcodes) : array</pre>
423
  <code>string</code>HTML content to display the tag cloud.</div>
424
  </div></div>
425
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
  <a name="_pad_term_counts" id="_pad_term_counts"></a><div class="element clickable method private _pad_term_counts" data-toggle="collapse" data-target="._pad_term_counts .collapse">
427
  <h2>Add count of children to parent count.</h2>
428
  <pre>_pad_term_counts(array $terms, string $taxonomy, array $post_types, array $post_stati) : null</pre>
634
  </div>
635
  <h3>
636
  <i class="icon-custom icon-property"></i> Properties</h3>
 
 
 
 
 
 
 
 
 
 
 
 
637
  <a name="%24mla_gallery_wp_query_object" id="$mla_gallery_wp_query_object"> </a><div class="element clickable property public $mla_gallery_wp_query_object" data-toggle="collapse" data-target=".$mla_gallery_wp_query_object .collapse">
638
  <h2>The WP_Query object used to select items for the gallery.</h2>
639
  <pre>$mla_gallery_wp_query_object : object</pre>
706
  <div class="row"><footer class="span12">
707
  Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
708
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
709
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
710
  </div>
711
  </body>
712
  </html>
phpDocs/classes/MLATest.html CHANGED
@@ -148,7 +148,7 @@ to ensure the plugin can run in the current WordPress envrionment.</p>
148
  <div class="row"><footer class="span12">
149
  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>
150
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
151
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
152
  </div>
153
  </body>
154
  </html>
148
  <div class="row"><footer class="span12">
149
  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>
150
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
151
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
152
  </div>
153
  </body>
154
  </html>
phpDocs/classes/MLATextWidget.html CHANGED
@@ -178,7 +178,7 @@
178
  <div class="row"><footer class="span12">
179
  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>
180
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
181
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
182
  </div>
183
  </body>
184
  </html>
178
  <div class="row"><footer class="span12">
179
  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>
180
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
181
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
182
  </div>
183
  </body>
184
  </html>
phpDocs/classes/MLA_Checklist_Walker.html CHANGED
@@ -163,7 +163,7 @@ Class Walker is defined in /wp-includes/class-wp-walker.php.</p></p>
163
  <div class="row"><footer class="span12">
164
  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>
165
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
166
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
167
  </div>
168
  </body>
169
  </html>
163
  <div class="row"><footer class="span12">
164
  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>
165
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
166
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
167
  </div>
168
  </body>
169
  </html>
phpDocs/classes/MLA_List_Table.html CHANGED
@@ -1193,7 +1193,7 @@ MLA_List_Table::mla_admin_init_action.</p></p>
1193
  <div class="row"><footer class="span12">
1194
  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>
1195
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1196
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
1197
  </div>
1198
  </body>
1199
  </html>
1193
  <div class="row"><footer class="span12">
1194
  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>
1195
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1196
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1197
  </div>
1198
  </body>
1199
  </html>
phpDocs/classes/MLA_Polylang.html CHANGED
@@ -596,7 +596,7 @@ markup used for the Quick and Bulk Edit forms.</td>
596
  <pre>mla_list_table_inline_values(array $item_values) : array</pre>
597
  <div class="labels"></div>
598
  <div class="row collapse"><div class="detail-description">
599
- <p class="long_description"><p>Builds the Language dropdown and edit ttranslation links
600
  for the Quick and Bulk Edit forms.</p></p>
601
  <table class="table table-bordered"><tr>
602
  <th>since</th>
@@ -662,7 +662,10 @@ for the Quick and Bulk Edit forms.</p></p>
662
  <pre>mla_list_table_submenu_arguments(array $submenu_arguments, object $include_filters) : array</pre>
663
  <div class="labels"></div>
664
  <div class="row collapse"><div class="detail-description">
665
- <p class="long_description"><p>Maintains the pll_view and list of Bulk Translate items in the URLs for paging through the results.</p></p>
 
 
 
666
  <table class="table table-bordered"><tr>
667
  <th>since</th>
668
  <td>2.11</td>
@@ -1296,7 +1299,7 @@ because localization calls cannot be placed in the "public static" array definit
1296
  <div class="row"><footer class="span12">
1297
  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>
1298
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1299
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
1300
  </div>
1301
  </body>
1302
  </html>
596
  <pre>mla_list_table_inline_values(array $item_values) : array</pre>
597
  <div class="labels"></div>
598
  <div class="row collapse"><div class="detail-description">
599
+ <p class="long_description"><p>Builds the Language dropdown and edit translation links
600
  for the Quick and Bulk Edit forms.</p></p>
601
  <table class="table table-bordered"><tr>
602
  <th>since</th>
662
  <pre>mla_list_table_submenu_arguments(array $submenu_arguments, object $include_filters) : array</pre>
663
  <div class="labels"></div>
664
  <div class="row collapse"><div class="detail-description">
665
+ <p class="long_description"><p>Adds a language ('lang') parameter to the URL parameters that will be
666
+ retained when the submenu page refreshes.
667
+ Maintains the pll_view and list of Bulk Translate items in the URLs for
668
+ paging through the results.</p></p>
669
  <table class="table table-bordered"><tr>
670
  <th>since</th>
671
  <td>2.11</td>
1299
  <div class="row"><footer class="span12">
1300
  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>
1301
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1302
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1303
  </div>
1304
  </body>
1305
  </html>
phpDocs/classes/MLA_Thumbnail.html ADDED
@@ -0,0 +1,341 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html><html xmlns:date="http://exslt.org/dates-and-times" lang="en">
2
+ <head>
3
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
+ <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
5
+ <meta charset="utf-8">
6
+ <title>Media Library Assistant » \MLA_Thumbnail</title>
7
+ <meta name="author" content="Mike van Riel">
8
+ <meta name="description" content="">
9
+ <link href="../css/template.css" rel="stylesheet" media="all">
10
+ <script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script><script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script><script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script><script src="../js/bootstrap.js" type="text/javascript"></script><script src="../js/template.js" type="text/javascript"></script><script src="../js/prettify/prettify.min.js" type="text/javascript"></script><link rel="shortcut icon" href="../img/favicon.ico">
11
+ <link rel="apple-touch-icon" href="../img/apple-touch-icon.png">
12
+ <link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png">
13
+ <link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png">
14
+ </head>
15
+ <body>
16
+ <div class="navbar navbar-fixed-top">
17
+ <div class="navbar-inner"><div class="container">
18
+ <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="../index.html">Media Library Assistant</a><div class="nav-collapse"><ul class="nav">
19
+ <li class="dropdown">
20
+ <a href="#api" class="dropdown-toggle" data-toggle="dropdown">
21
+ API Documentation <b class="caret"></b></a><ul class="dropdown-menu">
22
+ <li><a>Packages</a></li>
23
+ <li><a href="../packages/Media%20Library%20Assistant.html"><i class="icon-folder-open"></i> Media Library Assistant</a></li>
24
+ </ul>
25
+ </li>
26
+ <li class="dropdown" id="charts-menu">
27
+ <a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
28
+ Charts <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="../graph_class.html"><i class="icon-list-alt"></i> Class hierarchy diagram</a></li></ul>
29
+ </li>
30
+ <li class="dropdown" id="reports-menu">
31
+ <a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
32
+ Reports <b class="caret"></b></a><ul class="dropdown-menu">
33
+ <li><a href="../errors.html"><i class="icon-remove-sign"></i> Errors 
34
+ <span class="label label-info">0</span></a></li>
35
+ <li><a href="../markers.html"><i class="icon-map-marker"></i> Markers 
36
+ <ul><li>todo 
37
+ <span class="label label-info">1</span>
38
+ </li></ul></a></li>
39
+ <li><a href="../deprecated.html"><i class="icon-stop"></i> Deprecated elements 
40
+ <span class="label label-info">0</span></a></li>
41
+ </ul>
42
+ </li>
43
+ </ul></div>
44
+ </div></div>
45
+ <div class="go_to_top"><a href="#___" style="color: inherit">Back to top  <i class="icon-upload icon-white"></i></a></div>
46
+ </div>
47
+ <div id="___" class="container">
48
+ <noscript><div class="alert alert-warning">
49
+ Javascript is disabled; several features are only available
50
+ if Javascript is enabled.
51
+ </div></noscript>
52
+ <div class="row">
53
+ <div class="span4">
54
+ <span class="btn-group visibility" data-toggle="buttons-checkbox"><button class="btn public active" title="Show public elements">Public</button><button class="btn protected" title="Show protected elements">Protected</button><button class="btn private" title="Show private elements">Private</button><button class="btn inherited active" title="Show inherited elements">Inherited</button></span><div class="btn-group view pull-right" data-toggle="buttons-radio">
55
+ <button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button><button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
56
+ </div>
57
+ <ul class="side-nav nav nav-list">
58
+ <li class="nav-header">
59
+ <i class="icon-custom icon-method"></i> Methods</li>
60
+ <li class="method public "><a href="#admin_enqueue_scripts" title="admin_enqueue_scripts :: Load the plugin's Style Sheet and Javascript files"><span class="description">Load the plugin's Style Sheet and Javascript files</span><pre>admin_enqueue_scripts()</pre></a></li>
61
+ <li class="method public "><a href="#initialize" title="initialize :: Initialization function, similar to __construct()"><span class="description">Initialization function, similar to __construct()</span><pre>initialize()</pre></a></li>
62
+ <li class="method public "><a href="#mla_list_table_begin_bulk_action" title="mla_list_table_begin_bulk_action :: Begin an MLA_List_Table bulk action"><span class="description">Begin an MLA_List_Table bulk action</span><pre>mla_list_table_begin_bulk_action()</pre></a></li>
63
+ <li class="method public "><a href="#mla_list_table_custom_bulk_action" title="mla_list_table_custom_bulk_action :: Process an MLA_List_Table custom bulk action"><span class="description">Process an MLA_List_Table custom bulk action</span><pre>mla_list_table_custom_bulk_action()</pre></a></li>
64
+ <li class="method public "><a href="#mla_list_table_end_bulk_action" title="mla_list_table_end_bulk_action :: End an MLA_List_Table bulk action"><span class="description">End an MLA_List_Table bulk action</span><pre>mla_list_table_end_bulk_action()</pre></a></li>
65
+ <li class="method public "><a href="#mla_list_table_get_bulk_actions" title="mla_list_table_get_bulk_actions :: Filter the MLA_List_Table bulk actions"><span class="description">Filter the MLA_List_Table bulk actions</span><pre>mla_list_table_get_bulk_actions()</pre></a></li>
66
+ <li class="method public "><a href="#mla_list_table_help_template" title="mla_list_table_help_template :: Load the MLA_List_Table dropdown help menu template"><span class="description">Load the MLA_List_Table dropdown help menu template</span><pre>mla_list_table_help_template()</pre></a></li>
67
+ <li class="method public "><a href="#mla_list_table_inline_parse" title="mla_list_table_inline_parse :: MLA_List_Table inline edit parse"><span class="description">MLA_List_Table inline edit parse</span><pre>mla_list_table_inline_parse()</pre></a></li>
68
+ <li class="method public "><a href="#mla_list_table_submenu_arguments" title='mla_list_table_submenu_arguments :: Filter the "sticky" submenu URL parameters'><span class="description">Filter the "sticky" submenu URL parameters</span><pre>mla_list_table_submenu_arguments()</pre></a></li>
69
+ <li class="nav-header">
70
+ <i class="icon-custom icon-property"></i> Properties</li>
71
+ <li class="nav-header private">» Private</li>
72
+ <li class="property private "><a href="#%24bulk_action_includes" title="$bulk_action_includes :: Items returned by custom bulk action(s)"><span class="description">Items returned by custom bulk action(s)</span><pre>$bulk_action_includes</pre></a></li>
73
+ <li class="property private "><a href="#%24bulk_action_options" title="$bulk_action_options :: Options for the thumbnail generation bulk action"><span class="description">Options for the thumbnail generation bulk action</span><pre>$bulk_action_options</pre></a></li>
74
+ <li class="nav-header">
75
+ <i class="icon-custom icon-constant"></i> Constants</li>
76
+ <li class="constant "><a href="#MLA_GFI_ACTION" title="MLA_GFI_ACTION :: Uniquely identifies the Thumbnails bulk action"><span class="description">Uniquely identifies the Thumbnails bulk action</span><pre>MLA_GFI_ACTION</pre></a></li>
77
+ </ul>
78
+ </div>
79
+ <div class="span8">
80
+ <a name="%5CMLA_Thumbnail" id="\MLA_Thumbnail"></a><ul class="breadcrumb">
81
+ <li>
82
+ <a href="../index.html"><i class="icon-custom icon-class"></i></a><span class="divider">\</span>
83
+ </li>
84
+ <li><a href="../namespaces/global.html">global</a></li>
85
+ <li class="active">
86
+ <span class="divider">\</span><a href="../classes/MLA_Thumbnail.html">MLA_Thumbnail</a>
87
+ </li>
88
+ </ul>
89
+ <div href="../classes/MLA_Thumbnail.html" class="element class">
90
+ <p class="short_description">Class MLA (Media Library Assistant) Thumbnails provides support for
91
+ Featured IMage generation</p>
92
+ <div class="details">
93
+ <p class="long_description"></p>
94
+ <table class="table table-bordered">
95
+ <tr>
96
+ <th>package</th>
97
+ <td><a href="../packages/Media%20Library%20Assistant.html">Media Library Assistant</a></td>
98
+ </tr>
99
+ <tr>
100
+ <th>since</th>
101
+ <td>2.13</td>
102
+ </tr>
103
+ </table>
104
+ <h3>
105
+ <i class="icon-custom icon-method"></i> Methods</h3>
106
+ <a name="admin_enqueue_scripts" id="admin_enqueue_scripts"></a><div class="element clickable method public admin_enqueue_scripts" data-toggle="collapse" data-target=".admin_enqueue_scripts .collapse">
107
+ <h2>Load the plugin's Style Sheet and Javascript files</h2>
108
+ <pre>admin_enqueue_scripts(string $page_hook) : void</pre>
109
+ <div class="labels"></div>
110
+ <div class="row collapse"><div class="detail-description">
111
+ <p class="long_description"></p>
112
+ <table class="table table-bordered"><tr>
113
+ <th>since</th>
114
+ <td>2.13</td>
115
+ </tr></table>
116
+ <h3>Parameters</h3>
117
+ <div class="subelement argument">
118
+ <h4>$page_hook</h4>
119
+ <code>string</code><p>Name of the page being loaded</p></div>
120
+ </div></div>
121
+ </div>
122
+ <a name="initialize" id="initialize"></a><div class="element clickable method public initialize" data-toggle="collapse" data-target=".initialize .collapse">
123
+ <h2>Initialization function, similar to __construct()</h2>
124
+ <pre>initialize() : void</pre>
125
+ <div class="labels"></div>
126
+ <div class="row collapse"><div class="detail-description">
127
+ <p class="long_description"></p>
128
+ <table class="table table-bordered"><tr>
129
+ <th>since</th>
130
+ <td>2.13</td>
131
+ </tr></table>
132
+ </div></div>
133
+ </div>
134
+ <a name="mla_list_table_begin_bulk_action" id="mla_list_table_begin_bulk_action"></a><div class="element clickable method public mla_list_table_begin_bulk_action" data-toggle="collapse" data-target=".mla_list_table_begin_bulk_action .collapse">
135
+ <h2>Begin an MLA_List_Table bulk action</h2>
136
+ <pre>mla_list_table_begin_bulk_action(array $item_content, string $bulk_action) </pre>
137
+ <div class="labels"></div>
138
+ <div class="row collapse"><div class="detail-description">
139
+ <p class="long_description"><p>Prepare the thumbnail generation options.</p></p>
140
+ <table class="table table-bordered"><tr>
141
+ <th>since</th>
142
+ <td>2.13</td>
143
+ </tr></table>
144
+ <h3>Parameters</h3>
145
+ <div class="subelement argument">
146
+ <h4>$item_content</h4>
147
+ <code>array</code><p>NULL, to indicate no handler.</p></div>
148
+ <div class="subelement argument">
149
+ <h4>$bulk_action</h4>
150
+ <code>string</code><p>the requested action.</p></div>
151
+ </div></div>
152
+ </div>
153
+ <a name="mla_list_table_custom_bulk_action" id="mla_list_table_custom_bulk_action"></a><div class="element clickable method public mla_list_table_custom_bulk_action" data-toggle="collapse" data-target=".mla_list_table_custom_bulk_action .collapse">
154
+ <h2>Process an MLA_List_Table custom bulk action</h2>
155
+ <pre>mla_list_table_custom_bulk_action(array $item_content, string $bulk_action, integer $post_id) : object</pre>
156
+ <div class="labels"></div>
157
+ <div class="row collapse"><div class="detail-description">
158
+ <p class="long_description"><p>Creates new items from the "Bulk Translate" list.</p></p>
159
+ <table class="table table-bordered"><tr>
160
+ <th>since</th>
161
+ <td>2.13</td>
162
+ </tr></table>
163
+ <h3>Parameters</h3>
164
+ <div class="subelement argument">
165
+ <h4>$item_content</h4>
166
+ <code>array</code><p>NULL, to indicate no handler.</p></div>
167
+ <div class="subelement argument">
168
+ <h4>$bulk_action</h4>
169
+ <code>string</code><p>the requested action.</p></div>
170
+ <div class="subelement argument">
171
+ <h4>$post_id</h4>
172
+ <code>integer</code><p>the affected attachment.</p></div>
173
+ <h3>Returns</h3>
174
+ <div class="subelement response">
175
+ <code>object</code>updated $item_content. NULL if no handler, otherwise ( 'message' => error or status message(s), 'body' => '' )</div>
176
+ </div></div>
177
+ </div>
178
+ <a name="mla_list_table_end_bulk_action" id="mla_list_table_end_bulk_action"></a><div class="element clickable method public mla_list_table_end_bulk_action" data-toggle="collapse" data-target=".mla_list_table_end_bulk_action .collapse">
179
+ <h2>End an MLA_List_Table bulk action</h2>
180
+ <pre>mla_list_table_end_bulk_action(array $item_content, string $bulk_action) </pre>
181
+ <div class="labels"></div>
182
+ <div class="row collapse"><div class="detail-description">
183
+ <p class="long_description"><p>Add the query arguments required for the "Generated Thumbnails" filter.</p></p>
184
+ <table class="table table-bordered"><tr>
185
+ <th>since</th>
186
+ <td>2.13</td>
187
+ </tr></table>
188
+ <h3>Parameters</h3>
189
+ <div class="subelement argument">
190
+ <h4>$item_content</h4>
191
+ <code>array</code><p>NULL, to indicate no handler.</p></div>
192
+ <div class="subelement argument">
193
+ <h4>$bulk_action</h4>
194
+ <code>string</code><p>the requested action.</p></div>
195
+ </div></div>
196
+ </div>
197
+ <a name="mla_list_table_get_bulk_actions" id="mla_list_table_get_bulk_actions"></a><div class="element clickable method public mla_list_table_get_bulk_actions" data-toggle="collapse" data-target=".mla_list_table_get_bulk_actions .collapse">
198
+ <h2>Filter the MLA_List_Table bulk actions</h2>
199
+ <pre>mla_list_table_get_bulk_actions(array $actions) : array</pre>
200
+ <div class="labels"></div>
201
+ <div class="row collapse"><div class="detail-description">
202
+ <p class="long_description"><p>Adds the "Thumbnail" action to the Bulk Actions list.</p></p>
203
+ <table class="table table-bordered"><tr>
204
+ <th>since</th>
205
+ <td>2.13</td>
206
+ </tr></table>
207
+ <h3>Parameters</h3>
208
+ <div class="subelement argument">
209
+ <h4>$actions</h4>
210
+ <code>array</code><p>An array of bulk actions. Format: 'slug' => 'Label'</p>
211
+ </div>
212
+ <h3>Returns</h3>
213
+ <div class="subelement response">
214
+ <code>array</code>updated array of actions.</div>
215
+ </div></div>
216
+ </div>
217
+ <a name="mla_list_table_help_template" id="mla_list_table_help_template"></a><div class="element clickable method public mla_list_table_help_template" data-toggle="collapse" data-target=".mla_list_table_help_template .collapse">
218
+ <h2>Load the MLA_List_Table dropdown help menu template</h2>
219
+ <pre>mla_list_table_help_template(array $template_array, string $file_name, string $file_suffix) </pre>
220
+ <div class="labels"></div>
221
+ <div class="row collapse"><div class="detail-description">
222
+ <p class="long_description"><p>Add the thumbnail generation options documentation.</p></p>
223
+ <table class="table table-bordered"><tr>
224
+ <th>since</th>
225
+ <td>2.13</td>
226
+ </tr></table>
227
+ <h3>Parameters</h3>
228
+ <div class="subelement argument">
229
+ <h4>$template_array</h4>
230
+ <code>array</code><p>NULL, to indicate no replacement template.</p></div>
231
+ <div class="subelement argument">
232
+ <h4>$file_name</h4>
233
+ <code>string</code><p>the complete name of the default template file.</p></div>
234
+ <div class="subelement argument">
235
+ <h4>$file_suffix</h4>
236
+ <code>string</code><p>the $screen->id or hook suffix part of the template file name.</p>
237
+ </div>
238
+ </div></div>
239
+ </div>
240
+ <a name="mla_list_table_inline_parse" id="mla_list_table_inline_parse"></a><div class="element clickable method public mla_list_table_inline_parse" data-toggle="collapse" data-target=".mla_list_table_inline_parse .collapse">
241
+ <h2>MLA_List_Table inline edit parse</h2>
242
+ <pre>mla_list_table_inline_parse(string $html_markup, string $item_template, array $item_values) : array</pre>
243
+ <div class="labels"></div>
244
+ <div class="row collapse"><div class="detail-description">
245
+ <p class="long_description"></p>
246
+ <table class="table table-bordered"><tr>
247
+ <th>since</th>
248
+ <td>2.13
249
+ Adds Bulk Translate form and the Language dropdown
250
+ markup used for the Quick and Bulk Edit forms.</td>
251
+ </tr></table>
252
+ <h3>Parameters</h3>
253
+ <div class="subelement argument">
254
+ <h4>$html_markup</h4>
255
+ <code>string</code><p>HTML markup returned by the template parser</p></div>
256
+ <div class="subelement argument">
257
+ <h4>$item_template</h4>
258
+ <code>string</code><p>template used to generate the HTML markup</p></div>
259
+ <div class="subelement argument">
260
+ <h4>$item_values</h4>
261
+ <code>array</code><p>parameter_name => parameter_value pairs</p>
262
+ </div>
263
+ <h3>Returns</h3>
264
+ <div class="subelement response">
265
+ <code>array</code>updated HTML markup for the Quick and Bulk Edit forms</div>
266
+ </div></div>
267
+ </div>
268
+ <a name="mla_list_table_submenu_arguments" id="mla_list_table_submenu_arguments"></a><div class="element clickable method public mla_list_table_submenu_arguments" data-toggle="collapse" data-target=".mla_list_table_submenu_arguments .collapse">
269
+ <h2>Filter the "sticky" submenu URL parameters</h2>
270
+ <pre>mla_list_table_submenu_arguments(array $submenu_arguments, object $include_filters) : array</pre>
271
+ <div class="labels"></div>
272
+ <div class="row collapse"><div class="detail-description">
273
+ <p class="long_description"><p>Maintains the pll_view and list of Bulk Translate items in the URLs for paging through the results.</p></p>
274
+ <table class="table table-bordered"><tr>
275
+ <th>since</th>
276
+ <td>2.13</td>
277
+ </tr></table>
278
+ <h3>Parameters</h3>
279
+ <div class="subelement argument">
280
+ <h4>$submenu_arguments</h4>
281
+ <code>array</code><p>Current view, pagination and sort parameters.</p></div>
282
+ <div class="subelement argument">
283
+ <h4>$include_filters</h4>
284
+ <code>object</code><p>True to include "filter-by" parameters, e.g., year/month dropdown.</p>
285
+ </div>
286
+ <h3>Returns</h3>
287
+ <div class="subelement response">
288
+ <code>array</code>updated submenu_arguments.</div>
289
+ </div></div>
290
+ </div>
291
+ <h3>
292
+ <i class="icon-custom icon-property"></i> Properties</h3>
293
+ <a name="%24bulk_action_includes" id="$bulk_action_includes"> </a><div class="element clickable property private $bulk_action_includes" data-toggle="collapse" data-target=".$bulk_action_includes .collapse">
294
+ <h2>Items returned by custom bulk action(s)</h2>
295
+ <pre>$bulk_action_includes : array</pre>
296
+ <div class="labels"></div>
297
+ <div class="row collapse"><div class="detail-description">
298
+ <p class="long_description"></p>
299
+ <table class="table table-bordered"><tr>
300
+ <th>since</th>
301
+ <td>2.13</td>
302
+ </tr></table>
303
+ </div></div>
304
+ </div>
305
+ <a name="%24bulk_action_options" id="$bulk_action_options"> </a><div class="element clickable property private $bulk_action_options" data-toggle="collapse" data-target=".$bulk_action_options .collapse">
306
+ <h2>Options for the thumbnail generation bulk action</h2>
307
+ <pre>$bulk_action_options : array</pre>
308
+ <div class="labels"></div>
309
+ <div class="row collapse"><div class="detail-description">
310
+ <p class="long_description"></p>
311
+ <table class="table table-bordered"><tr>
312
+ <th>since</th>
313
+ <td>2.13</td>
314
+ </tr></table>
315
+ </div></div>
316
+ </div>
317
+ <h3>
318
+ <i class="icon-custom icon-constant"></i> Constants</h3>
319
+ <a name="MLA_GFI_ACTION" id="MLA_GFI_ACTION"> </a><div class="element clickable constant MLA_GFI_ACTION" data-toggle="collapse" data-target=".MLA_GFI_ACTION .collapse">
320
+ <h2>Uniquely identifies the Thumbnails bulk action</h2>
321
+ <pre>MLA_GFI_ACTION : string</pre>
322
+ <div class="labels"></div>
323
+ <div class="row collapse"><div class="detail-description">
324
+ <p class="long_description"></p>
325
+ <table class="table table-bordered"><tr>
326
+ <th>since</th>
327
+ <td>2.13</td>
328
+ </tr></table>
329
+ </div></div>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ <div class="row"><footer class="span12">
336
+ 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>
337
+ Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
338
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
339
+ </div>
340
+ </body>
341
+ </html>
phpDocs/classes/MLA_Upload_List_Table.html CHANGED
@@ -736,7 +736,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
736
  <div class="row"><footer class="span12">
737
  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>
738
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
739
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
740
  </div>
741
  </body>
742
  </html>
736
  <div class="row"><footer class="span12">
737
  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>
738
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
739
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
740
  </div>
741
  </body>
742
  </html>
phpDocs/classes/MLA_Upload_Optional_List_Table.html CHANGED
@@ -554,7 +554,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
554
  <div class="row"><footer class="span12">
555
  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>
556
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
557
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
558
  </div>
559
  </body>
560
  </html>
554
  <div class="row"><footer class="span12">
555
  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>
556
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
557
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
558
  </div>
559
  </body>
560
  </html>
phpDocs/classes/MLA_View_List_Table.html CHANGED
@@ -633,7 +633,7 @@ sorted by that column. This is computed each time the table is displayed.</p></p
633
  <div class="row"><footer class="span12">
634
  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>
635
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
636
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
637
  </div>
638
  </body>
639
  </html>
633
  <div class="row"><footer class="span12">
634
  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>
635
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
636
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
637
  </div>
638
  </body>
639
  </html>
phpDocs/classes/MLA_WPML.html CHANGED
@@ -849,7 +849,7 @@ because localization calls cannot be placed in the "public static" array definit
849
  <div class="row"><footer class="span12">
850
  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>
851
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
852
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
853
  </div>
854
  </body>
855
  </html>
849
  <div class="row"><footer class="span12">
850
  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>
851
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
852
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
853
  </div>
854
  </body>
855
  </html>
phpDocs/classes/MLA_WPML_List_Table.html CHANGED
@@ -1523,7 +1523,7 @@ MLA_List_Table::mla_admin_init_action.</p></p>
1523
  <div class="row"><footer class="span12">
1524
  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>
1525
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1526
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
1527
  </div>
1528
  </body>
1529
  </html>
1523
  <div class="row"><footer class="span12">
1524
  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>
1525
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
1526
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
1527
  </div>
1528
  </body>
1529
  </html>
phpDocs/classes/MLA_WPML_Table.html CHANGED
@@ -62,7 +62,7 @@
62
  <li class="method public "><a href="#mla_list_table_column_default" title="mla_list_table_column_default :: Supply a column value if no column-specific function has been defined"><span class="description">Supply a column value if no column-specific function has been defined</span><pre>mla_list_table_column_default()</pre></a></li>
63
  <li class="method public "><a href="#mla_list_table_get_columns" title="mla_list_table_get_columns :: Filter the MLA_List_Table columns"><span class="description">Filter the MLA_List_Table columns</span><pre>mla_list_table_get_columns()</pre></a></li>
64
  <li class="method public "><a href="#mla_list_table_new_instance" title="mla_list_table_new_instance :: Extend the MLA_List_Table class"><span class="description">Extend the MLA_List_Table class</span><pre>mla_list_table_new_instance()</pre></a></li>
65
- <li class="method public "><a href="#mla_list_table_submenu_arguments" title="mla_list_table_submenu_arguments :: Filter the MLA_List_Table columns"><span class="description">Filter the MLA_List_Table columns</span><pre>mla_list_table_submenu_arguments()</pre></a></li>
66
  <li class="method public "><a href="#mla_views_media_page_mla_menu_filter" title='mla_views_media_page_mla_menu_filter :: Handler for filter "views_{$this-&gt;screen-&gt;id}" in /wp-admin/includes/class-wp-list-table.php'><span class="description">Handler for filter "views_{$this-&gt;screen-&gt;id}" in /wp-admin/includes/class-wp-list-table.php</span><pre>mla_views_media_page_mla_menu_filter()</pre></a></li>
67
  <li class="method public "><a href="#mla_wpml_media_view_upload_count_filter" title='mla_wpml_media_view_upload_count_filter :: Handler for filter "wpml-media_view-upload-count" in
68
  /plugins/wpml-media/inc/wpml-media.class.php'><span class="description">Handler for filter "wpml-media_view-upload-count" in
@@ -203,13 +203,12 @@ then creates the WPML_List_Table passing it a reference to the new "parent" obje
203
  </div></div>
204
  </div>
205
  <a name="mla_list_table_submenu_arguments" id="mla_list_table_submenu_arguments"></a><div class="element clickable method public mla_list_table_submenu_arguments" data-toggle="collapse" data-target=".mla_list_table_submenu_arguments .collapse">
206
- <h2>Filter the MLA_List_Table columns</h2>
207
  <pre>mla_list_table_submenu_arguments(array $submenu_arguments, boolean $include_filters) : array</pre>
208
  <div class="labels"></div>
209
  <div class="row collapse"><div class="detail-description">
210
- <p class="long_description"><p>Inserts the language columns just after the item thumbnail column.
211
- Defined as static because it is called before the List_Table object is created.
212
- Added as a filter when the file is loaded.</p></p>
213
  <table class="table table-bordered"><tr>
214
  <th>since</th>
215
  <td>2.11</td>
@@ -385,7 +384,7 @@ The count is made language-specific by WPML filters when the current_language is
385
  <div class="row"><footer class="span12">
386
  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>
387
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
388
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
389
  </div>
390
  </body>
391
  </html>
62
  <li class="method public "><a href="#mla_list_table_column_default" title="mla_list_table_column_default :: Supply a column value if no column-specific function has been defined"><span class="description">Supply a column value if no column-specific function has been defined</span><pre>mla_list_table_column_default()</pre></a></li>
63
  <li class="method public "><a href="#mla_list_table_get_columns" title="mla_list_table_get_columns :: Filter the MLA_List_Table columns"><span class="description">Filter the MLA_List_Table columns</span><pre>mla_list_table_get_columns()</pre></a></li>
64
  <li class="method public "><a href="#mla_list_table_new_instance" title="mla_list_table_new_instance :: Extend the MLA_List_Table class"><span class="description">Extend the MLA_List_Table class</span><pre>mla_list_table_new_instance()</pre></a></li>
65
+ <li class="method public "><a href="#mla_list_table_submenu_arguments" title='mla_list_table_submenu_arguments :: Filter the "sticky" submenu URL parameters'><span class="description">Filter the "sticky" submenu URL parameters</span><pre>mla_list_table_submenu_arguments()</pre></a></li>
66
  <li class="method public "><a href="#mla_views_media_page_mla_menu_filter" title='mla_views_media_page_mla_menu_filter :: Handler for filter "views_{$this-&gt;screen-&gt;id}" in /wp-admin/includes/class-wp-list-table.php'><span class="description">Handler for filter "views_{$this-&gt;screen-&gt;id}" in /wp-admin/includes/class-wp-list-table.php</span><pre>mla_views_media_page_mla_menu_filter()</pre></a></li>
67
  <li class="method public "><a href="#mla_wpml_media_view_upload_count_filter" title='mla_wpml_media_view_upload_count_filter :: Handler for filter "wpml-media_view-upload-count" in
68
  /plugins/wpml-media/inc/wpml-media.class.php'><span class="description">Handler for filter "wpml-media_view-upload-count" in
203
  </div></div>
204
  </div>
205
  <a name="mla_list_table_submenu_arguments" id="mla_list_table_submenu_arguments"></a><div class="element clickable method public mla_list_table_submenu_arguments" data-toggle="collapse" data-target=".mla_list_table_submenu_arguments .collapse">
206
+ <h2>Filter the "sticky" submenu URL parameters</h2>
207
  <pre>mla_list_table_submenu_arguments(array $submenu_arguments, boolean $include_filters) : array</pre>
208
  <div class="labels"></div>
209
  <div class="row collapse"><div class="detail-description">
210
+ <p class="long_description"><p>Adds a language ('lang') parameter to the URL parameters that will be
211
+ retained when the submenu page refreshes.</p></p>
 
212
  <table class="table table-bordered"><tr>
213
  <th>since</th>
214
  <td>2.11</td>
384
  <div class="row"><footer class="span12">
385
  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>
386
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
387
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
388
  </div>
389
  </body>
390
  </html>
phpDocs/classes/MNA_Pad_Counts_Walker.html CHANGED
@@ -139,7 +139,7 @@ Class Walker_Category is defined in /wp-includes/category-template.php</p></p>
139
  <div class="row"><footer class="span12">
140
  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>
141
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
142
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
143
  </div>
144
  </body>
145
  </html>
139
  <div class="row"><footer class="span12">
140
  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>
141
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
142
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
143
  </div>
144
  </body>
145
  </html>
phpDocs/deprecated.html CHANGED
@@ -67,7 +67,7 @@
67
  <div class="row"><footer class="span12">
68
  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>
69
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
70
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
71
  </div>
72
  </body>
73
  </html>
67
  <div class="row"><footer class="span12">
68
  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>
69
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
70
+ generated on 2015-07-08T19:21:51-07:00.<br></footer></div>
71
  </div>
72
  </body>
73
  </html>
phpDocs/errors.html CHANGED
@@ -106,12 +106,14 @@
106
  <div class="package-contents"></div>
107
  <div class="package-contents"></div>
108
  <div class="package-contents"></div>
 
 
109
  </div>
110
  </div>
111
  <div class="row"><footer class="span12">
112
  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>
113
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
114
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
115
  </div>
116
  </body>
117
  </html>
106
  <div class="package-contents"></div>
107
  <div class="package-contents"></div>
108
  <div class="package-contents"></div>
109
+ <div class="package-contents"></div>
110
+ <div class="package-contents"></div>
111
  </div>
112
  </div>
113
  <div class="row"><footer class="span12">
114
  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>
115
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
116
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
117
  </div>
118
  </body>
119
  </html>
phpDocs/graph_class.html CHANGED
@@ -64,7 +64,7 @@
64
  </script><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 2015-06-06T19:41:36-07:00.<br></footer></div>
68
  </div>
69
  </body>
70
  </html>
64
  </script><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 2015-07-08T19:21:51-07:00.<br></footer></div>
68
  </div>
69
  </body>
70
  </html>
phpDocs/index.html CHANGED
@@ -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 2015-06-06T19:41:35-07:00.<br></footer></div>
90
  </div>
91
  </body>
92
  </html>
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 2015-07-08T19:21:50-07:00.<br></footer></div>
90
  </div>
91
  </body>
92
  </html>
phpDocs/markers.html CHANGED
@@ -89,7 +89,7 @@
89
  <div class="row"><footer class="span12">
90
  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>
91
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
92
- generated on 2015-06-06T19:41:36-07:00.<br></footer></div>
93
  </div>
94
  </body>
95
  </html>
89
  <div class="row"><footer class="span12">
90
  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>
91
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
92
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
93
  </div>
94
  </body>
95
  </html>
phpDocs/namespaces/global.html CHANGED
@@ -292,6 +292,15 @@ of images and files held in the WordPress Media Library.</p>
292
  <div class="details collapse"></div>
293
  <a href="../classes/MLAEdit.html" class="more">« More »</a>
294
  </div>
 
 
 
 
 
 
 
 
 
295
  <a name="MLAMime" id="MLAMime"></a><div class="element ajax clickable class" href="../classes/MLAMime.html">
296
  <h1>MLAMime<a href="../classes/MLAMime.html">¶</a>
297
  </h1>
@@ -351,14 +360,6 @@ and provides functions to get and put them from/to WordPress option variables</p
351
  <div class="details collapse"></div>
352
  <a href="../classes/MLAShortcodes.html" class="more">« More »</a>
353
  </div>
354
- <a name="MLAStreamImage" id="MLAStreamImage"></a><div class="element ajax clickable class" href="../classes/MLAStreamImage.html">
355
- <h1>MLAStreamImage<a href="../classes/MLAStreamImage.html">¶</a>
356
- </h1>
357
- <p class="short_description">Class MLA (Media Library Assistant) Stream Image provides PDF thumbnails
358
- for the [mla_gallery] mla_viewer.</p>
359
- <div class="details collapse"></div>
360
- <a href="../classes/MLAStreamImage.html" class="more">« More »</a>
361
- </div>
362
  <a name="MLATest" id="MLATest"></a><div class="element ajax clickable class" href="../classes/MLATest.html">
363
  <h1>MLATest<a href="../classes/MLATest.html">¶</a>
364
  </h1>
@@ -396,6 +397,14 @@ Polylang Multilingual plugin</p>
396
  <div class="details collapse"></div>
397
  <a href="../classes/MLA_Polylang.html" class="more">« More »</a>
398
  </div>
 
 
 
 
 
 
 
 
399
  <a name="MLA_Upload_List_Table" id="MLA_Upload_List_Table"></a><div class="element ajax clickable class" href="../classes/MLA_Upload_List_Table.html">
400
  <h1>MLA_Upload_List_Table<a href="../classes/MLA_Upload_List_Table.html">¶</a>
401
  </h1>
@@ -492,7 +501,7 @@ family of plugins, including WPML Media, for an MLA_List_Table object.</p>
492
  <div class="row"><footer class="span12">
493
  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>
494
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
495
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
496
  </div>
497
  </body>
498
  </html>
292
  <div class="details collapse"></div>
293
  <a href="../classes/MLAEdit.html" class="more">« More »</a>
294
  </div>
295
+ <a name="MLAImageProcessor" id="MLAImageProcessor"></a><div class="element ajax clickable class" href="../classes/MLAImageProcessor.html">
296
+ <h1>MLAImageProcessor<a href="../classes/MLAImageProcessor.html">¶</a>
297
+ </h1>
298
+ <p class="short_description">Class MLA (Media Library Assistant) Image Processor provides PDF thumbnails
299
+ for the [mla_gallery] mla_viewer
300
+ and Media/Assistant thumbnail generator.</p>
301
+ <div class="details collapse"></div>
302
+ <a href="../classes/MLAImageProcessor.html" class="more">« More »</a>
303
+ </div>
304
  <a name="MLAMime" id="MLAMime"></a><div class="element ajax clickable class" href="../classes/MLAMime.html">
305
  <h1>MLAMime<a href="../classes/MLAMime.html">¶</a>
306
  </h1>
360
  <div class="details collapse"></div>
361
  <a href="../classes/MLAShortcodes.html" class="more">« More »</a>
362
  </div>
 
 
 
 
 
 
 
 
363
  <a name="MLATest" id="MLATest"></a><div class="element ajax clickable class" href="../classes/MLATest.html">
364
  <h1>MLATest<a href="../classes/MLATest.html">¶</a>
365
  </h1>
397
  <div class="details collapse"></div>
398
  <a href="../classes/MLA_Polylang.html" class="more">« More »</a>
399
  </div>
400
+ <a name="MLA_Thumbnail" id="MLA_Thumbnail"></a><div class="element ajax clickable class" href="../classes/MLA_Thumbnail.html">
401
+ <h1>MLA_Thumbnail<a href="../classes/MLA_Thumbnail.html">¶</a>
402
+ </h1>
403
+ <p class="short_description">Class MLA (Media Library Assistant) Thumbnails provides support for
404
+ Featured IMage generation</p>
405
+ <div class="details collapse"></div>
406
+ <a href="../classes/MLA_Thumbnail.html" class="more">« More »</a>
407
+ </div>
408
  <a name="MLA_Upload_List_Table" id="MLA_Upload_List_Table"></a><div class="element ajax clickable class" href="../classes/MLA_Upload_List_Table.html">
409
  <h1>MLA_Upload_List_Table<a href="../classes/MLA_Upload_List_Table.html">¶</a>
410
  </h1>
501
  <div class="row"><footer class="span12">
502
  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>
503
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
504
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
505
  </div>
506
  </body>
507
  </html>
phpDocs/packages/Media Library Assistant.MLA.Child.Theme.html CHANGED
@@ -268,7 +268,7 @@ display an "accordian-style" list.</p></p>
268
  <div class="row"><footer class="span12">
269
  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>
270
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
271
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
272
  </div>
273
  </body>
274
  </html>
268
  <div class="row"><footer class="span12">
269
  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>
270
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
271
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
272
  </div>
273
  </body>
274
  </html>
phpDocs/packages/Media Library Assistant.MLA.Child.html CHANGED
@@ -265,7 +265,7 @@ display an "accordian-style" list.</p></p>
265
  <div class="row"><footer class="span12">
266
  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>
267
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
268
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
269
  </div>
270
  </body>
271
  </html>
265
  <div class="row"><footer class="span12">
266
  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>
267
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
268
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
269
  </div>
270
  </body>
271
  </html>
phpDocs/packages/Media Library Assistant.MLA.html CHANGED
@@ -276,7 +276,7 @@ display an "accordian-style" list.</p></p>
276
  <div class="row"><footer class="span12">
277
  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>
278
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
279
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
280
  </div>
281
  </body>
282
  </html>
276
  <div class="row"><footer class="span12">
277
  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>
278
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
279
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
280
  </div>
281
  </body>
282
  </html>
phpDocs/packages/Media Library Assistant.html CHANGED
@@ -77,6 +77,11 @@
77
  <li><a href="#MLAData" title="Class MLA (Media Library Assistant) Data provides database and template file access for MLA needs">MLAData</a></li>
78
  <li><a href="#MLAEdit" title="Class MLA (Media Library Assistant) Edit contains meta boxes for the Edit Media (advanced-form-edit.php) screen">MLAEdit</a></li>
79
  <li><a href="#MLA_Checklist_Walker" title="Class MLA (Media Library Assistant) Checklist Walker replaces term_id with slug in checklist output">MLA_Checklist_Walker</a></li>
 
 
 
 
 
80
  <li><a href="#MLA_List_Table" title='Class MLA (Media Library Assistant) List Table implements the "Assistant" admin submenu'>MLA_List_Table</a></li>
81
  <li><a href="#MLA" title="Class MLA (Media Library Assistant) provides several enhancements to the handling
82
  of images and files held in the WordPress Media Library.">MLA</a></li>
@@ -91,6 +96,8 @@ and provides functions to get and put them from/to WordPress option variables">M
91
  Polylang Multilingual plugin">MLA_Polylang</a></li>
92
  <li><a href="#MLASettings" title="Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings">MLASettings</a></li>
93
  <li><a href="#MLAShortcodes" title="Class MLA (Media Library Assistant) Shortcodes defines the shortcodes available to MLA users">MLAShortcodes</a></li>
 
 
94
  <li><a href="#MLA_Upload_List_Table" title='Class MLA (Media Library Assistant) Upload List Table implements the "Upload" admin settings tab'>MLA_Upload_List_Table</a></li>
95
  <li><a href="#MLA_Upload_Optional_List_Table" title='Class MLA (Media Library Assistant) Upload Optional List Table implements the
96
  searchable database of exension/type associations for the "Uploads" admin settings tab'>MLA_Upload_Optional_List_Table</a></li>
@@ -100,10 +107,6 @@ family of plugins, including WPML Media">MLA_WPML</a></li>
100
  <li><a href="#MLA_WPML_List_Table" title="Class MLA (Media Library Assistant) WPML List Table adds a reference to an MLA_WPML object">MLA_WPML_List_Table</a></li>
101
  <li><a href="#MLA_WPML_Table" title="Class MLA (Media Library Assistant) WPML Table provides support for the WPML Multilingual CMS
102
  family of plugins, including WPML Media, for an MLA_List_Table object.">MLA_WPML_Table</a></li>
103
- <li><a href="#MLAStreamImage" title="Class MLA (Media Library Assistant) Stream Image provides PDF thumbnails
104
- for the [mla_gallery] mla_viewer.">MLAStreamImage</a></li>
105
- <li><a href="#MLAMutex" title='Class MLA (Media Library Assistant) Mutex provides a simple "mutual exclusion" semaphore
106
- for the [mla_gallery] mla_viewer=single option'>MLAMutex</a></li>
107
  <li><a href="#MLATest" title="Class MLA (Media Library Assistant) Test provides basic run-time tests
108
  to ensure the plugin can run in the current WordPress envrionment.">MLATest</a></li>
109
  <li class="nav-header">
@@ -174,6 +177,15 @@ of images and files held in the WordPress Media Library.</p>
174
  <div class="details collapse"></div>
175
  <a href="../classes/MLAEdit.html" class="more">« More »</a>
176
  </div>
 
 
 
 
 
 
 
 
 
177
  <a name="MLAMime" id="MLAMime"></a><div class="element ajax clickable class" href="../classes/MLAMime.html">
178
  <h1>MLAMime<a href="../classes/MLAMime.html">¶</a>
179
  </h1>
@@ -233,14 +245,6 @@ and provides functions to get and put them from/to WordPress option variables</p
233
  <div class="details collapse"></div>
234
  <a href="../classes/MLAShortcodes.html" class="more">« More »</a>
235
  </div>
236
- <a name="MLAStreamImage" id="MLAStreamImage"></a><div class="element ajax clickable class" href="../classes/MLAStreamImage.html">
237
- <h1>MLAStreamImage<a href="../classes/MLAStreamImage.html">¶</a>
238
- </h1>
239
- <p class="short_description">Class MLA (Media Library Assistant) Stream Image provides PDF thumbnails
240
- for the [mla_gallery] mla_viewer.</p>
241
- <div class="details collapse"></div>
242
- <a href="../classes/MLAStreamImage.html" class="more">« More »</a>
243
- </div>
244
  <a name="MLATest" id="MLATest"></a><div class="element ajax clickable class" href="../classes/MLATest.html">
245
  <h1>MLATest<a href="../classes/MLATest.html">¶</a>
246
  </h1>
@@ -278,6 +282,14 @@ Polylang Multilingual plugin</p>
278
  <div class="details collapse"></div>
279
  <a href="../classes/MLA_Polylang.html" class="more">« More »</a>
280
  </div>
 
 
 
 
 
 
 
 
281
  <a name="MLA_Upload_List_Table" id="MLA_Upload_List_Table"></a><div class="element ajax clickable class" href="../classes/MLA_Upload_List_Table.html">
282
  <h1>MLA_Upload_List_Table<a href="../classes/MLA_Upload_List_Table.html">¶</a>
283
  </h1>
@@ -578,7 +590,7 @@ display an "accordian-style" list.</p></p>
578
  <div class="row"><footer class="span12">
579
  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>
580
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
581
- generated on 2015-06-06T19:41:35-07:00.<br></footer></div>
582
  </div>
583
  </body>
584
  </html>
77
  <li><a href="#MLAData" title="Class MLA (Media Library Assistant) Data provides database and template file access for MLA needs">MLAData</a></li>
78
  <li><a href="#MLAEdit" title="Class MLA (Media Library Assistant) Edit contains meta boxes for the Edit Media (advanced-form-edit.php) screen">MLAEdit</a></li>
79
  <li><a href="#MLA_Checklist_Walker" title="Class MLA (Media Library Assistant) Checklist Walker replaces term_id with slug in checklist output">MLA_Checklist_Walker</a></li>
80
+ <li><a href="#MLAImageProcessor" title="Class MLA (Media Library Assistant) Image Processor provides PDF thumbnails
81
+ for the [mla_gallery] mla_viewer
82
+ and Media/Assistant thumbnail generator.">MLAImageProcessor</a></li>
83
+ <li><a href="#MLAMutex" title='Class MLA (Media Library Assistant) Mutex provides a simple "mutual exclusion" semaphore
84
+ for the [mla_gallery] mla_viewer=single option'>MLAMutex</a></li>
85
  <li><a href="#MLA_List_Table" title='Class MLA (Media Library Assistant) List Table implements the "Assistant" admin submenu'>MLA_List_Table</a></li>
86
  <li><a href="#MLA" title="Class MLA (Media Library Assistant) provides several enhancements to the handling
87
  of images and files held in the WordPress Media Library.">MLA</a></li>
96
  Polylang Multilingual plugin">MLA_Polylang</a></li>
97
  <li><a href="#MLASettings" title="Class MLA (Media Library Assistant) Settings provides the settings page to edit the plugin option settings">MLASettings</a></li>
98
  <li><a href="#MLAShortcodes" title="Class MLA (Media Library Assistant) Shortcodes defines the shortcodes available to MLA users">MLAShortcodes</a></li>
99
+ <li><a href="#MLA_Thumbnail" title="Class MLA (Media Library Assistant) Thumbnails provides support for
100
+ Featured IMage generation">MLA_Thumbnail</a></li>
101
  <li><a href="#MLA_Upload_List_Table" title='Class MLA (Media Library Assistant) Upload List Table implements the "Upload" admin settings tab'>MLA_Upload_List_Table</a></li>
102
  <li><a href="#MLA_Upload_Optional_List_Table" title='Class MLA (Media Library Assistant) Upload Optional List Table implements the
103
  searchable database of exension/type associations for the "Uploads" admin settings tab'>MLA_Upload_Optional_List_Table</a></li>
107
  <li><a href="#MLA_WPML_List_Table" title="Class MLA (Media Library Assistant) WPML List Table adds a reference to an MLA_WPML object">MLA_WPML_List_Table</a></li>
108
  <li><a href="#MLA_WPML_Table" title="Class MLA (Media Library Assistant) WPML Table provides support for the WPML Multilingual CMS
109
  family of plugins, including WPML Media, for an MLA_List_Table object.">MLA_WPML_Table</a></li>
 
 
 
 
110
  <li><a href="#MLATest" title="Class MLA (Media Library Assistant) Test provides basic run-time tests
111
  to ensure the plugin can run in the current WordPress envrionment.">MLATest</a></li>
112
  <li class="nav-header">
177
  <div class="details collapse"></div>
178
  <a href="../classes/MLAEdit.html" class="more">« More »</a>
179
  </div>
180
+ <a name="MLAImageProcessor" id="MLAImageProcessor"></a><div class="element ajax clickable class" href="../classes/MLAImageProcessor.html">
181
+ <h1>MLAImageProcessor<a href="../classes/MLAImageProcessor.html">¶</a>
182
+ </h1>
183
+ <p class="short_description">Class MLA (Media Library Assistant) Image Processor provides PDF thumbnails
184
+ for the [mla_gallery] mla_viewer
185
+ and Media/Assistant thumbnail generator.</p>
186
+ <div class="details collapse"></div>
187
+ <a href="../classes/MLAImageProcessor.html" class="more">« More »</a>
188
+ </div>
189
  <a name="MLAMime" id="MLAMime"></a><div class="element ajax clickable class" href="../classes/MLAMime.html">
190
  <h1>MLAMime<a href="../classes/MLAMime.html">¶</a>
191
  </h1>
245
  <div class="details collapse"></div>
246
  <a href="../classes/MLAShortcodes.html" class="more">« More »</a>
247
  </div>
 
 
 
 
 
 
 
 
248
  <a name="MLATest" id="MLATest"></a><div class="element ajax clickable class" href="../classes/MLATest.html">
249
  <h1>MLATest<a href="../classes/MLATest.html">¶</a>
250
  </h1>
282
  <div class="details collapse"></div>
283
  <a href="../classes/MLA_Polylang.html" class="more">« More »</a>
284
  </div>
285
+ <a name="MLA_Thumbnail" id="MLA_Thumbnail"></a><div class="element ajax clickable class" href="../classes/MLA_Thumbnail.html">
286
+ <h1>MLA_Thumbnail<a href="../classes/MLA_Thumbnail.html">¶</a>
287
+ </h1>
288
+ <p class="short_description">Class MLA (Media Library Assistant) Thumbnails provides support for
289
+ Featured IMage generation</p>
290
+ <div class="details collapse"></div>
291
+ <a href="../classes/MLA_Thumbnail.html" class="more">« More »</a>
292
+ </div>
293
  <a name="MLA_Upload_List_Table" id="MLA_Upload_List_Table"></a><div class="element ajax clickable class" href="../classes/MLA_Upload_List_Table.html">
294
  <h1>MLA_Upload_List_Table<a href="../classes/MLA_Upload_List_Table.html">¶</a>
295
  </h1>
590
  <div class="row"><footer class="span12">
591
  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>
592
  Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a8</a> and<br>
593
+ generated on 2015-07-08T19:21:50-07:00.<br></footer></div>
594
  </div>
595
  </body>
596
  </html>
phpDocs/structure.xml CHANGED
@@ -622,7 +622,7 @@ different template.</p>]]></long-description>
622
  <tag line="2" name="since" description="MLA 1.80"/>
623
  </docblock>
624
  </file>
625
- <file path="includes\class-mla-data-pdf.php" hash="d8041a4d39e4cbe9ec72df8a4720ff3f" package="Media Library Assistant">
626
  <docblock line="2">
627
  <description><![CDATA[Meta data parsing functions for PDF documents]]></description>
628
  <long-description><![CDATA[]]></long-description>
@@ -982,13 +982,16 @@ dictionary in the source string, excluding the enclosing delimiters.</p>]]></lon
982
  <todo line="341">encode the rest</todo>
983
  </markers>
984
  </file>
985
- <file path="includes\class-mla-data.php" hash="85e58f0379d9d452b61167c59bd3b59d" package="Media Library Assistant">
986
  <docblock line="2">
987
  <description><![CDATA[Database and template file access for MLA needs]]></description>
988
  <long-description><![CDATA[]]></long-description>
989
  <tag line="2" name="package" description="Media Library Assistant"/>
990
  <tag line="2" name="since" description="0.1"/>
991
  </docblock>
 
 
 
992
  <class final="false" abstract="false" namespace="global" line="18" package="Media Library Assistant">
993
  <extends/>
994
  <name>MLAData</name>
@@ -1023,22 +1026,34 @@ ALT Text and custom field columns.</p>]]></long-description>
1023
  </tag>
1024
  </docblock>
1025
  </property>
1026
- <property final="false" static="true" visibility="private" line="1370" namespace="global" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
1027
  <name>$mla_list_table_items</name>
1028
  <default><![CDATA[NULL]]></default>
1029
- <docblock line="1363">
1030
  <description><![CDATA[Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items]]></description>
1031
  <long-description><![CDATA[]]></long-description>
1032
- <tag line="1363" name="since" description="1.40"/>
1033
- <tag line="1363" name="var" description="" type="array">
1034
  <type by_reference="false">array</type>
1035
  </tag>
1036
  </docblock>
1037
  </property>
1038
- <property final="false" static="true" visibility="private" line="1476" namespace="global" package="Media Library Assistant">
1039
  <name>$query_parameters</name>
1040
  <default><![CDATA[array()]]></default>
1041
- <docblock line="1462">
1042
  <description><![CDATA[WP_Query filter "parameters"]]></description>
1043
  <long-description><![CDATA[<p>This array defines parameters for the query's join, where and orderby filters.
1044
  The parameters are set up in the _prepare_list_table_query function, and
@@ -1046,16 +1061,16 @@ any further logic required to translate those values is contained in the filters
1046
 
1047
  <p>Array index values are: use_postmeta_view, postmeta_key, postmeta_value, patterns,
1048
  detached, orderby, order, mla-metavalue, debug (also in search_parameters)</p>]]></long-description>
1049
- <tag line="1462" name="since" description="0.30"/>
1050
- <tag line="1462" name="var" description="" type="array">
1051
  <type by_reference="false">array</type>
1052
  </tag>
1053
  </docblock>
1054
  </property>
1055
- <property final="false" static="true" visibility="public" line="1505" namespace="global" package="Media Library Assistant">
1056
  <name>$search_parameters</name>
1057
  <default><![CDATA[array()]]></default>
1058
- <docblock line="1478">
1059
  <description><![CDATA[WP_Query 'posts_search' filter "parameters"]]></description>
1060
  <long-description><![CDATA[<p>This array defines parameters for the query's posts_search filter, which uses
1061
  'search_string' to add a clause to the query's WHERE clause. It is shared between
@@ -1074,18 +1089,17 @@ Note: 'alt-text' is not supported in [mla_gallery]
1074
  ['sentence'] => entire string must match as one "keyword"
1075
  ['exact'] => entire string must match entire field value
1076
  ['debug'] => internal element, console/log/shortcode/none
1077
- ['mla_debug_messages'] => internal element, added when debug = 'shortcode'
1078
  ['tax_terms_count'] => internal element, shared with JOIN and GROUP BY filters</p>]]></long-description>
1079
- <tag line="1478" name="since" description="2.00"/>
1080
- <tag line="1478" name="var" description="" type="array">
1081
  <type by_reference="false">array</type>
1082
  </tag>
1083
  </docblock>
1084
  </property>
1085
- <property final="false" static="true" visibility="private" line="3702" namespace="global" package="Media Library Assistant">
1086
  <name>$galleries</name>
1087
  <default><![CDATA[null]]></default>
1088
- <docblock line="3682">
1089
  <description><![CDATA[Objects containing [gallery] shortcodes]]></description>
1090
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [gallery] shortcodes
1091
  and array(s) of which attachments each [gallery] contains. The arrays are built once
@@ -1099,1827 +1113,1985 @@ each page load and cached for subsequent calls.</p>
1099
  ['galleries'] array of [gallery] entries numbered from one (1), containing:
1100
  galleries[X]['query'] contains a string with the arguments of the [gallery],
1101
  galleries[X]['results'] contains an array ( ID ) of post_ids for the objects in the gallery.</p>]]></long-description>
1102
- <tag line="3682" name="since" description="0.70"/>
1103
- <tag line="3682" name="var" description="" type="array">
1104
  <type by_reference="false">array</type>
1105
  </tag>
1106
  </docblock>
1107
  </property>
1108
- <property final="false" static="true" visibility="private" line="3715" namespace="global" package="Media Library Assistant">
1109
  <name>$mla_galleries</name>
1110
  <default><![CDATA[null]]></default>
1111
- <docblock line="3704">
1112
  <description><![CDATA[Objects containing [mla_gallery] shortcodes]]></description>
1113
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [mla_gallery] shortcodes
1114
  and array(s) of which attachments each [mla_gallery] contains. The arrays are built once
1115
  each page load and cached for subsequent calls.</p>]]></long-description>
1116
- <tag line="3704" name="since" description="0.70"/>
1117
- <tag line="3704" name="var" description="" type="array">
1118
  <type by_reference="false">array</type>
1119
  </tag>
1120
  </docblock>
1121
  </property>
1122
- <property final="false" static="true" visibility="public" line="4302" namespace="global" package="Media Library Assistant">
1123
  <name>$utf8_chars</name>
1124
  <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>
1125
- <docblock line="4295">
1126
  <description><![CDATA[UTF-8 replacements for invalid SQL characters]]></description>
1127
  <long-description><![CDATA[]]></long-description>
1128
- <tag line="4295" name="since" description="1.41"/>
1129
- <tag line="4295" name="var" description="" type="array">
1130
  <type by_reference="false">array</type>
1131
  </tag>
1132
  </docblock>
1133
  </property>
1134
- <property final="false" static="true" visibility="private" line="4362" namespace="global" package="Media Library Assistant">
1135
  <name>$mla_iptc_records</name>
1136
  <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>
1137
- <docblock line="4352">
1138
  <description><![CDATA[IPTC Dataset identifiers and names]]></description>
1139
  <long-description><![CDATA[<p>This array contains the identifiers and names of Datasets defined in
1140
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
1141
- <tag line="4352" name="since" description="0.90"/>
1142
- <tag line="4352" name="var" description="" type="array">
1143
  <type by_reference="false">array</type>
1144
  </tag>
1145
  </docblock>
1146
  </property>
1147
- <property final="false" static="true" visibility="public" line="4461" namespace="global" package="Media Library Assistant">
1148
  <name>$mla_iptc_keys</name>
1149
  <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>
1150
- <docblock line="4451">
1151
  <description><![CDATA[IPTC Dataset friendly name/slug and identifiers]]></description>
1152
  <long-description><![CDATA[<p>This array contains the sanitized names and identifiers of Datasets defined in
1153
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
1154
- <tag line="4451" name="since" description="0.90"/>
1155
- <tag line="4451" name="var" description="" type="array">
1156
  <type by_reference="false">array</type>
1157
  </tag>
1158
  </docblock>
1159
  </property>
1160
- <property final="false" static="true" visibility="private" line="4560" namespace="global" package="Media Library Assistant">
1161
  <name>$mla_iptc_descriptions</name>
1162
- <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>
1163
- <docblock line="4550">
1164
  <description><![CDATA[IPTC Dataset descriptions]]></description>
1165
  <long-description><![CDATA[<p>This array contains the descriptions of Datasets defined in
1166
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
1167
- <tag line="4550" name="since" description="0.90"/>
1168
- <tag line="4550" name="var" description="" type="array">
1169
  <type by_reference="false">array</type>
1170
  </tag>
1171
  </docblock>
1172
  </property>
1173
- <property final="false" static="true" visibility="private" line="4659" namespace="global" package="Media Library Assistant">
1174
  <name>$mla_iptc_formats</name>
1175
  <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>
1176
- <docblock line="4649">
1177
  <description><![CDATA[IPTC file format identifiers and descriptions]]></description>
1178
  <long-description><![CDATA[<p>This array contains the file format identifiers and descriptions defined in
1179
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p>]]></long-description>
1180
- <tag line="4649" name="since" description="0.90"/>
1181
- <tag line="4649" name="var" description="" type="array">
1182
  <type by_reference="false">array</type>
1183
  </tag>
1184
  </docblock>
1185
  </property>
1186
- <property final="false" static="true" visibility="private" line="4702" namespace="global" package="Media Library Assistant">
1187
  <name>$mla_iptc_image_types</name>
1188
  <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>
1189
- <docblock line="4692">
1190
  <description><![CDATA[IPTC image type identifiers and descriptions]]></description>
1191
  <long-description><![CDATA[<p>This array contains the image type identifiers and descriptions defined in
1192
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p>]]></long-description>
1193
- <tag line="4692" name="since" description="0.90"/>
1194
- <tag line="4692" name="var" description="" type="array">
1195
  <type by_reference="false">array</type>
1196
  </tag>
1197
  </docblock>
1198
  </property>
1199
- <property final="false" static="true" visibility="private" line="4968" namespace="global" package="Media Library Assistant">
1200
  <name>$mla_IPTC_EXIF_errors</name>
1201
  <default><![CDATA[array()]]></default>
1202
- <docblock line="4960">
1203
  <description><![CDATA[Passes IPTC/EXIF parse errors between mla_IPTC_EXIF_error_handler
1204
  and mla_fetch_attachment_image_metadata]]></description>
1205
  <long-description><![CDATA[]]></long-description>
1206
- <tag line="4960" name="since" description="1.81"/>
1207
- <tag line="4960" name="var" description="" type="array">
1208
  <type by_reference="false">array</type>
1209
  </tag>
1210
  </docblock>
1211
  </property>
1212
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="43" package="Media Library Assistant">
1213
  <name>initialize</name>
1214
  <full_name>initialize</full_name>
1215
- <docblock line="38">
1216
  <description><![CDATA[Initialization function, similar to __construct()]]></description>
1217
  <long-description><![CDATA[]]></long-description>
1218
- <tag line="38" name="since" description="0.1"/>
1219
  </docblock>
1220
  </method>
1221
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="70" package="Media Library Assistant">
1222
  <name>mla_load_template</name>
1223
  <full_name>mla_load_template</full_name>
1224
- <docblock line="52">
1225
  <description><![CDATA[Load an HTML template from a file]]></description>
1226
  <long-description><![CDATA[<p>Loads a template to a string or a multi-part template to an array.
1227
  Multi-part templates are divided by comments of the form <!-- template="key" -->,
1228
  where "key" becomes the key part of the array.</p>]]></long-description>
1229
- <tag line="52" name="since" description="0.1"/>
1230
- <tag line="52" name="param" description="Complete path and/or name of the template file, option name or the raw template" type="string" variable="$source">
1231
  <type by_reference="false">string</type>
1232
  </tag>
1233
- <tag line="52" name="param" description="Optional type of template source; 'path', 'file' (default), 'option', 'string'" type="string" variable="$type">
1234
  <type by_reference="false">string</type>
1235
  </tag>
1236
- <tag line="52" name="return" description="string for files that do not contain template divider comments, array for files containing template divider comments, false if file or option does not exist, NULL if file could not be loaded." type="string|array|false|NULL">
1237
  <type by_reference="false">string</type>
1238
  <type by_reference="false">array</type>
1239
  <type by_reference="false">false</type>
1240
  <type by_reference="false">NULL</type>
1241
  </tag>
1242
  </docblock>
1243
- <argument line="70">
1244
  <name>$source</name>
1245
  <default><![CDATA[]]></default>
1246
  <type/>
1247
  </argument>
1248
- <argument line="70">
1249
  <name>$type</name>
1250
  <default><![CDATA['file']]></default>
1251
  <type/>
1252
  </argument>
1253
  </method>
1254
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="190" package="Media Library Assistant">
1255
  <name>_find_template_substring</name>
1256
  <full_name>_find_template_substring</full_name>
1257
- <docblock line="181">
1258
  <description><![CDATA[Find a complete template, balancing opening and closing delimiters]]></description>
1259
  <long-description><![CDATA[]]></long-description>
1260
- <tag line="181" name="since" description="1.50"/>
1261
- <tag line="181" name="param" description="A string possibly starting with '[+template:'" type="string" variable="$tpl">
1262
  <type by_reference="false">string</type>
1263
  </tag>
1264
- <tag line="181" name="return" description="'' or template string starting with '[+template:' and ending with the matching '+]'" type="string">
1265
  <type by_reference="false">string</type>
1266
  </tag>
1267
  </docblock>
1268
- <argument line="190">
1269
  <name>$tpl</name>
1270
  <default><![CDATA[]]></default>
1271
  <type/>
1272
  </argument>
1273
  </method>
1274
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="237" package="Media Library Assistant">
1275
  <name>mla_parse_array_template</name>
1276
  <full_name>mla_parse_array_template</full_name>
1277
- <docblock line="224">
1278
  <description><![CDATA[Expand a template, replacing placeholders with their values]]></description>
1279
  <long-description><![CDATA[<p>Will return an array of values if one or more of the placeholders returns an array.</p>]]></long-description>
1280
- <tag line="224" name="since" description="1.50"/>
1281
- <tag line="224" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1282
  <type by_reference="false">string</type>
1283
  </tag>
1284
- <tag line="224" name="param" description="An associative array containing keys and values e.g. array('key' =&gt; 'value')" type="array" variable="$markup_values">
1285
  <type by_reference="false">array</type>
1286
  </tag>
1287
- <tag line="224" name="return" description="string or array, depending on placeholder values. Placeholders corresponding to the keys of the markup_values will be replaced with their values." type="mixed">
1288
  <type by_reference="false">mixed</type>
1289
  </tag>
1290
  </docblock>
1291
- <argument line="237">
1292
  <name>$tpl</name>
1293
  <default><![CDATA[]]></default>
1294
  <type/>
1295
  </argument>
1296
- <argument line="237">
1297
  <name>$markup_values</name>
1298
  <default><![CDATA[]]></default>
1299
  <type/>
1300
  </argument>
1301
  </method>
1302
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="329" package="Media Library Assistant">
1303
  <name>mla_parse_template</name>
1304
  <full_name>mla_parse_template</full_name>
1305
- <docblock line="317">
1306
  <description><![CDATA[Expand a template, replacing placeholders with their values]]></description>
1307
  <long-description><![CDATA[<p>A simple parsing function for basic templating.</p>]]></long-description>
1308
- <tag line="317" name="since" description="0.1"/>
1309
- <tag line="317" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1310
  <type by_reference="false">string</type>
1311
  </tag>
1312
- <tag line="317" name="param" description="An associative array containing keys and values e.g. array('key' =&gt; 'value')" type="array" variable="$markup_values">
1313
  <type by_reference="false">array</type>
1314
  </tag>
1315
- <tag line="317" name="return" description="Placeholders corresponding to the keys of the markup_values will be replaced with their values." type="\strng">
1316
  <type by_reference="false">\strng</type>
1317
  </tag>
1318
  </docblock>
1319
- <argument line="329">
1320
  <name>$tpl</name>
1321
  <default><![CDATA[]]></default>
1322
  <type/>
1323
  </argument>
1324
- <argument line="329">
1325
  <name>$markup_values</name>
1326
  <default><![CDATA[]]></default>
1327
  <type/>
1328
  </argument>
1329
  </method>
1330
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="381" package="Media Library Assistant">
1331
  <name>_find_test_substring</name>
1332
  <full_name>_find_test_substring</full_name>
1333
- <docblock line="372">
1334
  <description><![CDATA[Find a complete (test) element, balancing opening and closing delimiters]]></description>
1335
  <long-description><![CDATA[]]></long-description>
1336
- <tag line="372" name="since" description="1.50"/>
1337
- <tag line="372" name="param" description="A string possibly starting with '('" type="string" variable="$tpl">
1338
  <type by_reference="false">string</type>
1339
  </tag>
1340
- <tag line="372" name="return" description="'' or template string starting with '(' and ending with the matching ')'" type="string">
1341
  <type by_reference="false">string</type>
1342
  </tag>
1343
  </docblock>
1344
- <argument line="381">
1345
  <name>$tpl</name>
1346
  <default><![CDATA[]]></default>
1347
  <type/>
1348
  </argument>
1349
  </method>
1350
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="423" package="Media Library Assistant">
1351
  <name>_parse_field_level_template</name>
1352
  <full_name>_parse_field_level_template</full_name>
1353
- <docblock line="414">
1354
  <description><![CDATA[Convert field-level "template:" string into its component parts]]></description>
1355
  <long-description><![CDATA[]]></long-description>
1356
- <tag line="414" name="since" description="1.50"/>
1357
- <tag line="414" name="param" description="Template content with string, test and choice elements" type="string" variable="$tpl">
1358
  <type by_reference="false">string</type>
1359
  </tag>
1360
- <tag line="414" name="return" description="( node =&gt; array( type =&gt; &quot;string | test | choice | template&quot;, length =&gt; bytes, value =&gt; string | node(s) ) )" type="array">
1361
  <type by_reference="false">array</type>
1362
  </tag>
1363
  </docblock>
1364
- <argument line="423">
1365
  <name>$tpl</name>
1366
  <default><![CDATA[]]></default>
1367
  <type/>
1368
  </argument>
1369
  </method>
1370
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="583" package="Media Library Assistant">
1371
  <name>_evaluate_template_array_node</name>
1372
  <full_name>_evaluate_template_array_node</full_name>
1373
- <docblock line="571">
1374
  <description><![CDATA[Analyze a field-level "template:" element, expanding Field-level Markup Substitution Parameters]]></description>
1375
  <long-description><![CDATA[<p>Will return an array of values if one or more of the placeholders returns an array.</p>]]></long-description>
1376
- <tag line="571" name="since" description="1.50"/>
1377
- <tag line="571" name="param" description="A field-level template element node" type="array" variable="$node">
1378
  <type by_reference="false">array</type>
1379
  </tag>
1380
- <tag line="571" name="param" description="An array of markup substitution values" type="array" variable="$markup_values">
1381
  <type by_reference="false">array</type>
1382
  </tag>
1383
- <tag line="571" name="return" description="string or array, depending on placeholder values. Placeholders corresponding to the keys of the markup_values will be replaced with their values." type="mixed">
1384
  <type by_reference="false">mixed</type>
1385
  </tag>
1386
  </docblock>
1387
- <argument line="583">
1388
  <name>$node</name>
1389
  <default><![CDATA[]]></default>
1390
  <type/>
1391
  </argument>
1392
- <argument line="583">
1393
  <name>$markup_values</name>
1394
  <default><![CDATA[array()]]></default>
1395
  <type/>
1396
  </argument>
1397
  </method>
1398
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="665" package="Media Library Assistant">
1399
  <name>_evaluate_template_node</name>
1400
  <full_name>_evaluate_template_node</full_name>
1401
- <docblock line="655">
1402
  <description><![CDATA[Analyze a field-level "template:" element, expanding Field-level Markup Substitution Parameters]]></description>
1403
  <long-description><![CDATA[]]></long-description>
1404
- <tag line="655" name="since" description="1.50"/>
1405
- <tag line="655" name="param" description="A field-level template element node" type="array" variable="$node">
1406
  <type by_reference="false">array</type>
1407
  </tag>
1408
- <tag line="655" name="param" description="An array of markup substitution values" type="array" variable="$markup_values">
1409
  <type by_reference="false">array</type>
1410
  </tag>
1411
- <tag line="655" name="return" description="String with expanded values, if any" type="string">
1412
  <type by_reference="false">string</type>
1413
  </tag>
1414
  </docblock>
1415
- <argument line="665">
1416
  <name>$node</name>
1417
  <default><![CDATA[]]></default>
1418
  <type/>
1419
  </argument>
1420
- <argument line="665">
1421
  <name>$markup_values</name>
1422
  <default><![CDATA[array()]]></default>
1423
  <type/>
1424
  </argument>
1425
  </method>
1426
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="728" package="Media Library Assistant">
1427
  <name>_expand_field_level_template</name>
1428
  <full_name>_expand_field_level_template</full_name>
1429
- <docblock line="717">
1430
  <description><![CDATA[Analyze a field-level "template:" element, expanding Field-level Markup Substitution Parameters]]></description>
1431
  <long-description><![CDATA[]]></long-description>
1432
- <tag line="717" name="since" description="1.50"/>
1433
- <tag line="717" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1434
  <type by_reference="false">string</type>
1435
  </tag>
1436
- <tag line="717" name="param" description="An array of markup substitution values" type="array" variable="$markup_values">
1437
  <type by_reference="false">array</type>
1438
  </tag>
1439
- <tag line="717" name="param" description="True to return array value(s), false to return a string" type="boolean" variable="$return_arrays">
1440
  <type by_reference="false">boolean</type>
1441
  </tag>
1442
- <tag line="717" name="return" description="Element with expanded string/array values, if any" type="mixed">
1443
  <type by_reference="false">mixed</type>
1444
  </tag>
1445
  </docblock>
1446
- <argument line="728">
1447
  <name>$tpl</name>
1448
  <default><![CDATA[]]></default>
1449
  <type/>
1450
  </argument>
1451
- <argument line="728">
1452
  <name>$markup_values</name>
1453
  <default><![CDATA[array()]]></default>
1454
  <type/>
1455
  </argument>
1456
- <argument line="728">
1457
  <name>$return_arrays</name>
1458
  <default><![CDATA[false]]></default>
1459
  <type/>
1460
  </argument>
1461
  </method>
1462
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="773" package="Media Library Assistant">
1463
  <name>_process_field_level_array</name>
1464
  <full_name>_process_field_level_array</full_name>
1465
- <docblock line="762">
1466
  <description><![CDATA[Process an markup field array value according to the supplied data-format option]]></description>
1467
  <long-description><![CDATA[]]></long-description>
1468
- <tag line="762" name="since" description="1.50"/>
1469
- <tag line="762" name="param" description="an array of scalar values" type="array" variable="$record">
1470
  <type by_reference="false">array</type>
1471
  </tag>
1472
- <tag line="762" name="param" description="data option 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
1473
  <type by_reference="false">string</type>
1474
  </tag>
1475
- <tag line="762" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
1476
  <type by_reference="false">boolean</type>
1477
  </tag>
1478
- <tag line="762" name="return" description="( parameter =&gt; value ) for all field-level parameters and anything in $markup_values" type="array">
1479
  <type by_reference="false">array</type>
1480
  </tag>
1481
  </docblock>
1482
- <argument line="773">
1483
  <name>$record</name>
1484
  <default><![CDATA[]]></default>
1485
  <type/>
1486
  </argument>
1487
- <argument line="773">
1488
  <name>$option</name>
1489
  <default><![CDATA['text']]></default>
1490
  <type/>
1491
  </argument>
1492
- <argument line="773">
1493
  <name>$keep_existing</name>
1494
  <default><![CDATA[false]]></default>
1495
  <type/>
1496
  </argument>
1497
  </method>
1498
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="808" package="Media Library Assistant">
1499
  <name>_parse_arguments</name>
1500
  <full_name>_parse_arguments</full_name>
1501
- <docblock line="799">
1502
  <description><![CDATA[Process an argument list within a field-level parameter format specification]]></description>
1503
  <long-description><![CDATA[]]></long-description>
1504
- <tag line="799" name="since" description="2.02"/>
1505
- <tag line="799" name="param" description="arguments, e.g., ('d/m/Y H:i:s' , &quot;arg, \&quot; two&quot; ) without parens" type="string" variable="$argument_string">
1506
  <type by_reference="false">string</type>
1507
  </tag>
1508
- <tag line="799" name="return" description="individual arguments, e.g. array( 0 =&gt; 'd/m/Y H:i:s', 1 =&gt; 'arg, \&quot; two' )" type="array">
1509
  <type by_reference="false">array</type>
1510
  </tag>
1511
  </docblock>
1512
- <argument line="808">
1513
  <name>$argument_string</name>
1514
  <default><![CDATA[]]></default>
1515
  <type/>
1516
  </argument>
1517
  </method>
1518
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="889" package="Media Library Assistant">
1519
  <name>mla_apply_field_level_format</name>
1520
  <full_name>mla_apply_field_level_format</full_name>
1521
- <docblock line="879">
1522
  <description><![CDATA[Apply field-level format options to field-level content]]></description>
1523
  <long-description><![CDATA[]]></long-description>
1524
- <tag line="879" name="since" description="2.10"/>
1525
- <tag line="879" name="param" description="field-level content" type="string" variable="$value">
1526
  <type by_reference="false">string</type>
1527
  </tag>
1528
- <tag line="879" name="param" description="format code and aguments" type="array" variable="$args">
1529
  <type by_reference="false">array</type>
1530
  </tag>
1531
- <tag line="879" name="return" description="formatted field-level content" type="string">
1532
  <type by_reference="false">string</type>
1533
  </tag>
1534
  </docblock>
1535
- <argument line="889">
1536
  <name>$value</name>
1537
  <default><![CDATA[]]></default>
1538
  <type/>
1539
  </argument>
1540
- <argument line="889">
1541
  <name>$args</name>
1542
  <default><![CDATA[]]></default>
1543
  <type/>
1544
  </argument>
1545
  </method>
1546
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="996" package="Media Library Assistant">
1547
  <name>mla_expand_field_level_parameters</name>
1548
  <full_name>mla_expand_field_level_parameters</full_name>
1549
- <docblock line="978">
1550
  <description><![CDATA[Analyze a template, expanding Field-level Markup Substitution Parameters]]></description>
1551
  <long-description><![CDATA[<p>Field-level parameters must have one of the following prefix values:
1552
  template, request, query, custom, terms, meta, iptc, exif, xmp, pdf.
1553
  All but request and query require an attachment ID.</p>]]></long-description>
1554
- <tag line="978" name="since" description="1.50"/>
1555
- <tag line="978" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1556
  <type by_reference="false">string</type>
1557
  </tag>
1558
- <tag line="978" name="param" description="Optional: an array of values from the query, if any, e.g. shortcode parameters" type="array" variable="$query">
1559
  <type by_reference="false">array</type>
1560
  </tag>
1561
- <tag line="978" name="param" description="Optional: an array of values to add to the returned array" type="array" variable="$markup_values">
1562
  <type by_reference="false">array</type>
1563
  </tag>
1564
- <tag line="978" name="param" description="Optional: attachment ID for attachment-specific placeholders" type="integer" variable="$post_id">
1565
  <type by_reference="false">integer</type>
1566
  </tag>
1567
- <tag line="978" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
1568
  <type by_reference="false">boolean</type>
1569
  </tag>
1570
- <tag line="978" name="param" description="Optional: default option value" type="string" variable="$default_option">
1571
  <type by_reference="false">string</type>
1572
  </tag>
1573
- <tag line="978" name="return" description="( parameter =&gt; value ) for all field-level parameters and anything in $markup_values" type="array">
1574
  <type by_reference="false">array</type>
1575
  </tag>
1576
  </docblock>
1577
- <argument line="996">
1578
  <name>$tpl</name>
1579
  <default><![CDATA[]]></default>
1580
  <type/>
1581
  </argument>
1582
- <argument line="996">
1583
  <name>$query</name>
1584
  <default><![CDATA[NULL]]></default>
1585
  <type/>
1586
  </argument>
1587
- <argument line="996">
1588
  <name>$markup_values</name>
1589
  <default><![CDATA[array()]]></default>
1590
  <type/>
1591
  </argument>
1592
- <argument line="996">
1593
  <name>$post_id</name>
1594
  <default><![CDATA[0]]></default>
1595
  <type/>
1596
  </argument>
1597
- <argument line="996">
1598
  <name>$keep_existing</name>
1599
  <default><![CDATA[false]]></default>
1600
  <type/>
1601
  </argument>
1602
- <argument line="996">
1603
  <name>$default_option</name>
1604
  <default><![CDATA['text']]></default>
1605
  <type/>
1606
  </argument>
1607
  </method>
1608
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1252" package="Media Library Assistant">
1609
  <name>mla_get_template_placeholders</name>
1610
  <full_name>mla_get_template_placeholders</full_name>
1611
- <docblock line="1241">
1612
  <description><![CDATA[Analyze a template, returning an array of the placeholders it contains]]></description>
1613
  <long-description><![CDATA[]]></long-description>
1614
- <tag line="1241" name="since" description="0.90"/>
1615
- <tag line="1241" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1616
  <type by_reference="false">string</type>
1617
  </tag>
1618
- <tag line="1241" name="param" description="Optional: default option value" type="string" variable="$default_option">
1619
  <type by_reference="false">string</type>
1620
  </tag>
1621
- <tag line="1241" name="return" description="Placeholder information: each entry is an array with ['prefix'] =&gt; string, ['value'] =&gt; string, ['option'] =&gt; string 'text'|single'|'export'|'array'|'multi'" type="array">
1622
  <type by_reference="false">array</type>
1623
  </tag>
1624
  </docblock>
1625
- <argument line="1252">
1626
  <name>$tpl</name>
1627
  <default><![CDATA[]]></default>
1628
  <type/>
1629
  </argument>
1630
- <argument line="1252">
1631
  <name>$default_option</name>
1632
  <default><![CDATA['text']]></default>
1633
  <type/>
1634
  </argument>
1635
  </method>
1636
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1383" package="Media Library Assistant">
1637
  <name>mla_count_list_table_items</name>
1638
  <full_name>mla_count_list_table_items</full_name>
1639
- <docblock line="1372">
1640
  <description><![CDATA[Get the total number of attachment posts]]></description>
1641
  <long-description><![CDATA[]]></long-description>
1642
- <tag line="1372" name="since" description="0.30"/>
1643
- <tag line="1372" name="param" description="Query variables, e.g., from $_REQUEST" type="array" variable="$request">
1644
  <type by_reference="false">array</type>
1645
  </tag>
1646
- <tag line="1372" name="param" description="(optional) number of rows to skip over to reach desired page" type="int" variable="$offset">
1647
  <type by_reference="false">int</type>
1648
  </tag>
1649
- <tag line="1372" name="param" description="(optional) number of rows on each page" type="int" variable="$count">
1650
  <type by_reference="false">int</type>
1651
  </tag>
1652
- <tag line="1372" name="return" description="Number of attachment posts" type="integer">
1653
  <type by_reference="false">integer</type>
1654
  </tag>
1655
  </docblock>
1656
- <argument line="1383">
1657
  <name>$request</name>
1658
  <default><![CDATA[]]></default>
1659
  <type/>
1660
  </argument>
1661
- <argument line="1383">
1662
  <name>$offset</name>
1663
  <default><![CDATA[NULL]]></default>
1664
  <type/>
1665
  </argument>
1666
- <argument line="1383">
1667
  <name>$count</name>
1668
  <default><![CDATA[NULL]]></default>
1669
  <type/>
1670
  </argument>
1671
  </method>
1672
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1411" package="Media Library Assistant">
1673
  <name>mla_query_list_table_items</name>
1674
  <full_name>mla_query_list_table_items</full_name>
1675
- <docblock line="1397">
1676
  <description><![CDATA[Retrieve attachment objects for list table display]]></description>
1677
  <long-description><![CDATA[<p>Supports prepare_items in class-mla-list-table.php.
1678
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
1679
- <tag line="1397" name="since" description="0.1"/>
1680
- <tag line="1397" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
1681
  <type by_reference="false">array</type>
1682
  </tag>
1683
- <tag line="1397" name="param" description="number of rows to skip over to reach desired page" type="int" variable="$offset">
1684
  <type by_reference="false">int</type>
1685
  </tag>
1686
- <tag line="1397" name="param" description="number of rows on each page" type="int" variable="$count">
1687
  <type by_reference="false">int</type>
1688
  </tag>
1689
- <tag line="1397" name="return" description="attachment objects (posts) including parent data, meta data and references" type="array">
1690
  <type by_reference="false">array</type>
1691
  </tag>
1692
  </docblock>
1693
- <argument line="1411">
1694
  <name>$request</name>
1695
  <default><![CDATA[]]></default>
1696
  <type/>
1697
  </argument>
1698
- <argument line="1411">
1699
  <name>$offset</name>
1700
  <default><![CDATA[]]></default>
1701
  <type/>
1702
  </argument>
1703
- <argument line="1411">
1704
  <name>$count</name>
1705
  <default><![CDATA[]]></default>
1706
  <type/>
1707
  </argument>
1708
  </method>
1709
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1457" package="Media Library Assistant">
1710
  <name>mla_query_media_modal_items</name>
1711
  <full_name>mla_query_media_modal_items</full_name>
1712
- <docblock line="1444">
1713
  <description><![CDATA[Retrieve attachment objects for the WordPress Media Manager]]></description>
1714
  <long-description><![CDATA[<p>Supports month-year and taxonomy-term filters as well as the enhanced search box</p>]]></long-description>
1715
- <tag line="1444" name="since" description="1.20"/>
1716
- <tag line="1444" name="param" description="query parameters from Media Manager" type="array" variable="$request">
1717
  <type by_reference="false">array</type>
1718
  </tag>
1719
- <tag line="1444" name="param" description="number of rows to skip over to reach desired page" type="int" variable="$offset">
1720
  <type by_reference="false">int</type>
1721
  </tag>
1722
- <tag line="1444" name="param" description="number of rows on each page" type="int" variable="$count">
1723
  <type by_reference="false">int</type>
1724
  </tag>
1725
- <tag line="1444" name="return" description="attachment objects (posts)" type="array">
1726
- <type by_reference="false">array</type>
1727
  </tag>
1728
  </docblock>
1729
- <argument line="1457">
1730
  <name>$request</name>
1731
  <default><![CDATA[]]></default>
1732
  <type/>
1733
  </argument>
1734
- <argument line="1457">
1735
  <name>$offset</name>
1736
  <default><![CDATA[]]></default>
1737
  <type/>
1738
  </argument>
1739
- <argument line="1457">
1740
  <name>$count</name>
1741
  <default><![CDATA[]]></default>
1742
  <type/>
1743
  </argument>
1744
  </method>
1745
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1521" package="Media Library Assistant">
1746
  <name>_prepare_list_table_query</name>
1747
  <full_name>_prepare_list_table_query</full_name>
1748
- <docblock line="1507">
1749
  <description><![CDATA[Sanitize and expand query arguments from request variables]]></description>
1750
  <long-description><![CDATA[<p>Prepare the arguments for WP_Query.
1751
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
1752
- <tag line="1507" name="since" description="0.1"/>
1753
- <tag line="1507" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$raw_request">
1754
  <type by_reference="false">array</type>
1755
  </tag>
1756
- <tag line="1507" name="param" description="Optional number of rows (default 0) to skip over to reach desired page" type="int" variable="$offset">
1757
  <type by_reference="false">int</type>
1758
  </tag>
1759
- <tag line="1507" name="param" description="Optional number of rows on each page (0 = all rows, default)" type="int" variable="$count">
1760
  <type by_reference="false">int</type>
1761
  </tag>
1762
- <tag line="1507" name="return" description="revised arguments suitable for WP_Query" type="array">
1763
  <type by_reference="false">array</type>
1764
  </tag>
1765
  </docblock>
1766
- <argument line="1521">
1767
  <name>$raw_request</name>
1768
  <default><![CDATA[]]></default>
1769
  <type/>
1770
  </argument>
1771
- <argument line="1521">
1772
  <name>$offset</name>
1773
  <default><![CDATA[0]]></default>
1774
  <type/>
1775
  </argument>
1776
- <argument line="1521">
1777
  <name>$count</name>
1778
  <default><![CDATA[0]]></default>
1779
  <type/>
1780
  </argument>
1781
  </method>
1782
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1923" package="Media Library Assistant">
1783
  <name>_execute_list_table_query</name>
1784
  <full_name>_execute_list_table_query</full_name>
1785
- <docblock line="1914">
1786
  <description><![CDATA[Add filters, run query, remove filters]]></description>
1787
  <long-description><![CDATA[]]></long-description>
1788
- <tag line="1914" name="since" description="0.30"/>
1789
- <tag line="1914" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
1790
  <type by_reference="false">array</type>
1791
  </tag>
1792
- <tag line="1914" name="return" description="WP_Query object with query results" type="object">
1793
  <type by_reference="false">object</type>
1794
  </tag>
1795
  </docblock>
1796
- <argument line="1923">
1797
  <name>$request</name>
1798
  <default><![CDATA[]]></default>
1799
  <type/>
1800
  </argument>
1801
  </method>
1802
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2026" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1803
  <name>mla_search_terms_tidy</name>
1804
  <full_name>mla_search_terms_tidy</full_name>
1805
- <docblock line="2015">
1806
  <description><![CDATA[Replaces a WordPress function deprecated in v3.7]]></description>
1807
  <long-description><![CDATA[<p>Defined as public because it's a callback from array_map().</p>]]></long-description>
1808
- <tag line="2015" name="since" description="1.51"/>
1809
- <tag line="2015" name="param" description="search term before modification" type="string" variable="$term">
1810
  <type by_reference="false">string</type>
1811
  </tag>
1812
- <tag line="2015" name="return" description="cleaned up search term" type="string">
1813
  <type by_reference="false">string</type>
1814
  </tag>
1815
  </docblock>
1816
- <argument line="2026">
1817
  <name>$term</name>
1818
  <default><![CDATA[]]></default>
1819
  <type/>
1820
  </argument>
1821
  </method>
1822
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2042" package="Media Library Assistant">
1823
  <name>_match_quoted_phrase</name>
1824
  <full_name>_match_quoted_phrase</full_name>
1825
- <docblock line="2030">
1826
  <description><![CDATA[Isolates keyword match results to word boundaries]]></description>
1827
  <long-description><![CDATA[<p>Eliminates matches such as "man" in "woman".</p>]]></long-description>
1828
- <tag line="2030" name="since" description="2.11"/>
1829
- <tag line="2030" name="param" description="the quoted phrase (without enclosing quotes)" type="string" variable="$needle">
1830
  <type by_reference="false">string</type>
1831
  </tag>
1832
- <tag line="2030" name="param" description="the entire term" type="string" variable="$haystack">
1833
  <type by_reference="false">string</type>
1834
  </tag>
1835
- <tag line="2030" name="return" description="$needle is a word match within $haystack" type="boolean">
1836
  <type by_reference="false">boolean</type>
1837
  </tag>
1838
  </docblock>
1839
- <argument line="2042">
1840
  <name>$needle</name>
1841
  <default><![CDATA[]]></default>
1842
  <type/>
1843
  </argument>
1844
- <argument line="2042">
1845
  <name>$haystack</name>
1846
  <default><![CDATA[]]></default>
1847
  <type/>
1848
  </argument>
1849
  </method>
1850
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2073" package="Media Library Assistant">
1851
  <name>mla_query_posts_search_filter</name>
1852
  <full_name>mla_query_posts_search_filter</full_name>
1853
- <docblock line="2061">
1854
  <description><![CDATA[Adds a keyword search to the WHERE clause, if required]]></description>
1855
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
1856
- <tag line="2061" name="since" description="0.60"/>
1857
- <tag line="2061" name="param" description="query clause before modification" type="string" variable="$search_string">
1858
  <type by_reference="false">string</type>
1859
  </tag>
1860
- <tag line="2061" name="param" description="WP_Query object" type="object" variable="$query_object">
1861
  <type by_reference="false">object</type>
1862
  </tag>
1863
- <tag line="2061" name="return" description="query clause after keyword search addition" type="string">
1864
  <type by_reference="false">string</type>
1865
  </tag>
1866
  </docblock>
1867
- <argument line="2073">
1868
  <name>$search_string</name>
1869
  <default><![CDATA[]]></default>
1870
  <type/>
1871
  </argument>
1872
- <argument line="2073">
1873
  <name>$query_object</name>
1874
  <default><![CDATA[]]></default>
1875
  <type/>
1876
  </argument>
1877
  </method>
1878
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2389" package="Media Library Assistant">
1879
  <name>mla_query_posts_where_filter</name>
1880
  <full_name>mla_query_posts_where_filter</full_name>
1881
- <docblock line="2377">
1882
  <description><![CDATA[Adds/modifies the WHERE clause for meta values, LIKE patterns and detached items]]></description>
1883
  <long-description><![CDATA[<p>Modeled after _edit_attachments_query_helper in wp-admin/post.php.
1884
  Defined as public because it's a filter.</p>]]></long-description>
1885
- <tag line="2377" name="since" description="0.1"/>
1886
- <tag line="2377" name="param" description="query clause before modification" type="string" variable="$where_clause">
1887
  <type by_reference="false">string</type>
1888
  </tag>
1889
- <tag line="2377" name="return" description="query clause after modification" type="string">
1890
  <type by_reference="false">string</type>
1891
  </tag>
1892
  </docblock>
1893
- <argument line="2389">
1894
  <name>$where_clause</name>
1895
  <default><![CDATA[]]></default>
1896
  <type/>
1897
  </argument>
1898
  </method>
1899
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2457" package="Media Library Assistant">
1900
  <name>mla_query_posts_join_filter</name>
1901
  <full_name>mla_query_posts_join_filter</full_name>
1902
- <docblock line="2446">
1903
  <description><![CDATA[Adds a JOIN clause, if required, to handle sorting/searching on custom fields or ALT Text]]></description>
1904
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
1905
- <tag line="2446" name="since" description="0.30"/>
1906
- <tag line="2446" name="param" description="query clause before modification" type="string" variable="$join_clause">
1907
  <type by_reference="false">string</type>
1908
  </tag>
1909
- <tag line="2446" name="return" description="query clause after &quot;LEFT JOIN view ON post_id&quot; item modification" type="string">
1910
  <type by_reference="false">string</type>
1911
  </tag>
1912
  </docblock>
1913
- <argument line="2457">
1914
  <name>$join_clause</name>
1915
  <default><![CDATA[]]></default>
1916
  <type/>
1917
  </argument>
1918
  </method>
1919
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2512" package="Media Library Assistant">
1920
  <name>mla_query_posts_groupby_filter</name>
1921
  <full_name>mla_query_posts_groupby_filter</full_name>
1922
- <docblock line="2500">
1923
  <description><![CDATA[Adds a GROUPBY clause, if required]]></description>
1924
  <long-description><![CDATA[<p>Taxonomy text queries and postmeta queries can return multiple results for the same ID.
1925
  Defined as public because it's a filter.</p>]]></long-description>
1926
- <tag line="2500" name="since" description="1.90"/>
1927
- <tag line="2500" name="param" description="query clause before modification" type="string" variable="$groupby_clause">
1928
  <type by_reference="false">string</type>
1929
  </tag>
1930
- <tag line="2500" name="return" description="updated query clause" type="string">
1931
  <type by_reference="false">string</type>
1932
  </tag>
1933
  </docblock>
1934
- <argument line="2512">
1935
  <name>$groupby_clause</name>
1936
  <default><![CDATA[]]></default>
1937
  <type/>
1938
  </argument>
1939
  </method>
1940
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2534" package="Media Library Assistant">
1941
  <name>mla_query_posts_orderby_filter</name>
1942
  <full_name>mla_query_posts_orderby_filter</full_name>
1943
- <docblock line="2522">
1944
  <description><![CDATA[Adds a ORDERBY clause, if required]]></description>
1945
  <long-description><![CDATA[<p>Expands the range of sort options because the logic in WP_Query is limited.
1946
  Defined as public because it's a filter.</p>]]></long-description>
1947
- <tag line="2522" name="since" description="0.30"/>
1948
- <tag line="2522" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
1949
  <type by_reference="false">string</type>
1950
  </tag>
1951
- <tag line="2522" name="return" description="updated query clause" type="string">
1952
  <type by_reference="false">string</type>
1953
  </tag>
1954
  </docblock>
1955
- <argument line="2534">
1956
  <name>$orderby_clause</name>
1957
  <default><![CDATA[]]></default>
1958
  <type/>
1959
  </argument>
1960
  </method>
1961
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2612" package="Media Library Assistant">
1962
  <name>mla_query_relevanssi_admin_search_ok_filter</name>
1963
  <full_name>mla_query_relevanssi_admin_search_ok_filter</full_name>
1964
- <docblock line="2602">
1965
  <description><![CDATA[Disable Relevanssi - A Better Search, v3.2 by Mikko Saari
1966
  Defined as public because it's a filter.]]></description>
1967
  <long-description><![CDATA[]]></long-description>
1968
- <tag line="2602" name="since" description="1.80"/>
1969
- <tag line="2602" name="param" description="Default setting" type="boolean" variable="$admin_search_ok">
1970
  <type by_reference="false">boolean</type>
1971
  </tag>
1972
- <tag line="2602" name="return" description="Updated setting" type="boolean">
1973
  <type by_reference="false">boolean</type>
1974
  </tag>
1975
  </docblock>
1976
- <argument line="2612">
1977
  <name>$admin_search_ok</name>
1978
  <default><![CDATA[]]></default>
1979
  <type/>
1980
  </argument>
1981
  </method>
1982
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2628" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1983
  <name>mla_query_posts_clauses_filter</name>
1984
  <full_name>mla_query_posts_clauses_filter</full_name>
1985
- <docblock line="2616">
1986
  <description><![CDATA[Filters all clauses for shortcode queries, pre caching plugins]]></description>
1987
  <long-description><![CDATA[<p>This is for debug purposes only.
1988
  Defined as public because it's a filter.</p>]]></long-description>
1989
- <tag line="2616" name="since" description="1.80"/>
1990
- <tag line="2616" name="param" description="query clauses before modification" type="array" variable="$pieces">
1991
  <type by_reference="false">array</type>
1992
  </tag>
1993
- <tag line="2616" name="return" description="query clauses after modification (none)" type="array">
1994
  <type by_reference="false">array</type>
1995
  </tag>
1996
  </docblock>
1997
- <argument line="2628">
1998
  <name>$pieces</name>
1999
  <default><![CDATA[]]></default>
2000
  <type/>
2001
  </argument>
2002
  </method>
2003
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2652" package="Media Library Assistant">
2004
  <name>mla_query_posts_clauses_request_filter</name>
2005
  <full_name>mla_query_posts_clauses_request_filter</full_name>
2006
- <docblock line="2640">
2007
  <description><![CDATA[Filters all clauses for shortcode queries, post caching plugins]]></description>
2008
  <long-description><![CDATA[<p>This is for debug purposes only.
2009
  Defined as public because it's a filter.</p>]]></long-description>
2010
- <tag line="2640" name="since" description="1.80"/>
2011
- <tag line="2640" name="param" description="query clauses before modification" type="array" variable="$pieces">
2012
  <type by_reference="false">array</type>
2013
  </tag>
2014
- <tag line="2640" name="return" description="query clauses after modification (none)" type="array">
2015
  <type by_reference="false">array</type>
2016
  </tag>
2017
  </docblock>
2018
- <argument line="2652">
2019
  <name>$pieces</name>
2020
  <default><![CDATA[]]></default>
2021
  <type/>
2022
  </argument>
2023
  </method>
2024
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2678" package="Media Library Assistant">
2025
  <name>mla_get_attachment_by_id</name>
2026
  <full_name>mla_get_attachment_by_id</full_name>
2027
- <docblock line="2664">
2028
  <description><![CDATA[Retrieve an Attachment array given a $post_id]]></description>
2029
  <long-description><![CDATA[<p>The (associative) array will contain every field that can be found in
2030
  the posts and postmeta tables, and all references to the attachment.</p>]]></long-description>
2031
- <tag line="2664" name="since" description="0.1"/>
2032
- <tag line="2664" name="uses" description="\global\$post" refers="\global\$post"/>
2033
- <tag line="2664" name="param" description="The ID of the attachment post" type="integer" variable="$post_id">
2034
  <type by_reference="false">integer</type>
2035
  </tag>
2036
- <tag line="2664" name="param" description="True to add references, false to skip references" type="boolean" variable="$add_references">
2037
  <type by_reference="false">boolean</type>
2038
  </tag>
2039
- <tag line="2664" name="return" description="NULL on failure else associative array" type="NULL|array">
2040
  <type by_reference="false">NULL</type>
2041
  <type by_reference="false">array</type>
2042
  </tag>
2043
  </docblock>
2044
- <argument line="2678">
2045
  <name>$post_id</name>
2046
  <default><![CDATA[]]></default>
2047
  <type/>
2048
  </argument>
2049
- <argument line="2678">
2050
  <name>$add_references</name>
2051
  <default><![CDATA[true]]></default>
2052
  <type/>
2053
  </argument>
2054
  </method>
2055
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2734" package="Media Library Assistant">
2056
  <name>mla_fetch_attachment_parent_data</name>
2057
  <full_name>mla_fetch_attachment_parent_data</full_name>
2058
- <docblock line="2725">
2059
  <description><![CDATA[Returns information about an attachment's parent, if found]]></description>
2060
  <long-description><![CDATA[]]></long-description>
2061
- <tag line="2725" name="since" description="0.1"/>
2062
- <tag line="2725" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent_id">
2063
  <type by_reference="false">int</type>
2064
  </tag>
2065
- <tag line="2725" name="return" description="Parent information; post_date, post_title and post_type" type="array">
2066
  <type by_reference="false">array</type>
2067
  </tag>
2068
  </docblock>
2069
- <argument line="2734">
2070
  <name>$parent_id</name>
2071
  <default><![CDATA[]]></default>
2072
  <type/>
2073
  </argument>
2074
  </method>
2075
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2784" package="Media Library Assistant">
2076
  <name>_set_array_element</name>
2077
  <full_name>_set_array_element</full_name>
2078
- <docblock line="2773">
2079
  <description><![CDATA[Adds or replaces the value of a key in a possibly nested array structure]]></description>
2080
  <long-description><![CDATA[]]></long-description>
2081
- <tag line="2773" name="since" description="1.51"/>
2082
- <tag line="2773" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
2083
  <type by_reference="false">string</type>
2084
  </tag>
2085
- <tag line="2773" name="param" description="replacement value, string or array, by reference" type="mixed" variable="$value">
2086
  <type by_reference="false">mixed</type>
2087
  </tag>
2088
- <tag line="2773" name="param" description="PHP nested arrays, by reference" type="array" variable="$haystack">
2089
  <type by_reference="false">array</type>
2090
  </tag>
2091
- <tag line="2773" name="return" description="true if $needle element set, false if not" type="boolean">
2092
  <type by_reference="false">boolean</type>
2093
  </tag>
2094
  </docblock>
2095
- <argument line="2784">
2096
  <name>$needle</name>
2097
  <default><![CDATA[]]></default>
2098
  <type/>
2099
  </argument>
2100
- <argument line="2784">
2101
  <name>$value</name>
2102
  <default><![CDATA[]]></default>
2103
  <type/>
2104
  </argument>
2105
- <argument line="2784">
2106
  <name>$haystack</name>
2107
  <default><![CDATA[]]></default>
2108
  <type/>
2109
  </argument>
2110
  </method>
2111
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2818" package="Media Library Assistant">
2112
  <name>_unset_array_element</name>
2113
  <full_name>_unset_array_element</full_name>
2114
- <docblock line="2808">
2115
  <description><![CDATA[Deletes the value of a key in a possibly nested array structure]]></description>
2116
  <long-description><![CDATA[]]></long-description>
2117
- <tag line="2808" name="since" description="1.51"/>
2118
- <tag line="2808" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
2119
  <type by_reference="false">string</type>
2120
  </tag>
2121
- <tag line="2808" name="param" description="PHP nested arrays, by reference" type="array" variable="$haystack">
2122
  <type by_reference="false">array</type>
2123
  </tag>
2124
- <tag line="2808" name="return" description="true if $needle element found, false if not" type="boolean">
2125
  <type by_reference="false">boolean</type>
2126
  </tag>
2127
  </docblock>
2128
- <argument line="2818">
2129
  <name>$needle</name>
2130
  <default><![CDATA[]]></default>
2131
  <type/>
2132
  </argument>
2133
- <argument line="2818">
2134
  <name>$haystack</name>
2135
  <default><![CDATA[]]></default>
2136
  <type/>
2137
  </argument>
2138
  </method>
2139
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2853" package="Media Library Assistant">
2140
  <name>mla_find_array_element</name>
2141
  <full_name>mla_find_array_element</full_name>
2142
- <docblock line="2838">
2143
  <description><![CDATA[Finds the value of a key in a possibly nested array structure]]></description>
2144
  <long-description><![CDATA[<p>Used primarily to extract fields from the _wp_attachment_metadata custom field.
2145
- Could also be used with the ID3 metadata exposed in WordPress 3.6 and later.</p>]]></long-description>
2146
- <tag line="2838" name="since" description="1.30"/>
2147
- <tag line="2838" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
2148
  <type by_reference="false">string</type>
2149
  </tag>
2150
- <tag line="2838" name="param" description="PHP nested arrays" type="array" variable="$haystack">
2151
  <type by_reference="false">array</type>
2152
  </tag>
2153
- <tag line="2838" name="param" description="data option 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
2154
  <type by_reference="false">string</type>
2155
  </tag>
2156
- <tag line="2838" name="param" description="keep existing values - for 'multi' option" type="boolean" variable="$keep_existing">
2157
  <type by_reference="false">boolean</type>
2158
  </tag>
2159
- <tag line="2838" name="return" description="string or array value matching key(.key ...) or ''" type="mixed">
2160
  <type by_reference="false">mixed</type>
2161
  </tag>
2162
  </docblock>
2163
- <argument line="2853">
2164
  <name>$needle</name>
2165
  <default><![CDATA[]]></default>
2166
  <type/>
2167
  </argument>
2168
- <argument line="2853">
2169
  <name>$haystack</name>
2170
  <default><![CDATA[]]></default>
2171
  <type/>
2172
  </argument>
2173
- <argument line="2853">
2174
  <name>$option</name>
2175
  <default><![CDATA[]]></default>
2176
  <type/>
2177
  </argument>
2178
- <argument line="2853">
2179
  <name>$keep_existing</name>
2180
  <default><![CDATA[false]]></default>
2181
  <type/>
2182
  </argument>
2183
  </method>
2184
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2936" package="Media Library Assistant">
2185
  <name>mla_fetch_attachment_metadata</name>
2186
  <full_name>mla_fetch_attachment_metadata</full_name>
2187
- <docblock line="2924">
2188
  <description><![CDATA[Fetch and filter meta data for an attachment]]></description>
2189
  <long-description><![CDATA[<p>Returns a filtered array of a post's meta data. Internal values beginning with '<em>'
2190
  are stripped out or converted to an 'mla</em>' equivalent.</p>]]></long-description>
2191
- <tag line="2924" name="since" description="0.1"/>
2192
- <tag line="2924" name="param" description="post ID of attachment" type="int" variable="$post_id">
2193
  <type by_reference="false">int</type>
2194
  </tag>
2195
- <tag line="2924" name="return" description="Meta data variables" type="array">
2196
  <type by_reference="false">array</type>
2197
  </tag>
2198
  </docblock>
2199
- <argument line="2936">
2200
  <name>$post_id</name>
2201
  <default><![CDATA[]]></default>
2202
  <type/>
2203
  </argument>
2204
  </method>
2205
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3022" package="Media Library Assistant">
2206
  <name>mla_fetch_attachment_references</name>
2207
  <full_name>mla_fetch_attachment_references</full_name>
2208
- <docblock line="3008">
2209
  <description><![CDATA[Find Featured Image and inserted image/link references to an attachment]]></description>
2210
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachment is used
2211
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
2212
- <tag line="3008" name="since" description="0.1"/>
2213
- <tag line="3008" name="param" description="post ID of attachment" type="int" variable="$ID">
2214
  <type by_reference="false">int</type>
2215
  </tag>
2216
- <tag line="3008" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent">
2217
  <type by_reference="false">int</type>
2218
  </tag>
2219
- <tag line="3008" name="param" description="True to compute references, false to return empty values" type="boolean" variable="$add_references">
2220
  <type by_reference="false">boolean</type>
2221
  </tag>
2222
- <tag line="3008" name="return" description="Reference information; see $references array comments" type="array">
2223
  <type by_reference="false">array</type>
2224
  </tag>
2225
  </docblock>
2226
- <argument line="3022">
2227
  <name>$ID</name>
2228
  <default><![CDATA[]]></default>
2229
  <type/>
2230
  </argument>
2231
- <argument line="3022">
2232
  <name>$parent</name>
2233
  <default><![CDATA[]]></default>
2234
  <type/>
2235
  </argument>
2236
- <argument line="3022">
2237
  <name>$add_references</name>
2238
  <default><![CDATA[true]]></default>
2239
  <type/>
2240
  </argument>
2241
  </method>
2242
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3352" package="Media Library Assistant">
2243
  <name>mla_attachment_array_fetch_references</name>
2244
  <full_name>mla_attachment_array_fetch_references</full_name>
2245
- <docblock line="3340">
2246
  <description><![CDATA[Add Featured Image and inserted image/link references to an array of attachments]]></description>
2247
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachmenta are used
2248
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
2249
- <tag line="3340" name="since" description="1.94"/>
2250
- <tag line="3340" name="param" description="WP_Post objects, passed by reference" type="array" variable="$attachments">
2251
  <type by_reference="false">array</type>
2252
  </tag>
2253
- <tag line="3340" name="return" description="updates WP_Post objects with new mla_references property" type="void">
2254
  <type by_reference="false">void</type>
2255
  </tag>
2256
  </docblock>
2257
- <argument line="3352">
2258
  <name>$attachments</name>
2259
  <default><![CDATA[]]></default>
2260
  <type/>
2261
  </argument>
2262
  </method>
2263
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3726" package="Media Library Assistant">
2264
  <name>mla_flush_mla_galleries</name>
2265
  <full_name>mla_flush_mla_galleries</full_name>
2266
- <docblock line="3717">
2267
  <description><![CDATA[Invalidates the $mla_galleries or $galleries array and cached values]]></description>
2268
  <long-description><![CDATA[]]></long-description>
2269
- <tag line="3717" name="since" description="1.00"/>
2270
- <tag line="3717" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
2271
  <type by_reference="false">string</type>
2272
  </tag>
2273
- <tag line="3717" name="return" description="" type="void">
2274
  <type by_reference="false">void</type>
2275
  </tag>
2276
  </docblock>
2277
- <argument line="3726">
2278
  <name>$option_name</name>
2279
  <default><![CDATA[]]></default>
2280
  <type/>
2281
  </argument>
2282
  </method>
2283
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3750" package="Media Library Assistant">
2284
  <name>mla_save_post_action</name>
2285
  <full_name>mla_save_post_action</full_name>
2286
- <docblock line="3741">
2287
  <description><![CDATA[Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates]]></description>
2288
  <long-description><![CDATA[]]></long-description>
2289
- <tag line="3741" name="since" description="1.00"/>
2290
- <tag line="3741" name="param" description="ID of post/page/attachment; not used at this time" type="integer" variable="$post_id">
2291
  <type by_reference="false">integer</type>
2292
  </tag>
2293
- <tag line="3741" name="return" description="" type="void">
2294
  <type by_reference="false">void</type>
2295
  </tag>
2296
  </docblock>
2297
- <argument line="3750">
2298
  <name>$post_id</name>
2299
  <default><![CDATA[]]></default>
2300
  <type/>
2301
  </argument>
2302
  </method>
2303
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3767" package="Media Library Assistant">
2304
  <name>_build_mla_galleries</name>
2305
  <full_name>_build_mla_galleries</full_name>
2306
- <docblock line="3755">
2307
  <description><![CDATA[Builds the $mla_galleries or $galleries array]]></description>
2308
  <long-description><![CDATA[]]></long-description>
2309
- <tag line="3755" name="since" description="0.70"/>
2310
- <tag line="3755" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
2311
  <type by_reference="false">string</type>
2312
  </tag>
2313
- <tag line="3755" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
2314
  <type by_reference="false">array</type>
2315
  </tag>
2316
- <tag line="3755" name="param" description="the shortcode to be searched for and processed" type="string" variable="$shortcode">
2317
  <type by_reference="false">string</type>
2318
  </tag>
2319
- <tag line="3755" name="param" description="true to exclude revisions from the search" type="boolean" variable="$exclude_revisions">
2320
  <type by_reference="false">boolean</type>
2321
  </tag>
2322
- <tag line="3755" name="return" description="true if the galleries array is not empty" type="boolean">
2323
  <type by_reference="false">boolean</type>
2324
  </tag>
2325
  </docblock>
2326
- <argument line="3767">
2327
  <name>$option_name</name>
2328
  <default><![CDATA[]]></default>
2329
  <type/>
2330
  </argument>
2331
- <argument line="3767">
2332
  <name>$galleries_array</name>
2333
  <default><![CDATA[]]></default>
2334
  <type/>
2335
  </argument>
2336
- <argument line="3767">
2337
  <name>$shortcode</name>
2338
  <default><![CDATA[]]></default>
2339
  <type/>
2340
  </argument>
2341
- <argument line="3767">
2342
  <name>$exclude_revisions</name>
2343
  <default><![CDATA[]]></default>
2344
  <type/>
2345
  </argument>
2346
  </method>
2347
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3888" package="Media Library Assistant">
2348
  <name>_search_mla_galleries</name>
2349
  <full_name>_search_mla_galleries</full_name>
2350
- <docblock line="3877">
2351
  <description><![CDATA[Search the $mla_galleries or $galleries array]]></description>
2352
  <long-description><![CDATA[]]></long-description>
2353
- <tag line="3877" name="since" description="0.70"/>
2354
- <tag line="3877" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
2355
  <type by_reference="false">array</type>
2356
  </tag>
2357
- <tag line="3877" name="param" description="the attachment ID to be searched for and processed" type="int" variable="$attachment_id">
2358
  <type by_reference="false">int</type>
2359
  </tag>
2360
- <tag line="3877" name="return" description="All posts/pages with one or more galleries that include the attachment. The array key is the parent_post ID; each entry contains post_title and post_type." type="array">
2361
  <type by_reference="false">array</type>
2362
  </tag>
2363
  </docblock>
2364
- <argument line="3888">
2365
  <name>$galleries_array</name>
2366
  <default><![CDATA[]]></default>
2367
  <type/>
2368
  </argument>
2369
- <argument line="3888">
2370
  <name>$attachment_id</name>
2371
  <default><![CDATA[]]></default>
2372
  <type/>
2373
  </argument>
2374
  </method>
2375
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3910" package="Media Library Assistant">
2376
  <name>mla_parse_pdf_date</name>
2377
  <full_name>mla_parse_pdf_date</full_name>
2378
- <docblock line="3901">
2379
  <description><![CDATA[Parse a PDF date string]]></description>
2380
  <long-description><![CDATA[]]></long-description>
2381
- <tag line="3901" name="since" description="1.50"/>
2382
- <tag line="3901" name="param" description="PDF date string of the form D:YYYYMMDDHHmmSSOHH'mm" type="string" variable="$source_string">
2383
  <type by_reference="false">string</type>
2384
  </tag>
2385
- <tag line="3901" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
2386
  <type by_reference="false">string</type>
2387
  </tag>
2388
  </docblock>
2389
- <argument line="3910">
2390
  <name>$source_string</name>
2391
  <default><![CDATA[]]></default>
2392
  <type/>
2393
  </argument>
2394
  </method>
2395
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3933" package="Media Library Assistant">
2396
  <name>_parse_iso8601_date</name>
2397
  <full_name>_parse_iso8601_date</full_name>
2398
- <docblock line="3924">
2399
  <description><![CDATA[Parse a ISO 8601 Timestamp]]></description>
2400
  <long-description><![CDATA[]]></long-description>
2401
- <tag line="3924" name="since" description="1.50"/>
2402
- <tag line="3924" name="param" description="ISO string of the form YYYY-MM-DDTHH:MM:SS-HH:MM (inc time zone)" type="string" variable="$source_string">
2403
  <type by_reference="false">string</type>
2404
  </tag>
2405
- <tag line="3924" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
2406
  <type by_reference="false">string</type>
2407
  </tag>
2408
  </docblock>
2409
- <argument line="3933">
2410
  <name>$source_string</name>
2411
  <default><![CDATA[]]></default>
2412
  <type/>
2413
  </argument>
2414
  </method>
2415
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3956" package="Media Library Assistant">
2416
  <name>_parse_xmp_array</name>
2417
  <full_name>_parse_xmp_array</full_name>
2418
- <docblock line="3947">
2419
  <description><![CDATA[Parse an XMP array value, stripping namespace prefixes and Seq/Alt/Bag arrays]]></description>
2420
  <long-description><![CDATA[]]></long-description>
2421
- <tag line="3947" name="since" description="2.10"/>
2422
- <tag line="3947" name="param" description="XMP multi-valued element" type="array" variable="$values">
2423
  <type by_reference="false">array</type>
2424
  </tag>
2425
- <tag line="3947" name="return" description="Simplified array or string value" type="mixed">
2426
  <type by_reference="false">mixed</type>
2427
  </tag>
2428
  </docblock>
2429
- <argument line="3956">
2430
  <name>$values</name>
2431
  <default><![CDATA[]]></default>
2432
  <type/>
2433
  </argument>
2434
  </method>
2435
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4001" package="Media Library Assistant">
2436
  <name>mla_parse_xmp_metadata</name>
2437
  <full_name>mla_parse_xmp_metadata</full_name>
2438
- <docblock line="3991">
2439
  <description><![CDATA[Extract XMP meta data from a file]]></description>
2440
  <long-description><![CDATA[]]></long-description>
2441
- <tag line="3991" name="since" description="2.10"/>
2442
- <tag line="3991" name="param" description="full path and file name" type="string" variable="$file_name">
2443
  <type by_reference="false">string</type>
2444
  </tag>
2445
- <tag line="3991" name="param" description="offset within the file of the search start point" type="integer" variable="$file_offset">
2446
  <type by_reference="false">integer</type>
2447
  </tag>
2448
- <tag line="3991" name="return" description="array of metadata values or NULL on failure" type="mixed">
2449
  <type by_reference="false">mixed</type>
2450
  </tag>
2451
  </docblock>
2452
- <argument line="4001">
2453
  <name>$file_name</name>
2454
  <default><![CDATA[]]></default>
2455
  <type/>
2456
  </argument>
2457
- <argument line="4001">
2458
  <name>$file_offset</name>
2459
  <default><![CDATA[]]></default>
2460
  <type/>
2461
  </argument>
2462
  </method>
2463
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4330" package="Media Library Assistant">
2464
  <name>_bin_to_utf8</name>
2465
  <full_name>_bin_to_utf8</full_name>
2466
- <docblock line="4321">
2467
  <description><![CDATA[Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents]]></description>
2468
  <long-description><![CDATA[]]></long-description>
2469
- <tag line="4321" name="since" description="1.41"/>
2470
- <tag line="4321" name="param" description="unencoded string" type="string" variable="$string">
2471
  <type by_reference="false">string</type>
2472
  </tag>
2473
- <tag line="4321" name="return" description="UTF-8 encoded string" type="string">
2474
  <type by_reference="false">string</type>
2475
  </tag>
2476
  </docblock>
2477
- <argument line="4330">
2478
  <name>$string</name>
2479
  <default><![CDATA[]]></default>
2480
  <type/>
2481
  </argument>
2482
  </method>
2483
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4728" package="Media Library Assistant">
2484
  <name>mla_iptc_metadata_value</name>
2485
  <full_name>mla_iptc_metadata_value</full_name>
2486
- <docblock line="4718">
2487
  <description><![CDATA[Parse one IPTC metadata field]]></description>
2488
  <long-description><![CDATA[]]></long-description>
2489
- <tag line="4718" name="since" description="1.41"/>
2490
- <tag line="4718" name="param" description="field name - IPTC Identifier or friendly name/slug" type="string" variable="$iptc_key">
2491
  <type by_reference="false">string</type>
2492
  </tag>
2493
- <tag line="4718" name="param" description="metadata array containing iptc, exif, xmp and pdf metadata arrays" type="string" variable="$item_metadata">
 
 
 
2494
  <type by_reference="false">string</type>
2495
  </tag>
2496
- <tag line="4718" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
 
 
 
2497
  <type by_reference="false">mixed</type>
2498
  </tag>
2499
  </docblock>
2500
- <argument line="4728">
2501
  <name>$iptc_key</name>
2502
  <default><![CDATA[]]></default>
2503
  <type/>
2504
  </argument>
2505
- <argument line="4728">
2506
  <name>$item_metadata</name>
2507
  <default><![CDATA[]]></default>
2508
  <type/>
2509
  </argument>
 
 
 
 
 
 
 
 
 
 
2510
  </method>
2511
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4776" package="Media Library Assistant">
2512
  <name>mla_exif_metadata_value</name>
2513
  <full_name>mla_exif_metadata_value</full_name>
2514
- <docblock line="4764">
2515
  <description><![CDATA[Parse one EXIF metadata field]]></description>
2516
  <long-description><![CDATA[<p>Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p>]]></long-description>
2517
- <tag line="4764" name="since" description="1.13"/>
2518
- <tag line="4764" name="param" description="field name" type="string" variable="$exif_key">
2519
  <type by_reference="false">string</type>
2520
  </tag>
2521
- <tag line="4764" name="param" description="metadata array containing iptc, exif, xmp and pdf metadata arrays" type="string" variable="$item_metadata">
 
 
 
2522
  <type by_reference="false">string</type>
2523
  </tag>
2524
- <tag line="4764" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
 
 
 
2525
  <type by_reference="false">mixed</type>
2526
  </tag>
2527
  </docblock>
2528
- <argument line="4776">
2529
  <name>$exif_key</name>
2530
  <default><![CDATA[]]></default>
2531
  <type/>
2532
  </argument>
2533
- <argument line="4776">
2534
  <name>$item_metadata</name>
2535
  <default><![CDATA[]]></default>
2536
  <type/>
2537
  </argument>
 
 
 
 
 
 
 
 
 
 
2538
  </method>
2539
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4839" package="Media Library Assistant">
2540
  <name>mla_xmp_metadata_value</name>
2541
  <full_name>mla_xmp_metadata_value</full_name>
2542
- <docblock line="4825">
2543
  <description><![CDATA[Parse one XMP metadata field]]></description>
2544
  <long-description><![CDATA[<p>Also handles the special pseudo-value 'ALL_XMP'.</p>]]></long-description>
2545
- <tag line="4825" name="since" description="2.10"/>
2546
- <tag line="4825" name="param" description="field name" type="string" variable="$xmp_key">
2547
  <type by_reference="false">string</type>
2548
  </tag>
2549
- <tag line="4825" name="param" description="data option 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
 
 
 
2550
  <type by_reference="false">string</type>
2551
  </tag>
2552
- <tag line="4825" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
2553
  <type by_reference="false">boolean</type>
2554
  </tag>
2555
- <tag line="4825" name="param" description="XMP metadata array" type="string" variable="$xmp_metadata">
2556
- <type by_reference="false">string</type>
2557
- </tag>
2558
- <tag line="4825" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
2559
  <type by_reference="false">mixed</type>
2560
  </tag>
2561
  </docblock>
2562
- <argument line="4839">
2563
  <name>$xmp_key</name>
2564
  <default><![CDATA[]]></default>
2565
  <type/>
2566
  </argument>
2567
- <argument line="4839">
2568
- <name>$option</name>
2569
  <default><![CDATA[]]></default>
2570
  <type/>
2571
  </argument>
2572
- <argument line="4839">
 
 
 
 
 
2573
  <name>$keep_existing</name>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2574
  <default><![CDATA[]]></default>
2575
  <type/>
2576
  </argument>
2577
- <argument line="4839">
2578
- <name>$xmp_metadata</name>
 
 
 
 
 
 
 
 
 
 
2579
  <default><![CDATA[]]></default>
2580
  <type/>
2581
  </argument>
2582
  </method>
2583
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4872" package="Media Library Assistant">
2584
  <name>mla_pdf_metadata_value</name>
2585
  <full_name>mla_pdf_metadata_value</full_name>
2586
- <docblock line="4860">
2587
  <description><![CDATA[Parse one PDF metadata field]]></description>
2588
  <long-description><![CDATA[<p>Also handles the special pseudo-value 'ALL_PDF'.</p>]]></long-description>
2589
- <tag line="4860" name="since" description="1.50"/>
2590
- <tag line="4860" name="param" description="field name" type="string" variable="$pdf_key">
2591
  <type by_reference="false">string</type>
2592
  </tag>
2593
- <tag line="4860" name="param" description="metadata array containing iptc, exif, xmp and pdf metadata arrays" type="string" variable="$item_metadata">
2594
  <type by_reference="false">string</type>
2595
  </tag>
2596
- <tag line="4860" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
2597
  <type by_reference="false">mixed</type>
2598
  </tag>
2599
  </docblock>
2600
- <argument line="4872">
2601
  <name>$pdf_key</name>
2602
  <default><![CDATA[]]></default>
2603
  <type/>
2604
  </argument>
2605
- <argument line="4872">
2606
  <name>$item_metadata</name>
2607
  <default><![CDATA[]]></default>
2608
  <type/>
2609
  </argument>
2610
  </method>
2611
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4914" package="Media Library Assistant">
2612
  <name>_rational_to_decimal</name>
2613
  <full_name>_rational_to_decimal</full_name>
2614
- <docblock line="4905">
2615
  <description><![CDATA[Convert an EXIF GPS rational value to a PHP float value]]></description>
2616
  <long-description><![CDATA[]]></long-description>
2617
- <tag line="4905" name="since" description="1.50"/>
2618
- <tag line="4905" name="param" description="array( 0 =&gt; numerator, 1 =&gt; denominator )" type="array" variable="$rational">
2619
  <type by_reference="false">array</type>
2620
  </tag>
2621
- <tag line="4905" name="return" description="numerator/denominator" type="float">
2622
  <type by_reference="false">float</type>
2623
  </tag>
2624
  </docblock>
2625
- <argument line="4914">
2626
  <name>$rational</name>
2627
  <default><![CDATA[]]></default>
2628
  <type/>
2629
  </argument>
2630
  </method>
2631
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4931" package="Media Library Assistant">
2632
  <name>_rational_to_string</name>
2633
  <full_name>_rational_to_string</full_name>
2634
- <docblock line="4919">
2635
  <description><![CDATA[Convert an EXIF rational value to a formatted string]]></description>
2636
  <long-description><![CDATA[]]></long-description>
2637
- <tag line="4919" name="since" description="2.02"/>
2638
- <tag line="4919" name="param" description="numerator/denominator" type="string" variable="$rational">
2639
  <type by_reference="false">string</type>
2640
  </tag>
2641
- <tag line="4919" name="param" description="format for integer values" type="string" variable="$integer_format">
2642
  <type by_reference="false">string</type>
2643
  </tag>
2644
- <tag line="4919" name="param" description="format for fractional values from -1 to +1" type="string" variable="$fraction_format">
2645
  <type by_reference="false">string</type>
2646
  </tag>
2647
- <tag line="4919" name="param" description="format for integer.fraction values" type="string" variable="$mixed_format">
2648
  <type by_reference="false">string</type>
2649
  </tag>
2650
- <tag line="4919" name="return" description="formatted value or boolean false if no value available" type="mixed">
2651
  <type by_reference="false">mixed</type>
2652
  </tag>
2653
  </docblock>
2654
- <argument line="4931">
2655
  <name>$rational</name>
2656
  <default><![CDATA[]]></default>
2657
  <type/>
2658
  </argument>
2659
- <argument line="4931">
2660
  <name>$integer_format</name>
2661
  <default><![CDATA[]]></default>
2662
  <type/>
2663
  </argument>
2664
- <argument line="4931">
2665
  <name>$fraction_format</name>
2666
  <default><![CDATA[]]></default>
2667
  <type/>
2668
  </argument>
2669
- <argument line="4931">
2670
  <name>$mixed_format</name>
2671
  <default><![CDATA[]]></default>
2672
  <type/>
2673
  </argument>
2674
  </method>
2675
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4982" package="Media Library Assistant">
2676
  <name>mla_IPTC_EXIF_error_handler</name>
2677
  <full_name>mla_IPTC_EXIF_error_handler</full_name>
2678
- <docblock line="4970">
2679
  <description><![CDATA[Intercept IPTC and EXIF parse errors]]></description>
2680
  <long-description><![CDATA[]]></long-description>
2681
- <tag line="4970" name="since" description="1.81"/>
2682
- <tag line="4970" name="param" description="the level of the error raised" type="int" variable="$type">
2683
  <type by_reference="false">int</type>
2684
  </tag>
2685
- <tag line="4970" name="param" description="the error message" type="string" variable="$string">
2686
  <type by_reference="false">string</type>
2687
  </tag>
2688
- <tag line="4970" name="param" description="the filename that the error was raised in" type="string" variable="$file">
2689
  <type by_reference="false">string</type>
2690
  </tag>
2691
- <tag line="4970" name="param" description="the line number the error was raised at" type="int" variable="$line">
2692
  <type by_reference="false">int</type>
2693
  </tag>
2694
- <tag line="4970" name="return" description="true, to bypass PHP error handler" type="boolean">
2695
  <type by_reference="false">boolean</type>
2696
  </tag>
2697
  </docblock>
2698
- <argument line="4982">
2699
  <name>$type</name>
2700
  <default><![CDATA[]]></default>
2701
  <type/>
2702
  </argument>
2703
- <argument line="4982">
2704
  <name>$string</name>
2705
  <default><![CDATA[]]></default>
2706
  <type/>
2707
  </argument>
2708
- <argument line="4982">
2709
  <name>$file</name>
2710
  <default><![CDATA[]]></default>
2711
  <type/>
2712
  </argument>
2713
- <argument line="4982">
2714
  <name>$line</name>
2715
  <default><![CDATA[]]></default>
2716
  <type/>
2717
  </argument>
2718
  </method>
2719
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5020" package="Media Library Assistant">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2720
  <name>mla_fetch_attachment_image_metadata</name>
2721
  <full_name>mla_fetch_attachment_image_metadata</full_name>
2722
- <docblock line="5010">
2723
  <description><![CDATA[Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment]]></description>
2724
  <long-description><![CDATA[]]></long-description>
2725
- <tag line="5010" name="since" description="0.90"/>
2726
- <tag line="5010" name="param" description="post ID of attachment" type="int" variable="$post_id">
2727
  <type by_reference="false">int</type>
2728
  </tag>
2729
- <tag line="5010" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
2730
  <type by_reference="false">string</type>
2731
  </tag>
2732
- <tag line="5010" name="return" description="Meta data variables, IPTC and EXIF or PDF" type="array">
2733
  <type by_reference="false">array</type>
2734
  </tag>
2735
  </docblock>
2736
- <argument line="5020">
2737
  <name>$post_id</name>
2738
  <default><![CDATA[]]></default>
2739
  <type/>
2740
  </argument>
2741
- <argument line="5020">
2742
  <name>$path</name>
2743
  <default><![CDATA['']]></default>
2744
  <type/>
2745
  </argument>
2746
  </method>
2747
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5368" package="Media Library Assistant">
2748
  <name>mla_update_wp_attachment_metadata</name>
2749
  <full_name>mla_update_wp_attachment_metadata</full_name>
2750
- <docblock line="5358">
2751
  <description><![CDATA[Update "meta:" data for a single attachment]]></description>
2752
  <long-description><![CDATA[]]></long-description>
2753
- <tag line="5358" name="since" description="1.51"/>
2754
- <tag line="5358" name="param" description="The current wp_attachment_metadata value" type="array" variable="$current_values">
2755
  <type by_reference="false">array</type>
2756
  </tag>
2757
- <tag line="5358" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
2758
  <type by_reference="false">array</type>
2759
  </tag>
2760
- <tag line="5358" name="return" description="success/failure message(s); empty string if no changes." type="string">
2761
  <type by_reference="false">string</type>
2762
  </tag>
2763
  </docblock>
2764
- <argument line="5368">
2765
  <name>$current_values</name>
2766
  <default><![CDATA[]]></default>
2767
  <type/>
2768
  </argument>
2769
- <argument line="5368">
2770
  <name>$new_meta</name>
2771
  <default><![CDATA[]]></default>
2772
  <type/>
2773
  </argument>
2774
  </method>
2775
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5452" package="Media Library Assistant">
2776
  <name>mla_update_item_postmeta</name>
2777
  <full_name>mla_update_item_postmeta</full_name>
2778
- <docblock line="5442">
2779
  <description><![CDATA[Update custom field and "meta:" data for a single attachment]]></description>
2780
  <long-description><![CDATA[]]></long-description>
2781
- <tag line="5442" name="since" description="1.40"/>
2782
- <tag line="5442" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
2783
  <type by_reference="false">int</type>
2784
  </tag>
2785
- <tag line="5442" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
2786
  <type by_reference="false">array</type>
2787
  </tag>
2788
- <tag line="5442" name="return" description="success/failure message(s)" type="string">
2789
  <type by_reference="false">string</type>
2790
  </tag>
2791
  </docblock>
2792
- <argument line="5452">
2793
  <name>$post_id</name>
2794
  <default><![CDATA[]]></default>
2795
  <type/>
2796
  </argument>
2797
- <argument line="5452">
2798
  <name>$new_meta</name>
2799
  <default><![CDATA[]]></default>
2800
  <type/>
2801
  </argument>
2802
  </method>
2803
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5619" package="Media Library Assistant">
2804
  <name>mla_update_single_item</name>
2805
  <full_name>mla_update_single_item</full_name>
2806
- <docblock line="5606">
2807
  <description><![CDATA[Update a single item; change the "post" data, taxonomy terms
2808
  and meta data for a single attachment]]></description>
2809
  <long-description><![CDATA[]]></long-description>
2810
- <tag line="5606" name="since" description="0.1"/>
2811
- <tag line="5606" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
2812
  <type by_reference="false">int</type>
2813
  </tag>
2814
- <tag line="5606" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
2815
  <type by_reference="false">array</type>
2816
  </tag>
2817
- <tag line="5606" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
2818
  <type by_reference="false">array</type>
2819
  </tag>
2820
- <tag line="5606" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
2821
  <type by_reference="false">array</type>
2822
  </tag>
2823
- <tag line="5606" name="return" description="success/failure message and NULL content" type="array">
2824
  <type by_reference="false">array</type>
2825
  </tag>
2826
  </docblock>
2827
- <argument line="5619">
2828
  <name>$post_id</name>
2829
  <default><![CDATA[]]></default>
2830
  <type/>
2831
  </argument>
2832
- <argument line="5619">
2833
  <name>$new_data</name>
2834
  <default><![CDATA[]]></default>
2835
  <type/>
2836
  </argument>
2837
- <argument line="5619">
2838
  <name>$tax_input</name>
2839
  <default><![CDATA[NULL]]></default>
2840
  <type/>
2841
  </argument>
2842
- <argument line="5619">
2843
  <name>$tax_actions</name>
2844
  <default><![CDATA[NULL]]></default>
2845
  <type/>
2846
  </argument>
2847
  </method>
2848
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="5909" package="Media Library Assistant">
2849
  <name>_remove_terms</name>
2850
  <full_name>_remove_terms</full_name>
2851
- <docblock line="5898">
2852
  <description><![CDATA[Remove terms from an attachment's assignments]]></description>
2853
  <long-description><![CDATA[]]></long-description>
2854
- <tag line="5898" name="since" description="0.40"/>
2855
- <tag line="5898" name="param" description="The ID of the attachment to be updated" type="integer" variable="$post_id">
2856
  <type by_reference="false">integer</type>
2857
  </tag>
2858
- <tag line="5898" name="param" description="The term ids (integer array) or names (string array) to remove" type="array" variable="$terms">
2859
  <type by_reference="false">array</type>
2860
  </tag>
2861
- <tag line="5898" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
2862
  <type by_reference="false">object</type>
2863
  </tag>
2864
- <tag line="5898" name="return" description="Term ids/names of the surviving terms" type="array">
2865
  <type by_reference="false">array</type>
2866
  </tag>
2867
  </docblock>
2868
- <argument line="5909">
2869
  <name>$post_id</name>
2870
  <default><![CDATA[]]></default>
2871
  <type/>
2872
  </argument>
2873
- <argument line="5909">
2874
  <name>$terms</name>
2875
  <default><![CDATA[]]></default>
2876
  <type/>
2877
  </argument>
2878
- <argument line="5909">
2879
  <name>$taxonomy_obj</name>
2880
  <default><![CDATA[]]></default>
2881
  <type/>
2882
  </argument>
2883
  </method>
2884
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5962" package="Media Library Assistant">
2885
  <name>mla_hex_dump</name>
2886
  <full_name>mla_hex_dump</full_name>
2887
- <docblock line="5950">
2888
  <description><![CDATA[Format printable version of binary data]]></description>
2889
  <long-description><![CDATA[]]></long-description>
2890
- <tag line="5950" name="since" description="0.90"/>
2891
- <tag line="5950" name="param" description="Binary data" type="string" variable="$data">
2892
  <type by_reference="false">string</type>
2893
  </tag>
2894
- <tag line="5950" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
2895
  <type by_reference="false">integer</type>
2896
  </tag>
2897
- <tag line="5950" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
2898
  <type by_reference="false">\intger</type>
2899
  </tag>
2900
- <tag line="5950" name="param" description="offset of initial byte, or -1 to suppress printing offset information" type="integer" variable="$offset">
2901
  <type by_reference="false">integer</type>
2902
  </tag>
2903
- <tag line="5950" name="return" description="Printable representation of $data" type="string">
2904
  <type by_reference="false">string</type>
2905
  </tag>
2906
  </docblock>
2907
- <argument line="5962">
2908
  <name>$data</name>
2909
  <default><![CDATA[]]></default>
2910
  <type/>
2911
  </argument>
2912
- <argument line="5962">
2913
  <name>$limit</name>
2914
  <default><![CDATA[0]]></default>
2915
  <type/>
2916
  </argument>
2917
- <argument line="5962">
2918
  <name>$bytes_per_row</name>
2919
  <default><![CDATA[16]]></default>
2920
  <type/>
2921
  </argument>
2922
- <argument line="5962">
2923
  <name>$offset</name>
2924
  <default><![CDATA[-1]]></default>
2925
  <type/>
@@ -2927,7 +3099,7 @@ and meta data for a single attachment]]></description>
2927
  </method>
2928
  </class>
2929
  </file>
2930
- <file path="includes\class-mla-edit-media.php" hash="d6f32daca585d45136b81c371c97b9af" package="Media Library Assistant">
2931
  <docblock line="2">
2932
  <description><![CDATA[Media Library Assistant Edit Media screen enhancements]]></description>
2933
  <long-description><![CDATA[]]></long-description>
@@ -2983,15 +3155,15 @@ and meta data for a single attachment]]></description>
2983
  </tag>
2984
  </docblock>
2985
  </constant>
2986
- <property final="false" static="true" visibility="private" line="704" namespace="global" package="Media Library Assistant">
2987
  <name>$mla_references</name>
2988
  <default><![CDATA[null]]></default>
2989
- <docblock line="694">
2990
  <description><![CDATA[Where-used values for the current item]]></description>
2991
  <long-description><![CDATA[<p>This array contains the Featured/Inserted/Gallery/MLA Gallery references for the item.
2992
  The array is built once each page load and cached for subsequent calls.</p>]]></long-description>
2993
- <tag line="694" name="since" description="0.80"/>
2994
- <tag line="694" name="var" description="" type="array">
2995
  <type by_reference="false">array</type>
2996
  </tag>
2997
  </docblock>
@@ -3068,444 +3240,444 @@ and above the id="media-items" div.</p>]]></long-description>
3068
  <tag line="276" name="since" description="2.02"/>
3069
  </docblock>
3070
  </method>
3071
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="453" package="Media Library Assistant">
3072
  <name>mla_update_attachment_metadata_postfilter</name>
3073
  <full_name>mla_update_attachment_metadata_postfilter</full_name>
3074
- <docblock line="437">
3075
  <description><![CDATA[Apply Media/Add New bulk edit area updates, if any]]></description>
3076
  <long-description><![CDATA[<p>This filter is called AFTER MLA mapping rules are applied during
3077
  wp_update_attachment_metadata() processing. If none of the mapping rules
3078
  is enabled it is called from the 'wp_update_attachment_metadata' filter
3079
  with just two arguments.</p>]]></long-description>
3080
- <tag line="437" name="since" description="2.02"/>
3081
- <tag line="437" name="param" description="attachment metadata" type="array" variable="$data">
3082
  <type by_reference="false">array</type>
3083
  </tag>
3084
- <tag line="437" name="param" description="The Post ID of the new/updated attachment" type="integer" variable="$post_id">
3085
  <type by_reference="false">integer</type>
3086
  </tag>
3087
- <tag line="437" name="param" description="Processing options, e.g., 'is_upload'" type="array" variable="$options">
3088
  <type by_reference="false">array</type>
3089
  </tag>
3090
- <tag line="437" name="return" description="updated attachment metadata" type="array">
3091
  <type by_reference="false">array</type>
3092
  </tag>
3093
  </docblock>
3094
- <argument line="453">
3095
  <name>$data</name>
3096
  <default><![CDATA[]]></default>
3097
  <type/>
3098
  </argument>
3099
- <argument line="453">
3100
  <name>$post_id</name>
3101
  <default><![CDATA[]]></default>
3102
  <type/>
3103
  </argument>
3104
- <argument line="453">
3105
  <name>$options</name>
3106
  <default><![CDATA[array('is_upload' => true)]]></default>
3107
  <type/>
3108
  </argument>
3109
  </method>
3110
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="504" package="Media Library Assistant">
3111
  <name>mla_post_updated_messages_filter</name>
3112
  <full_name>mla_post_updated_messages_filter</full_name>
3113
- <docblock line="494">
3114
  <description><![CDATA[Adds mapping update messages for display at the top of the Edit Media screen.]]></description>
3115
  <long-description><![CDATA[<p>Declared public because it is a filter.</p>]]></long-description>
3116
- <tag line="494" name="since" description="1.10"/>
3117
- <tag line="494" name="param" description="messages for the Edit screen" type="array" variable="$messages">
3118
  <type by_reference="false">array</type>
3119
  </tag>
3120
- <tag line="494" name="return" description="updated messages" type="array">
3121
  <type by_reference="false">array</type>
3122
  </tag>
3123
  </docblock>
3124
- <argument line="504">
3125
  <name>$messages</name>
3126
  <default><![CDATA[]]></default>
3127
  <type/>
3128
  </argument>
3129
  </method>
3130
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="521" package="Media Library Assistant">
3131
  <name>mla_attachment_submitbox_action</name>
3132
  <full_name>mla_attachment_submitbox_action</full_name>
3133
- <docblock line="513">
3134
  <description><![CDATA[Adds Last Modified date to the Submit box on the Edit Media screen.]]></description>
3135
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3136
- <tag line="513" name="since" description="0.80"/>
3137
- <tag line="513" name="return" description="echoes the HTML markup for the label and value" type="void">
3138
  <type by_reference="false">void</type>
3139
  </tag>
3140
  </docblock>
3141
  </method>
3142
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="557" package="Media Library Assistant">
3143
  <name>mla_add_meta_boxes_action</name>
3144
  <full_name>mla_add_meta_boxes_action</full_name>
3145
- <docblock line="546">
3146
  <description><![CDATA[Registers meta boxes for the Edit Media screen.]]></description>
3147
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3148
- <tag line="546" name="since" description="0.80"/>
3149
- <tag line="546" name="param" description="type of the current post, e.g., 'attachment' (optional, default 'unknown')" type="string" variable="$post_type">
3150
  <type by_reference="false">string</type>
3151
  </tag>
3152
- <tag line="546" name="param" description="current post (optional, default (object) array ( 'ID' =&gt; 0 ))" type="object" variable="$post">
3153
  <type by_reference="false">object</type>
3154
  </tag>
3155
- <tag line="546" name="return" description="" type="void">
3156
  <type by_reference="false">void</type>
3157
  </tag>
3158
  </docblock>
3159
- <argument line="557">
3160
  <name>$post_type</name>
3161
  <default><![CDATA['unknown']]></default>
3162
  <type/>
3163
  </argument>
3164
- <argument line="557">
3165
  <name>$post</name>
3166
  <default><![CDATA[NULL]]></default>
3167
  <type/>
3168
  </argument>
3169
  </method>
3170
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="654" package="Media Library Assistant">
3171
  <name>mla_edit_add_help_tab</name>
3172
  <full_name>mla_edit_add_help_tab</full_name>
3173
- <docblock line="644">
3174
  <description><![CDATA[Add contextual help tabs to the WordPress Edit Media page]]></description>
3175
  <long-description><![CDATA[]]></long-description>
3176
- <tag line="644" name="since" description="0.90"/>
3177
- <tag line="644" name="param" description="title as shown on the screen" type="string" variable="$admin_title">
3178
  <type by_reference="false">string</type>
3179
  </tag>
3180
- <tag line="644" name="param" description="title as shown in the HTML header" type="string" variable="$title">
3181
  <type by_reference="false">string</type>
3182
  </tag>
3183
- <tag line="644" name="return" description="" type="void">
3184
  <type by_reference="false">void</type>
3185
  </tag>
3186
  </docblock>
3187
- <argument line="654">
3188
  <name>$admin_title</name>
3189
  <default><![CDATA[]]></default>
3190
  <type/>
3191
  </argument>
3192
- <argument line="654">
3193
  <name>$title</name>
3194
  <default><![CDATA[]]></default>
3195
  <type/>
3196
  </argument>
3197
  </method>
3198
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="716" package="Media Library Assistant">
3199
  <name>mla_parent_info_handler</name>
3200
  <full_name>mla_parent_info_handler</full_name>
3201
- <docblock line="706">
3202
  <description><![CDATA[Renders the Parent Info meta box on the Edit Media page.]]></description>
3203
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3204
- <tag line="706" name="since" description="0.80"/>
3205
- <tag line="706" name="param" description="current post" type="object" variable="$post">
3206
  <type by_reference="false">object</type>
3207
  </tag>
3208
- <tag line="706" name="return" description="echoes the HTML markup for the meta box content" type="void">
3209
  <type by_reference="false">void</type>
3210
  </tag>
3211
  </docblock>
3212
- <argument line="716">
3213
  <name>$post</name>
3214
  <default><![CDATA[]]></default>
3215
  <type/>
3216
  </argument>
3217
  </method>
3218
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="765" package="Media Library Assistant">
3219
  <name>mla_menu_order_handler</name>
3220
  <full_name>mla_menu_order_handler</full_name>
3221
- <docblock line="755">
3222
  <description><![CDATA[Renders the Menu Order meta box on the Edit Media page.]]></description>
3223
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3224
- <tag line="755" name="since" description="0.80"/>
3225
- <tag line="755" name="param" description="current post" type="object" variable="$post">
3226
  <type by_reference="false">object</type>
3227
  </tag>
3228
- <tag line="755" name="return" description="echoes the HTML markup for the meta box content" type="void">
3229
  <type by_reference="false">void</type>
3230
  </tag>
3231
  </docblock>
3232
- <argument line="765">
3233
  <name>$post</name>
3234
  <default><![CDATA[]]></default>
3235
  <type/>
3236
  </argument>
3237
  </method>
3238
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="782" package="Media Library Assistant">
3239
  <name>mla_image_metadata_handler</name>
3240
  <full_name>mla_image_metadata_handler</full_name>
3241
- <docblock line="772">
3242
  <description><![CDATA[Renders the Image Metadata meta box on the Edit Media page.]]></description>
3243
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3244
- <tag line="772" name="since" description="0.80"/>
3245
- <tag line="772" name="param" description="current post" type="object" variable="$post">
3246
  <type by_reference="false">object</type>
3247
  </tag>
3248
- <tag line="772" name="return" description="echoes the HTML markup for the meta box content" type="void">
3249
  <type by_reference="false">void</type>
3250
  </tag>
3251
  </docblock>
3252
- <argument line="782">
3253
  <name>$post</name>
3254
  <default><![CDATA[]]></default>
3255
  <type/>
3256
  </argument>
3257
  </method>
3258
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="807" package="Media Library Assistant">
3259
  <name>mla_featured_in_handler</name>
3260
  <full_name>mla_featured_in_handler</full_name>
3261
- <docblock line="797">
3262
  <description><![CDATA[Renders the Featured in meta box on the Edit Media page.]]></description>
3263
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3264
- <tag line="797" name="since" description="0.80"/>
3265
- <tag line="797" name="param" description="current post" type="object" variable="$post">
3266
  <type by_reference="false">object</type>
3267
  </tag>
3268
- <tag line="797" name="return" description="echoes the HTML markup for the meta box content" type="void">
3269
  <type by_reference="false">void</type>
3270
  </tag>
3271
  </docblock>
3272
- <argument line="807">
3273
  <name>$post</name>
3274
  <default><![CDATA[]]></default>
3275
  <type/>
3276
  </argument>
3277
  </method>
3278
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="842" package="Media Library Assistant">
3279
  <name>mla_inserted_in_handler</name>
3280
  <full_name>mla_inserted_in_handler</full_name>
3281
- <docblock line="832">
3282
  <description><![CDATA[Renders the Inserted in meta box on the Edit Media page.]]></description>
3283
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3284
- <tag line="832" name="since" description="0.80"/>
3285
- <tag line="832" name="param" description="current post" type="object" variable="$post">
3286
  <type by_reference="false">object</type>
3287
  </tag>
3288
- <tag line="832" name="return" description="echoes the HTML markup for the meta box content" type="void">
3289
  <type by_reference="false">void</type>
3290
  </tag>
3291
  </docblock>
3292
- <argument line="842">
3293
  <name>$post</name>
3294
  <default><![CDATA[]]></default>
3295
  <type/>
3296
  </argument>
3297
  </method>
3298
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="881" package="Media Library Assistant">
3299
  <name>mla_gallery_in_handler</name>
3300
  <full_name>mla_gallery_in_handler</full_name>
3301
- <docblock line="871">
3302
  <description><![CDATA[Renders the Gallery in meta box on the Edit Media page.]]></description>
3303
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3304
- <tag line="871" name="since" description="0.80"/>
3305
- <tag line="871" name="param" description="current post" type="object" variable="$post">
3306
  <type by_reference="false">object</type>
3307
  </tag>
3308
- <tag line="871" name="return" description="echoes the HTML markup for the meta box content" type="void">
3309
  <type by_reference="false">void</type>
3310
  </tag>
3311
  </docblock>
3312
- <argument line="881">
3313
  <name>$post</name>
3314
  <default><![CDATA[]]></default>
3315
  <type/>
3316
  </argument>
3317
  </method>
3318
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="916" package="Media Library Assistant">
3319
  <name>mla_mla_gallery_in_handler</name>
3320
  <full_name>mla_mla_gallery_in_handler</full_name>
3321
- <docblock line="906">
3322
  <description><![CDATA[Renders the MLA Gallery in meta box on the Edit Media page.]]></description>
3323
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3324
- <tag line="906" name="since" description="0.80"/>
3325
- <tag line="906" name="param" description="current post" type="object" variable="$post">
3326
  <type by_reference="false">object</type>
3327
  </tag>
3328
- <tag line="906" name="return" description="echoes the HTML markup for the meta box content" type="void">
3329
  <type by_reference="false">void</type>
3330
  </tag>
3331
  </docblock>
3332
- <argument line="916">
3333
  <name>$post</name>
3334
  <default><![CDATA[]]></default>
3335
  <type/>
3336
  </argument>
3337
  </method>
3338
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="951" package="Media Library Assistant">
3339
  <name>mla_edit_attachment_action</name>
3340
  <full_name>mla_edit_attachment_action</full_name>
3341
- <docblock line="941">
3342
  <description><![CDATA[Saves updates from the Edit Media screen.]]></description>
3343
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3344
- <tag line="941" name="since" description="0.80"/>
3345
- <tag line="941" name="param" description="ID of the current post" type="integer" variable="$post_ID">
3346
  <type by_reference="false">integer</type>
3347
  </tag>
3348
- <tag line="941" name="return" description="" type="void">
3349
  <type by_reference="false">void</type>
3350
  </tag>
3351
  </docblock>
3352
- <argument line="951">
3353
  <name>$post_ID</name>
3354
  <default><![CDATA[]]></default>
3355
  <type/>
3356
  </argument>
3357
  </method>
3358
- <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="977" package="Media Library Assistant">
3359
  <name>_mla_ajax_add_flat_term</name>
3360
  <full_name>_mla_ajax_add_flat_term</full_name>
3361
- <docblock line="966">
3362
  <description><![CDATA[Add flat taxonomy term from "checklist" meta box on the Media Manager Modal Window]]></description>
3363
  <long-description><![CDATA[<p>Adapted from the WordPress post_categories_meta_box() in /wp-admin/includes/meta-boxes.php.</p>]]></long-description>
3364
- <tag line="966" name="since" description="1.80"/>
3365
- <tag line="966" name="param" description="The taxonomy name, from $_POST['action']" type="string" variable="$key">
3366
  <type by_reference="false">string</type>
3367
  </tag>
3368
- <tag line="966" name="return" description="Sends JSON response with updated HTML for the checklist" type="void">
3369
  <type by_reference="false">void</type>
3370
  </tag>
3371
  </docblock>
3372
- <argument line="977">
3373
  <name>$key</name>
3374
  <default><![CDATA[]]></default>
3375
  <type/>
3376
  </argument>
3377
  </method>
3378
- <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1040" package="Media Library Assistant">
3379
  <name>mla_checklist_meta_box</name>
3380
  <full_name>mla_checklist_meta_box</full_name>
3381
- <docblock line="1025">
3382
  <description><![CDATA[Display taxonomy "checklist" form fields]]></description>
3383
  <long-description><![CDATA[<p>Adapted from /wp-admin/includes/ajax-actions.php function _wp_ajax_add_hierarchical_term().
3384
  Includes the "? Search" area to filter the term checklist by entering part
3385
  or all of a word/phrase in the term label.
3386
  Output to the Media/Edit Media screen and to the Media Manager Modal Window.</p>]]></long-description>
3387
- <tag line="1025" name="since" description="1.71"/>
3388
- <tag line="1025" name="param" description="The current post" type="object" variable="$target_post">
3389
  <type by_reference="false">object</type>
3390
  </tag>
3391
- <tag line="1025" name="param" description="The meta box parameters" type="array" variable="$box">
3392
  <type by_reference="false">array</type>
3393
  </tag>
3394
- <tag line="1025" name="return" description="Echoes HTML for the form fields" type="void">
3395
  <type by_reference="false">void</type>
3396
  </tag>
3397
  </docblock>
3398
- <argument line="1040">
3399
  <name>$target_post</name>
3400
  <default><![CDATA[]]></default>
3401
  <type/>
3402
  </argument>
3403
- <argument line="1040">
3404
  <name>$box</name>
3405
  <default><![CDATA[]]></default>
3406
  <type/>
3407
  </argument>
3408
  </method>
3409
  </class>
3410
- <class final="false" abstract="false" namespace="global" line="1199" package="Media Library Assistant">
3411
  <extends>\Walker_Category</extends>
3412
  <name>MLA_Checklist_Walker</name>
3413
  <full_name>\MLA_Checklist_Walker</full_name>
3414
- <docblock line="1189">
3415
  <description><![CDATA[Class MLA (Media Library Assistant) Checklist Walker replaces term_id with slug in checklist output]]></description>
3416
  <long-description><![CDATA[<p>This walker is used to build the meta boxes for flat taxonomies, e.g., Tags, Att. Tags.
3417
  Class Walker_Category is defined in /wp-includes/category-template.php.
3418
  Class Walker is defined in /wp-includes/class-wp-walker.php.</p>]]></long-description>
3419
- <tag line="1189" name="package" description="Media Library Assistant"/>
3420
- <tag line="1189" name="since" description="1.80"/>
3421
  </docblock>
3422
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1213" package="Media Library Assistant">
3423
  <name>start_el</name>
3424
  <full_name>start_el</full_name>
3425
- <docblock line="1200">
3426
  <description><![CDATA[Start the element output.]]></description>
3427
  <long-description><![CDATA[]]></long-description>
3428
- <tag line="1200" name="see" description="\global\Walker::start_el()" refers="\global\Walker::start_el()"/>
3429
- <tag line="1200" name="since" description="1.80"/>
3430
- <tag line="1200" name="param" description="Passed by reference. Used to append additional content." type="string" variable="$output">
3431
  <type by_reference="false">string</type>
3432
  </tag>
3433
- <tag line="1200" name="param" description="Taxonomy data object." type="object" variable="$taxonomy_object">
3434
  <type by_reference="false">object</type>
3435
  </tag>
3436
- <tag line="1200" name="param" description="Depth of category in reference to parents. Default 0." type="int" variable="$depth">
3437
  <type by_reference="false">int</type>
3438
  </tag>
3439
- <tag line="1200" name="param" description="An array of arguments. @see wp_list_categories()" type="array" variable="$args">
3440
  <type by_reference="false">array</type>
3441
  </tag>
3442
- <tag line="1200" name="param" description="ID of the current category." type="int" variable="$id">
3443
  <type by_reference="false">int</type>
3444
  </tag>
3445
  </docblock>
3446
- <argument line="1213">
3447
  <name>$output</name>
3448
  <default><![CDATA[]]></default>
3449
  <type/>
3450
  </argument>
3451
- <argument line="1213">
3452
  <name>$taxonomy_object</name>
3453
  <default><![CDATA[]]></default>
3454
  <type/>
3455
  </argument>
3456
- <argument line="1213">
3457
  <name>$depth</name>
3458
  <default><![CDATA[0]]></default>
3459
  <type/>
3460
  </argument>
3461
- <argument line="1213">
3462
  <name>$args</name>
3463
  <default><![CDATA[array()]]></default>
3464
  <type/>
3465
  </argument>
3466
- <argument line="1213">
3467
  <name>$id</name>
3468
  <default><![CDATA[0]]></default>
3469
  <type/>
3470
  </argument>
3471
  </method>
3472
- <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1246" package="Media Library Assistant">
3473
  <name>end_el</name>
3474
  <full_name>end_el</full_name>
3475
- <docblock line="1234">
3476
  <description><![CDATA[Ends the element output, if needed.]]></description>
3477
  <long-description><![CDATA[]]></long-description>
3478
- <tag line="1234" name="see" description="\global\Walker::end_el()" refers="\global\Walker::end_el()"/>
3479
- <tag line="1234" name="since" description="1.80"/>
3480
- <tag line="1234" name="param" description="Passed by reference. Used to append additional content." type="string" variable="$output">
3481
  <type by_reference="false">string</type>
3482
  </tag>
3483
- <tag line="1234" name="param" description="The current term object." type="object" variable="$category">
3484
  <type by_reference="false">object</type>
3485
  </tag>
3486
- <tag line="1234" name="param" description="Depth of the term in reference to parents. Default 0." type="int" variable="$depth">
3487
  <type by_reference="false">int</type>
3488
  </tag>
3489
- <tag line="1234" name="param" description="An array of arguments. @see wp_terms_checklist()" type="array" variable="$args">
3490
  <type by_reference="false">array</type>
3491
  </tag>
3492
  </docblock>
3493
- <argument line="1246">
3494
  <name>$output</name>
3495
  <default><![CDATA[]]></default>
3496
  <type/>
3497
  </argument>
3498
- <argument line="1246">
3499
  <name>$category</name>
3500
  <default><![CDATA[]]></default>
3501
  <type/>
3502
  </argument>
3503
- <argument line="1246">
3504
  <name>$depth</name>
3505
  <default><![CDATA[0]]></default>
3506
  <type/>
3507
  </argument>
3508
- <argument line="1246">
3509
  <name>$args</name>
3510
  <default><![CDATA[array()]]></default>
3511
  <type/>
@@ -3513,509 +3685,960 @@ Class Walker is defined in /wp-includes/class-wp-walker.php.</p>]]></long-descri
3513
  </method>
3514
  </class>
3515
  </file>
3516
- <file path="includes\class-mla-list-table.php" hash="45199c759f1a83c5277b4539c6e88581" package="Media Library Assistant">
3517
  <docblock line="2">
3518
- <description><![CDATA[Media Library Assistant extended List Table class]]></description>
3519
  <long-description><![CDATA[]]></long-description>
3520
  <tag line="2" name="package" description="Media Library Assistant"/>
3521
- <tag line="2" name="since" description="0.1"/>
3522
  </docblock>
3523
- <include line="13" type="Require Once" package="Media Library Assistant">
3524
- <name/>
3525
- </include>
3526
- <class final="false" abstract="false" namespace="global" line="24" package="Media Library Assistant">
3527
- <extends>\WP_List_Table</extends>
3528
- <name>MLA_List_Table</name>
3529
- <full_name>\MLA_List_Table</full_name>
3530
- <docblock line="16">
3531
- <description><![CDATA[Class MLA (Media Library Assistant) List Table implements the "Assistant" admin submenu]]></description>
3532
- <long-description><![CDATA[<p>Extends the core WP_List_Table class.</p>]]></long-description>
3533
- <tag line="16" name="package" description="Media Library Assistant"/>
3534
- <tag line="16" name="since" description="0.1"/>
622
  <tag line="2" name="since" description="MLA 1.80"/>
623
  </docblock>
624
  </file>
625
+ <file path="includes\class-mla-data-pdf.php" hash="0da79b31781762d9f0c70e264efb05d7" package="Media Library Assistant">
626
  <docblock line="2">
627
  <description><![CDATA[Meta data parsing functions for PDF documents]]></description>
628
  <long-description><![CDATA[]]></long-description>
982
  <todo line="341">encode the rest</todo>
983
  </markers>
984
  </file>
985
+ <file path="includes\class-mla-data.php" hash="e8b0c7afdca9040016836ca591c938bc" package="Media Library Assistant">
986
  <docblock line="2">
987
  <description><![CDATA[Database and template file access for MLA needs]]></description>
988
  <long-description><![CDATA[]]></long-description>
989
  <tag line="2" name="package" description="Media Library Assistant"/>
990
  <tag line="2" name="since" description="0.1"/>
991
  </docblock>
992
+ <include line="5193" type="Require" package="Media Library Assistant">
993
+ <name/>
994
+ </include>
995
  <class final="false" abstract="false" namespace="global" line="18" package="Media Library Assistant">
996
  <extends/>
997
  <name>MLAData</name>
1026
  </tag>
1027
  </docblock>
1028
  </property>
1029
+ <property final="false" static="true" visibility="private" line="45" namespace="global" package="Media Library Assistant">
1030
+ <name>$wp_4dot0_plus</name>
1031
+ <default><![CDATA[true]]></default>
1032
+ <docblock line="38">
1033
+ <description><![CDATA[WordPress version test for $wpdb->esc_like() Vs esc_sql()]]></description>
1034
+ <long-description><![CDATA[]]></long-description>
1035
+ <tag line="38" name="since" description="2.13"/>
1036
+ <tag line="38" name="var" description="" type="boolean">
1037
+ <type by_reference="false">boolean</type>
1038
+ </tag>
1039
+ </docblock>
1040
+ </property>
1041
+ <property final="false" static="true" visibility="private" line="1405" namespace="global" package="Media Library Assistant">
1042
  <name>$mla_list_table_items</name>
1043
  <default><![CDATA[NULL]]></default>
1044
+ <docblock line="1398">
1045
  <description><![CDATA[Cache the results of mla_count_list_table_items for reuse in mla_query_list_table_items]]></description>
1046
  <long-description><![CDATA[]]></long-description>
1047
+ <tag line="1398" name="since" description="1.40"/>
1048
+ <tag line="1398" name="var" description="" type="array">
1049
  <type by_reference="false">array</type>
1050
  </tag>
1051
  </docblock>
1052
  </property>
1053
+ <property final="false" static="true" visibility="public" line="1531" namespace="global" package="Media Library Assistant">
1054
  <name>$query_parameters</name>
1055
  <default><![CDATA[array()]]></default>
1056
+ <docblock line="1517">
1057
  <description><![CDATA[WP_Query filter "parameters"]]></description>
1058
  <long-description><![CDATA[<p>This array defines parameters for the query's join, where and orderby filters.
1059
  The parameters are set up in the _prepare_list_table_query function, and
1061
 
1062
  <p>Array index values are: use_postmeta_view, postmeta_key, postmeta_value, patterns,
1063
  detached, orderby, order, mla-metavalue, debug (also in search_parameters)</p>]]></long-description>
1064
+ <tag line="1517" name="since" description="0.30"/>
1065
+ <tag line="1517" name="var" description="" type="array">
1066
  <type by_reference="false">array</type>
1067
  </tag>
1068
  </docblock>
1069
  </property>
1070
+ <property final="false" static="true" visibility="public" line="1559" namespace="global" package="Media Library Assistant">
1071
  <name>$search_parameters</name>
1072
  <default><![CDATA[array()]]></default>
1073
+ <docblock line="1533">
1074
  <description><![CDATA[WP_Query 'posts_search' filter "parameters"]]></description>
1075
  <long-description><![CDATA[<p>This array defines parameters for the query's posts_search filter, which uses
1076
  'search_string' to add a clause to the query's WHERE clause. It is shared between
1089
  ['sentence'] => entire string must match as one "keyword"
1090
  ['exact'] => entire string must match entire field value
1091
  ['debug'] => internal element, console/log/shortcode/none
 
1092
  ['tax_terms_count'] => internal element, shared with JOIN and GROUP BY filters</p>]]></long-description>
1093
+ <tag line="1533" name="since" description="2.00"/>
1094
+ <tag line="1533" name="var" description="" type="array">
1095
  <type by_reference="false">array</type>
1096
  </tag>
1097
  </docblock>
1098
  </property>
1099
+ <property final="false" static="true" visibility="private" line="3852" namespace="global" package="Media Library Assistant">
1100
  <name>$galleries</name>
1101
  <default><![CDATA[null]]></default>
1102
+ <docblock line="3832">
1103
  <description><![CDATA[Objects containing [gallery] shortcodes]]></description>
1104
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [gallery] shortcodes
1105
  and array(s) of which attachments each [gallery] contains. The arrays are built once
1113
  ['galleries'] array of [gallery] entries numbered from one (1), containing:
1114
  galleries[X]['query'] contains a string with the arguments of the [gallery],
1115
  galleries[X]['results'] contains an array ( ID ) of post_ids for the objects in the gallery.</p>]]></long-description>
1116
+ <tag line="3832" name="since" description="0.70"/>
1117
+ <tag line="3832" name="var" description="" type="array">
1118
  <type by_reference="false">array</type>
1119
  </tag>
1120
  </docblock>
1121
  </property>
1122
+ <property final="false" static="true" visibility="private" line="3865" namespace="global" package="Media Library Assistant">
1123
  <name>$mla_galleries</name>
1124
  <default><![CDATA[null]]></default>
1125
+ <docblock line="3854">
1126
  <description><![CDATA[Objects containing [mla_gallery] shortcodes]]></description>
1127
  <long-description><![CDATA[<p>This array contains all of the objects containing one or more [mla_gallery] shortcodes
1128
  and array(s) of which attachments each [mla_gallery] contains. The arrays are built once
1129
  each page load and cached for subsequent calls.</p>]]></long-description>
1130
+ <tag line="3854" name="since" description="0.70"/>
1131
+ <tag line="3854" name="var" description="" type="array">
1132
  <type by_reference="false">array</type>
1133
  </tag>
1134
  </docblock>
1135
  </property>
1136
+ <property final="false" static="true" visibility="public" line="4451" namespace="global" package="Media Library Assistant">
1137
  <name>$utf8_chars</name>
1138
  <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>
1139
+ <docblock line="4444">
1140
  <description><![CDATA[UTF-8 replacements for invalid SQL characters]]></description>
1141
  <long-description><![CDATA[]]></long-description>
1142
+ <tag line="4444" name="since" description="1.41"/>
1143
+ <tag line="4444" name="var" description="" type="array">
1144
  <type by_reference="false">array</type>
1145
  </tag>
1146
  </docblock>
1147
  </property>
1148
+ <property final="false" static="true" visibility="private" line="4511" namespace="global" package="Media Library Assistant">
1149
  <name>$mla_iptc_records</name>
1150
  <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>
1151
+ <docblock line="4501">
1152
  <description><![CDATA[IPTC Dataset identifiers and names]]></description>
1153
  <long-description><![CDATA[<p>This array contains the identifiers and names of Datasets defined in
1154
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
1155
+ <tag line="4501" name="since" description="0.90"/>
1156
+ <tag line="4501" name="var" description="" type="array">
1157
  <type by_reference="false">array</type>
1158
  </tag>
1159
  </docblock>
1160
  </property>
1161
+ <property final="false" static="true" visibility="public" line="4610" namespace="global" package="Media Library Assistant">
1162
  <name>$mla_iptc_keys</name>
1163
  <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>
1164
+ <docblock line="4600">
1165
  <description><![CDATA[IPTC Dataset friendly name/slug and identifiers]]></description>
1166
  <long-description><![CDATA[<p>This array contains the sanitized names and identifiers of Datasets defined in
1167
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
1168
+ <tag line="4600" name="since" description="0.90"/>
1169
+ <tag line="4600" name="var" description="" type="array">
1170
  <type by_reference="false">array</type>
1171
  </tag>
1172
  </docblock>
1173
  </property>
1174
+ <property final="false" static="true" visibility="private" line="4709" namespace="global" package="Media Library Assistant">
1175
  <name>$mla_iptc_descriptions</name>
1176
+ <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>
1177
+ <docblock line="4699">
1178
  <description><![CDATA[IPTC Dataset descriptions]]></description>
1179
  <long-description><![CDATA[<p>This array contains the descriptions of Datasets defined in
1180
  the "IPTC-NAA Information Interchange Model Version No. 4.1".</p>]]></long-description>
1181
+ <tag line="4699" name="since" description="0.90"/>
1182
+ <tag line="4699" name="var" description="" type="array">
1183
  <type by_reference="false">array</type>
1184
  </tag>
1185
  </docblock>
1186
  </property>
1187
+ <property final="false" static="true" visibility="private" line="4808" namespace="global" package="Media Library Assistant">
1188
  <name>$mla_iptc_formats</name>
1189
  <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>
1190
+ <docblock line="4798">
1191
  <description><![CDATA[IPTC file format identifiers and descriptions]]></description>
1192
  <long-description><![CDATA[<p>This array contains the file format identifiers and descriptions defined in
1193
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 1#020.</p>]]></long-description>
1194
+ <tag line="4798" name="since" description="0.90"/>
1195
+ <tag line="4798" name="var" description="" type="array">
1196
  <type by_reference="false">array</type>
1197
  </tag>
1198
  </docblock>
1199
  </property>
1200
+ <property final="false" static="true" visibility="private" line="4851" namespace="global" package="Media Library Assistant">
1201
  <name>$mla_iptc_image_types</name>
1202
  <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>
1203
+ <docblock line="4841">
1204
  <description><![CDATA[IPTC image type identifiers and descriptions]]></description>
1205
  <long-description><![CDATA[<p>This array contains the image type identifiers and descriptions defined in
1206
  the "IPTC-NAA Information Interchange Model Version No. 4.1" for dataset 2#130, octet 2.</p>]]></long-description>
1207
+ <tag line="4841" name="since" description="0.90"/>
1208
+ <tag line="4841" name="var" description="" type="array">
1209
  <type by_reference="false">array</type>
1210
  </tag>
1211
  </docblock>
1212
  </property>
1213
+ <property final="false" static="true" visibility="private" line="5129" namespace="global" package="Media Library Assistant">
1214
  <name>$mla_IPTC_EXIF_errors</name>
1215
  <default><![CDATA[array()]]></default>
1216
+ <docblock line="5121">
1217
  <description><![CDATA[Passes IPTC/EXIF parse errors between mla_IPTC_EXIF_error_handler
1218
  and mla_fetch_attachment_image_metadata]]></description>
1219
  <long-description><![CDATA[]]></long-description>
1220
+ <tag line="5121" name="since" description="1.81"/>
1221
+ <tag line="5121" name="var" description="" type="array">
1222
  <type by_reference="false">array</type>
1223
  </tag>
1224
  </docblock>
1225
  </property>
1226
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="52" package="Media Library Assistant">
1227
  <name>initialize</name>
1228
  <full_name>initialize</full_name>
1229
+ <docblock line="47">
1230
  <description><![CDATA[Initialization function, similar to __construct()]]></description>
1231
  <long-description><![CDATA[]]></long-description>
1232
+ <tag line="47" name="since" description="0.1"/>
1233
  </docblock>
1234
  </method>
1235
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="80" package="Media Library Assistant">
1236
  <name>mla_load_template</name>
1237
  <full_name>mla_load_template</full_name>
1238
+ <docblock line="62">
1239
  <description><![CDATA[Load an HTML template from a file]]></description>
1240
  <long-description><![CDATA[<p>Loads a template to a string or a multi-part template to an array.
1241
  Multi-part templates are divided by comments of the form <!-- template="key" -->,
1242
  where "key" becomes the key part of the array.</p>]]></long-description>
1243
+ <tag line="62" name="since" description="0.1"/>
1244
+ <tag line="62" name="param" description="Complete path and/or name of the template file, option name or the raw template" type="string" variable="$source">
1245
  <type by_reference="false">string</type>
1246
  </tag>
1247
+ <tag line="62" name="param" description="Optional type of template source; 'path', 'file' (default), 'option', 'string'" type="string" variable="$type">
1248
  <type by_reference="false">string</type>
1249
  </tag>
1250
+ <tag line="62" name="return" description="string for files that do not contain template divider comments, array for files containing template divider comments, false if file or option does not exist, NULL if file could not be loaded." type="string|array|false|NULL">
1251
  <type by_reference="false">string</type>
1252
  <type by_reference="false">array</type>
1253
  <type by_reference="false">false</type>
1254
  <type by_reference="false">NULL</type>
1255
  </tag>
1256
  </docblock>
1257
+ <argument line="80">
1258
  <name>$source</name>
1259
  <default><![CDATA[]]></default>
1260
  <type/>
1261
  </argument>
1262
+ <argument line="80">
1263
  <name>$type</name>
1264
  <default><![CDATA['file']]></default>
1265
  <type/>
1266
  </argument>
1267
  </method>
1268
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="200" package="Media Library Assistant">
1269
  <name>_find_template_substring</name>
1270
  <full_name>_find_template_substring</full_name>
1271
+ <docblock line="191">
1272
  <description><![CDATA[Find a complete template, balancing opening and closing delimiters]]></description>
1273
  <long-description><![CDATA[]]></long-description>
1274
+ <tag line="191" name="since" description="1.50"/>
1275
+ <tag line="191" name="param" description="A string possibly starting with '[+template:'" type="string" variable="$tpl">
1276
  <type by_reference="false">string</type>
1277
  </tag>
1278
+ <tag line="191" name="return" description="'' or template string starting with '[+template:' and ending with the matching '+]'" type="string">
1279
  <type by_reference="false">string</type>
1280
  </tag>
1281
  </docblock>
1282
+ <argument line="200">
1283
  <name>$tpl</name>
1284
  <default><![CDATA[]]></default>
1285
  <type/>
1286
  </argument>
1287
  </method>
1288
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="247" package="Media Library Assistant">
1289
  <name>mla_parse_array_template</name>
1290
  <full_name>mla_parse_array_template</full_name>
1291
+ <docblock line="234">
1292
  <description><![CDATA[Expand a template, replacing placeholders with their values]]></description>
1293
  <long-description><![CDATA[<p>Will return an array of values if one or more of the placeholders returns an array.</p>]]></long-description>
1294
+ <tag line="234" name="since" description="1.50"/>
1295
+ <tag line="234" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1296
  <type by_reference="false">string</type>
1297
  </tag>
1298
+ <tag line="234" name="param" description="An associative array containing keys and values e.g. array('key' =&gt; 'value')" type="array" variable="$markup_values">
1299
  <type by_reference="false">array</type>
1300
  </tag>
1301
+ <tag line="234" name="return" description="string or array, depending on placeholder values. Placeholders corresponding to the keys of the markup_values will be replaced with their values." type="mixed">
1302
  <type by_reference="false">mixed</type>
1303
  </tag>
1304
  </docblock>
1305
+ <argument line="247">
1306
  <name>$tpl</name>
1307
  <default><![CDATA[]]></default>
1308
  <type/>
1309
  </argument>
1310
+ <argument line="247">
1311
  <name>$markup_values</name>
1312
  <default><![CDATA[]]></default>
1313
  <type/>
1314
  </argument>
1315
  </method>
1316
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="339" package="Media Library Assistant">
1317
  <name>mla_parse_template</name>
1318
  <full_name>mla_parse_template</full_name>
1319
+ <docblock line="327">
1320
  <description><![CDATA[Expand a template, replacing placeholders with their values]]></description>
1321
  <long-description><![CDATA[<p>A simple parsing function for basic templating.</p>]]></long-description>
1322
+ <tag line="327" name="since" description="0.1"/>
1323
+ <tag line="327" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1324
  <type by_reference="false">string</type>
1325
  </tag>
1326
+ <tag line="327" name="param" description="An associative array containing keys and values e.g. array('key' =&gt; 'value')" type="array" variable="$markup_values">
1327
  <type by_reference="false">array</type>
1328
  </tag>
1329
+ <tag line="327" name="return" description="Placeholders corresponding to the keys of the markup_values will be replaced with their values." type="\strng">
1330
  <type by_reference="false">\strng</type>
1331
  </tag>
1332
  </docblock>
1333
+ <argument line="339">
1334
  <name>$tpl</name>
1335
  <default><![CDATA[]]></default>
1336
  <type/>
1337
  </argument>
1338
+ <argument line="339">
1339
  <name>$markup_values</name>
1340
  <default><![CDATA[]]></default>
1341
  <type/>
1342
  </argument>
1343
  </method>
1344
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="391" package="Media Library Assistant">
1345
  <name>_find_test_substring</name>
1346
  <full_name>_find_test_substring</full_name>
1347
+ <docblock line="382">
1348
  <description><![CDATA[Find a complete (test) element, balancing opening and closing delimiters]]></description>
1349
  <long-description><![CDATA[]]></long-description>
1350
+ <tag line="382" name="since" description="1.50"/>
1351
+ <tag line="382" name="param" description="A string possibly starting with '('" type="string" variable="$tpl">
1352
  <type by_reference="false">string</type>
1353
  </tag>
1354
+ <tag line="382" name="return" description="'' or template string starting with '(' and ending with the matching ')'" type="string">
1355
  <type by_reference="false">string</type>
1356
  </tag>
1357
  </docblock>
1358
+ <argument line="391">
1359
  <name>$tpl</name>
1360
  <default><![CDATA[]]></default>
1361
  <type/>
1362
  </argument>
1363
  </method>
1364
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="433" package="Media Library Assistant">
1365
  <name>_parse_field_level_template</name>
1366
  <full_name>_parse_field_level_template</full_name>
1367
+ <docblock line="424">
1368
  <description><![CDATA[Convert field-level "template:" string into its component parts]]></description>
1369
  <long-description><![CDATA[]]></long-description>
1370
+ <tag line="424" name="since" description="1.50"/>
1371
+ <tag line="424" name="param" description="Template content with string, test and choice elements" type="string" variable="$tpl">
1372
  <type by_reference="false">string</type>
1373
  </tag>
1374
+ <tag line="424" name="return" description="( node =&gt; array( type =&gt; &quot;string | test | choice | template&quot;, length =&gt; bytes, value =&gt; string | node(s) ) )" type="array">
1375
  <type by_reference="false">array</type>
1376
  </tag>
1377
  </docblock>
1378
+ <argument line="433">
1379
  <name>$tpl</name>
1380
  <default><![CDATA[]]></default>
1381
  <type/>
1382
  </argument>
1383
  </method>
1384
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="593" package="Media Library Assistant">
1385
  <name>_evaluate_template_array_node</name>
1386
  <full_name>_evaluate_template_array_node</full_name>
1387
+ <docblock line="581">
1388
  <description><![CDATA[Analyze a field-level "template:" element, expanding Field-level Markup Substitution Parameters]]></description>
1389
  <long-description><![CDATA[<p>Will return an array of values if one or more of the placeholders returns an array.</p>]]></long-description>
1390
+ <tag line="581" name="since" description="1.50"/>
1391
+ <tag line="581" name="param" description="A field-level template element node" type="array" variable="$node">
1392
  <type by_reference="false">array</type>
1393
  </tag>
1394
+ <tag line="581" name="param" description="An array of markup substitution values" type="array" variable="$markup_values">
1395
  <type by_reference="false">array</type>
1396
  </tag>
1397
+ <tag line="581" name="return" description="string or array, depending on placeholder values. Placeholders corresponding to the keys of the markup_values will be replaced with their values." type="mixed">
1398
  <type by_reference="false">mixed</type>
1399
  </tag>
1400
  </docblock>
1401
+ <argument line="593">
1402
  <name>$node</name>
1403
  <default><![CDATA[]]></default>
1404
  <type/>
1405
  </argument>
1406
+ <argument line="593">
1407
  <name>$markup_values</name>
1408
  <default><![CDATA[array()]]></default>
1409
  <type/>
1410
  </argument>
1411
  </method>
1412
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="675" package="Media Library Assistant">
1413
  <name>_evaluate_template_node</name>
1414
  <full_name>_evaluate_template_node</full_name>
1415
+ <docblock line="665">
1416
  <description><![CDATA[Analyze a field-level "template:" element, expanding Field-level Markup Substitution Parameters]]></description>
1417
  <long-description><![CDATA[]]></long-description>
1418
+ <tag line="665" name="since" description="1.50"/>
1419
+ <tag line="665" name="param" description="A field-level template element node" type="array" variable="$node">
1420
  <type by_reference="false">array</type>
1421
  </tag>
1422
+ <tag line="665" name="param" description="An array of markup substitution values" type="array" variable="$markup_values">
1423
  <type by_reference="false">array</type>
1424
  </tag>
1425
+ <tag line="665" name="return" description="String with expanded values, if any" type="string">
1426
  <type by_reference="false">string</type>
1427
  </tag>
1428
  </docblock>
1429
+ <argument line="675">
1430
  <name>$node</name>
1431
  <default><![CDATA[]]></default>
1432
  <type/>
1433
  </argument>
1434
+ <argument line="675">
1435
  <name>$markup_values</name>
1436
  <default><![CDATA[array()]]></default>
1437
  <type/>
1438
  </argument>
1439
  </method>
1440
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="738" package="Media Library Assistant">
1441
  <name>_expand_field_level_template</name>
1442
  <full_name>_expand_field_level_template</full_name>
1443
+ <docblock line="727">
1444
  <description><![CDATA[Analyze a field-level "template:" element, expanding Field-level Markup Substitution Parameters]]></description>
1445
  <long-description><![CDATA[]]></long-description>
1446
+ <tag line="727" name="since" description="1.50"/>
1447
+ <tag line="727" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1448
  <type by_reference="false">string</type>
1449
  </tag>
1450
+ <tag line="727" name="param" description="An array of markup substitution values" type="array" variable="$markup_values">
1451
  <type by_reference="false">array</type>
1452
  </tag>
1453
+ <tag line="727" name="param" description="True to return array value(s), false to return a string" type="boolean" variable="$return_arrays">
1454
  <type by_reference="false">boolean</type>
1455
  </tag>
1456
+ <tag line="727" name="return" description="Element with expanded string/array values, if any" type="mixed">
1457
  <type by_reference="false">mixed</type>
1458
  </tag>
1459
  </docblock>
1460
+ <argument line="738">
1461
  <name>$tpl</name>
1462
  <default><![CDATA[]]></default>
1463
  <type/>
1464
  </argument>
1465
+ <argument line="738">
1466
  <name>$markup_values</name>
1467
  <default><![CDATA[array()]]></default>
1468
  <type/>
1469
  </argument>
1470
+ <argument line="738">
1471
  <name>$return_arrays</name>
1472
  <default><![CDATA[false]]></default>
1473
  <type/>
1474
  </argument>
1475
  </method>
1476
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="783" package="Media Library Assistant">
1477
  <name>_process_field_level_array</name>
1478
  <full_name>_process_field_level_array</full_name>
1479
+ <docblock line="772">
1480
  <description><![CDATA[Process an markup field array value according to the supplied data-format option]]></description>
1481
  <long-description><![CDATA[]]></long-description>
1482
+ <tag line="772" name="since" description="1.50"/>
1483
+ <tag line="772" name="param" description="an array of scalar values" type="array" variable="$record">
1484
  <type by_reference="false">array</type>
1485
  </tag>
1486
+ <tag line="772" name="param" description="data option; 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
1487
  <type by_reference="false">string</type>
1488
  </tag>
1489
+ <tag line="772" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
1490
  <type by_reference="false">boolean</type>
1491
  </tag>
1492
+ <tag line="772" name="return" description="( parameter =&gt; value ) for all field-level parameters and anything in $markup_values" type="array">
1493
  <type by_reference="false">array</type>
1494
  </tag>
1495
  </docblock>
1496
+ <argument line="783">
1497
  <name>$record</name>
1498
  <default><![CDATA[]]></default>
1499
  <type/>
1500
  </argument>
1501
+ <argument line="783">
1502
  <name>$option</name>
1503
  <default><![CDATA['text']]></default>
1504
  <type/>
1505
  </argument>
1506
+ <argument line="783">
1507
  <name>$keep_existing</name>
1508
  <default><![CDATA[false]]></default>
1509
  <type/>
1510
  </argument>
1511
  </method>
1512
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="836" package="Media Library Assistant">
1513
  <name>_parse_arguments</name>
1514
  <full_name>_parse_arguments</full_name>
1515
+ <docblock line="827">
1516
  <description><![CDATA[Process an argument list within a field-level parameter format specification]]></description>
1517
  <long-description><![CDATA[]]></long-description>
1518
+ <tag line="827" name="since" description="2.02"/>
1519
+ <tag line="827" name="param" description="arguments, e.g., ('d/m/Y H:i:s' , &quot;arg, \&quot; two&quot; ) without parens" type="string" variable="$argument_string">
1520
  <type by_reference="false">string</type>
1521
  </tag>
1522
+ <tag line="827" name="return" description="individual arguments, e.g. array( 0 =&gt; 'd/m/Y H:i:s', 1 =&gt; 'arg, \&quot; two' )" type="array">
1523
  <type by_reference="false">array</type>
1524
  </tag>
1525
  </docblock>
1526
+ <argument line="836">
1527
  <name>$argument_string</name>
1528
  <default><![CDATA[]]></default>
1529
  <type/>
1530
  </argument>
1531
  </method>
1532
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="917" package="Media Library Assistant">
1533
  <name>mla_apply_field_level_format</name>
1534
  <full_name>mla_apply_field_level_format</full_name>
1535
+ <docblock line="907">
1536
  <description><![CDATA[Apply field-level format options to field-level content]]></description>
1537
  <long-description><![CDATA[]]></long-description>
1538
+ <tag line="907" name="since" description="2.10"/>
1539
+ <tag line="907" name="param" description="field-level content" type="string" variable="$value">
1540
  <type by_reference="false">string</type>
1541
  </tag>
1542
+ <tag line="907" name="param" description="format code and aguments" type="array" variable="$args">
1543
  <type by_reference="false">array</type>
1544
  </tag>
1545
+ <tag line="907" name="return" description="formatted field-level content" type="string">
1546
  <type by_reference="false">string</type>
1547
  </tag>
1548
  </docblock>
1549
+ <argument line="917">
1550
  <name>$value</name>
1551
  <default><![CDATA[]]></default>
1552
  <type/>
1553
  </argument>
1554
+ <argument line="917">
1555
  <name>$args</name>
1556
  <default><![CDATA[]]></default>
1557
  <type/>
1558
  </argument>
1559
  </method>
1560
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1024" package="Media Library Assistant">
1561
  <name>mla_expand_field_level_parameters</name>
1562
  <full_name>mla_expand_field_level_parameters</full_name>
1563
+ <docblock line="1006">
1564
  <description><![CDATA[Analyze a template, expanding Field-level Markup Substitution Parameters]]></description>
1565
  <long-description><![CDATA[<p>Field-level parameters must have one of the following prefix values:
1566
  template, request, query, custom, terms, meta, iptc, exif, xmp, pdf.
1567
  All but request and query require an attachment ID.</p>]]></long-description>
1568
+ <tag line="1006" name="since" description="1.50"/>
1569
+ <tag line="1006" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1570
  <type by_reference="false">string</type>
1571
  </tag>
1572
+ <tag line="1006" name="param" description="Optional: an array of values from the query, if any, e.g. shortcode parameters" type="array" variable="$query">
1573
  <type by_reference="false">array</type>
1574
  </tag>
1575
+ <tag line="1006" name="param" description="Optional: an array of values to add to the returned array" type="array" variable="$markup_values">
1576
  <type by_reference="false">array</type>
1577
  </tag>
1578
+ <tag line="1006" name="param" description="Optional: attachment ID for attachment-specific placeholders" type="integer" variable="$post_id">
1579
  <type by_reference="false">integer</type>
1580
  </tag>
1581
+ <tag line="1006" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
1582
  <type by_reference="false">boolean</type>
1583
  </tag>
1584
+ <tag line="1006" name="param" description="Optional: default option value" type="string" variable="$default_option">
1585
  <type by_reference="false">string</type>
1586
  </tag>
1587
+ <tag line="1006" name="return" description="( parameter =&gt; value ) for all field-level parameters and anything in $markup_values" type="array">
1588
  <type by_reference="false">array</type>
1589
  </tag>
1590
  </docblock>
1591
+ <argument line="1024">
1592
  <name>$tpl</name>
1593
  <default><![CDATA[]]></default>
1594
  <type/>
1595
  </argument>
1596
+ <argument line="1024">
1597
  <name>$query</name>
1598
  <default><![CDATA[NULL]]></default>
1599
  <type/>
1600
  </argument>
1601
+ <argument line="1024">
1602
  <name>$markup_values</name>
1603
  <default><![CDATA[array()]]></default>
1604
  <type/>
1605
  </argument>
1606
+ <argument line="1024">
1607
  <name>$post_id</name>
1608
  <default><![CDATA[0]]></default>
1609
  <type/>
1610
  </argument>
1611
+ <argument line="1024">
1612
  <name>$keep_existing</name>
1613
  <default><![CDATA[false]]></default>
1614
  <type/>
1615
  </argument>
1616
+ <argument line="1024">
1617
  <name>$default_option</name>
1618
  <default><![CDATA['text']]></default>
1619
  <type/>
1620
  </argument>
1621
  </method>
1622
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1287" package="Media Library Assistant">
1623
  <name>mla_get_template_placeholders</name>
1624
  <full_name>mla_get_template_placeholders</full_name>
1625
+ <docblock line="1276">
1626
  <description><![CDATA[Analyze a template, returning an array of the placeholders it contains]]></description>
1627
  <long-description><![CDATA[]]></long-description>
1628
+ <tag line="1276" name="since" description="0.90"/>
1629
+ <tag line="1276" name="param" description="A formatting string containing [+placeholders+]" type="string" variable="$tpl">
1630
  <type by_reference="false">string</type>
1631
  </tag>
1632
+ <tag line="1276" name="param" description="Optional: default option value" type="string" variable="$default_option">
1633
  <type by_reference="false">string</type>
1634
  </tag>
1635
+ <tag line="1276" name="return" description="Placeholder information: each entry is an array with ['prefix'] =&gt; string, ['value'] =&gt; string, ['option'] =&gt; string 'text'|single'|'export'|'array'|'multi'" type="array">
1636
  <type by_reference="false">array</type>
1637
  </tag>
1638
  </docblock>
1639
+ <argument line="1287">
1640
  <name>$tpl</name>
1641
  <default><![CDATA[]]></default>
1642
  <type/>
1643
  </argument>
1644
+ <argument line="1287">
1645
  <name>$default_option</name>
1646
  <default><![CDATA['text']]></default>
1647
  <type/>
1648
  </argument>
1649
  </method>
1650
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1418" package="Media Library Assistant">
1651
  <name>mla_count_list_table_items</name>
1652
  <full_name>mla_count_list_table_items</full_name>
1653
+ <docblock line="1407">
1654
  <description><![CDATA[Get the total number of attachment posts]]></description>
1655
  <long-description><![CDATA[]]></long-description>
1656
+ <tag line="1407" name="since" description="0.30"/>
1657
+ <tag line="1407" name="param" description="Query variables, e.g., from $_REQUEST" type="array" variable="$request">
1658
  <type by_reference="false">array</type>
1659
  </tag>
1660
+ <tag line="1407" name="param" description="(optional) number of rows to skip over to reach desired page" type="int" variable="$offset">
1661
  <type by_reference="false">int</type>
1662
  </tag>
1663
+ <tag line="1407" name="param" description="(optional) number of rows on each page" type="int" variable="$count">
1664
  <type by_reference="false">int</type>
1665
  </tag>
1666
+ <tag line="1407" name="return" description="Number of attachment posts" type="integer">
1667
  <type by_reference="false">integer</type>
1668
  </tag>
1669
  </docblock>
1670
+ <argument line="1418">
1671
  <name>$request</name>
1672
  <default><![CDATA[]]></default>
1673
  <type/>
1674
  </argument>
1675
+ <argument line="1418">
1676
  <name>$offset</name>
1677
  <default><![CDATA[NULL]]></default>
1678
  <type/>
1679
  </argument>
1680
+ <argument line="1418">
1681
  <name>$count</name>
1682
  <default><![CDATA[NULL]]></default>
1683
  <type/>
1684
  </argument>
1685
  </method>
1686
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1458" package="Media Library Assistant">
1687
  <name>mla_query_list_table_items</name>
1688
  <full_name>mla_query_list_table_items</full_name>
1689
+ <docblock line="1444">
1690
  <description><![CDATA[Retrieve attachment objects for list table display]]></description>
1691
  <long-description><![CDATA[<p>Supports prepare_items in class-mla-list-table.php.
1692
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
1693
+ <tag line="1444" name="since" description="0.1"/>
1694
+ <tag line="1444" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
1695
  <type by_reference="false">array</type>
1696
  </tag>
1697
+ <tag line="1444" name="param" description="number of rows to skip over to reach desired page" type="int" variable="$offset">
1698
  <type by_reference="false">int</type>
1699
  </tag>
1700
+ <tag line="1444" name="param" description="number of rows on each page" type="int" variable="$count">
1701
  <type by_reference="false">int</type>
1702
  </tag>
1703
+ <tag line="1444" name="return" description="attachment objects (posts) including parent data, meta data and references" type="array">
1704
  <type by_reference="false">array</type>
1705
  </tag>
1706
  </docblock>
1707
+ <argument line="1458">
1708
  <name>$request</name>
1709
  <default><![CDATA[]]></default>
1710
  <type/>
1711
  </argument>
1712
+ <argument line="1458">
1713
  <name>$offset</name>
1714
  <default><![CDATA[]]></default>
1715
  <type/>
1716
  </argument>
1717
+ <argument line="1458">
1718
  <name>$count</name>
1719
  <default><![CDATA[]]></default>
1720
  <type/>
1721
  </argument>
1722
  </method>
1723
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1509" package="Media Library Assistant">
1724
  <name>mla_query_media_modal_items</name>
1725
  <full_name>mla_query_media_modal_items</full_name>
1726
+ <docblock line="1496">
1727
  <description><![CDATA[Retrieve attachment objects for the WordPress Media Manager]]></description>
1728
  <long-description><![CDATA[<p>Supports month-year and taxonomy-term filters as well as the enhanced search box</p>]]></long-description>
1729
+ <tag line="1496" name="since" description="1.20"/>
1730
+ <tag line="1496" name="param" description="query parameters from Media Manager" type="array" variable="$request">
1731
  <type by_reference="false">array</type>
1732
  </tag>
1733
+ <tag line="1496" name="param" description="number of rows to skip over to reach desired page" type="int" variable="$offset">
1734
  <type by_reference="false">int</type>
1735
  </tag>
1736
+ <tag line="1496" name="param" description="number of rows on each page" type="int" variable="$count">
1737
  <type by_reference="false">int</type>
1738
  </tag>
1739
+ <tag line="1496" name="return" description="WP_Query object with query results" type="object">
1740
+ <type by_reference="false">object</type>
1741
  </tag>
1742
  </docblock>
1743
+ <argument line="1509">
1744
  <name>$request</name>
1745
  <default><![CDATA[]]></default>
1746
  <type/>
1747
  </argument>
1748
+ <argument line="1509">
1749
  <name>$offset</name>
1750
  <default><![CDATA[]]></default>
1751
  <type/>
1752
  </argument>
1753
+ <argument line="1509">
1754
  <name>$count</name>
1755
  <default><![CDATA[]]></default>
1756
  <type/>
1757
  </argument>
1758
  </method>
1759
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1575" package="Media Library Assistant">
1760
  <name>_prepare_list_table_query</name>
1761
  <full_name>_prepare_list_table_query</full_name>
1762
+ <docblock line="1561">
1763
  <description><![CDATA[Sanitize and expand query arguments from request variables]]></description>
1764
  <long-description><![CDATA[<p>Prepare the arguments for WP_Query.
1765
  Modeled after wp_edit_attachments_query in wp-admin/post.php</p>]]></long-description>
1766
+ <tag line="1561" name="since" description="0.1"/>
1767
+ <tag line="1561" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$raw_request">
1768
  <type by_reference="false">array</type>
1769
  </tag>
1770
+ <tag line="1561" name="param" description="Optional number of rows (default 0) to skip over to reach desired page" type="int" variable="$offset">
1771
  <type by_reference="false">int</type>
1772
  </tag>
1773
+ <tag line="1561" name="param" description="Optional number of rows on each page (0 = all rows, default)" type="int" variable="$count">
1774
  <type by_reference="false">int</type>
1775
  </tag>
1776
+ <tag line="1561" name="return" description="revised arguments suitable for WP_Query" type="array">
1777
  <type by_reference="false">array</type>
1778
  </tag>
1779
  </docblock>
1780
+ <argument line="1575">
1781
  <name>$raw_request</name>
1782
  <default><![CDATA[]]></default>
1783
  <type/>
1784
  </argument>
1785
+ <argument line="1575">
1786
  <name>$offset</name>
1787
  <default><![CDATA[0]]></default>
1788
  <type/>
1789
  </argument>
1790
+ <argument line="1575">
1791
  <name>$count</name>
1792
  <default><![CDATA[0]]></default>
1793
  <type/>
1794
  </argument>
1795
  </method>
1796
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="1990" package="Media Library Assistant">
1797
  <name>_execute_list_table_query</name>
1798
  <full_name>_execute_list_table_query</full_name>
1799
+ <docblock line="1981">
1800
  <description><![CDATA[Add filters, run query, remove filters]]></description>
1801
  <long-description><![CDATA[]]></long-description>
1802
+ <tag line="1981" name="since" description="0.30"/>
1803
+ <tag line="1981" name="param" description="query parameters from web page, usually found in $_REQUEST" type="array" variable="$request">
1804
  <type by_reference="false">array</type>
1805
  </tag>
1806
+ <tag line="1981" name="return" description="WP_Query object with query results" type="object">
1807
  <type by_reference="false">object</type>
1808
  </tag>
1809
  </docblock>
1810
+ <argument line="1990">
1811
  <name>$request</name>
1812
  <default><![CDATA[]]></default>
1813
  <type/>
1814
  </argument>
1815
  </method>
1816
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2081" package="Media Library Assistant">
1817
+ <name>_wildcard_search_string</name>
1818
+ <full_name>_wildcard_search_string</full_name>
1819
+ <docblock line="2070">
1820
+ <description><![CDATA[Detects wildcard searches, i.e., containing an asterisk outside quotes]]></description>
1821
+ <long-description><![CDATA[<p>Defined as public because it's a callback from array_map().</p>]]></long-description>
1822
+ <tag line="2070" name="since" description="2.13"/>
1823
+ <tag line="2070" name="param" description="search string" type="string" variable="$search_string">
1824
+ <type by_reference="false">string</type>
1825
+ </tag>
1826
+ <tag line="2070" name="return" description="true if wildcard" type="boolean">
1827
+ <type by_reference="false">boolean</type>
1828
+ </tag>
1829
+ </docblock>
1830
+ <argument line="2081">
1831
+ <name>$search_string</name>
1832
+ <default><![CDATA[]]></default>
1833
+ <type/>
1834
+ </argument>
1835
+ </method>
1836
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2110" package="Media Library Assistant">
1837
  <name>mla_search_terms_tidy</name>
1838
  <full_name>mla_search_terms_tidy</full_name>
1839
+ <docblock line="2099">
1840
  <description><![CDATA[Replaces a WordPress function deprecated in v3.7]]></description>
1841
  <long-description><![CDATA[<p>Defined as public because it's a callback from array_map().</p>]]></long-description>
1842
+ <tag line="2099" name="since" description="1.51"/>
1843
+ <tag line="2099" name="param" description="search term before modification" type="string" variable="$term">
1844
  <type by_reference="false">string</type>
1845
  </tag>
1846
+ <tag line="2099" name="return" description="cleaned up search term" type="string">
1847
  <type by_reference="false">string</type>
1848
  </tag>
1849
  </docblock>
1850
+ <argument line="2110">
1851
  <name>$term</name>
1852
  <default><![CDATA[]]></default>
1853
  <type/>
1854
  </argument>
1855
  </method>
1856
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2126" package="Media Library Assistant">
1857
  <name>_match_quoted_phrase</name>
1858
  <full_name>_match_quoted_phrase</full_name>
1859
+ <docblock line="2114">
1860
  <description><![CDATA[Isolates keyword match results to word boundaries]]></description>
1861
  <long-description><![CDATA[<p>Eliminates matches such as "man" in "woman".</p>]]></long-description>
1862
+ <tag line="2114" name="since" description="2.11"/>
1863
+ <tag line="2114" name="param" description="the quoted phrase (without enclosing quotes)" type="string" variable="$needle">
1864
  <type by_reference="false">string</type>
1865
  </tag>
1866
+ <tag line="2114" name="param" description="the entire term" type="string" variable="$haystack">
1867
  <type by_reference="false">string</type>
1868
  </tag>
1869
+ <tag line="2114" name="return" description="$needle is a word match within $haystack" type="boolean">
1870
  <type by_reference="false">boolean</type>
1871
  </tag>
1872
  </docblock>
1873
+ <argument line="2126">
1874
  <name>$needle</name>
1875
  <default><![CDATA[]]></default>
1876
  <type/>
1877
  </argument>
1878
+ <argument line="2126">
1879
  <name>$haystack</name>
1880
  <default><![CDATA[]]></default>
1881
  <type/>
1882
  </argument>
1883
  </method>
1884
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2157" package="Media Library Assistant">
1885
  <name>mla_query_posts_search_filter</name>
1886
  <full_name>mla_query_posts_search_filter</full_name>
1887
+ <docblock line="2145">
1888
  <description><![CDATA[Adds a keyword search to the WHERE clause, if required]]></description>
1889
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
1890
+ <tag line="2145" name="since" description="0.60"/>
1891
+ <tag line="2145" name="param" description="query clause before modification" type="string" variable="$search_string">
1892
  <type by_reference="false">string</type>
1893
  </tag>
1894
+ <tag line="2145" name="param" description="WP_Query object" type="object" variable="$query_object">
1895
  <type by_reference="false">object</type>
1896
  </tag>
1897
+ <tag line="2145" name="return" description="query clause after keyword search addition" type="string">
1898
  <type by_reference="false">string</type>
1899
  </tag>
1900
  </docblock>
1901
+ <argument line="2157">
1902
  <name>$search_string</name>
1903
  <default><![CDATA[]]></default>
1904
  <type/>
1905
  </argument>
1906
+ <argument line="2157">
1907
  <name>$query_object</name>
1908
  <default><![CDATA[]]></default>
1909
  <type/>
1910
  </argument>
1911
  </method>
1912
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2498" package="Media Library Assistant">
1913
  <name>mla_query_posts_where_filter</name>
1914
  <full_name>mla_query_posts_where_filter</full_name>
1915
+ <docblock line="2486">
1916
  <description><![CDATA[Adds/modifies the WHERE clause for meta values, LIKE patterns and detached items]]></description>
1917
  <long-description><![CDATA[<p>Modeled after _edit_attachments_query_helper in wp-admin/post.php.
1918
  Defined as public because it's a filter.</p>]]></long-description>
1919
+ <tag line="2486" name="since" description="0.1"/>
1920
+ <tag line="2486" name="param" description="query clause before modification" type="string" variable="$where_clause">
1921
  <type by_reference="false">string</type>
1922
  </tag>
1923
+ <tag line="2486" name="return" description="query clause after modification" type="string">
1924
  <type by_reference="false">string</type>
1925
  </tag>
1926
  </docblock>
1927
+ <argument line="2498">
1928
  <name>$where_clause</name>
1929
  <default><![CDATA[]]></default>
1930
  <type/>
1931
  </argument>
1932
  </method>
1933
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2567" package="Media Library Assistant">
1934
  <name>mla_query_posts_join_filter</name>
1935
  <full_name>mla_query_posts_join_filter</full_name>
1936
+ <docblock line="2556">
1937
  <description><![CDATA[Adds a JOIN clause, if required, to handle sorting/searching on custom fields or ALT Text]]></description>
1938
  <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
1939
+ <tag line="2556" name="since" description="0.30"/>
1940
+ <tag line="2556" name="param" description="query clause before modification" type="string" variable="$join_clause">
1941
  <type by_reference="false">string</type>
1942
  </tag>
1943
+ <tag line="2556" name="return" description="query clause after &quot;LEFT JOIN view ON post_id&quot; item modification" type="string">
1944
  <type by_reference="false">string</type>
1945
  </tag>
1946
  </docblock>
1947
+ <argument line="2567">
1948
  <name>$join_clause</name>
1949
  <default><![CDATA[]]></default>
1950
  <type/>
1951
  </argument>
1952
  </method>
1953
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2617" package="Media Library Assistant">
1954
  <name>mla_query_posts_groupby_filter</name>
1955
  <full_name>mla_query_posts_groupby_filter</full_name>
1956
+ <docblock line="2605">
1957
  <description><![CDATA[Adds a GROUPBY clause, if required]]></description>
1958
  <long-description><![CDATA[<p>Taxonomy text queries and postmeta queries can return multiple results for the same ID.
1959
  Defined as public because it's a filter.</p>]]></long-description>
1960
+ <tag line="2605" name="since" description="1.90"/>
1961
+ <tag line="2605" name="param" description="query clause before modification" type="string" variable="$groupby_clause">
1962
  <type by_reference="false">string</type>
1963
  </tag>
1964
+ <tag line="2605" name="return" description="updated query clause" type="string">
1965
  <type by_reference="false">string</type>
1966
  </tag>
1967
  </docblock>
1968
+ <argument line="2617">
1969
  <name>$groupby_clause</name>
1970
  <default><![CDATA[]]></default>
1971
  <type/>
1972
  </argument>
1973
  </method>
1974
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2639" package="Media Library Assistant">
1975
  <name>mla_query_posts_orderby_filter</name>
1976
  <full_name>mla_query_posts_orderby_filter</full_name>
1977
+ <docblock line="2627">
1978
  <description><![CDATA[Adds a ORDERBY clause, if required]]></description>
1979
  <long-description><![CDATA[<p>Expands the range of sort options because the logic in WP_Query is limited.
1980
  Defined as public because it's a filter.</p>]]></long-description>
1981
+ <tag line="2627" name="since" description="0.30"/>
1982
+ <tag line="2627" name="param" description="query clause before modification" type="string" variable="$orderby_clause">
1983
  <type by_reference="false">string</type>
1984
  </tag>
1985
+ <tag line="2627" name="return" description="updated query clause" type="string">
1986
  <type by_reference="false">string</type>
1987
  </tag>
1988
  </docblock>
1989
+ <argument line="2639">
1990
  <name>$orderby_clause</name>
1991
  <default><![CDATA[]]></default>
1992
  <type/>
1993
  </argument>
1994
  </method>
1995
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2712" package="Media Library Assistant">
1996
  <name>mla_query_relevanssi_admin_search_ok_filter</name>
1997
  <full_name>mla_query_relevanssi_admin_search_ok_filter</full_name>
1998
+ <docblock line="2702">
1999
  <description><![CDATA[Disable Relevanssi - A Better Search, v3.2 by Mikko Saari
2000
  Defined as public because it's a filter.]]></description>
2001
  <long-description><![CDATA[]]></long-description>
2002
+ <tag line="2702" name="since" description="1.80"/>
2003
+ <tag line="2702" name="param" description="Default setting" type="boolean" variable="$admin_search_ok">
2004
  <type by_reference="false">boolean</type>
2005
  </tag>
2006
+ <tag line="2702" name="return" description="Updated setting" type="boolean">
2007
  <type by_reference="false">boolean</type>
2008
  </tag>
2009
  </docblock>
2010
+ <argument line="2712">
2011
  <name>$admin_search_ok</name>
2012
  <default><![CDATA[]]></default>
2013
  <type/>
2014
  </argument>
2015
  </method>
2016
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2727" package="Media Library Assistant">
2017
+ <name>mla_query_terms_clauses_filter</name>
2018
+ <full_name>mla_query_terms_clauses_filter</full_name>
2019
+ <docblock line="2716">
2020
+ <description><![CDATA[Filters all clauses for get_terms queries]]></description>
2021
+ <long-description><![CDATA[<p>Defined as public because it's a filter.</p>]]></long-description>
2022
+ <tag line="2716" name="since" description="2.13"/>
2023
+ <tag line="2716" name="param" description="Terms query SQL clauses." type="array" variable="$pieces">
2024
+ <type by_reference="false">array</type>
2025
+ </tag>
2026
+ <tag line="2716" name="param" description="An array of taxonomies." type="array" variable="$taxonomies">
2027
+ <type by_reference="false">array</type>
2028
+ </tag>
2029
+ <tag line="2716" name="param" description="An array of terms query arguments." type="array" variable="$args">
2030
+ <type by_reference="false">array</type>
2031
+ </tag>
2032
+ </docblock>
2033
+ <argument line="2727">
2034
+ <name>$pieces</name>
2035
+ <default><![CDATA[]]></default>
2036
+ <type/>
2037
+ </argument>
2038
+ <argument line="2727">
2039
+ <name>$taxonomies</name>
2040
+ <default><![CDATA[]]></default>
2041
+ <type/>
2042
+ </argument>
2043
+ <argument line="2727">
2044
+ <name>$args</name>
2045
+ <default><![CDATA[]]></default>
2046
+ <type/>
2047
+ </argument>
2048
+ </method>
2049
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2772" package="Media Library Assistant">
2050
  <name>mla_query_posts_clauses_filter</name>
2051
  <full_name>mla_query_posts_clauses_filter</full_name>
2052
+ <docblock line="2760">
2053
  <description><![CDATA[Filters all clauses for shortcode queries, pre caching plugins]]></description>
2054
  <long-description><![CDATA[<p>This is for debug purposes only.
2055
  Defined as public because it's a filter.</p>]]></long-description>
2056
+ <tag line="2760" name="since" description="1.80"/>
2057
+ <tag line="2760" name="param" description="query clauses before modification" type="array" variable="$pieces">
2058
  <type by_reference="false">array</type>
2059
  </tag>
2060
+ <tag line="2760" name="return" description="query clauses after modification (none)" type="array">
2061
  <type by_reference="false">array</type>
2062
  </tag>
2063
  </docblock>
2064
+ <argument line="2772">
2065
  <name>$pieces</name>
2066
  <default><![CDATA[]]></default>
2067
  <type/>
2068
  </argument>
2069
  </method>
2070
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2791" package="Media Library Assistant">
2071
  <name>mla_query_posts_clauses_request_filter</name>
2072
  <full_name>mla_query_posts_clauses_request_filter</full_name>
2073
+ <docblock line="2779">
2074
  <description><![CDATA[Filters all clauses for shortcode queries, post caching plugins]]></description>
2075
  <long-description><![CDATA[<p>This is for debug purposes only.
2076
  Defined as public because it's a filter.</p>]]></long-description>
2077
+ <tag line="2779" name="since" description="1.80"/>
2078
+ <tag line="2779" name="param" description="query clauses before modification" type="array" variable="$pieces">
2079
  <type by_reference="false">array</type>
2080
  </tag>
2081
+ <tag line="2779" name="return" description="query clauses after modification (none)" type="array">
2082
  <type by_reference="false">array</type>
2083
  </tag>
2084
  </docblock>
2085
+ <argument line="2791">
2086
  <name>$pieces</name>
2087
  <default><![CDATA[]]></default>
2088
  <type/>
2089
  </argument>
2090
  </method>
2091
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2812" package="Media Library Assistant">
2092
  <name>mla_get_attachment_by_id</name>
2093
  <full_name>mla_get_attachment_by_id</full_name>
2094
+ <docblock line="2798">
2095
  <description><![CDATA[Retrieve an Attachment array given a $post_id]]></description>
2096
  <long-description><![CDATA[<p>The (associative) array will contain every field that can be found in
2097
  the posts and postmeta tables, and all references to the attachment.</p>]]></long-description>
2098
+ <tag line="2798" name="since" description="0.1"/>
2099
+ <tag line="2798" name="uses" description="\global\$post" refers="\global\$post"/>
2100
+ <tag line="2798" name="param" description="The ID of the attachment post" type="integer" variable="$post_id">
2101
  <type by_reference="false">integer</type>
2102
  </tag>
2103
+ <tag line="2798" name="param" description="True to add references, false to skip references" type="boolean" variable="$add_references">
2104
  <type by_reference="false">boolean</type>
2105
  </tag>
2106
+ <tag line="2798" name="return" description="NULL on failure else associative array" type="NULL|array">
2107
  <type by_reference="false">NULL</type>
2108
  <type by_reference="false">array</type>
2109
  </tag>
2110
  </docblock>
2111
+ <argument line="2812">
2112
  <name>$post_id</name>
2113
  <default><![CDATA[]]></default>
2114
  <type/>
2115
  </argument>
2116
+ <argument line="2812">
2117
  <name>$add_references</name>
2118
  <default><![CDATA[true]]></default>
2119
  <type/>
2120
  </argument>
2121
  </method>
2122
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2868" package="Media Library Assistant">
2123
  <name>mla_fetch_attachment_parent_data</name>
2124
  <full_name>mla_fetch_attachment_parent_data</full_name>
2125
+ <docblock line="2859">
2126
  <description><![CDATA[Returns information about an attachment's parent, if found]]></description>
2127
  <long-description><![CDATA[]]></long-description>
2128
+ <tag line="2859" name="since" description="0.1"/>
2129
+ <tag line="2859" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent_id">
2130
  <type by_reference="false">int</type>
2131
  </tag>
2132
+ <tag line="2859" name="return" description="Parent information; post_date, post_title and post_type" type="array">
2133
  <type by_reference="false">array</type>
2134
  </tag>
2135
  </docblock>
2136
+ <argument line="2868">
2137
  <name>$parent_id</name>
2138
  <default><![CDATA[]]></default>
2139
  <type/>
2140
  </argument>
2141
  </method>
2142
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2918" package="Media Library Assistant">
2143
  <name>_set_array_element</name>
2144
  <full_name>_set_array_element</full_name>
2145
+ <docblock line="2907">
2146
  <description><![CDATA[Adds or replaces the value of a key in a possibly nested array structure]]></description>
2147
  <long-description><![CDATA[]]></long-description>
2148
+ <tag line="2907" name="since" description="1.51"/>
2149
+ <tag line="2907" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
2150
  <type by_reference="false">string</type>
2151
  </tag>
2152
+ <tag line="2907" name="param" description="replacement value, string or array, by reference" type="mixed" variable="$value">
2153
  <type by_reference="false">mixed</type>
2154
  </tag>
2155
+ <tag line="2907" name="param" description="PHP nested arrays, by reference" type="array" variable="$haystack">
2156
  <type by_reference="false">array</type>
2157
  </tag>
2158
+ <tag line="2907" name="return" description="true if $needle element set, false if not" type="boolean">
2159
  <type by_reference="false">boolean</type>
2160
  </tag>
2161
  </docblock>
2162
+ <argument line="2918">
2163
  <name>$needle</name>
2164
  <default><![CDATA[]]></default>
2165
  <type/>
2166
  </argument>
2167
+ <argument line="2918">
2168
  <name>$value</name>
2169
  <default><![CDATA[]]></default>
2170
  <type/>
2171
  </argument>
2172
+ <argument line="2918">
2173
  <name>$haystack</name>
2174
  <default><![CDATA[]]></default>
2175
  <type/>
2176
  </argument>
2177
  </method>
2178
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="2952" package="Media Library Assistant">
2179
  <name>_unset_array_element</name>
2180
  <full_name>_unset_array_element</full_name>
2181
+ <docblock line="2942">
2182
  <description><![CDATA[Deletes the value of a key in a possibly nested array structure]]></description>
2183
  <long-description><![CDATA[]]></long-description>
2184
+ <tag line="2942" name="since" description="1.51"/>
2185
+ <tag line="2942" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
2186
  <type by_reference="false">string</type>
2187
  </tag>
2188
+ <tag line="2942" name="param" description="PHP nested arrays, by reference" type="array" variable="$haystack">
2189
  <type by_reference="false">array</type>
2190
  </tag>
2191
+ <tag line="2942" name="return" description="true if $needle element found, false if not" type="boolean">
2192
  <type by_reference="false">boolean</type>
2193
  </tag>
2194
  </docblock>
2195
+ <argument line="2952">
2196
  <name>$needle</name>
2197
  <default><![CDATA[]]></default>
2198
  <type/>
2199
  </argument>
2200
+ <argument line="2952">
2201
  <name>$haystack</name>
2202
  <default><![CDATA[]]></default>
2203
  <type/>
2204
  </argument>
2205
  </method>
2206
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="2987" package="Media Library Assistant">
2207
  <name>mla_find_array_element</name>
2208
  <full_name>mla_find_array_element</full_name>
2209
+ <docblock line="2972">
2210
  <description><![CDATA[Finds the value of a key in a possibly nested array structure]]></description>
2211
  <long-description><![CDATA[<p>Used primarily to extract fields from the _wp_attachment_metadata custom field.
2212
+ Also used with the audio/video ID3 metadata exposed in WordPress 3.6 and later.</p>]]></long-description>
2213
+ <tag line="2972" name="since" description="1.30"/>
2214
+ <tag line="2972" name="param" description="key value, e.g. array1.array2.element" type="string" variable="$needle">
2215
  <type by_reference="false">string</type>
2216
  </tag>
2217
+ <tag line="2972" name="param" description="PHP nested arrays" type="array" variable="$haystack">
2218
  <type by_reference="false">array</type>
2219
  </tag>
2220
+ <tag line="2972" name="param" description="data option; 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
2221
  <type by_reference="false">string</type>
2222
  </tag>
2223
+ <tag line="2972" name="param" description="keep existing values - for 'multi' option" type="boolean" variable="$keep_existing">
2224
  <type by_reference="false">boolean</type>
2225
  </tag>
2226
+ <tag line="2972" name="return" description="string or array value matching key(.key ...) or ''" type="mixed">
2227
  <type by_reference="false">mixed</type>
2228
  </tag>
2229
  </docblock>
2230
+ <argument line="2987">
2231
  <name>$needle</name>
2232
  <default><![CDATA[]]></default>
2233
  <type/>
2234
  </argument>
2235
+ <argument line="2987">
2236
  <name>$haystack</name>
2237
  <default><![CDATA[]]></default>
2238
  <type/>
2239
  </argument>
2240
+ <argument line="2987">
2241
  <name>$option</name>
2242
  <default><![CDATA[]]></default>
2243
  <type/>
2244
  </argument>
2245
+ <argument line="2987">
2246
  <name>$keep_existing</name>
2247
  <default><![CDATA[false]]></default>
2248
  <type/>
2249
  </argument>
2250
  </method>
2251
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3088" package="Media Library Assistant">
2252
  <name>mla_fetch_attachment_metadata</name>
2253
  <full_name>mla_fetch_attachment_metadata</full_name>
2254
+ <docblock line="3076">
2255
  <description><![CDATA[Fetch and filter meta data for an attachment]]></description>
2256
  <long-description><![CDATA[<p>Returns a filtered array of a post's meta data. Internal values beginning with '<em>'
2257
  are stripped out or converted to an 'mla</em>' equivalent.</p>]]></long-description>
2258
+ <tag line="3076" name="since" description="0.1"/>
2259
+ <tag line="3076" name="param" description="post ID of attachment" type="int" variable="$post_id">
2260
  <type by_reference="false">int</type>
2261
  </tag>
2262
+ <tag line="3076" name="return" description="Meta data variables" type="array">
2263
  <type by_reference="false">array</type>
2264
  </tag>
2265
  </docblock>
2266
+ <argument line="3088">
2267
  <name>$post_id</name>
2268
  <default><![CDATA[]]></default>
2269
  <type/>
2270
  </argument>
2271
  </method>
2272
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3174" package="Media Library Assistant">
2273
  <name>mla_fetch_attachment_references</name>
2274
  <full_name>mla_fetch_attachment_references</full_name>
2275
+ <docblock line="3160">
2276
  <description><![CDATA[Find Featured Image and inserted image/link references to an attachment]]></description>
2277
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachment is used
2278
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
2279
+ <tag line="3160" name="since" description="0.1"/>
2280
+ <tag line="3160" name="param" description="post ID of attachment" type="int" variable="$ID">
2281
  <type by_reference="false">int</type>
2282
  </tag>
2283
+ <tag line="3160" name="param" description="post ID of attachment's parent, if any" type="int" variable="$parent">
2284
  <type by_reference="false">int</type>
2285
  </tag>
2286
+ <tag line="3160" name="param" description="True to compute references, false to return empty values" type="boolean" variable="$add_references">
2287
  <type by_reference="false">boolean</type>
2288
  </tag>
2289
+ <tag line="3160" name="return" description="Reference information; see $references array comments" type="array">
2290
  <type by_reference="false">array</type>
2291
  </tag>
2292
  </docblock>
2293
+ <argument line="3174">
2294
  <name>$ID</name>
2295
  <default><![CDATA[]]></default>
2296
  <type/>
2297
  </argument>
2298
+ <argument line="3174">
2299
  <name>$parent</name>
2300
  <default><![CDATA[]]></default>
2301
  <type/>
2302
  </argument>
2303
+ <argument line="3174">
2304
  <name>$add_references</name>
2305
  <default><![CDATA[true]]></default>
2306
  <type/>
2307
  </argument>
2308
  </method>
2309
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3503" package="Media Library Assistant">
2310
  <name>mla_attachment_array_fetch_references</name>
2311
  <full_name>mla_attachment_array_fetch_references</full_name>
2312
+ <docblock line="3491">
2313
  <description><![CDATA[Add Featured Image and inserted image/link references to an array of attachments]]></description>
2314
  <long-description><![CDATA[<p>Searches all post and page content to see if the attachmenta are used
2315
  as a Featured Image or inserted in the post as an image or link.</p>]]></long-description>
2316
+ <tag line="3491" name="since" description="1.94"/>
2317
+ <tag line="3491" name="param" description="WP_Post objects, passed by reference" type="array" variable="$attachments">
2318
  <type by_reference="false">array</type>
2319
  </tag>
2320
+ <tag line="3491" name="return" description="updates WP_Post objects with new mla_references property" type="void">
2321
  <type by_reference="false">void</type>
2322
  </tag>
2323
  </docblock>
2324
+ <argument line="3503">
2325
  <name>$attachments</name>
2326
  <default><![CDATA[]]></default>
2327
  <type/>
2328
  </argument>
2329
  </method>
2330
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3876" package="Media Library Assistant">
2331
  <name>mla_flush_mla_galleries</name>
2332
  <full_name>mla_flush_mla_galleries</full_name>
2333
+ <docblock line="3867">
2334
  <description><![CDATA[Invalidates the $mla_galleries or $galleries array and cached values]]></description>
2335
  <long-description><![CDATA[]]></long-description>
2336
+ <tag line="3867" name="since" description="1.00"/>
2337
+ <tag line="3867" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
2338
  <type by_reference="false">string</type>
2339
  </tag>
2340
+ <tag line="3867" name="return" description="" type="void">
2341
  <type by_reference="false">void</type>
2342
  </tag>
2343
  </docblock>
2344
+ <argument line="3876">
2345
  <name>$option_name</name>
2346
  <default><![CDATA[]]></default>
2347
  <type/>
2348
  </argument>
2349
  </method>
2350
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="3900" package="Media Library Assistant">
2351
  <name>mla_save_post_action</name>
2352
  <full_name>mla_save_post_action</full_name>
2353
+ <docblock line="3891">
2354
  <description><![CDATA[Invalidates $mla_galleries and $galleries arrays and cached values after post, page or attachment updates]]></description>
2355
  <long-description><![CDATA[]]></long-description>
2356
+ <tag line="3891" name="since" description="1.00"/>
2357
+ <tag line="3891" name="param" description="ID of post/page/attachment; not used at this time" type="integer" variable="$post_id">
2358
  <type by_reference="false">integer</type>
2359
  </tag>
2360
+ <tag line="3891" name="return" description="" type="void">
2361
  <type by_reference="false">void</type>
2362
  </tag>
2363
  </docblock>
2364
+ <argument line="3900">
2365
  <name>$post_id</name>
2366
  <default><![CDATA[]]></default>
2367
  <type/>
2368
  </argument>
2369
  </method>
2370
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="3917" package="Media Library Assistant">
2371
  <name>_build_mla_galleries</name>
2372
  <full_name>_build_mla_galleries</full_name>
2373
+ <docblock line="3905">
2374
  <description><![CDATA[Builds the $mla_galleries or $galleries array]]></description>
2375
  <long-description><![CDATA[]]></long-description>
2376
+ <tag line="3905" name="since" description="0.70"/>
2377
+ <tag line="3905" name="param" description="name of the gallery's cache/option variable" type="string" variable="$option_name">
2378
  <type by_reference="false">string</type>
2379
  </tag>
2380
+ <tag line="3905" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
2381
  <type by_reference="false">array</type>
2382
  </tag>
2383
+ <tag line="3905" name="param" description="the shortcode to be searched for and processed" type="string" variable="$shortcode">
2384
  <type by_reference="false">string</type>
2385
  </tag>
2386
+ <tag line="3905" name="param" description="true to exclude revisions from the search" type="boolean" variable="$exclude_revisions">
2387
  <type by_reference="false">boolean</type>
2388
  </tag>
2389
+ <tag line="3905" name="return" description="true if the galleries array is not empty" type="boolean">
2390
  <type by_reference="false">boolean</type>
2391
  </tag>
2392
  </docblock>
2393
+ <argument line="3917">
2394
  <name>$option_name</name>
2395
  <default><![CDATA[]]></default>
2396
  <type/>
2397
  </argument>
2398
+ <argument line="3917">
2399
  <name>$galleries_array</name>
2400
  <default><![CDATA[]]></default>
2401
  <type/>
2402
  </argument>
2403
+ <argument line="3917">
2404
  <name>$shortcode</name>
2405
  <default><![CDATA[]]></default>
2406
  <type/>
2407
  </argument>
2408
+ <argument line="3917">
2409
  <name>$exclude_revisions</name>
2410
  <default><![CDATA[]]></default>
2411
  <type/>
2412
  </argument>
2413
  </method>
2414
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4037" package="Media Library Assistant">
2415
  <name>_search_mla_galleries</name>
2416
  <full_name>_search_mla_galleries</full_name>
2417
+ <docblock line="4026">
2418
  <description><![CDATA[Search the $mla_galleries or $galleries array]]></description>
2419
  <long-description><![CDATA[]]></long-description>
2420
+ <tag line="4026" name="since" description="0.70"/>
2421
+ <tag line="4026" name="param" description="by reference to the private static galleries array variable" type="array" variable="$galleries_array">
2422
  <type by_reference="false">array</type>
2423
  </tag>
2424
+ <tag line="4026" name="param" description="the attachment ID to be searched for and processed" type="int" variable="$attachment_id">
2425
  <type by_reference="false">int</type>
2426
  </tag>
2427
+ <tag line="4026" name="return" description="All posts/pages with one or more galleries that include the attachment. The array key is the parent_post ID; each entry contains post_title and post_type." type="array">
2428
  <type by_reference="false">array</type>
2429
  </tag>
2430
  </docblock>
2431
+ <argument line="4037">
2432
  <name>$galleries_array</name>
2433
  <default><![CDATA[]]></default>
2434
  <type/>
2435
  </argument>
2436
+ <argument line="4037">
2437
  <name>$attachment_id</name>
2438
  <default><![CDATA[]]></default>
2439
  <type/>
2440
  </argument>
2441
  </method>
2442
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4059" package="Media Library Assistant">
2443
  <name>mla_parse_pdf_date</name>
2444
  <full_name>mla_parse_pdf_date</full_name>
2445
+ <docblock line="4050">
2446
  <description><![CDATA[Parse a PDF date string]]></description>
2447
  <long-description><![CDATA[]]></long-description>
2448
+ <tag line="4050" name="since" description="1.50"/>
2449
+ <tag line="4050" name="param" description="PDF date string of the form D:YYYYMMDDHHmmSSOHH'mm" type="string" variable="$source_string">
2450
  <type by_reference="false">string</type>
2451
  </tag>
2452
+ <tag line="4050" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
2453
  <type by_reference="false">string</type>
2454
  </tag>
2455
  </docblock>
2456
+ <argument line="4059">
2457
  <name>$source_string</name>
2458
  <default><![CDATA[]]></default>
2459
  <type/>
2460
  </argument>
2461
  </method>
2462
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4082" package="Media Library Assistant">
2463
  <name>_parse_iso8601_date</name>
2464
  <full_name>_parse_iso8601_date</full_name>
2465
+ <docblock line="4073">
2466
  <description><![CDATA[Parse a ISO 8601 Timestamp]]></description>
2467
  <long-description><![CDATA[]]></long-description>
2468
+ <tag line="4073" name="since" description="1.50"/>
2469
+ <tag line="4073" name="param" description="ISO string of the form YYYY-MM-DDTHH:MM:SS-HH:MM (inc time zone)" type="string" variable="$source_string">
2470
  <type by_reference="false">string</type>
2471
  </tag>
2472
+ <tag line="4073" name="return" description="formatted date string YYYY-MM-DD HH:mm:SS" type="string">
2473
  <type by_reference="false">string</type>
2474
  </tag>
2475
  </docblock>
2476
+ <argument line="4082">
2477
  <name>$source_string</name>
2478
  <default><![CDATA[]]></default>
2479
  <type/>
2480
  </argument>
2481
  </method>
2482
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4105" package="Media Library Assistant">
2483
  <name>_parse_xmp_array</name>
2484
  <full_name>_parse_xmp_array</full_name>
2485
+ <docblock line="4096">
2486
  <description><![CDATA[Parse an XMP array value, stripping namespace prefixes and Seq/Alt/Bag arrays]]></description>
2487
  <long-description><![CDATA[]]></long-description>
2488
+ <tag line="4096" name="since" description="2.10"/>
2489
+ <tag line="4096" name="param" description="XMP multi-valued element" type="array" variable="$values">
2490
  <type by_reference="false">array</type>
2491
  </tag>
2492
+ <tag line="4096" name="return" description="Simplified array or string value" type="mixed">
2493
  <type by_reference="false">mixed</type>
2494
  </tag>
2495
  </docblock>
2496
+ <argument line="4105">
2497
  <name>$values</name>
2498
  <default><![CDATA[]]></default>
2499
  <type/>
2500
  </argument>
2501
  </method>
2502
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4150" package="Media Library Assistant">
2503
  <name>mla_parse_xmp_metadata</name>
2504
  <full_name>mla_parse_xmp_metadata</full_name>
2505
+ <docblock line="4140">
2506
  <description><![CDATA[Extract XMP meta data from a file]]></description>
2507
  <long-description><![CDATA[]]></long-description>
2508
+ <tag line="4140" name="since" description="2.10"/>
2509
+ <tag line="4140" name="param" description="full path and file name" type="string" variable="$file_name">
2510
  <type by_reference="false">string</type>
2511
  </tag>
2512
+ <tag line="4140" name="param" description="offset within the file of the search start point" type="integer" variable="$file_offset">
2513
  <type by_reference="false">integer</type>
2514
  </tag>
2515
+ <tag line="4140" name="return" description="array of metadata values or NULL on failure" type="mixed">
2516
  <type by_reference="false">mixed</type>
2517
  </tag>
2518
  </docblock>
2519
+ <argument line="4150">
2520
  <name>$file_name</name>
2521
  <default><![CDATA[]]></default>
2522
  <type/>
2523
  </argument>
2524
+ <argument line="4150">
2525
  <name>$file_offset</name>
2526
  <default><![CDATA[]]></default>
2527
  <type/>
2528
  </argument>
2529
  </method>
2530
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="4479" package="Media Library Assistant">
2531
  <name>_bin_to_utf8</name>
2532
  <full_name>_bin_to_utf8</full_name>
2533
+ <docblock line="4470">
2534
  <description><![CDATA[Replace SQL incorrect characters (0x80 - 0xFF) with their UTF-8 equivalents]]></description>
2535
  <long-description><![CDATA[]]></long-description>
2536
+ <tag line="4470" name="since" description="1.41"/>
2537
+ <tag line="4470" name="param" description="unencoded string" type="string" variable="$string">
2538
  <type by_reference="false">string</type>
2539
  </tag>
2540
+ <tag line="4470" name="return" description="UTF-8 encoded string" type="string">
2541
  <type by_reference="false">string</type>
2542
  </tag>
2543
  </docblock>
2544
+ <argument line="4479">
2545
  <name>$string</name>
2546
  <default><![CDATA[]]></default>
2547
  <type/>
2548
  </argument>
2549
  </method>
2550
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4879" package="Media Library Assistant">
2551
  <name>mla_iptc_metadata_value</name>
2552
  <full_name>mla_iptc_metadata_value</full_name>
2553
+ <docblock line="4867">
2554
  <description><![CDATA[Parse one IPTC metadata field]]></description>
2555
  <long-description><![CDATA[]]></long-description>
2556
+ <tag line="4867" name="since" description="1.41"/>
2557
+ <tag line="4867" name="param" description="field name - IPTC Identifier or friendly name/slug" type="string" variable="$iptc_key">
2558
  <type by_reference="false">string</type>
2559
  </tag>
2560
+ <tag line="4867" name="param" description="metadata array containing iptc, exif, xmp and pdf metadata arrays" type="array" variable="$item_metadata">
2561
+ <type by_reference="false">array</type>
2562
+ </tag>
2563
+ <tag line="4867" name="param" description="data option; 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
2564
  <type by_reference="false">string</type>
2565
  </tag>
2566
+ <tag line="4867" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
2567
+ <type by_reference="false">boolean</type>
2568
+ </tag>
2569
+ <tag line="4867" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
2570
  <type by_reference="false">mixed</type>
2571
  </tag>
2572
  </docblock>
2573
+ <argument line="4879">
2574
  <name>$iptc_key</name>
2575
  <default><![CDATA[]]></default>
2576
  <type/>
2577
  </argument>
2578
+ <argument line="4879">
2579
  <name>$item_metadata</name>
2580
  <default><![CDATA[]]></default>
2581
  <type/>
2582
  </argument>
2583
+ <argument line="4879">
2584
+ <name>$option</name>
2585
+ <default><![CDATA['text']]></default>
2586
+ <type/>
2587
+ </argument>
2588
+ <argument line="4879">
2589
+ <name>$keep_existing</name>
2590
+ <default><![CDATA[false]]></default>
2591
+ <type/>
2592
+ </argument>
2593
  </method>
2594
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4920" package="Media Library Assistant">
2595
  <name>mla_exif_metadata_value</name>
2596
  <full_name>mla_exif_metadata_value</full_name>
2597
+ <docblock line="4906">
2598
  <description><![CDATA[Parse one EXIF metadata field]]></description>
2599
  <long-description><![CDATA[<p>Also handles the special pseudo-values 'ALL_EXIF' and 'ALL_IPTC'.</p>]]></long-description>
2600
+ <tag line="4906" name="since" description="1.13"/>
2601
+ <tag line="4906" name="param" description="field name" type="string" variable="$exif_key">
2602
  <type by_reference="false">string</type>
2603
  </tag>
2604
+ <tag line="4906" name="param" description="metadata array containing iptc, exif, xmp and pdf metadata arrays" type="array" variable="$item_metadata">
2605
+ <type by_reference="false">array</type>
2606
+ </tag>
2607
+ <tag line="4906" name="param" description="data option; 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
2608
  <type by_reference="false">string</type>
2609
  </tag>
2610
+ <tag line="4906" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
2611
+ <type by_reference="false">boolean</type>
2612
+ </tag>
2613
+ <tag line="4906" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
2614
  <type by_reference="false">mixed</type>
2615
  </tag>
2616
  </docblock>
2617
+ <argument line="4920">
2618
  <name>$exif_key</name>
2619
  <default><![CDATA[]]></default>
2620
  <type/>
2621
  </argument>
2622
+ <argument line="4920">
2623
  <name>$item_metadata</name>
2624
  <default><![CDATA[]]></default>
2625
  <type/>
2626
  </argument>
2627
+ <argument line="4920">
2628
+ <name>$option</name>
2629
+ <default><![CDATA['text']]></default>
2630
+ <type/>
2631
+ </argument>
2632
+ <argument line="4920">
2633
+ <name>$keep_existing</name>
2634
+ <default><![CDATA[false]]></default>
2635
+ <type/>
2636
+ </argument>
2637
  </method>
2638
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="4969" package="Media Library Assistant">
2639
  <name>mla_xmp_metadata_value</name>
2640
  <full_name>mla_xmp_metadata_value</full_name>
2641
+ <docblock line="4955">
2642
  <description><![CDATA[Parse one XMP metadata field]]></description>
2643
  <long-description><![CDATA[<p>Also handles the special pseudo-value 'ALL_XMP'.</p>]]></long-description>
2644
+ <tag line="4955" name="since" description="2.10"/>
2645
+ <tag line="4955" name="param" description="field name" type="string" variable="$xmp_key">
2646
  <type by_reference="false">string</type>
2647
  </tag>
2648
+ <tag line="4955" name="param" description="XMP metadata array" type="array" variable="$xmp_metadata">
2649
+ <type by_reference="false">array</type>
2650
+ </tag>
2651
+ <tag line="4955" name="param" description="data option; 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
2652
  <type by_reference="false">string</type>
2653
  </tag>
2654
+ <tag line="4955" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
2655
  <type by_reference="false">boolean</type>
2656
  </tag>
2657
+ <tag line="4955" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
 
 
 
2658
  <type by_reference="false">mixed</type>
2659
  </tag>
2660
  </docblock>
2661
+ <argument line="4969">
2662
  <name>$xmp_key</name>
2663
  <default><![CDATA[]]></default>
2664
  <type/>
2665
  </argument>
2666
+ <argument line="4969">
2667
+ <name>$xmp_metadata</name>
2668
  <default><![CDATA[]]></default>
2669
  <type/>
2670
  </argument>
2671
+ <argument line="4969">
2672
+ <name>$option</name>
2673
+ <default><![CDATA['text']]></default>
2674
+ <type/>
2675
+ </argument>
2676
+ <argument line="4969">
2677
  <name>$keep_existing</name>
2678
+ <default><![CDATA[false]]></default>
2679
+ <type/>
2680
+ </argument>
2681
+ </method>
2682
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5002" package="Media Library Assistant">
2683
+ <name>mla_id3_metadata_value</name>
2684
+ <full_name>mla_id3_metadata_value</full_name>
2685
+ <docblock line="4988">
2686
+ <description><![CDATA[Parse one ID3 (audio/visual) metadata field]]></description>
2687
+ <long-description><![CDATA[<p>Also handles the special pseudo-value 'ALL_ID3'.</p>]]></long-description>
2688
+ <tag line="4988" name="since" description="2.13"/>
2689
+ <tag line="4988" name="param" description="field name" type="string" variable="$id3_key">
2690
+ <type by_reference="false">string</type>
2691
+ </tag>
2692
+ <tag line="4988" name="param" description="ID3 metadata array" type="array" variable="$id3_metadata">
2693
+ <type by_reference="false">array</type>
2694
+ </tag>
2695
+ <tag line="4988" name="param" description="data option; 'text'|'single'|'export'|'array'|'multi'" type="string" variable="$option">
2696
+ <type by_reference="false">string</type>
2697
+ </tag>
2698
+ <tag line="4988" name="param" description="Optional: for option 'multi', retain existing values" type="boolean" variable="$keep_existing">
2699
+ <type by_reference="false">boolean</type>
2700
+ </tag>
2701
+ <tag line="4988" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
2702
+ <type by_reference="false">mixed</type>
2703
+ </tag>
2704
+ </docblock>
2705
+ <argument line="5002">
2706
+ <name>$id3_key</name>
2707
  <default><![CDATA[]]></default>
2708
  <type/>
2709
  </argument>
2710
+ <argument line="5002">
2711
+ <name>$id3_metadata</name>
2712
+ <default><![CDATA[]]></default>
2713
+ <type/>
2714
+ </argument>
2715
+ <argument line="5002">
2716
+ <name>$option</name>
2717
+ <default><![CDATA[]]></default>
2718
+ <type/>
2719
+ </argument>
2720
+ <argument line="5002">
2721
+ <name>$keep_existing</name>
2722
  <default><![CDATA[]]></default>
2723
  <type/>
2724
  </argument>
2725
  </method>
2726
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5033" package="Media Library Assistant">
2727
  <name>mla_pdf_metadata_value</name>
2728
  <full_name>mla_pdf_metadata_value</full_name>
2729
+ <docblock line="5021">
2730
  <description><![CDATA[Parse one PDF metadata field]]></description>
2731
  <long-description><![CDATA[<p>Also handles the special pseudo-value 'ALL_PDF'.</p>]]></long-description>
2732
+ <tag line="5021" name="since" description="1.50"/>
2733
+ <tag line="5021" name="param" description="field name" type="string" variable="$pdf_key">
2734
  <type by_reference="false">string</type>
2735
  </tag>
2736
+ <tag line="5021" name="param" description="metadata array containing iptc, exif, xmp and pdf metadata arrays" type="string" variable="$item_metadata">
2737
  <type by_reference="false">string</type>
2738
  </tag>
2739
+ <tag line="5021" name="return" description="string/array representation of metadata value or an empty string" type="mixed">
2740
  <type by_reference="false">mixed</type>
2741
  </tag>
2742
  </docblock>
2743
+ <argument line="5033">
2744
  <name>$pdf_key</name>
2745
  <default><![CDATA[]]></default>
2746
  <type/>
2747
  </argument>
2748
+ <argument line="5033">
2749
  <name>$item_metadata</name>
2750
  <default><![CDATA[]]></default>
2751
  <type/>
2752
  </argument>
2753
  </method>
2754
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="5075" package="Media Library Assistant">
2755
  <name>_rational_to_decimal</name>
2756
  <full_name>_rational_to_decimal</full_name>
2757
+ <docblock line="5066">
2758
  <description><![CDATA[Convert an EXIF GPS rational value to a PHP float value]]></description>
2759
  <long-description><![CDATA[]]></long-description>
2760
+ <tag line="5066" name="since" description="1.50"/>
2761
+ <tag line="5066" name="param" description="array( 0 =&gt; numerator, 1 =&gt; denominator )" type="array" variable="$rational">
2762
  <type by_reference="false">array</type>
2763
  </tag>
2764
+ <tag line="5066" name="return" description="numerator/denominator" type="float">
2765
  <type by_reference="false">float</type>
2766
  </tag>
2767
  </docblock>
2768
+ <argument line="5075">
2769
  <name>$rational</name>
2770
  <default><![CDATA[]]></default>
2771
  <type/>
2772
  </argument>
2773
  </method>
2774
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="5092" package="Media Library Assistant">
2775
  <name>_rational_to_string</name>
2776
  <full_name>_rational_to_string</full_name>
2777
+ <docblock line="5080">
2778
  <description><![CDATA[Convert an EXIF rational value to a formatted string]]></description>
2779
  <long-description><![CDATA[]]></long-description>
2780
+ <tag line="5080" name="since" description="2.02"/>
2781
+ <tag line="5080" name="param" description="numerator/denominator" type="string" variable="$rational">
2782
  <type by_reference="false">string</type>
2783
  </tag>
2784
+ <tag line="5080" name="param" description="format for integer values" type="string" variable="$integer_format">
2785
  <type by_reference="false">string</type>
2786
  </tag>
2787
+ <tag line="5080" name="param" description="format for fractional values from -1 to +1" type="string" variable="$fraction_format">
2788
  <type by_reference="false">string</type>
2789
  </tag>
2790
+ <tag line="5080" name="param" description="format for integer.fraction values" type="string" variable="$mixed_format">
2791
  <type by_reference="false">string</type>
2792
  </tag>
2793
+ <tag line="5080" name="return" description="formatted value or boolean false if no value available" type="mixed">
2794
  <type by_reference="false">mixed</type>
2795
  </tag>
2796
  </docblock>
2797
+ <argument line="5092">
2798
  <name>$rational</name>
2799
  <default><![CDATA[]]></default>
2800
  <type/>
2801
  </argument>
2802
+ <argument line="5092">
2803
  <name>$integer_format</name>
2804
  <default><![CDATA[]]></default>
2805
  <type/>
2806
  </argument>
2807
+ <argument line="5092">
2808
  <name>$fraction_format</name>
2809
  <default><![CDATA[]]></default>
2810
  <type/>
2811
  </argument>
2812
+ <argument line="5092">
2813
  <name>$mixed_format</name>
2814
  <default><![CDATA[]]></default>
2815
  <type/>
2816
  </argument>
2817
  </method>
2818
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5143" package="Media Library Assistant">
2819
  <name>mla_IPTC_EXIF_error_handler</name>
2820
  <full_name>mla_IPTC_EXIF_error_handler</full_name>
2821
+ <docblock line="5131">
2822
  <description><![CDATA[Intercept IPTC and EXIF parse errors]]></description>
2823
  <long-description><![CDATA[]]></long-description>
2824
+ <tag line="5131" name="since" description="1.81"/>
2825
+ <tag line="5131" name="param" description="the level of the error raised" type="int" variable="$type">
2826
  <type by_reference="false">int</type>
2827
  </tag>
2828
+ <tag line="5131" name="param" description="the error message" type="string" variable="$string">
2829
  <type by_reference="false">string</type>
2830
  </tag>
2831
+ <tag line="5131" name="param" description="the filename that the error was raised in" type="string" variable="$file">
2832
  <type by_reference="false">string</type>
2833
  </tag>
2834
+ <tag line="5131" name="param" description="the line number the error was raised at" type="int" variable="$line">
2835
  <type by_reference="false">int</type>
2836
  </tag>
2837
+ <tag line="5131" name="return" description="true, to bypass PHP error handler" type="boolean">
2838
  <type by_reference="false">boolean</type>
2839
  </tag>
2840
  </docblock>
2841
+ <argument line="5143">
2842
  <name>$type</name>
2843
  <default><![CDATA[]]></default>
2844
  <type/>
2845
  </argument>
2846
+ <argument line="5143">
2847
  <name>$string</name>
2848
  <default><![CDATA[]]></default>
2849
  <type/>
2850
  </argument>
2851
+ <argument line="5143">
2852
  <name>$file</name>
2853
  <default><![CDATA[]]></default>
2854
  <type/>
2855
  </argument>
2856
+ <argument line="5143">
2857
  <name>$line</name>
2858
  <default><![CDATA[]]></default>
2859
  <type/>
2860
  </argument>
2861
  </method>
2862
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5184" package="Media Library Assistant">
2863
+ <name>mla_fetch_attachment_id3_metadata</name>
2864
+ <full_name>mla_fetch_attachment_id3_metadata</full_name>
2865
+ <docblock line="5171">
2866
+ <description><![CDATA[Fetch and filter ID3 metadata for an audio or video attachment]]></description>
2867
+ <long-description><![CDATA[<p>Adapted from /wp-admin/includes/media.php functions wp_add_id3_tag_data,
2868
+ wp_read_video_metadata and wp_read_audio_metadata</p>]]></long-description>
2869
+ <tag line="5171" name="since" description="2.13"/>
2870
+ <tag line="5171" name="param" description="post ID of attachment" type="int" variable="$post_id">
2871
+ <type by_reference="false">int</type>
2872
+ </tag>
2873
+ <tag line="5171" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
2874
+ <type by_reference="false">string</type>
2875
+ </tag>
2876
+ <tag line="5171" name="return" description="Meta data variables, including 'audio' and 'video'" type="array">
2877
+ <type by_reference="false">array</type>
2878
+ </tag>
2879
+ </docblock>
2880
+ <argument line="5184">
2881
+ <name>$post_id</name>
2882
+ <default><![CDATA[]]></default>
2883
+ <type/>
2884
+ </argument>
2885
+ <argument line="5184">
2886
+ <name>$path</name>
2887
+ <default><![CDATA['']]></default>
2888
+ <type/>
2889
+ </argument>
2890
+ </method>
2891
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5278" package="Media Library Assistant">
2892
  <name>mla_fetch_attachment_image_metadata</name>
2893
  <full_name>mla_fetch_attachment_image_metadata</full_name>
2894
+ <docblock line="5268">
2895
  <description><![CDATA[Fetch and filter IPTC and EXIF, XMP or PDF metadata for an image attachment]]></description>
2896
  <long-description><![CDATA[]]></long-description>
2897
+ <tag line="5268" name="since" description="0.90"/>
2898
+ <tag line="5268" name="param" description="post ID of attachment" type="int" variable="$post_id">
2899
  <type by_reference="false">int</type>
2900
  </tag>
2901
+ <tag line="5268" name="param" description="optional; if $post_id is zero, path to the image file." type="string" variable="$path">
2902
  <type by_reference="false">string</type>
2903
  </tag>
2904
+ <tag line="5268" name="return" description="Meta data variables, IPTC and EXIF or PDF" type="array">
2905
  <type by_reference="false">array</type>
2906
  </tag>
2907
  </docblock>
2908
+ <argument line="5278">
2909
  <name>$post_id</name>
2910
  <default><![CDATA[]]></default>
2911
  <type/>
2912
  </argument>
2913
+ <argument line="5278">
2914
  <name>$path</name>
2915
  <default><![CDATA['']]></default>
2916
  <type/>
2917
  </argument>
2918
  </method>
2919
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5626" package="Media Library Assistant">
2920
  <name>mla_update_wp_attachment_metadata</name>
2921
  <full_name>mla_update_wp_attachment_metadata</full_name>
2922
+ <docblock line="5616">
2923
  <description><![CDATA[Update "meta:" data for a single attachment]]></description>
2924
  <long-description><![CDATA[]]></long-description>
2925
+ <tag line="5616" name="since" description="1.51"/>
2926
+ <tag line="5616" name="param" description="The current wp_attachment_metadata value" type="array" variable="$current_values">
2927
  <type by_reference="false">array</type>
2928
  </tag>
2929
+ <tag line="5616" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
2930
  <type by_reference="false">array</type>
2931
  </tag>
2932
+ <tag line="5616" name="return" description="success/failure message(s); empty string if no changes." type="string">
2933
  <type by_reference="false">string</type>
2934
  </tag>
2935
  </docblock>
2936
+ <argument line="5626">
2937
  <name>$current_values</name>
2938
  <default><![CDATA[]]></default>
2939
  <type/>
2940
  </argument>
2941
+ <argument line="5626">
2942
  <name>$new_meta</name>
2943
  <default><![CDATA[]]></default>
2944
  <type/>
2945
  </argument>
2946
  </method>
2947
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5710" package="Media Library Assistant">
2948
  <name>mla_update_item_postmeta</name>
2949
  <full_name>mla_update_item_postmeta</full_name>
2950
+ <docblock line="5700">
2951
  <description><![CDATA[Update custom field and "meta:" data for a single attachment]]></description>
2952
  <long-description><![CDATA[]]></long-description>
2953
+ <tag line="5700" name="since" description="1.40"/>
2954
+ <tag line="5700" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
2955
  <type by_reference="false">int</type>
2956
  </tag>
2957
+ <tag line="5700" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_meta">
2958
  <type by_reference="false">array</type>
2959
  </tag>
2960
+ <tag line="5700" name="return" description="success/failure message(s)" type="string">
2961
  <type by_reference="false">string</type>
2962
  </tag>
2963
  </docblock>
2964
+ <argument line="5710">
2965
  <name>$post_id</name>
2966
  <default><![CDATA[]]></default>
2967
  <type/>
2968
  </argument>
2969
+ <argument line="5710">
2970
  <name>$new_meta</name>
2971
  <default><![CDATA[]]></default>
2972
  <type/>
2973
  </argument>
2974
  </method>
2975
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="5877" package="Media Library Assistant">
2976
  <name>mla_update_single_item</name>
2977
  <full_name>mla_update_single_item</full_name>
2978
+ <docblock line="5864">
2979
  <description><![CDATA[Update a single item; change the "post" data, taxonomy terms
2980
  and meta data for a single attachment]]></description>
2981
  <long-description><![CDATA[]]></long-description>
2982
+ <tag line="5864" name="since" description="0.1"/>
2983
+ <tag line="5864" name="param" description="The ID of the attachment to be updated" type="int" variable="$post_id">
2984
  <type by_reference="false">int</type>
2985
  </tag>
2986
+ <tag line="5864" name="param" description="Field name =&gt; value pairs" type="array" variable="$new_data">
2987
  <type by_reference="false">array</type>
2988
  </tag>
2989
+ <tag line="5864" name="param" description="Optional taxonomy term values, default null" type="array" variable="$tax_input">
2990
  <type by_reference="false">array</type>
2991
  </tag>
2992
+ <tag line="5864" name="param" description="Optional taxonomy actions (add, remove, replace), default null" type="array" variable="$tax_actions">
2993
  <type by_reference="false">array</type>
2994
  </tag>
2995
+ <tag line="5864" name="return" description="success/failure message and NULL content" type="array">
2996
  <type by_reference="false">array</type>
2997
  </tag>
2998
  </docblock>
2999
+ <argument line="5877">
3000
  <name>$post_id</name>
3001
  <default><![CDATA[]]></default>
3002
  <type/>
3003
  </argument>
3004
+ <argument line="5877">
3005
  <name>$new_data</name>
3006
  <default><![CDATA[]]></default>
3007
  <type/>
3008
  </argument>
3009
+ <argument line="5877">
3010
  <name>$tax_input</name>
3011
  <default><![CDATA[NULL]]></default>
3012
  <type/>
3013
  </argument>
3014
+ <argument line="5877">
3015
  <name>$tax_actions</name>
3016
  <default><![CDATA[NULL]]></default>
3017
  <type/>
3018
  </argument>
3019
  </method>
3020
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="6167" package="Media Library Assistant">
3021
  <name>_remove_terms</name>
3022
  <full_name>_remove_terms</full_name>
3023
+ <docblock line="6156">
3024
  <description><![CDATA[Remove terms from an attachment's assignments]]></description>
3025
  <long-description><![CDATA[]]></long-description>
3026
+ <tag line="6156" name="since" description="0.40"/>
3027
+ <tag line="6156" name="param" description="The ID of the attachment to be updated" type="integer" variable="$post_id">
3028
  <type by_reference="false">integer</type>
3029
  </tag>
3030
+ <tag line="6156" name="param" description="The term ids (integer array) or names (string array) to remove" type="array" variable="$terms">
3031
  <type by_reference="false">array</type>
3032
  </tag>
3033
+ <tag line="6156" name="param" description="The taxonomy object" type="object" variable="$taxonomy_obj">
3034
  <type by_reference="false">object</type>
3035
  </tag>
3036
+ <tag line="6156" name="return" description="Term ids/names of the surviving terms" type="array">
3037
  <type by_reference="false">array</type>
3038
  </tag>
3039
  </docblock>
3040
+ <argument line="6167">
3041
  <name>$post_id</name>
3042
  <default><![CDATA[]]></default>
3043
  <type/>
3044
  </argument>
3045
+ <argument line="6167">
3046
  <name>$terms</name>
3047
  <default><![CDATA[]]></default>
3048
  <type/>
3049
  </argument>
3050
+ <argument line="6167">
3051
  <name>$taxonomy_obj</name>
3052
  <default><![CDATA[]]></default>
3053
  <type/>
3054
  </argument>
3055
  </method>
3056
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="6220" package="Media Library Assistant">
3057
  <name>mla_hex_dump</name>
3058
  <full_name>mla_hex_dump</full_name>
3059
+ <docblock line="6208">
3060
  <description><![CDATA[Format printable version of binary data]]></description>
3061
  <long-description><![CDATA[]]></long-description>
3062
+ <tag line="6208" name="since" description="0.90"/>
3063
+ <tag line="6208" name="param" description="Binary data" type="string" variable="$data">
3064
  <type by_reference="false">string</type>
3065
  </tag>
3066
+ <tag line="6208" name="param" description="Bytes to format, default = 0 (all bytes)" type="integer" variable="$limit">
3067
  <type by_reference="false">integer</type>
3068
  </tag>
3069
+ <tag line="6208" name="param" description="Bytes to format on each line" type="\intger" variable="$bytes_per_row">
3070
  <type by_reference="false">\intger</type>
3071
  </tag>
3072
+ <tag line="6208" name="param" description="offset of initial byte, or -1 to suppress printing offset information" type="integer" variable="$offset">
3073
  <type by_reference="false">integer</type>
3074
  </tag>
3075
+ <tag line="6208" name="return" description="Printable representation of $data" type="string">
3076
  <type by_reference="false">string</type>
3077
  </tag>
3078
  </docblock>
3079
+ <argument line="6220">
3080
  <name>$data</name>
3081
  <default><![CDATA[]]></default>
3082
  <type/>
3083
  </argument>
3084
+ <argument line="6220">
3085
  <name>$limit</name>
3086
  <default><![CDATA[0]]></default>
3087
  <type/>
3088
  </argument>
3089
+ <argument line="6220">
3090
  <name>$bytes_per_row</name>
3091
  <default><![CDATA[16]]></default>
3092
  <type/>
3093
  </argument>
3094
+ <argument line="6220">
3095
  <name>$offset</name>
3096
  <default><![CDATA[-1]]></default>
3097
  <type/>
3099
  </method>
3100
  </class>
3101
  </file>
3102
+ <file path="includes\class-mla-edit-media.php" hash="49e8989399fc4b2dc7899f812462e06c" package="Media Library Assistant">
3103
  <docblock line="2">
3104
  <description><![CDATA[Media Library Assistant Edit Media screen enhancements]]></description>
3105
  <long-description><![CDATA[]]></long-description>
3155
  </tag>
3156
  </docblock>
3157
  </constant>
3158
+ <property final="false" static="true" visibility="private" line="705" namespace="global" package="Media Library Assistant">
3159
  <name>$mla_references</name>
3160
  <default><![CDATA[null]]></default>
3161
+ <docblock line="695">
3162
  <description><![CDATA[Where-used values for the current item]]></description>
3163
  <long-description><![CDATA[<p>This array contains the Featured/Inserted/Gallery/MLA Gallery references for the item.
3164
  The array is built once each page load and cached for subsequent calls.</p>]]></long-description>
3165
+ <tag line="695" name="since" description="0.80"/>
3166
+ <tag line="695" name="var" description="" type="array">
3167
  <type by_reference="false">array</type>
3168
  </tag>
3169
  </docblock>
3240
  <tag line="276" name="since" description="2.02"/>
3241
  </docblock>
3242
  </method>
3243
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="454" package="Media Library Assistant">
3244
  <name>mla_update_attachment_metadata_postfilter</name>
3245
  <full_name>mla_update_attachment_metadata_postfilter</full_name>
3246
+ <docblock line="438">
3247
  <description><![CDATA[Apply Media/Add New bulk edit area updates, if any]]></description>
3248
  <long-description><![CDATA[<p>This filter is called AFTER MLA mapping rules are applied during
3249
  wp_update_attachment_metadata() processing. If none of the mapping rules
3250
  is enabled it is called from the 'wp_update_attachment_metadata' filter
3251
  with just two arguments.</p>]]></long-description>
3252
+ <tag line="438" name="since" description="2.02"/>
3253
+ <tag line="438" name="param" description="attachment metadata" type="array" variable="$data">
3254
  <type by_reference="false">array</type>
3255
  </tag>
3256
+ <tag line="438" name="param" description="The Post ID of the new/updated attachment" type="integer" variable="$post_id">
3257
  <type by_reference="false">integer</type>
3258
  </tag>
3259
+ <tag line="438" name="param" description="Processing options, e.g., 'is_upload'" type="array" variable="$options">
3260
  <type by_reference="false">array</type>
3261
  </tag>
3262
+ <tag line="438" name="return" description="updated attachment metadata" type="array">
3263
  <type by_reference="false">array</type>
3264
  </tag>
3265
  </docblock>
3266
+ <argument line="454">
3267
  <name>$data</name>
3268
  <default><![CDATA[]]></default>
3269
  <type/>
3270
  </argument>
3271
+ <argument line="454">
3272
  <name>$post_id</name>
3273
  <default><![CDATA[]]></default>
3274
  <type/>
3275
  </argument>
3276
+ <argument line="454">
3277
  <name>$options</name>
3278
  <default><![CDATA[array('is_upload' => true)]]></default>
3279
  <type/>
3280
  </argument>
3281
  </method>
3282
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="505" package="Media Library Assistant">
3283
  <name>mla_post_updated_messages_filter</name>
3284
  <full_name>mla_post_updated_messages_filter</full_name>
3285
+ <docblock line="495">
3286
  <description><![CDATA[Adds mapping update messages for display at the top of the Edit Media screen.]]></description>
3287
  <long-description><![CDATA[<p>Declared public because it is a filter.</p>]]></long-description>
3288
+ <tag line="495" name="since" description="1.10"/>
3289
+ <tag line="495" name="param" description="messages for the Edit screen" type="array" variable="$messages">
3290
  <type by_reference="false">array</type>
3291
  </tag>
3292
+ <tag line="495" name="return" description="updated messages" type="array">
3293
  <type by_reference="false">array</type>
3294
  </tag>
3295
  </docblock>
3296
+ <argument line="505">
3297
  <name>$messages</name>
3298
  <default><![CDATA[]]></default>
3299
  <type/>
3300
  </argument>
3301
  </method>
3302
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="522" package="Media Library Assistant">
3303
  <name>mla_attachment_submitbox_action</name>
3304
  <full_name>mla_attachment_submitbox_action</full_name>
3305
+ <docblock line="514">
3306
  <description><![CDATA[Adds Last Modified date to the Submit box on the Edit Media screen.]]></description>
3307
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3308
+ <tag line="514" name="since" description="0.80"/>
3309
+ <tag line="514" name="return" description="echoes the HTML markup for the label and value" type="void">
3310
  <type by_reference="false">void</type>
3311
  </tag>
3312
  </docblock>
3313
  </method>
3314
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="558" package="Media Library Assistant">
3315
  <name>mla_add_meta_boxes_action</name>
3316
  <full_name>mla_add_meta_boxes_action</full_name>
3317
+ <docblock line="547">
3318
  <description><![CDATA[Registers meta boxes for the Edit Media screen.]]></description>
3319
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3320
+ <tag line="547" name="since" description="0.80"/>
3321
+ <tag line="547" name="param" description="type of the current post, e.g., 'attachment' (optional, default 'unknown')" type="string" variable="$post_type">
3322
  <type by_reference="false">string</type>
3323
  </tag>
3324
+ <tag line="547" name="param" description="current post (optional, default (object) array ( 'ID' =&gt; 0 ))" type="object" variable="$post">
3325
  <type by_reference="false">object</type>
3326
  </tag>
3327
+ <tag line="547" name="return" description="" type="void">
3328
  <type by_reference="false">void</type>
3329
  </tag>
3330
  </docblock>
3331
+ <argument line="558">
3332
  <name>$post_type</name>
3333
  <default><![CDATA['unknown']]></default>
3334
  <type/>
3335
  </argument>
3336
+ <argument line="558">
3337
  <name>$post</name>
3338
  <default><![CDATA[NULL]]></default>
3339
  <type/>
3340
  </argument>
3341
  </method>
3342
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="655" package="Media Library Assistant">
3343
  <name>mla_edit_add_help_tab</name>
3344
  <full_name>mla_edit_add_help_tab</full_name>
3345
+ <docblock line="645">
3346
  <description><![CDATA[Add contextual help tabs to the WordPress Edit Media page]]></description>
3347
  <long-description><![CDATA[]]></long-description>
3348
+ <tag line="645" name="since" description="0.90"/>
3349
+ <tag line="645" name="param" description="title as shown on the screen" type="string" variable="$admin_title">
3350
  <type by_reference="false">string</type>
3351
  </tag>
3352
+ <tag line="645" name="param" description="title as shown in the HTML header" type="string" variable="$title">
3353
  <type by_reference="false">string</type>
3354
  </tag>
3355
+ <tag line="645" name="return" description="" type="void">
3356
  <type by_reference="false">void</type>
3357
  </tag>
3358
  </docblock>
3359
+ <argument line="655">
3360
  <name>$admin_title</name>
3361
  <default><![CDATA[]]></default>
3362
  <type/>
3363
  </argument>
3364
+ <argument line="655">
3365
  <name>$title</name>
3366
  <default><![CDATA[]]></default>
3367
  <type/>
3368
  </argument>
3369
  </method>
3370
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="717" package="Media Library Assistant">
3371
  <name>mla_parent_info_handler</name>
3372
  <full_name>mla_parent_info_handler</full_name>
3373
+ <docblock line="707">
3374
  <description><![CDATA[Renders the Parent Info meta box on the Edit Media page.]]></description>
3375
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3376
+ <tag line="707" name="since" description="0.80"/>
3377
+ <tag line="707" name="param" description="current post" type="object" variable="$post">
3378
  <type by_reference="false">object</type>
3379
  </tag>
3380
+ <tag line="707" name="return" description="echoes the HTML markup for the meta box content" type="void">
3381
  <type by_reference="false">void</type>
3382
  </tag>
3383
  </docblock>
3384
+ <argument line="717">
3385
  <name>$post</name>
3386
  <default><![CDATA[]]></default>
3387
  <type/>
3388
  </argument>
3389
  </method>
3390
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="766" package="Media Library Assistant">
3391
  <name>mla_menu_order_handler</name>
3392
  <full_name>mla_menu_order_handler</full_name>
3393
+ <docblock line="756">
3394
  <description><![CDATA[Renders the Menu Order meta box on the Edit Media page.]]></description>
3395
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3396
+ <tag line="756" name="since" description="0.80"/>
3397
+ <tag line="756" name="param" description="current post" type="object" variable="$post">
3398
  <type by_reference="false">object</type>
3399
  </tag>
3400
+ <tag line="756" name="return" description="echoes the HTML markup for the meta box content" type="void">
3401
  <type by_reference="false">void</type>
3402
  </tag>
3403
  </docblock>
3404
+ <argument line="766">
3405
  <name>$post</name>
3406
  <default><![CDATA[]]></default>
3407
  <type/>
3408
  </argument>
3409
  </method>
3410
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="783" package="Media Library Assistant">
3411
  <name>mla_image_metadata_handler</name>
3412
  <full_name>mla_image_metadata_handler</full_name>
3413
+ <docblock line="773">
3414
  <description><![CDATA[Renders the Image Metadata meta box on the Edit Media page.]]></description>
3415
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3416
+ <tag line="773" name="since" description="0.80"/>
3417
+ <tag line="773" name="param" description="current post" type="object" variable="$post">
3418
  <type by_reference="false">object</type>
3419
  </tag>
3420
+ <tag line="773" name="return" description="echoes the HTML markup for the meta box content" type="void">
3421
  <type by_reference="false">void</type>
3422
  </tag>
3423
  </docblock>
3424
+ <argument line="783">
3425
  <name>$post</name>
3426
  <default><![CDATA[]]></default>
3427
  <type/>
3428
  </argument>
3429
  </method>
3430
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="808" package="Media Library Assistant">
3431
  <name>mla_featured_in_handler</name>
3432
  <full_name>mla_featured_in_handler</full_name>
3433
+ <docblock line="798">
3434
  <description><![CDATA[Renders the Featured in meta box on the Edit Media page.]]></description>
3435
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3436
+ <tag line="798" name="since" description="0.80"/>
3437
+ <tag line="798" name="param" description="current post" type="object" variable="$post">
3438
  <type by_reference="false">object</type>
3439
  </tag>
3440
+ <tag line="798" name="return" description="echoes the HTML markup for the meta box content" type="void">
3441
  <type by_reference="false">void</type>
3442
  </tag>
3443
  </docblock>
3444
+ <argument line="808">
3445
  <name>$post</name>
3446
  <default><![CDATA[]]></default>
3447
  <type/>
3448
  </argument>
3449
  </method>
3450
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="843" package="Media Library Assistant">
3451
  <name>mla_inserted_in_handler</name>
3452
  <full_name>mla_inserted_in_handler</full_name>
3453
+ <docblock line="833">
3454
  <description><![CDATA[Renders the Inserted in meta box on the Edit Media page.]]></description>
3455
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3456
+ <tag line="833" name="since" description="0.80"/>
3457
+ <tag line="833" name="param" description="current post" type="object" variable="$post">
3458
  <type by_reference="false">object</type>
3459
  </tag>
3460
+ <tag line="833" name="return" description="echoes the HTML markup for the meta box content" type="void">
3461
  <type by_reference="false">void</type>
3462
  </tag>
3463
  </docblock>
3464
+ <argument line="843">
3465
  <name>$post</name>
3466
  <default><![CDATA[]]></default>
3467
  <type/>
3468
  </argument>
3469
  </method>
3470
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="882" package="Media Library Assistant">
3471
  <name>mla_gallery_in_handler</name>
3472
  <full_name>mla_gallery_in_handler</full_name>
3473
+ <docblock line="872">
3474
  <description><![CDATA[Renders the Gallery in meta box on the Edit Media page.]]></description>
3475
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3476
+ <tag line="872" name="since" description="0.80"/>
3477
+ <tag line="872" name="param" description="current post" type="object" variable="$post">
3478
  <type by_reference="false">object</type>
3479
  </tag>
3480
+ <tag line="872" name="return" description="echoes the HTML markup for the meta box content" type="void">
3481
  <type by_reference="false">void</type>
3482
  </tag>
3483
  </docblock>
3484
+ <argument line="882">
3485
  <name>$post</name>
3486
  <default><![CDATA[]]></default>
3487
  <type/>
3488
  </argument>
3489
  </method>
3490
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="917" package="Media Library Assistant">
3491
  <name>mla_mla_gallery_in_handler</name>
3492
  <full_name>mla_mla_gallery_in_handler</full_name>
3493
+ <docblock line="907">
3494
  <description><![CDATA[Renders the MLA Gallery in meta box on the Edit Media page.]]></description>
3495
  <long-description><![CDATA[<p>Declared public because it is a callback function.</p>]]></long-description>
3496
+ <tag line="907" name="since" description="0.80"/>
3497
+ <tag line="907" name="param" description="current post" type="object" variable="$post">
3498
  <type by_reference="false">object</type>
3499
  </tag>
3500
+ <tag line="907" name="return" description="echoes the HTML markup for the meta box content" type="void">
3501
  <type by_reference="false">void</type>
3502
  </tag>
3503
  </docblock>
3504
+ <argument line="917">
3505
  <name>$post</name>
3506
  <default><![CDATA[]]></default>
3507
  <type/>
3508
  </argument>
3509
  </method>
3510
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="952" package="Media Library Assistant">
3511
  <name>mla_edit_attachment_action</name>
3512
  <full_name>mla_edit_attachment_action</full_name>
3513
+ <docblock line="942">
3514
  <description><![CDATA[Saves updates from the Edit Media screen.]]></description>
3515
  <long-description><![CDATA[<p>Declared public because it is an action.</p>]]></long-description>
3516
+ <tag line="942" name="since" description="0.80"/>
3517
+ <tag line="942" name="param" description="ID of the current post" type="integer" variable="$post_ID">
3518
  <type by_reference="false">integer</type>
3519
  </tag>
3520
+ <tag line="942" name="return" description="" type="void">
3521
  <type by_reference="false">void</type>
3522
  </tag>
3523
  </docblock>
3524
+ <argument line="952">
3525
  <name>$post_ID</name>
3526
  <default><![CDATA[]]></default>
3527
  <type/>
3528
  </argument>
3529
  </method>
3530
+ <method final="false" abstract="false" static="true" visibility="private" namespace="global" line="978" package="Media Library Assistant">
3531
  <name>_mla_ajax_add_flat_term</name>
3532
  <full_name>_mla_ajax_add_flat_term</full_name>
3533
+ <docblock line="967">
3534
  <description><![CDATA[Add flat taxonomy term from "checklist" meta box on the Media Manager Modal Window]]></description>
3535
  <long-description><![CDATA[<p>Adapted from the WordPress post_categories_meta_box() in /wp-admin/includes/meta-boxes.php.</p>]]></long-description>
3536
+ <tag line="967" name="since" description="1.80"/>
3537
+ <tag line="967" name="param" description="The taxonomy name, from $_POST['action']" type="string" variable="$key">
3538
  <type by_reference="false">string</type>
3539
  </tag>
3540
+ <tag line="967" name="return" description="Sends JSON response with updated HTML for the checklist" type="void">
3541
  <type by_reference="false">void</type>
3542
  </tag>
3543
  </docblock>
3544
+ <argument line="978">
3545
  <name>$key</name>
3546
  <default><![CDATA[]]></default>
3547
  <type/>
3548
  </argument>
3549
  </method>
3550
+ <method final="false" abstract="false" static="true" visibility="public" namespace="global" line="1041" package="Media Library Assistant">
3551
  <name>mla_checklist_meta_box</name>
3552
  <full_name>mla_checklist_meta_box</full_name>
3553
+ <docblock line="1026">
3554
  <description><![CDATA[Display taxonomy "checklist" form fields]]></description>
3555
  <long-description><![CDATA[<p>Adapted from /wp-admin/includes/ajax-actions.php function _wp_ajax_add_hierarchical_term().
3556
  Includes the "? Search" area to filter the term checklist by entering part
3557
  or all of a word/phrase in the term label.
3558
  Output to the Media/Edit Media screen and to the Media Manager Modal Window.</p>]]></long-description>
3559
+ <tag line="1026" name="since" description="1.71"/>
3560
+ <tag line="1026" name="param" description="The current post" type="object" variable="$target_post">
3561
  <type by_reference="false">object</type>
3562
  </tag>
3563
+ <tag line="1026" name="param" description="The meta box parameters" type="array" variable="$box">
3564
  <type by_reference="false">array</type>
3565
  </tag>
3566
+ <tag line="1026" name="return" description="Echoes HTML for the form fields" type="void">
3567
  <type by_reference="false">void</type>
3568
  </tag>
3569
  </docblock>
3570
+ <argument line="1041">
3571
  <name>$target_post</name>
3572
  <default><![CDATA[]]></default>
3573
  <type/>
3574
  </argument>
3575
+ <argument line="1041">
3576
  <name>$box</name>
3577
  <default><![CDATA[]]></default>
3578
  <type/>
3579
  </argument>
3580
  </method>
3581
  </class>
3582
+ <class final="false" abstract="false" namespace="global" line="1200" package="Media Library Assistant">
3583
  <extends>\Walker_Category</extends>
3584
  <name>MLA_Checklist_Walker</name>
3585
  <full_name>\MLA_Checklist_Walker</full_name>
3586
+ <docblock line="1190">
3587
  <description><![CDATA[Class MLA (Media Library Assistant) Checklist Walker replaces term_id with slug in checklist output]]></description>
3588
  <long-description><![CDATA[<p>This walker is used to build the meta boxes for flat taxonomies, e.g., Tags, Att. Tags.
3589
  Class Walker_Category is defined in /wp-includes/category-template.php.
3590
  Class Walker is defined in /wp-includes/class-wp-walker.php.</p>]]></long-description>
3591
+ <tag line="1190" name="package" description="Media Library Assistant"/>
3592
+ <tag line="1190" name="since" description="1.80"/>
3593
  </docblock>
3594
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1214" package="Media Library Assistant">
3595
  <name>start_el</name>
3596
  <full_name>start_el</full_name>
3597
+ <docblock line="1201">
3598
  <description><![CDATA[Start the element output.]]></description>
3599
  <long-description><![CDATA[]]></long-description>
3600
+ <tag line="1201" name="see" description="\global\Walker::start_el()" refers="\global\Walker::start_el()"/>
3601
+ <tag line="1201" name="since" description="1.80"/>
3602
+ <tag line="1201" name="param" description="Passed by reference. Used to append additional content." type="string" variable="$output">
3603
  <type by_reference="false">string</type>
3604
  </tag>
3605
+ <tag line="1201" name="param" description="Taxonomy data object." type="object" variable="$taxonomy_object">
3606
  <type by_reference="false">object</type>
3607
  </tag>
3608
+ <tag line="1201" name="param" description="Depth of category in reference to parents. Default 0." type="int" variable="$depth">
3609
  <type by_reference="false">int</type>
3610
  </tag>
3611
+ <tag line="1201" name="param" description="An array of arguments. @see wp_list_categories()" type="array" variable="$args">
3612
  <type by_reference="false">array</type>
3613
  </tag>
3614
+ <tag line="1201" name="param" description="ID of the current category." type="int" variable="$id">
3615
  <type by_reference="false">int</type>
3616
  </tag>
3617
  </docblock>
3618
+ <argument line="1214">
3619
  <name>$output</name>
3620
  <default><![CDATA[]]></default>
3621
  <type/>
3622
  </argument>
3623
+ <argument line="1214">
3624
  <name>$taxonomy_object</name>
3625
  <default><![CDATA[]]></default>
3626
  <type/>
3627
  </argument>
3628
+ <argument line="1214">
3629
  <name>$depth</name>
3630
  <default><![CDATA[0]]></default>
3631
  <type/>
3632
  </argument>
3633
+ <argument line="1214">
3634
  <name>$args</name>
3635
  <default><![CDATA[array()]]></default>
3636
  <type/>
3637
  </argument>
3638
+ <argument line="1214">
3639
  <name>$id</name>
3640
  <default><![CDATA[0]]></default>
3641
  <type/>
3642
  </argument>
3643
  </method>
3644
+ <method final="false" abstract="false" static="false" visibility="public" namespace="global" line="1247" package="Media Library Assistant">
3645
  <name>end_el</name>
3646
  <full_name>end_el</full_name>
3647
+ <docblock line="1235">
3648
  <description><![CDATA[Ends the element output, if needed.]]></description>
3649
  <long-description><![CDATA[]]></long-description>
3650
+ <tag line="1235" name="see" description="\global\Walker::end_el()" refers="\global\Walker::end_el()"/>
3651
+ <tag line="1235" name="since" description="1.80"/>
3652
+ <tag line="1235" name="param" description="Passed by reference. Used to append additional content." type="string" variable="$output">
3653
  <type by_reference="false">string</type>
3654
  </tag>
3655
+ <tag line="1235" name="param" description="The current term object." type="object" variable="$category">
3656
  <type by_reference="false">object</type>
3657
  </tag>
3658
+ <tag line="1235" name="param" description="Depth of the term in reference to parents. Default 0." type="int" variable="$depth">
3659
  <type by_reference="false">int</type>
3660
  </tag>
3661
+ <tag line="1235" name="param" description="An array of arguments. @see wp_terms_checklist()" type="array" variable="$args">
3662
  <type by_reference="false">array</type>
3663
  </tag>
3664
  </docblock>
3665
+ <argument line="1247">
3666
  <name>$output</name>
3667
  <default><![CDATA[]]></default>
3668
  <type/>
3669
  </argument>
3670
+ <argument line="1247">
3671
  <name>$category</name>
3672
  <default><![CDATA[]]></default>
3673
  <type/>
3674
  </argument>
3675
+ <argument line="1247">
3676
  <name>$depth</name>
3677
  <default><![CDATA[0]]></default>
3678
  <type/>
3679
  </argument>
3680
+ <argument line="1247">
3681
  <name>$args</name>
3682
  <default><![CDATA[array()]]></default>
3683
  <type/>
3685
  </method>
3686
  </class>
3687
  </file>
3688
+ <file path="includes\class-mla-image-processor.php" hash="a6ba8d2dd3c8dd267448459579623c30" package="Media Library Assistant">
3689
  <docblock line="2">
3690
+ <description><![CDATA[Image processing support for mla_viewer and thumbnail generation]]></description>
3691
  <long-description><![CDATA[]]></long-description>
3692
  <tag line="2" name="package" description="Media Library Assistant"/>
3693
+ <tag line="2" name="since" description="2.13"/>
3694
  </docblock>
3695
+ <class final="false" abstract="false" namespace="global" line="17"