Version Description
- Fix: Remove "Circular Reference" PHP Warnings in class-mla-mime-types.php.
Download this release
Release Info
Developer | dglingren |
Plugin | Media Library Assistant |
Version | 2.72 |
Comparing to | |
See all releases |
Code changes from version 2.70 to 2.72
- css/mla-edit-media-style.css +73 -0
- examples/plugins/mla-custom-feed-example/admin-settings-page.tpl +27 -64
- examples/plugins/mla-insert-fixit.php +459 -58
- examples/plugins/mla-item-transfer-pretty-links.php +3 -3
- examples/plugins/mla-mapping-hooks-example.php +4 -5
- examples/plugins/mla-path-mapping-example/admin-settings-page.tpl +366 -0
- examples/plugins/mla-path-mapping-example/mla-path-mapping-example.php +739 -0
- examples/plugins/mla-uploaded-on-example.php +137 -0
- examples/plugins/smart-media-categories/admin/includes/class-smc-automatic-support.php +1 -1
- includes/class-mla-admin-columns-pro-support-40.php +307 -0
- includes/class-mla-admin-columns-pro-support-42.php +304 -0
- includes/class-mla-admin-columns-pro-support.php +1411 -0
- includes/class-mla-admin-columns-support.php +91 -383
- includes/class-mla-ajax.php +2 -0
- includes/class-mla-core-options.php +21 -1
- includes/class-mla-core.php +51 -22
- includes/class-mla-data-source.php +10 -19
- includes/class-mla-data.php +263 -45
- includes/class-mla-edit-media.php +118 -6
- includes/class-mla-list-table.php +17 -6
- includes/class-mla-main.php +216 -123
- includes/class-mla-mime-types.php +75 -35
- includes/class-mla-objects.php +8 -18
- includes/class-mla-options.php +104 -17
- includes/class-mla-settings-custom-fields-tab.php +4 -4
- includes/class-mla-settings-documentation-tab.php +11 -20
- includes/class-mla-settings-iptc-exif-tab.php +7 -8
- includes/class-mla-settings-shortcodes-tab.php +6 -6
- includes/class-mla-settings-upload-tab.php +5 -5
- includes/class-mla-settings-view-tab.php +3 -3
- includes/class-mla-settings.php +5 -4
- includes/class-mla-shortcode-support.php +5 -6
- includes/class-mla-thumbnail-generation.php +16 -4
- includes/class-mla-wpml-support.php +44 -27
- includes/mla-plugin-loader.php +3 -3
- index.php +3 -3
- js/mla-edit-media-scripts.js +108 -0
- js/mla-edit-media-scripts.min.js +1 -1
- languages/media-library-assistant-en_US - References.pot +1277 -1172
- languages/media-library-assistant-en_US.po +106 -47
- languages/media-library-assistant-en_US.pot +105 -46
- readme.txt +28 -3
- tpls/admin-inline-edit-form.tpl +9 -0
- tpls/documentation-settings-tab.tpl +347 -155
- tpls/help-for-media_page_mla-menu.tpl +3 -2
- tpls/help-for-settings_page_mla-settings-menu-custom_field.tpl +2 -2
- tpls/help-for-settings_page_mla-settings-menu-iptc_exif.tpl +1 -0
- tpls/mla-add-new-bulk-edit.tpl +6 -0
- tpls/mla-option-templates.tpl +7 -0
css/mla-edit-media-style.css
CHANGED
@@ -13,6 +13,79 @@
|
|
13 |
width: 100%;
|
14 |
}
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
/*
|
17 |
* Parent Info meta box
|
18 |
*/
|
13 |
width: 100%;
|
14 |
}
|
15 |
|
16 |
+
/*
|
17 |
+
* Submit meta box
|
18 |
+
*/
|
19 |
+
.curtime span#timestamp {
|
20 |
+
display: none !important;
|
21 |
+
}
|
22 |
+
|
23 |
+
#uploadtimestampdiv select,
|
24 |
+
#modifytimestampdiv select {
|
25 |
+
height: 21px;
|
26 |
+
line-height: 14px;
|
27 |
+
padding: 0;
|
28 |
+
vertical-align: top;
|
29 |
+
font-size: 12px;
|
30 |
+
}
|
31 |
+
|
32 |
+
#aa, #jj, #hh, #mn {
|
33 |
+
padding: 1px;
|
34 |
+
font-size: 12px;
|
35 |
+
}
|
36 |
+
|
37 |
+
#jj, #hh, #mn {
|
38 |
+
width: 2em;
|
39 |
+
}
|
40 |
+
|
41 |
+
#aa {
|
42 |
+
width: 3.4em;
|
43 |
+
}
|
44 |
+
|
45 |
+
.uploadtime #upload-timestamp,
|
46 |
+
.modifytime #modify-timestamp {
|
47 |
+
padding: 2px 0 1px 0;
|
48 |
+
display: inline !important;
|
49 |
+
height: auto !important;
|
50 |
+
}
|
51 |
+
|
52 |
+
.uploadtime #upload-timestamp:before,
|
53 |
+
.modifytime #modify-timestamp:before {
|
54 |
+
color: #82878c;
|
55 |
+
font: normal 20px/1 dashicons;
|
56 |
+
speak: none;
|
57 |
+
display: inline-block;
|
58 |
+
margin-left: -1px;
|
59 |
+
padding-right: 3px;
|
60 |
+
vertical-align: top;
|
61 |
+
-webkit-font-smoothing: antialiased;
|
62 |
+
-moz-osx-font-smoothing: grayscale;
|
63 |
+
}
|
64 |
+
|
65 |
+
.uploadtime #upload-timestamp:before,
|
66 |
+
.modifytime #modify-timestamp:before {
|
67 |
+
content: "\f145";
|
68 |
+
position: relative;
|
69 |
+
top: -1px;
|
70 |
+
}
|
71 |
+
|
72 |
+
#uploadtimestampdiv,
|
73 |
+
#modifytimestampdiv {
|
74 |
+
padding-top: 5px;
|
75 |
+
line-height: 23px;
|
76 |
+
}
|
77 |
+
|
78 |
+
#uploadtimestampdiv p,
|
79 |
+
#modifytimestampdiv p {
|
80 |
+
margin: 8px 0 6px;
|
81 |
+
}
|
82 |
+
|
83 |
+
#uploadtimestampdiv input,
|
84 |
+
#modifytimestampdiv input {
|
85 |
+
border-width: 1px;
|
86 |
+
border-style: solid;
|
87 |
+
}
|
88 |
+
|
89 |
/*
|
90 |
* Parent Info meta box
|
91 |
*/
|
examples/plugins/mla-custom-feed-example/admin-settings-page.tpl
CHANGED
@@ -25,7 +25,7 @@
|
|
25 |
|
26 |
<!-- template="page-level-options" -->
|
27 |
<tr valign="top"><td class="textright">
|
28 |
-
<input name="mla_enable_custom_feeds" id="mla_enable_custom_feeds" type="checkbox" [+enable_custom_feeds_checked+] value="1"
|
29 |
</td><td>
|
30 |
<strong>Enable custom feed processing</strong>
|
31 |
<div class="mla-settings-help"> Check this option to add the (active) custom feeds to the WordPress feeds list.</div>
|
@@ -65,7 +65,7 @@
|
|
65 |
<td><input name="mla_edit_custom_feed[title]" id="mla-custom-feed-title" type="text" value="" /></td>
|
66 |
</tr>
|
67 |
<tr class="form-field custom-feed-link-wrap">
|
68 |
-
<th scope="row"> <label for="mla-custom-link
|
69 |
</th>
|
70 |
<td><input name="mla_edit_custom_feed[link]" id="mla-custom-feed-link" type="text" value="" /></td>
|
71 |
</tr>
|
@@ -144,7 +144,7 @@
|
|
144 |
<p class="submit mla-settings-submit">
|
145 |
<input name="mla-edit-custom-feed-cancel" class="button-secondary" id="mla-edit-custom-feed-cancel" type="submit" value="Cancel" />
|
146 |
|
147 |
-
<input name="mla-edit-custom-feed-submit" class="button-primary"
|
148 |
</p>
|
149 |
</form>
|
150 |
|
@@ -197,13 +197,6 @@ span.submit.mla-settings-submit,
|
|
197 |
p.submit.mla-settings-submit {
|
198 |
padding-bottom: 0px
|
199 |
}
|
200 |
-
.
|
201 |
-
mla-settings-enable-form {
|
202 |
-
margin-left: 0px;
|
203 |
-
margin-top: 10px;
|
204 |
-
padding-bottom: 10px;
|
205 |
-
border-bottom:thin solid #888888;
|
206 |
-
}
|
207 |
|
208 |
#mla-add-custom-feed-table {
|
209 |
margin-bottom: 15px;
|
@@ -267,7 +260,7 @@ mla-settings-enable-form {
|
|
267 |
<td><input name="mla_add_custom_feed[title]" id="mla-custom-feed-title" type="text" value="" /></td>
|
268 |
</tr>
|
269 |
<tr class="form-field custom-feed-link-wrap">
|
270 |
-
<th scope="row"> <label for="mla-custom-link
|
271 |
</th>
|
272 |
<td><input name="mla_add_custom_feed[link]" id="mla-custom-feed-link" type="text" value="" /></td>
|
273 |
</tr>
|
@@ -357,41 +350,7 @@ mla-settings-enable-form {
|
|
357 |
</div>
|
358 |
<!-- /col-container -->
|
359 |
|
360 |
-
<!-- template="debug-tab" -->
|
361 |
-
<h2>[+Debug Options+]</h2>
|
362 |
-
<form action="[+form_url+]" method="post" class="mla-display-settings-page" id="mla-display-settings-debug-tab">
|
363 |
-
<br />
|
364 |
-
<table class="optiontable">
|
365 |
-
[+options_list+]
|
366 |
-
</table>
|
367 |
-
<h3>[+Debug Settings+]</h3>
|
368 |
-
<table class="optiontable">
|
369 |
-
[+settings_list+]
|
370 |
-
</table>
|
371 |
-
<h3>[+Error Log+]</h3>
|
372 |
-
[+Error Log Name+] ( [+Error Log Size+] )
|
373 |
-
<table>
|
374 |
-
<tr>
|
375 |
-
<td>
|
376 |
-
<textarea name="" id="mla-error-log-display" rows="24" cols="100" readonly="readonly">[+error_log_text+]</textarea>
|
377 |
-
</td>
|
378 |
-
</tr>
|
379 |
-
<tr>
|
380 |
-
<td>
|
381 |
-
[+download_link+] [+reset_link+]
|
382 |
-
</td>
|
383 |
-
</tr>
|
384 |
-
</table>
|
385 |
-
<p class="submit mla-settings-submit">
|
386 |
-
<input name="mla-debug-options-save" class="button-primary" id="mla-debug-options-save" type="submit" value="[+Save Changes+]" />
|
387 |
-
</p>
|
388 |
-
<div class="mla-settings-help">[+Click Save Changes+]</div>
|
389 |
-
[+_wpnonce+]
|
390 |
-
[+_wp_http_referer+]
|
391 |
-
</form>
|
392 |
-
|
393 |
<!-- template="documentation-tab" -->
|
394 |
-
<h2>Plugin Documentation. In this tab, jump to:</h2>
|
395 |
<style type='text/css'>
|
396 |
.mla-doc-toc-list {
|
397 |
list-style-position:inside;
|
@@ -438,28 +397,29 @@ mla-settings-enable-form {
|
|
438 |
font-weight:bold
|
439 |
}
|
440 |
</style>
|
|
|
441 |
<div class="mla-display-settings-page" id="mla-display-settings-documentation-tab" style="width:700px">
|
442 |
<ul class="mla-doc-toc-list">
|
443 |
<li><a href="#introduction"><strong>Introduction</strong></a></li>
|
444 |
<li><a href="#defining"><strong>Defining Your Feeds</strong></a></li>
|
445 |
-
<ul class="mla-doc-toc-list">
|
446 |
<li><a href="#elements">Feed Elements</a></li>
|
447 |
<li><a href="#taxonomies">Taxonomies</a></li>
|
448 |
<li><a href="#parameters">Data Selection Parameters</a></li>
|
449 |
-
</ul>
|
450 |
<li><a href="#managing"><strong>Managing Your Feeds</strong></a></li>
|
451 |
<li><a href="#feed-templates"><strong>Feed Templates</strong></a></li>
|
452 |
-
<ul class="mla-doc-toc-list">
|
453 |
<li><a href="#default-template">Default Template</a></li>
|
454 |
<li><a href="#theme-template">Theme-based Templates</a></li>
|
455 |
-
</ul>
|
456 |
<li><a href="#accessing"><strong>Accessing Your Feeds</strong></a></li>
|
457 |
-
<ul class="mla-doc-toc-list">
|
458 |
<li><a href="#url-slug">URL-based slugs</a></li>
|
459 |
<li><a href="#query-slug">HTML Query Parameter slugs</a></li>
|
460 |
<li><a href="#tax-arguments">Taxonomy Arguments</a></li>
|
461 |
<li><a href="#query-parms">Other HTML Query Arguments</a></li>
|
462 |
-
</ul>
|
463 |
</ul>
|
464 |
<a name="introduction"></a>
|
465 |
<p>
|
@@ -481,7 +441,7 @@ You can find more general information in the <a href="https://codex.wordpress.or
|
|
481 |
</ul>
|
482 |
<p>
|
483 |
The basic idea is quite simple. You define a feed and give it a name, or "feed slug", such as "mlafeed". You specify MLA data selection parameters that define which Media Library items are part of the feed. When a feed reader accesses the feed, the data selection parameters are executed and the items are returned in a format that the feed reader can process.
|
484 |
-
<a name="
|
485 |
</p>
|
486 |
<p>
|
487 |
<a href="#backtotop">Go to Top</a>
|
@@ -489,7 +449,7 @@ The basic idea is quite simple. You define a feed and give it a name, or "feed s
|
|
489 |
<h3><strong>Defining Your Feeds</strong></h3>
|
490 |
<p>
|
491 |
You can define a new feed, also known as an RSS "channel" using the "Add New Feed" area at the left of the Settings/MLA Feed admin screen. Simply fill in the field values you want and click "Add Feed" at the bottom of the area. The new feed will be added to the submenu table in the right-hand side of the screen. If you set the "Active" status the feed will be added to the WordPress feed list.
|
492 |
-
<a name="
|
493 |
</p>
|
494 |
<p>
|
495 |
<a href="#backtotop">Go to Top</a>
|
@@ -562,7 +522,7 @@ Each RSS feed, or channel, is defined by an XML-based document that contains a n
|
|
562 |
</table>
|
563 |
<p>
|
564 |
|
565 |
-
<a name="
|
566 |
</p>
|
567 |
<p>
|
568 |
<a href="#backtotop">Go to Top</a>
|
@@ -570,7 +530,7 @@ Each RSS feed, or channel, is defined by an XML-based document that contains a n
|
|
570 |
<h4>Taxonomies</h4>
|
571 |
<p>
|
572 |
Each item can be classified by one or more "Category" elements. You can name the taxonomies that these elements will be taken from, e.g., <code>attachment_category</code>. Multiple taxonomies can be named, separated by commas. When the item is added to a feed the plugin will retrieve all the terms assigned to the item, de-duplicate them and add them to the item in the feed.
|
573 |
-
<a name="
|
574 |
</p>
|
575 |
<p>
|
576 |
<a href="#backtotop">Go to Top</a>
|
@@ -595,7 +555,7 @@ With the above template you can access the feed in different ways:
|
|
595 |
Of course, you could also code the taxonomy and term values explicitly in the Data Selection parameters, e.g.,<br /> <br />
|
596 |
<code>attachment_category=abc posts_per_page=6</code><br /> <br />
|
597 |
and then just use the feed name to access it.
|
598 |
-
<a name="
|
599 |
</p>
|
600 |
<p>
|
601 |
<a href="#backtotop">Go to Top</a>
|
@@ -612,7 +572,9 @@ Managing your feeds is just like managing posts, pages and Media Library items:
|
|
612 |
<li>You can delete several feeds at once by checking the box to the left of the slug, selecting the "Delete" Bulk Action and clicking "Apply"</li>
|
613 |
<li>You can edit a feed or delete it by hovering over the feed Slug and clicking the rollover action that appears under the slug value</li>
|
614 |
</ul>
|
615 |
-
<
|
|
|
|
|
616 |
</p>
|
617 |
<p>
|
618 |
<a href="#backtotop">Go to Top</a>
|
@@ -620,7 +582,7 @@ Managing your feeds is just like managing posts, pages and Media Library items:
|
|
620 |
<h3><strong>Feed Templates</strong></h3>
|
621 |
<p>
|
622 |
The example plugin uses a PHP feed template file to display its feeds, in much the same way as WordPress uses theme templates to display your content. The feed template is located in the plugin's root directory. It is possible to use custom feed templates to achieve a theme-based solution (see further information and links below) or change which template is used on a feed-by-feed basis.
|
623 |
-
<a name="
|
624 |
</p>
|
625 |
<p>
|
626 |
<a href="#backtotop">Go to Top</a>
|
@@ -632,7 +594,7 @@ The example plugin includes a default template file modeled on the WordPress <co
|
|
632 |
The default file uses a number of fields defined in the Feed Elements section above. In the code you can see these as elements of the "active feed" array, such as <code>MLACustomFeedExample::$active_feed['title']</code>. The file also has a traditional WordPress "loop" to process the items selected by the data selection parameters:<br /> <br />
|
633 |
<code>while ( MLACustomFeedExample::$wp_query_object->have_posts() ) : MLACustomFeedExample::$wp_query_object->the_post();</code><br /> <br />
|
634 |
You can use all of the WordPress template tags to access item values within the "loop".
|
635 |
-
<a name="
|
636 |
</p>
|
637 |
<p>
|
638 |
<a href="#backtotop">Go to Top</a>
|
@@ -648,7 +610,7 @@ You can access the template by entering:<br /> <br />
|
|
648 |
Tpl. Slug: mlafeed<br />
|
649 |
Tpl. Name: authors<br /> <br />
|
650 |
in the Add New Feed area.
|
651 |
-
<a name="
|
652 |
</p>
|
653 |
<p>
|
654 |
<a href="#backtotop">Go to Top</a>
|
@@ -656,7 +618,7 @@ in the Add New Feed area.
|
|
656 |
<h3><strong>Accessing Your Feeds</strong></h3>
|
657 |
<p>
|
658 |
Accessing your custom feeds follows several rules defined by WordPress. The "Slug" that you use to name your feed(s) is the most important element, but WordPress has some additional rules for formatting URLs that contain taxonomy arguments as well.
|
659 |
-
<a name="
|
660 |
</p>
|
661 |
<p>
|
662 |
<a href="#backtotop">Go to Top</a>
|
@@ -666,7 +628,7 @@ Accessing your custom feeds follows several rules defined by WordPress. The "Slu
|
|
666 |
If your site uses Custom/Pretty Permalinks you can use the feed slug as part of the URL. For example, the "mlafeed" feed can be accessed as:<br /> <br />
|
667 |
<code>http://www.example.com/mlafeed/</code><br />
|
668 |
|
669 |
-
<a name="
|
670 |
</p>
|
671 |
<p>
|
672 |
<a href="#backtotop">Go to Top</a>
|
@@ -676,7 +638,7 @@ If your site uses Custom/Pretty Permalinks you can use the feed slug as part of
|
|
676 |
No matter what permalink structure you use you can always specify a feed using a query argument, e.g.,<br /> <br />
|
677 |
<code>http://www.example.com/?feed=mlafeed</code><br />
|
678 |
|
679 |
-
<a name="
|
680 |
</p>
|
681 |
<p>
|
682 |
<a href="#backtotop">Go to Top</a>
|
@@ -691,7 +653,7 @@ You can provide feeds for specific taxonomy terms as part of the URL or as an HT
|
|
691 |
Passing the parameter values into your data selection parameters is different for each case. For the URL case WordPress parses the URL components into the database query parameters and you can access the value as <code>[+query:attachment_tag+]</code>. If you choose the HTML query argument format the value will be available in the "request:" area, i.e., <code>[+request:attachment_tag+]</code>. I regret the confusing prefix values but that's how it works.
|
692 |
</p>
|
693 |
<p>
|
694 |
-
<a name="
|
695 |
</p>
|
696 |
<p>
|
697 |
<a href="#backtotop">Go to Top</a>
|
@@ -704,4 +666,5 @@ You can pass any other parameters you need as query arguments following the basi
|
|
704 |
The above example would select all items "owned" by John Smith and assigned to the "abc" or "def" terms in the Att. Tags taxonomy. The corresponding data selection parameters in the "mlafeed" would be:<br /> <br />
|
705 |
<code>attachment_tag=[+query:attachment_tag+] author=[+request:author+]</code><br />
|
706 |
<br />
|
|
|
707 |
</div>
|
25 |
|
26 |
<!-- template="page-level-options" -->
|
27 |
<tr valign="top"><td class="textright">
|
28 |
+
<input name="mla_enable_custom_feeds" id="mla_enable_custom_feeds" type="checkbox" [+enable_custom_feeds_checked+] value="1" />
|
29 |
</td><td>
|
30 |
<strong>Enable custom feed processing</strong>
|
31 |
<div class="mla-settings-help"> Check this option to add the (active) custom feeds to the WordPress feeds list.</div>
|
65 |
<td><input name="mla_edit_custom_feed[title]" id="mla-custom-feed-title" type="text" value="" /></td>
|
66 |
</tr>
|
67 |
<tr class="form-field custom-feed-link-wrap">
|
68 |
+
<th scope="row"> <label for="mla-custom-feed-link">Link</label>
|
69 |
</th>
|
70 |
<td><input name="mla_edit_custom_feed[link]" id="mla-custom-feed-link" type="text" value="" /></td>
|
71 |
</tr>
|
144 |
<p class="submit mla-settings-submit">
|
145 |
<input name="mla-edit-custom-feed-cancel" class="button-secondary" id="mla-edit-custom-feed-cancel" type="submit" value="Cancel" />
|
146 |
|
147 |
+
<input name="mla-edit-custom-feed-submit" class="button-primary" id="mla-edit-custom-feed-submit" type="submit" value="Update" />
|
148 |
</p>
|
149 |
</form>
|
150 |
|
197 |
p.submit.mla-settings-submit {
|
198 |
padding-bottom: 0px
|
199 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
|
201 |
#mla-add-custom-feed-table {
|
202 |
margin-bottom: 15px;
|
260 |
<td><input name="mla_add_custom_feed[title]" id="mla-custom-feed-title" type="text" value="" /></td>
|
261 |
</tr>
|
262 |
<tr class="form-field custom-feed-link-wrap">
|
263 |
+
<th scope="row"> <label for="mla-custom-feed-link">Link</label>
|
264 |
</th>
|
265 |
<td><input name="mla_add_custom_feed[link]" id="mla-custom-feed-link" type="text" value="" /></td>
|
266 |
</tr>
|
350 |
</div>
|
351 |
<!-- /col-container -->
|
352 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
<!-- template="documentation-tab" -->
|
|
|
354 |
<style type='text/css'>
|
355 |
.mla-doc-toc-list {
|
356 |
list-style-position:inside;
|
397 |
font-weight:bold
|
398 |
}
|
399 |
</style>
|
400 |
+
<h2>Plugin Documentation. In this tab, jump to:</h2>
|
401 |
<div class="mla-display-settings-page" id="mla-display-settings-documentation-tab" style="width:700px">
|
402 |
<ul class="mla-doc-toc-list">
|
403 |
<li><a href="#introduction"><strong>Introduction</strong></a></li>
|
404 |
<li><a href="#defining"><strong>Defining Your Feeds</strong></a></li>
|
405 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
406 |
<li><a href="#elements">Feed Elements</a></li>
|
407 |
<li><a href="#taxonomies">Taxonomies</a></li>
|
408 |
<li><a href="#parameters">Data Selection Parameters</a></li>
|
409 |
+
</ul></li>
|
410 |
<li><a href="#managing"><strong>Managing Your Feeds</strong></a></li>
|
411 |
<li><a href="#feed-templates"><strong>Feed Templates</strong></a></li>
|
412 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
413 |
<li><a href="#default-template">Default Template</a></li>
|
414 |
<li><a href="#theme-template">Theme-based Templates</a></li>
|
415 |
+
</ul></li>
|
416 |
<li><a href="#accessing"><strong>Accessing Your Feeds</strong></a></li>
|
417 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
418 |
<li><a href="#url-slug">URL-based slugs</a></li>
|
419 |
<li><a href="#query-slug">HTML Query Parameter slugs</a></li>
|
420 |
<li><a href="#tax-arguments">Taxonomy Arguments</a></li>
|
421 |
<li><a href="#query-parms">Other HTML Query Arguments</a></li>
|
422 |
+
</ul></li>
|
423 |
</ul>
|
424 |
<a name="introduction"></a>
|
425 |
<p>
|
441 |
</ul>
|
442 |
<p>
|
443 |
The basic idea is quite simple. You define a feed and give it a name, or "feed slug", such as "mlafeed". You specify MLA data selection parameters that define which Media Library items are part of the feed. When a feed reader accesses the feed, the data selection parameters are executed and the items are returned in a format that the feed reader can process.
|
444 |
+
<a name="defining"></a>
|
445 |
</p>
|
446 |
<p>
|
447 |
<a href="#backtotop">Go to Top</a>
|
449 |
<h3><strong>Defining Your Feeds</strong></h3>
|
450 |
<p>
|
451 |
You can define a new feed, also known as an RSS "channel" using the "Add New Feed" area at the left of the Settings/MLA Feed admin screen. Simply fill in the field values you want and click "Add Feed" at the bottom of the area. The new feed will be added to the submenu table in the right-hand side of the screen. If you set the "Active" status the feed will be added to the WordPress feed list.
|
452 |
+
<a name="elements"></a>
|
453 |
</p>
|
454 |
<p>
|
455 |
<a href="#backtotop">Go to Top</a>
|
522 |
</table>
|
523 |
<p>
|
524 |
|
525 |
+
<a name="taxonomies"></a>
|
526 |
</p>
|
527 |
<p>
|
528 |
<a href="#backtotop">Go to Top</a>
|
530 |
<h4>Taxonomies</h4>
|
531 |
<p>
|
532 |
Each item can be classified by one or more "Category" elements. You can name the taxonomies that these elements will be taken from, e.g., <code>attachment_category</code>. Multiple taxonomies can be named, separated by commas. When the item is added to a feed the plugin will retrieve all the terms assigned to the item, de-duplicate them and add them to the item in the feed.
|
533 |
+
<a name="parameters"></a>
|
534 |
</p>
|
535 |
<p>
|
536 |
<a href="#backtotop">Go to Top</a>
|
555 |
Of course, you could also code the taxonomy and term values explicitly in the Data Selection parameters, e.g.,<br /> <br />
|
556 |
<code>attachment_category=abc posts_per_page=6</code><br /> <br />
|
557 |
and then just use the feed name to access it.
|
558 |
+
<a name="managing"></a>
|
559 |
</p>
|
560 |
<p>
|
561 |
<a href="#backtotop">Go to Top</a>
|
572 |
<li>You can delete several feeds at once by checking the box to the left of the slug, selecting the "Delete" Bulk Action and clicking "Apply"</li>
|
573 |
<li>You can edit a feed or delete it by hovering over the feed Slug and clicking the rollover action that appears under the slug value</li>
|
574 |
</ul>
|
575 |
+
<p>
|
576 |
+
<a name="feed-templates"></a>
|
577 |
+
|
578 |
</p>
|
579 |
<p>
|
580 |
<a href="#backtotop">Go to Top</a>
|
582 |
<h3><strong>Feed Templates</strong></h3>
|
583 |
<p>
|
584 |
The example plugin uses a PHP feed template file to display its feeds, in much the same way as WordPress uses theme templates to display your content. The feed template is located in the plugin's root directory. It is possible to use custom feed templates to achieve a theme-based solution (see further information and links below) or change which template is used on a feed-by-feed basis.
|
585 |
+
<a name="default-template"></a>
|
586 |
</p>
|
587 |
<p>
|
588 |
<a href="#backtotop">Go to Top</a>
|
594 |
The default file uses a number of fields defined in the Feed Elements section above. In the code you can see these as elements of the "active feed" array, such as <code>MLACustomFeedExample::$active_feed['title']</code>. The file also has a traditional WordPress "loop" to process the items selected by the data selection parameters:<br /> <br />
|
595 |
<code>while ( MLACustomFeedExample::$wp_query_object->have_posts() ) : MLACustomFeedExample::$wp_query_object->the_post();</code><br /> <br />
|
596 |
You can use all of the WordPress template tags to access item values within the "loop".
|
597 |
+
<a name="theme-template"></a>
|
598 |
</p>
|
599 |
<p>
|
600 |
<a href="#backtotop">Go to Top</a>
|
610 |
Tpl. Slug: mlafeed<br />
|
611 |
Tpl. Name: authors<br /> <br />
|
612 |
in the Add New Feed area.
|
613 |
+
<a name="accessing"></a>
|
614 |
</p>
|
615 |
<p>
|
616 |
<a href="#backtotop">Go to Top</a>
|
618 |
<h3><strong>Accessing Your Feeds</strong></h3>
|
619 |
<p>
|
620 |
Accessing your custom feeds follows several rules defined by WordPress. The "Slug" that you use to name your feed(s) is the most important element, but WordPress has some additional rules for formatting URLs that contain taxonomy arguments as well.
|
621 |
+
<a name="url-slug"></a>
|
622 |
</p>
|
623 |
<p>
|
624 |
<a href="#backtotop">Go to Top</a>
|
628 |
If your site uses Custom/Pretty Permalinks you can use the feed slug as part of the URL. For example, the "mlafeed" feed can be accessed as:<br /> <br />
|
629 |
<code>http://www.example.com/mlafeed/</code><br />
|
630 |
|
631 |
+
<a name="query-slug"></a>
|
632 |
</p>
|
633 |
<p>
|
634 |
<a href="#backtotop">Go to Top</a>
|
638 |
No matter what permalink structure you use you can always specify a feed using a query argument, e.g.,<br /> <br />
|
639 |
<code>http://www.example.com/?feed=mlafeed</code><br />
|
640 |
|
641 |
+
<a name="tax-arguments"></a>
|
642 |
</p>
|
643 |
<p>
|
644 |
<a href="#backtotop">Go to Top</a>
|
653 |
Passing the parameter values into your data selection parameters is different for each case. For the URL case WordPress parses the URL components into the database query parameters and you can access the value as <code>[+query:attachment_tag+]</code>. If you choose the HTML query argument format the value will be available in the "request:" area, i.e., <code>[+request:attachment_tag+]</code>. I regret the confusing prefix values but that's how it works.
|
654 |
</p>
|
655 |
<p>
|
656 |
+
<a name="query-parms"></a>
|
657 |
</p>
|
658 |
<p>
|
659 |
<a href="#backtotop">Go to Top</a>
|
666 |
The above example would select all items "owned" by John Smith and assigned to the "abc" or "def" terms in the Att. Tags taxonomy. The corresponding data selection parameters in the "mlafeed" would be:<br /> <br />
|
667 |
<code>attachment_tag=[+query:attachment_tag+] author=[+request:author+]</code><br />
|
668 |
<br />
|
669 |
+
</p>
|
670 |
</div>
|
examples/plugins/mla-insert-fixit.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Synchronizes Media Library values to and from post/page inserted
|
4 |
*
|
5 |
* Adds a Tools/Insert Fixit submenu with buttons to perform the operations.
|
6 |
*
|
@@ -28,19 +28,23 @@
|
|
28 |
* opened on 5/18/2017 by "optic"
|
29 |
* https://wordpress.org/support/topic/can-you-bulk-update-titles-and-add-an-incrementing-number
|
30 |
*
|
|
|
|
|
|
|
|
|
31 |
* @package Insert Fixit
|
32 |
-
* @version 1.
|
33 |
*/
|
34 |
|
35 |
/*
|
36 |
Plugin Name: MLA Insert Fixit
|
37 |
Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
|
38 |
-
Description: Synchronizes Media Library values to and from post/page inserted images
|
39 |
Author: David Lingren
|
40 |
-
Version: 1.
|
41 |
Author URI: http://fairtradejudaica.org/our-story/staff/
|
42 |
|
43 |
-
Copyright 2015-
|
44 |
|
45 |
This program is free software; you can redistribute it and/or modify
|
46 |
it under the terms of the GNU General Public License as published by
|
@@ -70,7 +74,7 @@ class Insert_Fixit {
|
|
70 |
*
|
71 |
* @var string
|
72 |
*/
|
73 |
-
const CURRENT_VERSION = '1.
|
74 |
|
75 |
/**
|
76 |
* Slug prefix for registering and enqueueing submenu pages, style sheets and scripts
|
@@ -81,6 +85,26 @@ class Insert_Fixit {
|
|
81 |
*/
|
82 |
const SLUG_PREFIX = 'insertfixit-';
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
* WordPress version test for $wpdb->esc_like() Vs esc_sql()
|
86 |
*
|
@@ -149,9 +173,7 @@ class Insert_Fixit {
|
|
149 |
wp_die( 'You do not have permission to manage plugin settings.' );
|
150 |
}
|
151 |
|
152 |
-
|
153 |
-
* Extract relevant query arguments
|
154 |
-
*/
|
155 |
$old_post_lower = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_post_lower' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_post_lower' ] : '';
|
156 |
$post_lower = isset( $_REQUEST[ self::SLUG_PREFIX . 'post_lower' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'post_lower' ] : '';
|
157 |
$old_post_upper = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_post_upper' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_post_upper' ] : '';
|
@@ -161,15 +183,28 @@ class Insert_Fixit {
|
|
161 |
$old_attachment_upper = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_attachment_upper' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_attachment_upper' ] : '';
|
162 |
$attachment_upper = isset( $_REQUEST[ self::SLUG_PREFIX . 'attachment_upper' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'attachment_upper' ] : '';
|
163 |
|
|
|
164 |
$old_data_source = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_data_source' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_data_source' ] : '';
|
165 |
$data_source = isset( $_REQUEST[ self::SLUG_PREFIX . 'data_source' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'data_source' ] : '[+alt_text+]';
|
166 |
$old_attribute_name = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_attribute_name' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_attribute_name' ] : '';
|
167 |
$attribute_name = isset( $_REQUEST[ self::SLUG_PREFIX . 'attribute_name' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'attribute_name' ] : 'data-pin-description';
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
$page_library_template = isset( $_REQUEST[ self::SLUG_PREFIX . 'page_library_template' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'page_library_template' ] : '([+page_terms:category,single+]: )([+page_title+] )[+index+]';
|
170 |
|
|
|
171 |
$parent_library_template = isset( $_REQUEST[ self::SLUG_PREFIX . 'parent_library_template' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'parent_library_template' ] : '([+parent_terms:category,single+]: )([+parent_title+] )[+index+]';
|
|
|
|
|
172 |
|
|
|
173 |
$item_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] : 'attachment_tag';
|
174 |
$parent_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] : 'post_tag';
|
175 |
|
@@ -183,7 +218,7 @@ class Insert_Fixit {
|
|
183 |
'ALT to Item' => array( 'handler' => '_copy_alt_to_media_library',
|
184 |
'comment' => 'Copy ALT Text from Post/Page inserts to Media Library item' ),
|
185 |
'c01' => array( 'handler' => '', 'comment' => '<hr>' ),
|
186 |
-
'c02' => array( 'handler' => '', 'comment' => '<h3>Post/Page
|
187 |
'c03' => array( 'handler' => '', 'comment' => '<strong>NOTE:</strong> Tools in this section use the Data Source and Attribute values below.' ),
|
188 |
't0101' => array( 'open' => '<table><tr>' ),
|
189 |
't0102' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">Data Source</td>' ),
|
@@ -205,11 +240,29 @@ class Insert_Fixit {
|
|
205 |
'comment' => 'Delete an HTML attribute, e.g., data-pin-description, from Post/Page inserts' ),
|
206 |
'c04' => array( 'handler' => '', 'comment' => '<hr>' ),
|
207 |
'c05' => array( 'handler' => '', 'comment' => '<h3>Attach Media Library items</h3>' ),
|
208 |
-
'c06' => array( 'handler' => '', 'comment' => '<strong>NOTE:</strong>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
'Attach Inserted In' => array( 'handler' => '_attach_inserted_in',
|
210 |
'comment' => 'Attach items to the first Post/Page they are inserted in' ),
|
211 |
'Attach Featured In' => array( 'handler' => '_attach_featured_in',
|
212 |
'comment' => 'Attach items to the first Post/Page for which they are the Featured Image' ),
|
|
|
|
|
213 |
'c07' => array( 'handler' => '', 'comment' => '<hr>' ),
|
214 |
'c08' => array( 'handler' => '', 'comment' => '<h3>Copy Post/Page values to inserted Media Library items</h3>' ),
|
215 |
'c09' => array( 'handler' => '', 'comment' => 'This tool finds items inserted in the body of a Post or Page and composes a new Title for the items based on values in the Post/Page, adding a sequence number (<code>[+index+]</code>) to make the Title unique. The number of inserted items is available in <code>[+found_rows+]</code>.<br> <br><strong>NOTE:</strong> The Post to Item Title tool uses the Template value below.' ),
|
@@ -223,7 +276,7 @@ class Insert_Fixit {
|
|
223 |
'comment' => 'Copy "Template" value from Post/Page inserts to Media Library item' ),
|
224 |
'c13' => array( 'handler' => '', 'comment' => '<hr>' ),
|
225 |
'c14' => array( 'handler' => '', 'comment' => '<h3>Copy Parent values to attached Media Library items</h3>' ),
|
226 |
-
'c15' => array( 'handler' => '', 'comment' => '
|
227 |
't0301' => array( 'open' => '<table><tr>' ),
|
228 |
't0302' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">Template</td>' ),
|
229 |
't0303' => array( 'continue' => ' <td style="text-align: left">' ),
|
@@ -232,13 +285,35 @@ class Insert_Fixit {
|
|
232 |
't0307' => array( 'close' => '</tr></table>' ),
|
233 |
'Parent to Item Title' => array( 'handler' => '_copy_parent_values_to_items',
|
234 |
'comment' => 'Copy "Template" value from parent Post/Page to (attached) Media Library items' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
'c16' => array( 'handler' => '', 'comment' => '<br><strong>NOTE:</strong> The Item Terms to Parent tool uses the Taxonomy name/slug values below.' ),
|
236 |
't0401' => array( 'open' => '<table><tr>' ),
|
237 |
-
't0402' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">Item Taxonomy</td>' ),
|
238 |
't0403' => array( 'continue' => ' <td style="text-align: left; padding-right: 15px">' ),
|
239 |
't0405' => array( 'continue' => ' <input name="' . self::SLUG_PREFIX . 'item_taxonomy" type="text" size="12" value="' . $item_taxonomy . '">' ),
|
240 |
't0406' => array( 'continue' => ' </td>' ),
|
241 |
-
't0407' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">Parent Taxonomy</td>' ),
|
242 |
't0408' => array( 'continue' => ' <td style="text-align: left; padding-right: 15px">' ),
|
243 |
't0410' => array( 'continue' => ' <input name="' . self::SLUG_PREFIX . 'parent_taxonomy" type="text" size="12" value="' . $parent_taxonomy . '">' ),
|
244 |
't0411' => array( 'continue' => ' </td>' ),
|
@@ -474,7 +549,7 @@ class Insert_Fixit {
|
|
474 |
|
475 |
$image_inserts = array();
|
476 |
foreach ( $results as $result ) {
|
477 |
-
$match_count = preg_match_all( '/\<img
|
478 |
//error_log( __LINE__ . " Insert_Fixit::_build_image_inserts_cache( {$result->ID} ) \$matches = " . var_export( $matches, true ), 0 );
|
479 |
if ( $match_count ) {
|
480 |
$image_inserts[ $result->ID ]['content'] = $result->post_content;
|
@@ -521,8 +596,8 @@ class Insert_Fixit {
|
|
521 |
} // _build_image_inserts_cache
|
522 |
|
523 |
/**
|
524 |
-
* Array of attachment IDs giving
|
525 |
-
* attachment ID => array( post/page
|
526 |
*
|
527 |
* @since 1.01
|
528 |
*
|
@@ -537,10 +612,11 @@ class Insert_Fixit {
|
|
537 |
*
|
538 |
* @param boolean $use_cache True to use an existing cache, false to force rebuild
|
539 |
* @param boolean $unattached_only True to index only unattached items, false to index all items
|
|
|
540 |
*
|
541 |
* @return string Cache or rebuild results
|
542 |
*/
|
543 |
-
private static function _build_featured_objects_cache( $use_cache = false, $unattached_only = false ) {
|
544 |
global $wpdb;
|
545 |
|
546 |
if ( $use_cache ) {
|
@@ -569,7 +645,7 @@ class Insert_Fixit {
|
|
569 |
}
|
570 |
|
571 |
$query = array();
|
572 |
-
$query[] = "SELECT p.ID, m.post_id FROM {$wpdb->postmeta} AS m INNER JOIN";
|
573 |
|
574 |
$where = str_replace( '%', '%%', wp_post_mime_type_where( 'image', '' ) );
|
575 |
|
@@ -577,7 +653,7 @@ class Insert_Fixit {
|
|
577 |
$where .= ' AND post_parent = 0';
|
578 |
}
|
579 |
|
580 |
-
$query[] = "( SELECT ID FROM {$wpdb->posts} WHERE ( ( post_type = 'attachment' ) {$where}";
|
581 |
$query[] = "AND ( ID >= {$lower_bound} ) AND ( ID <= {$upper_bound} ) ) ORDER BY ID ) AS p ON m.meta_value = p.ID";
|
582 |
$query[] = "WHERE m.meta_key = '_thumbnail_id'";
|
583 |
$query = implode( ' ', $query );
|
@@ -588,7 +664,17 @@ class Insert_Fixit {
|
|
588 |
$references = array();
|
589 |
if ( is_array( $results ) ) {
|
590 |
foreach ( $results as $result ) {
|
591 |
-
$references[ $result->ID ][] = $result->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
}
|
593 |
}
|
594 |
|
@@ -600,9 +686,91 @@ class Insert_Fixit {
|
|
600 |
return 'Featured objects cache refreshed with ' . count( self::$featured_objects ) . ' attachment elements.';
|
601 |
} // _build_featured_objects_cache
|
602 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
/**
|
604 |
* Array of attachment IDs giving inserted image files:
|
605 |
-
* attachment ID => array( post/page
|
606 |
*
|
607 |
* @since 1.00
|
608 |
*
|
@@ -617,10 +785,12 @@ class Insert_Fixit {
|
|
617 |
*
|
618 |
* @param boolean $use_cache True to use an existing cache, false to force rebuild
|
619 |
* @param boolean $unattached_only True to index only unattached items, false to index all items
|
|
|
|
|
620 |
*
|
621 |
* @return string Cache or rebuild results
|
622 |
*/
|
623 |
-
private static function _build_image_objects_cache( $use_cache = false, $unattached_only = false ) {
|
624 |
global $wpdb;
|
625 |
|
626 |
if ( $use_cache ) {
|
@@ -654,13 +824,11 @@ class Insert_Fixit {
|
|
654 |
$where .= ' AND post_parent = 0';
|
655 |
}
|
656 |
|
657 |
-
$query = sprintf( 'SELECT ID FROM %1$s WHERE ( ( post_type = \'attachment\' ) %2$s AND ( ID >= %3$d ) AND ( ID <= %4$d ) ) ORDER BY ID', $wpdb->posts, $where, $lower_bound, $upper_bound );
|
658 |
$results = $wpdb->get_results( $query );
|
659 |
//error_log( __LINE__ . ' Insert_Fixit::_build_image_objects_cache() $results = ' . var_export( $results, true ), 0 );
|
660 |
|
661 |
-
|
662 |
-
* Load the image_inserts array
|
663 |
-
*/
|
664 |
self::_build_image_inserts_cache( true );
|
665 |
|
666 |
$references = array();
|
@@ -675,7 +843,8 @@ class Insert_Fixit {
|
|
675 |
|
676 |
$pathinfo = pathinfo( $base_file );
|
677 |
if ( ( ! isset( $pathinfo['dirname'] ) ) || '.' == $pathinfo['dirname'] ) {
|
678 |
-
$path = '/';
|
|
|
679 |
} else {
|
680 |
$path = $pathinfo['dirname'] . '/';
|
681 |
}
|
@@ -688,17 +857,20 @@ class Insert_Fixit {
|
|
688 |
}
|
689 |
|
690 |
$sizes = isset( $attachment_metadata['sizes'] ) ? $attachment_metadata['sizes'] : NULL;
|
|
|
691 |
if ( ! empty( $sizes ) && is_array( $sizes ) ) {
|
692 |
-
|
693 |
foreach ( $sizes as $size => $size_info ) {
|
694 |
$files[ $path . $size_info['file'] ] = $path . $size_info['file'];
|
695 |
}
|
696 |
}
|
697 |
|
698 |
if ( ! empty( $base_file ) ) {
|
|
|
699 |
$files[ $base_file ] = $base_file;
|
700 |
}
|
701 |
//error_log( __LINE__ . " Insert_Fixit::_array_image_inserts_references( {$result->ID} ) files = " . var_export( $files, true ), 0 );
|
|
|
702 |
/*
|
703 |
* inserts Array of specific files (i.e., sizes) found in one or more posts/pages
|
704 |
* as an image (<img>). The array key is the path and file name.
|
@@ -715,6 +887,16 @@ class Insert_Fixit {
|
|
715 |
} // foreach file
|
716 |
|
717 |
if ( ! empty( $inserts ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
718 |
$references[ $result->ID ] = $inserts;
|
719 |
}
|
720 |
} // each result
|
@@ -1076,7 +1258,7 @@ class Insert_Fixit {
|
|
1076 |
delete_transient( self::SLUG_PREFIX . 'image_objects' );
|
1077 |
}
|
1078 |
|
1079 |
-
return "<br>ALT to Item matched {$image_inserts} posts/pages to {$image_objects}
|
1080 |
} // _copy_alt_to_media_library
|
1081 |
|
1082 |
/**
|
@@ -1117,15 +1299,11 @@ class Insert_Fixit {
|
|
1117 |
* @return string HTML markup for results/messages
|
1118 |
*/
|
1119 |
private static function _attach_inserted_in() {
|
1120 |
-
|
1121 |
-
* Load the image_inserts array
|
1122 |
-
*/
|
1123 |
self::_build_image_inserts_cache( true );
|
1124 |
|
1125 |
-
|
1126 |
-
|
1127 |
-
*/
|
1128 |
-
self::_build_image_objects_cache( false, true );
|
1129 |
|
1130 |
// Initialize statistics
|
1131 |
$image_inserts = count( self::$image_inserts );
|
@@ -1135,19 +1313,27 @@ class Insert_Fixit {
|
|
1135 |
$errors = 0;
|
1136 |
|
1137 |
foreach ( self::$image_objects as $attachment => $posts ) {
|
1138 |
-
$inserted_in += count( $posts );
|
1139 |
//error_log( __LINE__ . " _attach_inserted_in( {$attachment} ) posts = " . var_export( $posts, true ), 0 );
|
|
|
|
|
|
|
|
|
1140 |
$keys = array_keys( $posts );
|
1141 |
-
|
|
|
|
|
|
|
1142 |
//error_log( __LINE__ . " _attach_inserted_in( {$attachment} ) args = " . var_export( $args, true ), 0 );
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
|
|
1147 |
}
|
1148 |
}
|
1149 |
|
1150 |
-
|
|
|
1151 |
} // _attach_inserted_in
|
1152 |
|
1153 |
/**
|
@@ -1158,10 +1344,8 @@ class Insert_Fixit {
|
|
1158 |
* @return string HTML markup for results/messages
|
1159 |
*/
|
1160 |
private static function _attach_featured_in() {
|
1161 |
-
|
1162 |
-
|
1163 |
-
*/
|
1164 |
-
self::_build_featured_objects_cache( false, true );
|
1165 |
|
1166 |
// Initialize statistics
|
1167 |
$featured_objects = count( self::$featured_objects );
|
@@ -1170,19 +1354,86 @@ class Insert_Fixit {
|
|
1170 |
$errors = 0;
|
1171 |
|
1172 |
foreach ( self::$featured_objects as $attachment => $posts ) {
|
|
|
|
|
|
|
1173 |
$featured_in += count( $posts );
|
1174 |
|
1175 |
-
|
1176 |
-
|
1177 |
-
$
|
1178 |
-
|
1179 |
-
|
|
|
|
|
1180 |
}
|
1181 |
}
|
1182 |
|
1183 |
-
|
|
|
1184 |
} // _attach_featured_in
|
1185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1186 |
/**
|
1187 |
* Copy Post/Page values from inserts to Media Library item
|
1188 |
*
|
@@ -1253,7 +1504,7 @@ class Insert_Fixit {
|
|
1253 |
delete_transient( self::SLUG_PREFIX . 'image_objects' );
|
1254 |
}
|
1255 |
|
1256 |
-
return "<br>Post to Item Title matched {$image_inserts} posts/pages to {$image_objects}
|
1257 |
} // _copy_post_values_to_items
|
1258 |
|
1259 |
/**
|
@@ -1307,9 +1558,158 @@ class Insert_Fixit {
|
|
1307 |
} // foreach reference
|
1308 |
} // foreach attachment
|
1309 |
|
1310 |
-
return "<br>Parent to Item Title matched {$attached_parents} posts/pages to {$attached_items}
|
1311 |
} // _copy_parent_values_to_items
|
1312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1313 |
/**
|
1314 |
* Copy assigned terms from attached items to the parent post/page
|
1315 |
*
|
@@ -1323,7 +1723,7 @@ class Insert_Fixit {
|
|
1323 |
$item_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] : 'attachment_tag';
|
1324 |
$parent_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] : 'post_tag';
|
1325 |
$append = 'add' === ( isset( $_REQUEST[ self::SLUG_PREFIX . 'add_replace' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'add_replace' ] : 'add' );
|
1326 |
-
|
1327 |
$attached_parents = count( self::$attached_items );
|
1328 |
$attached_items = 0;
|
1329 |
$updated_parents = 0;
|
@@ -1387,7 +1787,7 @@ class Insert_Fixit {
|
|
1387 |
}
|
1388 |
} // foreach post
|
1389 |
|
1390 |
-
return "<br>Item Terms to Parent matched {$attached_parents} posts/pages to {$attached_items}
|
1391 |
} // _copy_item_terms_to_parent
|
1392 |
|
1393 |
/**
|
@@ -1399,6 +1799,7 @@ class Insert_Fixit {
|
|
1399 |
*/
|
1400 |
private static function _refresh_caches() {
|
1401 |
$results = '<br>' . self::_build_image_inserts_cache();
|
|
|
1402 |
return $results . '<br>' . self::_build_image_objects_cache() . "\n";
|
1403 |
} // _refresh_caches
|
1404 |
} //Insert_Fixit
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Synchronizes Media Library values to and from post/page inserted/featured/attached images
|
4 |
*
|
5 |
* Adds a Tools/Insert Fixit submenu with buttons to perform the operations.
|
6 |
*
|
28 |
* opened on 5/18/2017 by "optic"
|
29 |
* https://wordpress.org/support/topic/can-you-bulk-update-titles-and-add-an-incrementing-number
|
30 |
*
|
31 |
+
* Enhanced for support topic "mla shortcode to show images of all posts of a WP category"
|
32 |
+
* opened on 3/01/2018 by "diesel33"
|
33 |
+
* https://wordpress.org/support/topic/mla-shortcode-to-show-images-of-all-posts-of-a-wp-category
|
34 |
+
*
|
35 |
* @package Insert Fixit
|
36 |
+
* @version 1.09
|
37 |
*/
|
38 |
|
39 |
/*
|
40 |
Plugin Name: MLA Insert Fixit
|
41 |
Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
|
42 |
+
Description: Synchronizes Media Library values to and from post/page inserted/featured/attached images
|
43 |
Author: David Lingren
|
44 |
+
Version: 1.09
|
45 |
Author URI: http://fairtradejudaica.org/our-story/staff/
|
46 |
|
47 |
+
Copyright 2015-2018 David Lingren
|
48 |
|
49 |
This program is free software; you can redistribute it and/or modify
|
50 |
it under the terms of the GNU General Public License as published by
|
74 |
*
|
75 |
* @var string
|
76 |
*/
|
77 |
+
const CURRENT_VERSION = '1.09';
|
78 |
|
79 |
/**
|
80 |
* Slug prefix for registering and enqueueing submenu pages, style sheets and scripts
|
85 |
*/
|
86 |
const SLUG_PREFIX = 'insertfixit-';
|
87 |
|
88 |
+
/**
|
89 |
+
* Make "Attach" tools unconditional, i.e., overwrite existing parent values
|
90 |
+
*
|
91 |
+
* @since 1.06
|
92 |
+
*
|
93 |
+
* @var boolean
|
94 |
+
*/
|
95 |
+
private static $attach_all = false;
|
96 |
+
const INPUT_ATTACH_ALL = 'attach-all';
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Make "Attach" tools unconditional, i.e., overwrite existing parent values
|
100 |
+
*
|
101 |
+
* @since 1.06
|
102 |
+
*
|
103 |
+
* @var boolean
|
104 |
+
*/
|
105 |
+
private static $reverse_sort = false;
|
106 |
+
const INPUT_REVERSE_SORT = 'reverse-sort';
|
107 |
+
|
108 |
/**
|
109 |
* WordPress version test for $wpdb->esc_like() Vs esc_sql()
|
110 |
*
|
173 |
wp_die( 'You do not have permission to manage plugin settings.' );
|
174 |
}
|
175 |
|
176 |
+
// Extract relevant query arguments - post/page and item restrictions
|
|
|
|
|
177 |
$old_post_lower = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_post_lower' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_post_lower' ] : '';
|
178 |
$post_lower = isset( $_REQUEST[ self::SLUG_PREFIX . 'post_lower' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'post_lower' ] : '';
|
179 |
$old_post_upper = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_post_upper' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_post_upper' ] : '';
|
183 |
$old_attachment_upper = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_attachment_upper' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_attachment_upper' ] : '';
|
184 |
$attachment_upper = isset( $_REQUEST[ self::SLUG_PREFIX . 'attachment_upper' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'attachment_upper' ] : '';
|
185 |
|
186 |
+
// Post/Page Insert Image Tag Attribute Modification
|
187 |
$old_data_source = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_data_source' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_data_source' ] : '';
|
188 |
$data_source = isset( $_REQUEST[ self::SLUG_PREFIX . 'data_source' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'data_source' ] : '[+alt_text+]';
|
189 |
$old_attribute_name = isset( $_REQUEST[ self::SLUG_PREFIX . 'old_attribute_name' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'old_attribute_name' ] : '';
|
190 |
$attribute_name = isset( $_REQUEST[ self::SLUG_PREFIX . 'attribute_name' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'attribute_name' ] : 'data-pin-description';
|
191 |
|
192 |
+
// Attach Media Library items
|
193 |
+
self::$attach_all = isset( $_REQUEST[ self::SLUG_PREFIX . self::INPUT_ATTACH_ALL ] ) ? true : false;
|
194 |
+
$attach_all_attr = self::$attach_all ? ' checked="checked" ' : ' ';
|
195 |
+
self::$reverse_sort = isset( $_REQUEST[ self::SLUG_PREFIX . 'first_item' ] ) ? 'highest' === $_REQUEST[ self::SLUG_PREFIX . 'first_item' ] : self::$reverse_sort;
|
196 |
+
$lowest_attr = self::$reverse_sort ? ' ' : ' selected="selected" ';
|
197 |
+
$highest_attr = self::$reverse_sort ? ' selected="selected" ' : ' ';
|
198 |
+
|
199 |
+
// Copy Post/Page values to inserted Media Library items
|
200 |
$page_library_template = isset( $_REQUEST[ self::SLUG_PREFIX . 'page_library_template' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'page_library_template' ] : '([+page_terms:category,single+]: )([+page_title+] )[+index+]';
|
201 |
|
202 |
+
// Copy Parent values to attached Media Library items
|
203 |
$parent_library_template = isset( $_REQUEST[ self::SLUG_PREFIX . 'parent_library_template' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'parent_library_template' ] : '([+parent_terms:category,single+]: )([+parent_title+] )[+index+]';
|
204 |
+
$from_parent_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'from_parent_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'from_parent_taxonomy' ] : 'category';
|
205 |
+
$to_item_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'to_item_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'to_item_taxonomy' ] : 'attachment_category';
|
206 |
|
207 |
+
// Copy attached Media Library item values to Parent Post/Page
|
208 |
$item_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] : 'attachment_tag';
|
209 |
$parent_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] : 'post_tag';
|
210 |
|
218 |
'ALT to Item' => array( 'handler' => '_copy_alt_to_media_library',
|
219 |
'comment' => 'Copy ALT Text from Post/Page inserts to Media Library item' ),
|
220 |
'c01' => array( 'handler' => '', 'comment' => '<hr>' ),
|
221 |
+
'c02' => array( 'handler' => '', 'comment' => '<h3>Post/Page Insert Image Tag Attribute Modification</h3>' ),
|
222 |
'c03' => array( 'handler' => '', 'comment' => '<strong>NOTE:</strong> Tools in this section use the Data Source and Attribute values below.' ),
|
223 |
't0101' => array( 'open' => '<table><tr>' ),
|
224 |
't0102' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">Data Source</td>' ),
|
240 |
'comment' => 'Delete an HTML attribute, e.g., data-pin-description, from Post/Page inserts' ),
|
241 |
'c04' => array( 'handler' => '', 'comment' => '<hr>' ),
|
242 |
'c05' => array( 'handler' => '', 'comment' => '<h3>Attach Media Library items</h3>' ),
|
243 |
+
'c06' => array( 'handler' => '', 'comment' => '<strong>NOTE:</strong> By default, tools in this section operate only on <strong>unattached</strong> Media Library items.<br /> ' ),
|
244 |
+
't1201' => array( 'open' => '<table><tr>' ),
|
245 |
+
't1202' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle"><input name="' . self::SLUG_PREFIX . self::INPUT_ATTACH_ALL . '" type="checkbox"' . $attach_all_attr . 'value="' . self::INPUT_ATTACH_ALL . '"></td>' ),
|
246 |
+
't1203' => array( 'continue' => ' <td style="text-align: left; padding-right: 5px" valign="middle">Replace existing parent</td>' ),
|
247 |
+
't1204' => array( 'continue' => '</tr><tr>' ),
|
248 |
+
't1205' => array( 'continue' => ' <td> </td><td >Check the box above to assign/reassign ALL items, not just <strong>unattached</strong> items.<br /> </td>' ),
|
249 |
+
't1206' => array( 'continue' => '</tr><tr>' ),
|
250 |
+
't1207' => array( 'continue' => ' <td> </td>' ),
|
251 |
+
't1208' => array( 'continue' => ' <td>' ),
|
252 |
+
't1209' => array( 'continue' => ' <select name="' . self::SLUG_PREFIX . 'first_item">' ),
|
253 |
+
't1210' => array( 'continue' => ' <option' . $lowest_attr . 'value="lowest">Oldest (lowest ID)</option>' ),
|
254 |
+
't1211' => array( 'continue' => ' <option' . $highest_attr . 'value="highest">Newest (highest ID)</option>' ),
|
255 |
+
't1212' => array( 'continue' => ' </select>' ),
|
256 |
+
't1213' => array( 'continue' => ' </td>' ),
|
257 |
+
't1214' => array( 'continue' => '</tr><tr>' ),
|
258 |
+
't1215' => array( 'continue' => ' <td> </td><td >Select the definition of "first" item from the dropdown above.</td>' ),
|
259 |
+
't1216' => array( 'close' => '</tr></table> <br>' ),
|
260 |
'Attach Inserted In' => array( 'handler' => '_attach_inserted_in',
|
261 |
'comment' => 'Attach items to the first Post/Page they are inserted in' ),
|
262 |
'Attach Featured In' => array( 'handler' => '_attach_featured_in',
|
263 |
'comment' => 'Attach items to the first Post/Page for which they are the Featured Image' ),
|
264 |
+
'Attach Referenced In' => array( 'handler' => '_attach_referenced_in',
|
265 |
+
'comment' => 'Attach items to the first Post/Page where they appear in a "class wp-image-" or "ids=" element' ),
|
266 |
'c07' => array( 'handler' => '', 'comment' => '<hr>' ),
|
267 |
'c08' => array( 'handler' => '', 'comment' => '<h3>Copy Post/Page values to inserted Media Library items</h3>' ),
|
268 |
'c09' => array( 'handler' => '', 'comment' => 'This tool finds items inserted in the body of a Post or Page and composes a new Title for the items based on values in the Post/Page, adding a sequence number (<code>[+index+]</code>) to make the Title unique. The number of inserted items is available in <code>[+found_rows+]</code>.<br> <br><strong>NOTE:</strong> The Post to Item Title tool uses the Template value below.' ),
|
276 |
'comment' => 'Copy "Template" value from Post/Page inserts to Media Library item' ),
|
277 |
'c13' => array( 'handler' => '', 'comment' => '<hr>' ),
|
278 |
'c14' => array( 'handler' => '', 'comment' => '<h3>Copy Parent values to attached Media Library items</h3>' ),
|
279 |
+
'c15' => array( 'handler' => '', 'comment' => 'The "Parent to Item Title" tool finds items attached to a Post or Page and composes a new Title for the items based on values in the parent Post/Page, adding a sequence number (<code>[+index+]</code>) to make the Title unique. The number of attached items is available in <code>[+found_rows+]</code>.<br> <br><strong>NOTE:</strong> The Parent to Item Title tool uses the Template value below.' ),
|
280 |
't0301' => array( 'open' => '<table><tr>' ),
|
281 |
't0302' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">Template</td>' ),
|
282 |
't0303' => array( 'continue' => ' <td style="text-align: left">' ),
|
285 |
't0307' => array( 'close' => '</tr></table>' ),
|
286 |
'Parent to Item Title' => array( 'handler' => '_copy_parent_values_to_items',
|
287 |
'comment' => 'Copy "Template" value from parent Post/Page to (attached) Media Library items' ),
|
288 |
+
'c39' => array( 'handler' => '', 'comment' => ' <br />The "Parent Terms to Item" tool finds items attached to a Post or Page and copies terms assigned to the parent to the items.<br><strong>NOTE:</strong> The Parent Terms to Item tool uses the Taxonomy name/slug values below.' ),
|
289 |
+
't1401' => array( 'open' => '<table><tr>' ),
|
290 |
+
't1407' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">from Parent Taxonomy</td>' ),
|
291 |
+
't1408' => array( 'continue' => ' <td style="text-align: left; padding-right: 15px">' ),
|
292 |
+
't1410' => array( 'continue' => ' <input name="' . self::SLUG_PREFIX . 'from_parent_taxonomy" type="text" size="12" value="' . $from_parent_taxonomy . '">' ),
|
293 |
+
't1411' => array( 'continue' => ' </td>' ),
|
294 |
+
't1402' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">to Item Taxonomy</td>' ),
|
295 |
+
't1403' => array( 'continue' => ' <td style="text-align: left; padding-right: 15px">' ),
|
296 |
+
't1405' => array( 'continue' => ' <input name="' . self::SLUG_PREFIX . 'to_item_taxonomy" type="text" size="12" value="' . $to_item_taxonomy . '">' ),
|
297 |
+
't1406' => array( 'continue' => ' </td>' ),
|
298 |
+
't1412' => array( 'continue' => ' <td style="text-align: left;">' ),
|
299 |
+
't1413' => array( 'continue' => ' <select name="' . self::SLUG_PREFIX . 'item_add_replace">' ),
|
300 |
+
't1414' => array( 'continue' => ' <option selected="selected" value="add">Add</option>' ),
|
301 |
+
't1415' => array( 'continue' => ' <option value="replace">Replace</option>' ),
|
302 |
+
't1416' => array( 'continue' => ' </select>' ),
|
303 |
+
't1417' => array( 'continue' => ' </td>' ),
|
304 |
+
't1418' => array( 'close' => '</tr></table>' ),
|
305 |
+
'Parent Terms to Item' => array( 'handler' => '_copy_parent_terms_to_items',
|
306 |
+
'comment' => 'Copy assigned terms from the parent Post/Page to attached items' ),
|
307 |
+
'c17' => array( 'handler' => '', 'comment' => '<hr>' ),
|
308 |
+
'c18' => array( 'handler' => '', 'comment' => '<h3>Copy attached Media Library item values to Parent Post/Page</h3>' ),
|
309 |
+
'c19' => array( 'handler' => '', 'comment' => 'This tool finds items attached to a Post or Page and copies terms assigned to the items to the parent.' ),
|
310 |
'c16' => array( 'handler' => '', 'comment' => '<br><strong>NOTE:</strong> The Item Terms to Parent tool uses the Taxonomy name/slug values below.' ),
|
311 |
't0401' => array( 'open' => '<table><tr>' ),
|
312 |
+
't0402' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">from Item Taxonomy</td>' ),
|
313 |
't0403' => array( 'continue' => ' <td style="text-align: left; padding-right: 15px">' ),
|
314 |
't0405' => array( 'continue' => ' <input name="' . self::SLUG_PREFIX . 'item_taxonomy" type="text" size="12" value="' . $item_taxonomy . '">' ),
|
315 |
't0406' => array( 'continue' => ' </td>' ),
|
316 |
+
't0407' => array( 'continue' => ' <td style="text-align: right; padding-right: 5px" valign="middle">to Parent Taxonomy</td>' ),
|
317 |
't0408' => array( 'continue' => ' <td style="text-align: left; padding-right: 15px">' ),
|
318 |
't0410' => array( 'continue' => ' <input name="' . self::SLUG_PREFIX . 'parent_taxonomy" type="text" size="12" value="' . $parent_taxonomy . '">' ),
|
319 |
't0411' => array( 'continue' => ' </td>' ),
|
549 |
|
550 |
$image_inserts = array();
|
551 |
foreach ( $results as $result ) {
|
552 |
+
$match_count = preg_match_all( '/\<img[^src]*(src="([^"]*)")[^\>]*\>/', $result->post_content, $matches, PREG_OFFSET_CAPTURE );
|
553 |
//error_log( __LINE__ . " Insert_Fixit::_build_image_inserts_cache( {$result->ID} ) \$matches = " . var_export( $matches, true ), 0 );
|
554 |
if ( $match_count ) {
|
555 |
$image_inserts[ $result->ID ]['content'] = $result->post_content;
|
596 |
} // _build_image_inserts_cache
|
597 |
|
598 |
/**
|
599 |
+
* Array of attachment IDs giving post_parent and Featured Image post/page IDs:
|
600 |
+
* attachment ID => array( 'parent' => post_parent, post/page IDs => post/page IDs )
|
601 |
*
|
602 |
* @since 1.01
|
603 |
*
|
612 |
*
|
613 |
* @param boolean $use_cache True to use an existing cache, false to force rebuild
|
614 |
* @param boolean $unattached_only True to index only unattached items, false to index all items
|
615 |
+
* @param boolean $reverse_sort True to sort from highest to lowest value, false to sort lowest to highest
|
616 |
*
|
617 |
* @return string Cache or rebuild results
|
618 |
*/
|
619 |
+
private static function _build_featured_objects_cache( $use_cache = false, $unattached_only = false, $reverse_sort ) {
|
620 |
global $wpdb;
|
621 |
|
622 |
if ( $use_cache ) {
|
645 |
}
|
646 |
|
647 |
$query = array();
|
648 |
+
$query[] = "SELECT p.ID, p.post_parent, m.post_id FROM {$wpdb->postmeta} AS m INNER JOIN";
|
649 |
|
650 |
$where = str_replace( '%', '%%', wp_post_mime_type_where( 'image', '' ) );
|
651 |
|
653 |
$where .= ' AND post_parent = 0';
|
654 |
}
|
655 |
|
656 |
+
$query[] = "( SELECT ID, post_parent FROM {$wpdb->posts} WHERE ( ( post_type = 'attachment' ) {$where}";
|
657 |
$query[] = "AND ( ID >= {$lower_bound} ) AND ( ID <= {$upper_bound} ) ) ORDER BY ID ) AS p ON m.meta_value = p.ID";
|
658 |
$query[] = "WHERE m.meta_key = '_thumbnail_id'";
|
659 |
$query = implode( ' ', $query );
|
664 |
$references = array();
|
665 |
if ( is_array( $results ) ) {
|
666 |
foreach ( $results as $result ) {
|
667 |
+
$references[ $result->ID ]['parent'] = $result->post_parent;
|
668 |
+
$id = absint( $result->post_id );
|
669 |
+
$references[ $result->ID ][ $id ] = $id;
|
670 |
+
}
|
671 |
+
|
672 |
+
foreach( $references as $id => $result ) {
|
673 |
+
if ( $reverse_sort ) {
|
674 |
+
krsort( $references[ $id ] );
|
675 |
+
} else {
|
676 |
+
ksort( $references[ $id ] );
|
677 |
+
}
|
678 |
}
|
679 |
}
|
680 |
|
686 |
return 'Featured objects cache refreshed with ' . count( self::$featured_objects ) . ' attachment elements.';
|
687 |
} // _build_featured_objects_cache
|
688 |
|
689 |
+
/**
|
690 |
+
* Array of attachment IDs giving posts/pages their ID appears in
|
691 |
+
* attachment ID => array( 'parent' => post_parent, post/page IDs => post/page IDs )
|
692 |
+
*
|
693 |
+
* @since 1.08
|
694 |
+
*
|
695 |
+
* @var array
|
696 |
+
*/
|
697 |
+
private static $item_references = array();
|
698 |
+
|
699 |
+
/**
|
700 |
+
* Compile array of item IDs referenced in posts/pages by "wp-image-" or "ids="
|
701 |
+
*
|
702 |
+
* @since 1.00
|
703 |
+
*
|
704 |
+
* @param boolean $use_cache True to use an existing cache, false to force rebuild
|
705 |
+
*
|
706 |
+
* @return string Cache or rebuild results
|
707 |
+
*/
|
708 |
+
private static function _build_item_references_cache( $use_cache = false ) {
|
709 |
+
global $wpdb;
|
710 |
+
|
711 |
+
if ( $use_cache ) {
|
712 |
+
self::$item_references = get_transient( self::SLUG_PREFIX . 'item_references' );
|
713 |
+
if ( is_array( self::$item_references ) ) {
|
714 |
+
//error_log( __LINE__ . " Insert_Fixit::_build_item_references_cache using cached self::\$item_references " . var_export( self::$item_references, true ), 0 );
|
715 |
+
return 'Using cached item references with ' . count( self::$item_references ) . ' attachment elements.';
|
716 |
+
}
|
717 |
+
}
|
718 |
+
|
719 |
+
$return = delete_transient( self::SLUG_PREFIX . 'item_references' );
|
720 |
+
//error_log( __LINE__ . " Insert_Fixit::_build_item_references_cache delete_transient return = " . var_export( $return, true ), 0 );
|
721 |
+
|
722 |
+
if ( ! empty( $_REQUEST[ self::SLUG_PREFIX . 'post_lower' ] ) ) {
|
723 |
+
$lower_bound = (integer) $_REQUEST[ self::SLUG_PREFIX . 'post_lower' ];
|
724 |
+
} else {
|
725 |
+
$lower_bound = 0;
|
726 |
+
}
|
727 |
+
|
728 |
+
if ( ! empty( $_REQUEST[ self::SLUG_PREFIX . 'post_upper' ] ) ) {
|
729 |
+
$upper_bound = (integer) $_REQUEST[ self::SLUG_PREFIX . 'post_upper' ];
|
730 |
+
} elseif ( $lower_bound ) {
|
731 |
+
$upper_bound = $lower_bound;
|
732 |
+
} else {
|
733 |
+
$upper_bound = 0x7FFFFFFF;
|
734 |
+
}
|
735 |
+
|
736 |
+
$query = sprintf( 'SELECT ID, post_content FROM %1$s WHERE ( post_type IN ( \'post\', \'page\' ) AND ( post_status = \'publish\' ) AND ( ID >= %2$d ) AND ( ID <= %3$d ) AND ( ( post_content LIKE \'%4$s\' ) OR ( post_content LIKE \'%5$s\' ) ) ) ORDER BY ID', $wpdb->posts, $lower_bound, $upper_bound, '%wp-image-%', '%ids=%' );
|
737 |
+
$results = $wpdb->get_results( $query );
|
738 |
+
//error_log( __LINE__ . ' Insert_Fixit::_build_item_references_cache() $results = ' . var_export( $results, true ), 0 );
|
739 |
+
|
740 |
+
self::$item_references = array();
|
741 |
+
foreach ( $results as $result ) {
|
742 |
+
// Find the class="wp-image-" references
|
743 |
+
$match_count = preg_match_all( '/wp-image-([0-9]{1,6})/', $result->post_content, $matches );
|
744 |
+
//error_log( __LINE__ . " Insert_Fixit::_build_item_references_cache( {$result->ID} ) \$matches = " . var_export( $matches, true ), 0 );
|
745 |
+
if ( $match_count ) {
|
746 |
+
foreach ( $matches[1] as $match ) {
|
747 |
+
self::$item_references[ absint( $match ) ][ absint( $result->ID ) ] = absint( $result->ID );
|
748 |
+
}
|
749 |
+
}
|
750 |
+
|
751 |
+
// Find the ids= references
|
752 |
+
$match_count = preg_match_all( '/(\[gallery|\[mla_gallery)[^\]]*ids=([0-9,\\\'\"]*)/', $result->post_content, $matches );
|
753 |
+
//error_log( __LINE__ . " Insert_Fixit::_build_item_references_cache( {$result->ID} ) \$matches = " . var_export( $matches, true ), 0 );
|
754 |
+
if ( $match_count ) {
|
755 |
+
foreach ( $matches[2] as $match ) {
|
756 |
+
$items = explode( ',', trim( $match, '\'"' ) );
|
757 |
+
foreach ( $items as $item ) {
|
758 |
+
self::$item_references[ absint( $item ) ][ absint( $result->ID ) ] = absint( $result->ID );
|
759 |
+
}
|
760 |
+
}
|
761 |
+
}
|
762 |
+
}
|
763 |
+
|
764 |
+
$return = set_transient( self::SLUG_PREFIX . 'item_references', self::$item_references, 900 ); // fifteen minutes
|
765 |
+
//error_log( __LINE__ . " Insert_Fixit::_build_item_references_cache set_transient return = " . var_export( $return, true ), 0 );
|
766 |
+
//error_log( __LINE__ . " Insert_Fixit::_build_item_references_cache item_references " . var_export( self::$item_references, true ), 0 );
|
767 |
+
|
768 |
+
return 'Item references cache refreshed with ' . count( self::$item_references ) . ' items referenced in ' . count( $results ) . ' post/page elements.';
|
769 |
+
} // _build_item_references_cache
|
770 |
+
|
771 |
/**
|
772 |
* Array of attachment IDs giving inserted image files:
|
773 |
+
* attachment ID => array( 'parent' => post_parent, post/page IDs => array( URLs to inserted file ) )
|
774 |
*
|
775 |
* @since 1.00
|
776 |
*
|
785 |
*
|
786 |
* @param boolean $use_cache True to use an existing cache, false to force rebuild
|
787 |
* @param boolean $unattached_only True to index only unattached items, false to index all items
|
788 |
+
* @param boolean $reverse_sort True to sort from highest to lowest value, false to sort lowest to highest
|
789 |
+
* @param boolean $add_parent True to add post_parent to inserts array, false to omit
|
790 |
*
|
791 |
* @return string Cache or rebuild results
|
792 |
*/
|
793 |
+
private static function _build_image_objects_cache( $use_cache = false, $unattached_only = false, $reverse_sort = false, $add_parent = false ) {
|
794 |
global $wpdb;
|
795 |
|
796 |
if ( $use_cache ) {
|
824 |
$where .= ' AND post_parent = 0';
|
825 |
}
|
826 |
|
827 |
+
$query = sprintf( 'SELECT ID, post_parent FROM %1$s WHERE ( ( post_type = \'attachment\' ) %2$s AND ( ID >= %3$d ) AND ( ID <= %4$d ) ) ORDER BY ID', $wpdb->posts, $where, $lower_bound, $upper_bound );
|
828 |
$results = $wpdb->get_results( $query );
|
829 |
//error_log( __LINE__ . ' Insert_Fixit::_build_image_objects_cache() $results = ' . var_export( $results, true ), 0 );
|
830 |
|
831 |
+
// Load the image_inserts array
|
|
|
|
|
832 |
self::_build_image_inserts_cache( true );
|
833 |
|
834 |
$references = array();
|
843 |
|
844 |
$pathinfo = pathinfo( $base_file );
|
845 |
if ( ( ! isset( $pathinfo['dirname'] ) ) || '.' == $pathinfo['dirname'] ) {
|
846 |
+
// $path = '/';
|
847 |
+
$path = '';
|
848 |
} else {
|
849 |
$path = $pathinfo['dirname'] . '/';
|
850 |
}
|
857 |
}
|
858 |
|
859 |
$sizes = isset( $attachment_metadata['sizes'] ) ? $attachment_metadata['sizes'] : NULL;
|
860 |
+
//error_log( __LINE__ . " Insert_Fixit::_array_image_inserts_references( {$result->ID} ) sizes = " . var_export( $sizes, true ), 0 );
|
861 |
if ( ! empty( $sizes ) && is_array( $sizes ) ) {
|
862 |
+
// Using the path and name as the array key ensures each name is added only once
|
863 |
foreach ( $sizes as $size => $size_info ) {
|
864 |
$files[ $path . $size_info['file'] ] = $path . $size_info['file'];
|
865 |
}
|
866 |
}
|
867 |
|
868 |
if ( ! empty( $base_file ) ) {
|
869 |
+
//$files[ $path . $base_file ] = $path . $base_file;
|
870 |
$files[ $base_file ] = $base_file;
|
871 |
}
|
872 |
//error_log( __LINE__ . " Insert_Fixit::_array_image_inserts_references( {$result->ID} ) files = " . var_export( $files, true ), 0 );
|
873 |
+
|
874 |
/*
|
875 |
* inserts Array of specific files (i.e., sizes) found in one or more posts/pages
|
876 |
* as an image (<img>). The array key is the path and file name.
|
887 |
} // foreach file
|
888 |
|
889 |
if ( ! empty( $inserts ) ) {
|
890 |
+
if ( $reverse_sort ) {
|
891 |
+
krsort( $inserts );
|
892 |
+
} else {
|
893 |
+
ksort( $inserts );
|
894 |
+
}
|
895 |
+
|
896 |
+
if ( $add_parent ) {
|
897 |
+
$inserts['parent'] = $result->post_parent;
|
898 |
+
}
|
899 |
+
|
900 |
$references[ $result->ID ] = $inserts;
|
901 |
}
|
902 |
} // each result
|
1258 |
delete_transient( self::SLUG_PREFIX . 'image_objects' );
|
1259 |
}
|
1260 |
|
1261 |
+
return "<br>ALT to Item matched {$image_inserts} posts/pages to {$image_objects} items and updated {$updated_attachments} items. There were {$errors} error(s).\n";
|
1262 |
} // _copy_alt_to_media_library
|
1263 |
|
1264 |
/**
|
1299 |
* @return string HTML markup for results/messages
|
1300 |
*/
|
1301 |
private static function _attach_inserted_in() {
|
1302 |
+
// Load the image_inserts array
|
|
|
|
|
1303 |
self::_build_image_inserts_cache( true );
|
1304 |
|
1305 |
+
// Load the image_objects array
|
1306 |
+
self::_build_image_objects_cache( false, !self::$attach_all, self::$reverse_sort, true );
|
|
|
|
|
1307 |
|
1308 |
// Initialize statistics
|
1309 |
$image_inserts = count( self::$image_inserts );
|
1313 |
$errors = 0;
|
1314 |
|
1315 |
foreach ( self::$image_objects as $attachment => $posts ) {
|
|
|
1316 |
//error_log( __LINE__ . " _attach_inserted_in( {$attachment} ) posts = " . var_export( $posts, true ), 0 );
|
1317 |
+
$post_parent = $posts['parent'];
|
1318 |
+
unset( $posts['parent'] );
|
1319 |
+
$inserted_in += count( $posts );
|
1320 |
+
|
1321 |
$keys = array_keys( $posts );
|
1322 |
+
//error_log( __LINE__ . " _attach_inserted_in( {$attachment} ) keys = " . var_export( $keys, true ), 0 );
|
1323 |
+
$candidate = $keys[0];
|
1324 |
+
if ( $candidate != $post_parent ) {
|
1325 |
+
$args = array( 'ID' => $attachment, 'post_parent' => $keys[0] );
|
1326 |
//error_log( __LINE__ . " _attach_inserted_in( {$attachment} ) args = " . var_export( $args, true ), 0 );
|
1327 |
+
if ( wp_update_post( $args ) ) {
|
1328 |
+
$updated_attachments++;
|
1329 |
+
} else {
|
1330 |
+
$errors++;
|
1331 |
+
}
|
1332 |
}
|
1333 |
}
|
1334 |
|
1335 |
+
$unattached = self::$attach_all ? '' : 'unattached';
|
1336 |
+
return "<br>Attach Inserted In matched {$image_inserts} posts/pages with {$inserted_in} inserts to {$image_objects} {$unattached} items and updated {$updated_attachments} items. There were {$errors} error(s).\n";
|
1337 |
} // _attach_inserted_in
|
1338 |
|
1339 |
/**
|
1344 |
* @return string HTML markup for results/messages
|
1345 |
*/
|
1346 |
private static function _attach_featured_in() {
|
1347 |
+
// Load the featured_objects array
|
1348 |
+
self::_build_featured_objects_cache( false, !self::$attach_all, self::$reverse_sort );
|
|
|
|
|
1349 |
|
1350 |
// Initialize statistics
|
1351 |
$featured_objects = count( self::$featured_objects );
|
1354 |
$errors = 0;
|
1355 |
|
1356 |
foreach ( self::$featured_objects as $attachment => $posts ) {
|
1357 |
+
$post_parent = $posts['parent'];
|
1358 |
+
unset( $posts['parent'] );
|
1359 |
+
$candidate = reset( $posts );
|
1360 |
$featured_in += count( $posts );
|
1361 |
|
1362 |
+
if ( $candidate != $post_parent ) {
|
1363 |
+
$args = array( 'ID' => $attachment, 'post_parent' => reset( $posts ) );
|
1364 |
+
if ( wp_update_post( $args ) ) {
|
1365 |
+
$updates++;
|
1366 |
+
} else {
|
1367 |
+
$errors++;
|
1368 |
+
}
|
1369 |
}
|
1370 |
}
|
1371 |
|
1372 |
+
$unattached = self::$attach_all ? '' : 'unattached';
|
1373 |
+
return "<br>Attach Featured In found {$featured_objects} {$unattached} items featured in {$featured_in} posts/pages and made {$updates} assignments. There were {$errors} error(s).\n";
|
1374 |
} // _attach_featured_in
|
1375 |
|
1376 |
+
/**
|
1377 |
+
* Attach items to the first Post/Page where they appear in a "class wp-image-" or "ids=" element
|
1378 |
+
*
|
1379 |
+
* @since 1.08
|
1380 |
+
*
|
1381 |
+
* @return string HTML markup for results/messages
|
1382 |
+
*/
|
1383 |
+
private static function _attach_referenced_in() {
|
1384 |
+
// Load the self::$item_references array
|
1385 |
+
self::_build_item_references_cache( true );
|
1386 |
+
|
1387 |
+
// Initialize statistics
|
1388 |
+
$reference_count = 0;
|
1389 |
+
$referenced_items = 0;
|
1390 |
+
$updated_attachments = 0;
|
1391 |
+
$skipped = 0;
|
1392 |
+
$errors = 0;
|
1393 |
+
|
1394 |
+
foreach ( self::$item_references as $attachment_id => $references ) {
|
1395 |
+
$attachment = get_post( $attachment_id );
|
1396 |
+
//error_log( __LINE__ . " _attach_referenced_in( {$attachment_id} ) attachment = " . var_export( $attachment, true ), 0 );
|
1397 |
+
|
1398 |
+
// Ignore references to non-existant items
|
1399 |
+
if ( NULL === $attachment ) {
|
1400 |
+
continue;
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
if ( !self::$attach_all && $attachment->post_parent ) {
|
1404 |
+
$skipped++;
|
1405 |
+
continue;
|
1406 |
+
}
|
1407 |
+
|
1408 |
+
$reference_count += count( $references );
|
1409 |
+
$referenced_items++;
|
1410 |
+
|
1411 |
+
// Define "first"; oldest = ksort, newest = krsort
|
1412 |
+
if ( $reverse_sort ) {
|
1413 |
+
krsort( $references, SORT_NUMERIC );
|
1414 |
+
} else {
|
1415 |
+
ksort( $references, SORT_NUMERIC );
|
1416 |
+
}
|
1417 |
+
|
1418 |
+
// extract the "first" element
|
1419 |
+
$candidate = reset( $references );
|
1420 |
+
//error_log( __LINE__ . " _attach_referenced_in( {$attachment_id} ) candidate = " . var_export( $candidate, true ), 0 );
|
1421 |
+
if ( $candidate != $attachment->post_parent ) {
|
1422 |
+
$args = array( 'ID' => $attachment_id, 'post_parent' => $candidate );
|
1423 |
+
//error_log( __LINE__ . " _attach_referenced_in( {$attachment_id} ) args = " . var_export( $args, true ), 0 );
|
1424 |
+
if ( wp_update_post( $args ) ) {
|
1425 |
+
$updated_attachments++;
|
1426 |
+
} else {
|
1427 |
+
$errors++;
|
1428 |
+
}
|
1429 |
+
}
|
1430 |
+
}
|
1431 |
+
|
1432 |
+
$skipped = $skipped ? "skipped {$skipped} attached items, " : '';
|
1433 |
+
$unattached = self::$attach_all ? '' : 'unattached ';
|
1434 |
+
return "<br>Attach Referenced Items {$skipped}processed {$reference_count} posts/page references to {$referenced_items} {$unattached}items and updated {$updated_attachments} items. There were {$errors} error(s).\n";
|
1435 |
+
} // _attach_referenced_in
|
1436 |
+
|
1437 |
/**
|
1438 |
* Copy Post/Page values from inserts to Media Library item
|
1439 |
*
|
1504 |
delete_transient( self::SLUG_PREFIX . 'image_objects' );
|
1505 |
}
|
1506 |
|
1507 |
+
return "<br>Post to Item Title matched {$image_inserts} posts/pages to {$image_objects} items and updated {$updated_attachments} items. There were {$errors} error(s).\n";
|
1508 |
} // _copy_post_values_to_items
|
1509 |
|
1510 |
/**
|
1558 |
} // foreach reference
|
1559 |
} // foreach attachment
|
1560 |
|
1561 |
+
return "<br>Parent to Item Title matched {$attached_parents} posts/pages to {$attached_items} items and updated {$updated_attachments} items. There were {$errors} error(s).\n";
|
1562 |
} // _copy_parent_values_to_items
|
1563 |
|
1564 |
+
/**
|
1565 |
+
* Copy assigned terms from parent post/page to the attached items
|
1566 |
+
*
|
1567 |
+
* @since 1.06
|
1568 |
+
*
|
1569 |
+
* @return string HTML markup for results/messages
|
1570 |
+
*/
|
1571 |
+
private static function _copy_parent_terms_to_items() {
|
1572 |
+
self::_build_attached_items_cache();
|
1573 |
+
|
1574 |
+
$item_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'to_item_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'to_item_taxonomy' ] : 'attachment_category';
|
1575 |
+
$parent_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'from_parent_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'from_parent_taxonomy' ] : 'category';
|
1576 |
+
$append = 'add' === ( isset( $_REQUEST[ self::SLUG_PREFIX . 'item_add_replace' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'item_add_replace' ] : 'add' );
|
1577 |
+
|
1578 |
+
$attached_parents = count( self::$attached_items );
|
1579 |
+
$attached_items = 0;
|
1580 |
+
$updated_parents = 0;
|
1581 |
+
$skipped = 0;
|
1582 |
+
$errors = 0;
|
1583 |
+
|
1584 |
+
$taxonomies = get_object_taxonomies( 'attachment', 'objects' );
|
1585 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items attachment taxonomies = " . var_export( $taxonomies, true ), 0 );
|
1586 |
+
|
1587 |
+
if ( ! isset( $taxonomies[ $item_taxonomy ] ) ) {
|
1588 |
+
return "ERROR - Item Taxonomy \"$item_taxonomy\" not valid for post_type \"attachment\".";
|
1589 |
+
}
|
1590 |
+
|
1591 |
+
$item_is_hierarchical = $taxonomies[ $item_taxonomy ]->hierarchical;
|
1592 |
+
|
1593 |
+
$skipped_messages = array();
|
1594 |
+
$parent_taxonomies = array();
|
1595 |
+
foreach ( self::$attached_items as $post_id => $attachments ) {
|
1596 |
+
// get the post/page object
|
1597 |
+
$post = get_post( $post_id );
|
1598 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items attachment post = " . var_export( $post, true ), 0 );
|
1599 |
+
|
1600 |
+
// Exclude post_type "attachment", which is used in MLA to give thumbnails to non-image items
|
1601 |
+
if ( 'attachment' === $post->post_type ) {
|
1602 |
+
$attached_parents--;
|
1603 |
+
continue;
|
1604 |
+
}
|
1605 |
+
|
1606 |
+
if ( isset( $parent_taxonomies[ $post->post_type ] ) ) {
|
1607 |
+
$taxonomies = $parent_taxonomies[ $post->post_type ];
|
1608 |
+
} else {
|
1609 |
+
$taxonomies = $parent_taxonomies[ $post->post_type ] = get_object_taxonomies( $post, 'objects' );
|
1610 |
+
}
|
1611 |
+
|
1612 |
+
if ( ! isset( $taxonomies[ $parent_taxonomy ] ) ) {
|
1613 |
+
$skipped_messages[ $parent_taxonomy . $post->post_type ] = array( 'taxonomy' => $parent_taxonomy, 'post_type' => $post->post_type );
|
1614 |
+
$skipped++;
|
1615 |
+
continue;
|
1616 |
+
}
|
1617 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items taxonomies = " . var_export( $taxonomies, true ), 0 );
|
1618 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items parent_taxonomies = " . var_export( $parent_taxonomies, true ), 0 );
|
1619 |
+
|
1620 |
+
$parent_terms = wp_get_object_terms( $post_id, $parent_taxonomy );
|
1621 |
+
$term_map = array();
|
1622 |
+
$item_terms = array();
|
1623 |
+
|
1624 |
+
// If both taxonomies are hiearchical we must add parent term(s) before adding item terms
|
1625 |
+
if ( $item_is_hierarchical && $taxonomies[ $parent_taxonomy ]->hierarchical ) {
|
1626 |
+
$ancestors = array();
|
1627 |
+
foreach ( $parent_terms as $term ) {
|
1628 |
+
$level = 0;
|
1629 |
+
while ( $term->parent ) {
|
1630 |
+
$term = get_term( $term->parent, $parent_taxonomy );
|
1631 |
+
$ancestors[ $level++ ][ $term->term_id ] = $term;
|
1632 |
+
}
|
1633 |
+
}
|
1634 |
+
|
1635 |
+
krsort( $ancestors, SORT_NUMERIC );
|
1636 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items ancestors = " . var_export( $ancestors, true ), 0 );
|
1637 |
+
|
1638 |
+
foreach ( $ancestors as $level => $terms ) {
|
1639 |
+
foreach ( $terms as $term_id => $term ) {
|
1640 |
+
$ancestor = get_term_by( 'name', $term->name, $item_taxonomy );
|
1641 |
+
if ( false !== $ancestor ) {
|
1642 |
+
$term_map[ $term->term_id ] = $ancestor->term_id;
|
1643 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items( $level, $term->term_id ) found ancestor = " . var_export( $ancestor, true ), 0 );
|
1644 |
+
} else {
|
1645 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items( $level, $term->term_id ) inserting = " . var_export( $term, true ), 0 );
|
1646 |
+
if ( $term->parent && !empty( $term_map[ $term->parent ] ) ) {
|
1647 |
+
$ancestor = wp_insert_term( $term->name, $item_taxonomy, array( 'parent' => $term_map[ $term->parent ] ) );
|
1648 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items child ancestor = " . var_export( $ancestor, true ), 0 );
|
1649 |
+
} else {
|
1650 |
+
$ancestor = wp_insert_term( $term->name, $item_taxonomy );
|
1651 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items root ancestor = " . var_export( $ancestor, true ), 0 );
|
1652 |
+
}
|
1653 |
+
if ( ( ! is_wp_error( $ancestor ) ) && isset( $ancestor['term_id'] ) ) {
|
1654 |
+
$term_map[ $term->term_id ] = (integer) $ancestor['term_id'];
|
1655 |
+
}
|
1656 |
+
}
|
1657 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items updated term_map = " . var_export( $term_map, true ), 0 );
|
1658 |
+
} // foreach term
|
1659 |
+
} // foreach level
|
1660 |
+
}
|
1661 |
+
|
1662 |
+
foreach ( $parent_terms as $term ) {
|
1663 |
+
if ( $item_is_hierarchical ) {
|
1664 |
+
$item_term = term_exists( $term->name, $item_taxonomy );
|
1665 |
+
|
1666 |
+
if ( $item_term !== 0 && $item_term !== NULL ) {
|
1667 |
+
$item_terms[ $item_term['term_id'] ] = (integer) $item_term['term_id'];
|
1668 |
+
} else {
|
1669 |
+
if ( $term->parent && !empty( $term_map[ $term->parent ] ) ) {
|
1670 |
+
$item_term = wp_insert_term( $term->name, $item_taxonomy, array( 'parent' => $term_map[ $term->parent ] ) );
|
1671 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items child item_term = " . var_export( $item_term, true ), 0 );
|
1672 |
+
} else {
|
1673 |
+
$item_term = wp_insert_term( $term->name, $item_taxonomy );
|
1674 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items root item_term = " . var_export( $item_term, true ), 0 );
|
1675 |
+
}
|
1676 |
+
|
1677 |
+
if ( ( ! is_wp_error( $item_term ) ) && isset( $item_term['term_id'] ) ) {
|
1678 |
+
$item_terms[ $item_term['term_id'] ] = (integer) $item_term['term_id'];
|
1679 |
+
}
|
1680 |
+
}
|
1681 |
+
} else {
|
1682 |
+
$item_terms[ $term->term_taxonomy_id ] = $term->name;
|
1683 |
+
}
|
1684 |
+
}
|
1685 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items( {$post_id} ) item_terms = " . var_export( $item_terms, true ), 0 );
|
1686 |
+
|
1687 |
+
foreach ( $attachments as $sequence => $attachment_id ) {
|
1688 |
+
$attached_items++;
|
1689 |
+
|
1690 |
+
$result = wp_set_object_terms( $attachment_id, $item_terms, $item_taxonomy, $append );
|
1691 |
+
if ( is_array( $result) ) {
|
1692 |
+
$updated_parents++;
|
1693 |
+
} else {
|
1694 |
+
$errors++;
|
1695 |
+
}
|
1696 |
+
//error_log( __LINE__ . " Insert_Fixit::_copy_parent_terms_to_items( {$post_id}, {$attachment_id}, {$append} ) result = " . var_export( $result, true ), 0 );
|
1697 |
+
} // foreach attachment
|
1698 |
+
} // foreach post
|
1699 |
+
|
1700 |
+
$messages = '';
|
1701 |
+
if ( !empty( $skipped_messages ) ) {
|
1702 |
+
foreach ( $skipped_messages as $skipped_message ) {
|
1703 |
+
$messages .= sprintf( '<br>Skipped taxonomy "%1$s" for post type "%2$s".', $skipped_message['taxonomy'], $skipped_message['post_type'] );
|
1704 |
+
}
|
1705 |
+
}
|
1706 |
+
|
1707 |
+
// Flush the Media/Edit Taxonomy Attachments column cache; see MLAObjects in class-mla-objects.php
|
1708 |
+
delete_transient( MLA_OPTION_PREFIX . 't_term_counts_' . $item_taxonomy, $terms );
|
1709 |
+
|
1710 |
+
return $messages . "<br>Item Terms to Parent matched {$attached_parents} posts/pages to {$attached_items} items and updated {$updated_parents} parent posts/pages. There were {$skipped} skipped parents and {$errors} error(s).\n";
|
1711 |
+
} // _copy_parent_terms_to_items
|
1712 |
+
|
1713 |
/**
|
1714 |
* Copy assigned terms from attached items to the parent post/page
|
1715 |
*
|
1723 |
$item_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'item_taxonomy' ] : 'attachment_tag';
|
1724 |
$parent_taxonomy = isset( $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'parent_taxonomy' ] : 'post_tag';
|
1725 |
$append = 'add' === ( isset( $_REQUEST[ self::SLUG_PREFIX . 'add_replace' ] ) ? $_REQUEST[ self::SLUG_PREFIX . 'add_replace' ] : 'add' );
|
1726 |
+
|
1727 |
$attached_parents = count( self::$attached_items );
|
1728 |
$attached_items = 0;
|
1729 |
$updated_parents = 0;
|
1787 |
}
|
1788 |
} // foreach post
|
1789 |
|
1790 |
+
return "<br>Item Terms to Parent matched {$attached_parents} posts/pages to {$attached_items} items and updated {$updated_parents} parent posts/pages. There were {$skipped} skipped parents and {$errors} error(s).\n";
|
1791 |
} // _copy_item_terms_to_parent
|
1792 |
|
1793 |
/**
|
1799 |
*/
|
1800 |
private static function _refresh_caches() {
|
1801 |
$results = '<br>' . self::_build_image_inserts_cache();
|
1802 |
+
$results .= '<br>' . self::_build_item_references_cache();
|
1803 |
return $results . '<br>' . self::_build_image_objects_cache() . "\n";
|
1804 |
} // _refresh_caches
|
1805 |
} //Insert_Fixit
|
examples/plugins/mla-item-transfer-pretty-links.php
CHANGED
@@ -145,7 +145,7 @@ class MLAItemTransferPrettyLinks {
|
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
-
* Add the "
|
149 |
*
|
150 |
* @since 1.00
|
151 |
*
|
@@ -207,7 +207,7 @@ class MLAItemTransferPrettyLinks {
|
|
207 |
}
|
208 |
|
209 |
/**
|
210 |
-
* Render (echo) the "MLA
|
211 |
*
|
212 |
* @since 1.00
|
213 |
*
|
@@ -217,7 +217,7 @@ class MLAItemTransferPrettyLinks {
|
|
217 |
MLACore::mla_debug_add( __LINE__ . " MLAItemTransferPrettyLinks:add_submenu_page() \$_REQUEST = " . var_export( $_REQUEST, true ), MLACore::MLA_DEBUG_CATEGORY_ANY );
|
218 |
|
219 |
if ( !current_user_can( 'manage_options' ) ) {
|
220 |
-
echo "MLA Item Transfer Pretty Links - Error</h2>\n";
|
221 |
wp_die( 'You do not have permission to manage plugin settings.' );
|
222 |
}
|
223 |
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
+
* Add the "Settings" link to the Plugins section entry
|
149 |
*
|
150 |
* @since 1.00
|
151 |
*
|
207 |
}
|
208 |
|
209 |
/**
|
210 |
+
* Render (echo) the "MLA pretty links" submenu in the Settings section
|
211 |
*
|
212 |
* @since 1.00
|
213 |
*
|
217 |
MLACore::mla_debug_add( __LINE__ . " MLAItemTransferPrettyLinks:add_submenu_page() \$_REQUEST = " . var_export( $_REQUEST, true ), MLACore::MLA_DEBUG_CATEGORY_ANY );
|
218 |
|
219 |
if ( !current_user_can( 'manage_options' ) ) {
|
220 |
+
echo "<h2>MLA Item Transfer Pretty Links - Error</h2>\n";
|
221 |
wp_die( 'You do not have permission to manage plugin settings.' );
|
222 |
}
|
223 |
|
examples/plugins/mla-mapping-hooks-example.php
CHANGED
@@ -525,17 +525,16 @@ class MLAMappingHooksExample {
|
|
525 |
* @since 1.02
|
526 |
*
|
527 |
* @param mixed string or array value returned by the rule
|
528 |
-
* @param
|
529 |
* @param integer post ID to be evaluated
|
530 |
* @param string category/scope to evaluate against: iptc_exif_standard_mapping, iptc_exif_taxonomy_mapping or iptc_exif_custom_mapping
|
531 |
* @param array attachment_metadata, default NULL
|
532 |
*
|
533 |
* @return array updated rule EXIF/Template value
|
534 |
*/
|
535 |
-
public static function mla_mapping_new_text( $new_text, $
|
536 |
-
//error_log( __LINE__ . " MLAMappingHooksExample::mla_mapping_new_text_filter( {$post_id}, {$category} ) new_text = " . var_export( $new_text, true ), 0 );
|
537 |
-
//error_log( __LINE__ . " MLAMappingHooksExample::mla_mapping_new_text_filter( {$post_id}, {$category} )
|
538 |
-
//error_log( __LINE__ . " MLAMappingHooksExample::mla_mapping_new_text_filter( {$post_id}, {$category} ) attachment_metadata = " . var_export( $attachment_metadata, true ), 0 );
|
539 |
|
540 |
return $new_text;
|
541 |
} // mla_mapping_new_text_filter
|
525 |
* @since 1.02
|
526 |
*
|
527 |
* @param mixed string or array value returned by the rule
|
528 |
+
* @param string rule key - standard field slug, taxonomy slug or custom field name
|
529 |
* @param integer post ID to be evaluated
|
530 |
* @param string category/scope to evaluate against: iptc_exif_standard_mapping, iptc_exif_taxonomy_mapping or iptc_exif_custom_mapping
|
531 |
* @param array attachment_metadata, default NULL
|
532 |
*
|
533 |
* @return array updated rule EXIF/Template value
|
534 |
*/
|
535 |
+
public static function mla_mapping_new_text( $new_text, $setting_key, $post_id, $category, $attachment_metadata ) {
|
536 |
+
//error_log( __LINE__ . " MLAMappingHooksExample::mla_mapping_new_text_filter( {$setting_key}, {$post_id}, {$category} ) new_text = " . var_export( $new_text, true ), 0 );
|
537 |
+
//error_log( __LINE__ . " MLAMappingHooksExample::mla_mapping_new_text_filter( {$setting_key}, {$post_id}, {$category} ) attachment_metadata = " . var_export( $attachment_metadata, true ), 0 );
|
|
|
538 |
|
539 |
return $new_text;
|
540 |
} // mla_mapping_new_text_filter
|
examples/plugins/mla-path-mapping-example/admin-settings-page.tpl
ADDED
@@ -0,0 +1,366 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- template="page" -->
|
2 |
+
<a name="backtotop"></a>
|
3 |
+
|
4 |
+
<div class="wrap">
|
5 |
+
<h1 class="wp-heading-inline">MLA Path Mapping Example [+version+] Settings</h1>
|
6 |
+
[+messages+]
|
7 |
+
[+tablist+]
|
8 |
+
[+tab_content+]
|
9 |
+
</div><!-- wrap -->
|
10 |
+
|
11 |
+
<!-- template="tablist" -->
|
12 |
+
<h2 class="nav-tab-wrapper">
|
13 |
+
[+tablist+]
|
14 |
+
</h2>
|
15 |
+
<!-- template="tablist-item" -->
|
16 |
+
<a data-tab-id="[+data-tab-id+]" class="nav-tab [+nav-tab-active+]" href="?page=[+settings-page+]&mla_tab=[+data-tab-id+]">[+title+]</a>
|
17 |
+
|
18 |
+
<!-- template="messages" -->
|
19 |
+
<div class="[+mla_messages_class+]">
|
20 |
+
<p>
|
21 |
+
[+messages+]
|
22 |
+
</p>
|
23 |
+
[+dismiss_button+]
|
24 |
+
</div>
|
25 |
+
|
26 |
+
<!-- template="page-level-options" -->
|
27 |
+
<tr valign="top">
|
28 |
+
<td class="textright">
|
29 |
+
<input name="mla_path_mapping_options[assign_parents]" id="mla_path_mapping_assign_parents" type="checkbox" [+assign_parents_checked+] value="1" />
|
30 |
+
</td>
|
31 |
+
<td>
|
32 |
+
<strong>Assign parent terms</strong>
|
33 |
+
<div class="mla-settings-help"> Check this option to assign all terms in path, not just the last (leaf) term.</div>
|
34 |
+
</td>
|
35 |
+
</tr>
|
36 |
+
<tr valign="top">
|
37 |
+
<td class="textright">
|
38 |
+
<input name="mla_path_mapping_options[assign_rule_parent]" id="mla_path_mapping_assign_rule_parent" type="checkbox" [+assign_rule_parent_checked+] value="1" />
|
39 |
+
</td>
|
40 |
+
<td>
|
41 |
+
<strong>Assign Rule Parent term</strong>
|
42 |
+
<div class="mla-settings-help"> Check this option to assign the Rule Parent (if any) in addition to terms in path.</div>
|
43 |
+
</td>
|
44 |
+
</tr>
|
45 |
+
<tr valign="top">
|
46 |
+
<td class="textright">
|
47 |
+
<strong>Path Delimiter</strong>
|
48 |
+
</td>
|
49 |
+
<td>
|
50 |
+
<input name="mla_path_mapping_options[path_delimiter]" id="mla_path_mapping_path_delimiter" type="text" size="1" maxlength="1"value="[+path_delimiter+]" />
|
51 |
+
<div class="mla-settings-help"> Enter the delimiter that separates path components.</div>
|
52 |
+
</td>
|
53 |
+
</tr>
|
54 |
+
|
55 |
+
|
56 |
+
<!-- template="general-tab" -->
|
57 |
+
<style type='text/css'>
|
58 |
+
.mla-settings-help {
|
59 |
+
font-size: 8pt;
|
60 |
+
padding-bottom: 5px
|
61 |
+
}
|
62 |
+
|
63 |
+
.mla-page-level-options-form {
|
64 |
+
margin-left: 0px;
|
65 |
+
margin-top: 10px;
|
66 |
+
padding-bottom: 10px;
|
67 |
+
border-bottom:thin solid #888888;
|
68 |
+
}
|
69 |
+
|
70 |
+
span.submit.mla-settings-submit,
|
71 |
+
p.submit.mla-settings-submit {
|
72 |
+
padding-bottom: 0px
|
73 |
+
}
|
74 |
+
</style>
|
75 |
+
<h2>Plugin Options</h2>
|
76 |
+
<p>In this tab you can define the path delimiter and parent-term handling options for mapping terms in hierarchical taxonomies.</p>
|
77 |
+
<p>You can find more information about using the features of this plugin in the Documentation tab on this screen.</p>
|
78 |
+
<div class="mla-page-level-options-form">
|
79 |
+
<form action="[+form_url+]" method="post" class="mla-display-settings-page" id="mla-display-settings-path-mapping-tab">
|
80 |
+
<table class="optiontable">
|
81 |
+
<tbody>
|
82 |
+
[+options_list+]
|
83 |
+
</tbody>
|
84 |
+
</table>
|
85 |
+
<span class="submit mla-settings-submit">
|
86 |
+
<input name="mla-path-mapping-options-save" class="button-primary" id="mla-path-mapping-options-save" type="submit" value="Save Changes" />
|
87 |
+
</span>
|
88 |
+
[+_wpnonce+]
|
89 |
+
</form>
|
90 |
+
</div>
|
91 |
+
|
92 |
+
<!-- template="documentation-tab" -->
|
93 |
+
<style type='text/css'>
|
94 |
+
.mla-doc-toc-list {
|
95 |
+
list-style-position:inside;
|
96 |
+
list-style:disc;
|
97 |
+
line-height: 15px;
|
98 |
+
padding-left: 20px
|
99 |
+
}
|
100 |
+
|
101 |
+
.mla-doc-hook-label {
|
102 |
+
text-align: right;
|
103 |
+
padding: 0 1em 2em 0;
|
104 |
+
vertical-align: top;
|
105 |
+
font-weight:bold
|
106 |
+
}
|
107 |
+
|
108 |
+
.mla-doc-hook-definition {
|
109 |
+
vertical-align: top;
|
110 |
+
}
|
111 |
+
|
112 |
+
.mla-doc-table-label {
|
113 |
+
text-align: right;
|
114 |
+
padding-right: 10px;
|
115 |
+
vertical-align: top;
|
116 |
+
font-weight:bold
|
117 |
+
}
|
118 |
+
|
119 |
+
.mla-doc-table-sublabel {
|
120 |
+
padding-right: 10px;
|
121 |
+
vertical-align: top
|
122 |
+
}
|
123 |
+
|
124 |
+
.mla-doc-table-reverse {
|
125 |
+
text-align: right;
|
126 |
+
padding-right: 10px;
|
127 |
+
vertical-align:top
|
128 |
+
}
|
129 |
+
|
130 |
+
.mla-doc-table-definition {
|
131 |
+
vertical-align: top;
|
132 |
+
}
|
133 |
+
|
134 |
+
.mla-doc-bold-link {
|
135 |
+
font-size:14px;
|
136 |
+
font-weight:bold
|
137 |
+
}
|
138 |
+
</style>
|
139 |
+
<h2>Plugin Documentation. In this tab, jump to:</h2>
|
140 |
+
<div class="mla-display-settings-page" id="mla-display-settings-documentation-tab" style="width:700px">
|
141 |
+
<ul class="mla-doc-toc-list">
|
142 |
+
<li><a href="#introduction"><strong>Introduction</strong></a></li>
|
143 |
+
<li><a href="#assigning-ids"><strong>Assigning Term ID Values</strong></a></li>
|
144 |
+
<li><a href="#names-vs-slugs"><strong>Term Names Vs Slugs</strong></a></li>
|
145 |
+
<li><a href="#flat-taxonomies"><strong>Path Specifications for Flat Taxonomies</strong></a></li>
|
146 |
+
<li><a href="#matching"><strong>Matching on Term Name</strong></a></li>
|
147 |
+
<li><a href="#creating"><strong>Creating New Terms</strong></a></li>
|
148 |
+
<li><a href="#multi-level"><strong>Assigning Multi-level Terms</strong></a></li>
|
149 |
+
<li><a href="#mapping-multiple"><strong>Mapping Multiple Items</strong></a></li>
|
150 |
+
</ul>
|
151 |
+
<p>
|
152 |
+
|
153 |
+
<a name="introduction"></a>
|
154 |
+
</p>
|
155 |
+
<p>
|
156 |
+
<a href="#backtotop">Go to Top</a>
|
157 |
+
</p>
|
158 |
+
<h3>Introduction</h3>
|
159 |
+
<p>
|
160 |
+
The current MLA version provides mapping rules to assign taxonomy terms to Media Library items from IPTC, EXIF and XMP metadata values embedded in the image files. For hierarchical taxonomies, the current version allows new terms to be added under a specified “Parent” term, but does not support more general mapping of terms within multiple levels.
|
161 |
+
</p>
|
162 |
+
<p>
|
163 |
+
The current version allows the specification of “Delimiters” (including a space character) to separate multiple terms within a metadata value. This example plugin adds a “Path Delimiter” that allows term parent and higher-level ancestor values to be specified, more precisely placing a term in the hierarchy. For example, a value such as “/grand parent/parent/child” denotes a specific term within a three-level hierarchy. In this example the delimiter at the start of the value means that “grand parent” must be a root term, i.e., it appears at the highest level and has no ancestors. This is an absolute path specification. A path such as “parent/child” is a relative path specification, starting wherever “parent” appears in the hierarchy.
|
164 |
+
<a name="assigning-ids"></a>
|
165 |
+
</p>
|
166 |
+
<p>
|
167 |
+
<a href="#backtotop">Go to Top</a>
|
168 |
+
</p>
|
169 |
+
<h3>Assigning Term ID Values</h3>
|
170 |
+
<p>
|
171 |
+
Because a given Term Name can exist in multiple taxonomies and in more than one place in a given hierarchical taxonomy, Term ID is an important part of organizing and finding terms within a taxonomy. Early versions of WordPress supported “shared terms”, which required a separate Term-taxonomy ID to uniquely distinguish among multiple occurrences of the same Term Name; see the Appendix for more information. Shared terms no longer occur in more recent WordPress versions (4.3+) so Term ID is now unique.
|
172 |
+
</p>
|
173 |
+
<p>
|
174 |
+
Term ID values start at 1 (assigned to the WordPress “Uncategorized” category) and are incremented each time a new term is created. They are never reused, so if terms are deleted there will be gaps in the remaining ID values.
|
175 |
+
</p>
|
176 |
+
<p>
|
177 |
+
If the same Term Name is used more than once, how do you decide which term is specified by an unqualified Term Name? WordPress matches an unqualified Term Name to the term with the lowest Term ID, i.e., the “oldest” term defined with that name. See the “Matching on Term Name” section for more information.
|
178 |
+
<a name="names-vs-slugs"></a>
|
179 |
+
</p>
|
180 |
+
<p>
|
181 |
+
<a href="#backtotop">Go to Top</a>
|
182 |
+
</p>
|
183 |
+
<h3>Term Names Vs Slugs</h3>
|
184 |
+
<p>
|
185 |
+
When terms are added to a taxonomy WordPress accepts a term Name, an optional Slug, an optional Parent and an optional Description. WordPress will generate a Slug from the Name and will always add whatever is needed to make the slug unique within the taxonomy. For example, consider these terms:
|
186 |
+
<table cellpadding="5">
|
187 |
+
<tr>
|
188 |
+
<td><strong>Name</strong></td>
|
189 |
+
<td><strong>Slug</strong></td>
|
190 |
+
<td><strong>Name</strong></td>
|
191 |
+
<td><strong>Slug</strong></td>
|
192 |
+
<tr>
|
193 |
+
<td>Grand Parent One (08)</td>
|
194 |
+
<td>grand-parent-one</td>
|
195 |
+
<td>Grand Parent Two (02)</td>
|
196 |
+
<td>grand-parent-two</td>
|
197 |
+
</tr>
|
198 |
+
<tr>
|
199 |
+
<td>— Parent Two (10)</td>
|
200 |
+
<td>parent-two-grand-parent-one</td>
|
201 |
+
<td>— Parent Three (05)</td>
|
202 |
+
<td>parent-three</td>
|
203 |
+
</tr>
|
204 |
+
<tr>
|
205 |
+
<td>— — Child Three (13)</td>
|
206 |
+
<td>child-three-parent-two-grand-parent-one</td>
|
207 |
+
<td>— — Child Five (07)</td>
|
208 |
+
<td></td>
|
209 |
+
</tr>
|
210 |
+
<tr>
|
211 |
+
<td>— — Child Two (12)</td>
|
212 |
+
<td>child-two</td>
|
213 |
+
<td>— — Child Three (06)</td>
|
214 |
+
<td>child-three</td>
|
215 |
+
</tr>
|
216 |
+
<tr>
|
217 |
+
<td>— Parent One (09)</td>
|
218 |
+
<td>parent-one</td>
|
219 |
+
<td>— Parent Two (03)</td>
|
220 |
+
<td>parent-two</td>
|
221 |
+
</tr>
|
222 |
+
<tr>
|
223 |
+
<td>— — Child One (11)</td>
|
224 |
+
<td>child-one</td>
|
225 |
+
<td>— — Child Four (04)</td>
|
226 |
+
<td>child-four</td>
|
227 |
+
</tr>
|
228 |
+
</table>
|
229 |
+
In this example, the “Grand Parent Two” hierarchy was added first and the slugs in those terms are obvious. The “Parent Two” and “Child Three” terms under “Grand Parent One” have modified slugs to avoid duplication with the terms added earlier.
|
230 |
+
There is no prohibition against the same slug appearing in two different taxonomies.
|
231 |
+
<a name="flat-taxonomies"></a>
|
232 |
+
</p>
|
233 |
+
<p>
|
234 |
+
<a href="#backtotop">Go to Top</a>
|
235 |
+
</p>
|
236 |
+
<h3>Path Specifications for Flat Taxonomies</h3>
|
237 |
+
<p>
|
238 |
+
The plugin ignores mapping rules for non-hierarchical, or “flat”, taxonomies such as Att. Tags. Any path specifications found will be processed as a simple term name, e.g., “/parent/child” will become a simple root-level term, not separate “parent” and “child” terms.
|
239 |
+
<a name="matching"></a>
|
240 |
+
</p>
|
241 |
+
<p>
|
242 |
+
<a href="#backtotop">Go to Top</a>
|
243 |
+
</p>
|
244 |
+
<h3>Matching on Term Name</h3>
|
245 |
+
<p>
|
246 |
+
Because the term Slug cannot be known in advance, MLA mapping rules match term values in item metadata against the term Name. When duplicate term Names exist in a taxonomy MLA will match the term defined earliest, i.e., with the lowest term_id value. In the above example “Child Three” will match term_id “6”, under “Grand Parent Two/Parent Three”. Several examples of WordPress “search by term Name” functions and their results are in the Appendix.
|
247 |
+
</p>
|
248 |
+
<p>
|
249 |
+
When duplicate term Names exist in a taxonomy they can always be disambiguated by specifying the complete, absolute path to the desired term. Starting a relative path with a unique ancestor name will also work.</p>
|
250 |
+
<p>
|
251 |
+
Finally, the “Parent” value <strong>in the mapping rule</strong> (a rule Parent) can restrict the search to a subset of the term tree and change the handling of relative paths. For example:
|
252 |
+
</p>
|
253 |
+
<ul class="mla_settings">
|
254 |
+
<li>if the <strong>rule</strong> Parent is “Grand Parent One”, then a <strong>relative path</strong> such as “Child Three” will be matched as “/Grand Parent One/Child Three”. It will not match any other “Child One” values lower down in the subtree.</li>
|
255 |
+
<li>if the <strong>rule</strong> Parent is “Grand Parent One/Parent Two”, then a <strong>relative path</strong> such as “Child Three” will be matched as “/Grand Parent One/Parent Two/Child Three”.</li>
|
256 |
+
</ul>
|
257 |
+
<p>
|
258 |
+
An absolute path will ignore the rule Parent and start from the root level of the term hierarchy.
|
259 |
+
For more examples, here is a hierarchical taxonomy sorted by the order in which the terms were created (Term ID order):
|
260 |
+
</p>
|
261 |
+
<code>
|
262 |
+
Grand Parent Two (02)<br />
|
263 |
+
Grand Parent Two/Parent Two (03)<br />
|
264 |
+
Grand Parent Two/Parent Two/Child Four (04)<br />
|
265 |
+
Grand Parent Two/Parent Three (05)<br />
|
266 |
+
Grand Parent Two/Parent Three/Child Three (06)<br />
|
267 |
+
Grand Parent Two/Parent Three/Child Five (07)<br />
|
268 |
+
Grand Parent One (08)<br />
|
269 |
+
Grand Parent One/Parent One (09)<br />
|
270 |
+
Grand Parent One/Parent Two (10)<br />
|
271 |
+
Grand Parent One/Parent One/Child One (11)<br />
|
272 |
+
Grand Parent One/Parent Two/Child Two (12)<br />
|
273 |
+
Grand Parent One/Parent Two/Child Three (13)
|
274 |
+
</code>
|
275 |
+
<p>
|
276 |
+
Here’s the way the taxonomy appears in the Edit Taxonomy admin submenu:
|
277 |
+
</p>
|
278 |
+
<code>
|
279 |
+
Grand Parent One (08)<br />
|
280 |
+
— Parent One (09)<br />
|
281 |
+
— — Child One (11)<br />
|
282 |
+
— Parent Two (10)<br />
|
283 |
+
— — Child Three (13)<br />
|
284 |
+
— — Child Two (12)<br />
|
285 |
+
Grand Parent Two (02)<br />
|
286 |
+
— Parent Three (05)<br />
|
287 |
+
— — Child Five (07)<br />
|
288 |
+
— — Child Three (06)<br />
|
289 |
+
— Parent Two (03)<br />
|
290 |
+
— — Child Four (04)
|
291 |
+
</code>
|
292 |
+
<p>
|
293 |
+
Here are the results of matching ambiguous unqualified names to taxonomy terms (assuming no rule Parent):
|
294 |
+
</p>
|
295 |
+
<ul>
|
296 |
+
<li>“<strong>Child Three</strong>” => Grand Parent Two/Parent Three/<strong>Child Three</strong> (06)</li>
|
297 |
+
<li>“<strong>Parent Two</strong>” => Grand Parent Two/<strong>Parent Two</strong> (03)</li>
|
298 |
+
</ul>
|
299 |
+
<p>
|
300 |
+
You can’t read down the displayed list and easily predict how the match will come out!
|
301 |
+
</p>
|
302 |
+
<p>
|
303 |
+
Here are the unexpected results of matching relative paths with ambiguous initial names (assuming no rule Parent):
|
304 |
+
</p>
|
305 |
+
<ul>
|
306 |
+
<li>“<strong>Parent Two/Child Four</strong>” => Grand Parent Two/<strong>Parent Two/Child Four</strong> (04)</li>
|
307 |
+
<li>“<strong>Parent Two/Child Three</strong>” => <strong>NO MATCH</strong> - creates Grand Parent Two/<strong>Parent Two/Child Three</strong> (14)
|
308 |
+
</li>
|
309 |
+
</ul>
|
310 |
+
<p>
|
311 |
+
In the second case, to match the existing “Parent Two/Child Three” the ambiguous “Parent Two” must be made unique by adding “Grand Parent One”. To avoid this issue always start a relative path with a unique name.
|
312 |
+
<a name="creating"></a>
|
313 |
+
</p>
|
314 |
+
<p>
|
315 |
+
<a href="#backtotop">Go to Top</a>
|
316 |
+
</p>
|
317 |
+
<h3><strong>Creating New Terms</strong></h3>
|
318 |
+
<p>
|
319 |
+
When a term embedded in the metadata in an item’s file is not found in the taxonomy it must be added to the taxonomy’s terms in the proper location.
|
320 |
+
</p>
|
321 |
+
<p>
|
322 |
+
Single-level terms are straightforward. If a rule Parent is specified they will be added just under the Parent. If the rule Parent is not specified they will be added a new root-level terms.
|
323 |
+
</p>
|
324 |
+
<p>
|
325 |
+
Multi-level terms are more challenging, since any of the path elements might be new to the taxonomy. Consider these additions to the above example taxonomy:
|
326 |
+
</p>
|
327 |
+
<ol>
|
328 |
+
<li>“<strong>Parent Three/Child Six</strong>” – a new “Child Six” term will be added just under the existing “Parent Three”.</li>
|
329 |
+
<li>“<strong>Parent Four/Child One</strong>” – both of the path elements are new to the taxonomy. “Parent Four” will be added as a new root-level term (no rule Parent) or just under the rule Parent. Then, “Child One” will be added just under the new “Parent Four”.</li>
|
330 |
+
<li>“<strong>Grand Parent Two/Parent Four/Child One</strong>” – “Parent Four” will be added as a new term just under the existing “Grand Parent Two”. Then, “Child One” will be added just under the new “Parent Four”.</li>
|
331 |
+
<li>“<strong>/Parent Four/Child Six</strong>” – “Parent Four” will be added as a new root-level term. Then, a new “Child Six” term will be added just under the new “/Parent Four”.</li>
|
332 |
+
</ol>
|
333 |
+
<p>
|
334 |
+
In general, multi-level terms are processed one level at a time from left to right. Relative paths take the rule Parent into account, absolute paths always start form the root level.
|
335 |
+
<a name="multi-level"></a>
|
336 |
+
|
337 |
+
</p>
|
338 |
+
<p>
|
339 |
+
<a href="#backtotop">Go to Top</a>
|
340 |
+
</p>
|
341 |
+
<h3><strong>Assigning Multi-level Terms</strong></h3>
|
342 |
+
<p>
|
343 |
+
WordPress allows you to assign terms at any level in any combination. In other words, given the absolute path “/Grand Parent One/Parent Two/Child Three” you can assign one, two or all three of the path elements to the item. If you choose to assign only lowest-level “Child Three” you can still associate the item with “Grand Parent One” by including “children” in a term query.
|
344 |
+
</p>
|
345 |
+
<p>
|
346 |
+
The two common choices seem to be “assign all levels” or “assign lowest level”. Adding syntax to assign or skip individual path elements seems overly complicated. For this reason, a simple checkbox option will select one of the two common choices on a rule-by-rule basis.
|
347 |
+
</p>
|
348 |
+
<p>
|
349 |
+
When a Rule Parent is specified, a second checkbox option will select whether the Rule Parent term is also assigned to the item. The Rule Parent term is only assigned when one or more other terms are assigned as well, so items with no explicit term assignments do not get assigned to the Rule Parent.
|
350 |
+
<a name="mapping-multiple"></a>
|
351 |
+
</p>
|
352 |
+
<p>
|
353 |
+
<a href="#backtotop">Go to Top</a>
|
354 |
+
</p>
|
355 |
+
<h3>Mapping Multiple Items</h3>
|
356 |
+
<p>
|
357 |
+
All of MLA’s mapping operations are performed on each item in isolation. If you are mapping two or more items in an upload, a batch edit or a “map all items” operation be aware that the order in which the items are processed can affect the placement of new terms within the hierarchy. For example, consider these two items and their terms:
|
358 |
+
</p>
|
359 |
+
<ol>
|
360 |
+
<li>Item A, terms “/Grand Parent One/Parent Two/Child Three”</li>
|
361 |
+
<li>Item B, terms “Parent Two/Child Three”</li>
|
362 |
+
</ol>
|
363 |
+
<p>
|
364 |
+
If these items are processed in order there will be a single “Parent Two” term under “Grand Parent One”. If, however, Item B is processed before Item A there will be a root-level “Parent Two” term from Item B and a separate “/Grand Parent One/Parent Two” term from Item A. The best defense is unique names for every term!
|
365 |
+
</p>
|
366 |
+
</div>
|
examples/plugins/mla-path-mapping-example/mla-path-mapping-example.php
ADDED
@@ -0,0 +1,739 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Adds hierarchical path specification to the IPTC/EXIF taxonomy mapping features
|
4 |
+
*
|
5 |
+
* For example, "/Root/Parent/Child" creates or locates:
|
6 |
+
* - A root term named "Root"
|
7 |
+
* - A child term named "Parent" under "Root"
|
8 |
+
* - A child term named "Child" under "Parent"
|
9 |
+
*
|
10 |
+
* Much more information is in the Settings/MLA Path Mapping Documentation tab.
|
11 |
+
*
|
12 |
+
* Inspired by support topic "Help with Custom Taxonomy"
|
13 |
+
* opened on 11/25/2017 by "wesm".
|
14 |
+
* https://wordpress.org/support/topic/help-with-custom-taxonomy/
|
15 |
+
*
|
16 |
+
* @package MLA Path Mapping Example
|
17 |
+
* @version 1.00
|
18 |
+
*/
|
19 |
+
|
20 |
+
/*
|
21 |
+
Plugin Name: MLA Path Mapping Example
|
22 |
+
Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
|
23 |
+
Description: Adds hierarchical path specification to the IPTC/EXIF taxonomy mapping features
|
24 |
+
Author: David Lingren
|
25 |
+
Version: 1.00
|
26 |
+
Author URI: http://fairtradejudaica.org/our-story/staff/
|
27 |
+
|
28 |
+
Copyright 2018 David Lingren
|
29 |
+
|
30 |
+
This program is free software; you can redistribute it and/or modify
|
31 |
+
it under the terms of the GNU General Public License as published by
|
32 |
+
the Free Software Foundation; either version 2 of the License, or
|
33 |
+
(at your option) any later version.
|
34 |
+
|
35 |
+
This program is distributed in the hope that it will be useful,
|
36 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
37 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
38 |
+
GNU General Public License for more details.
|
39 |
+
|
40 |
+
You can get a copy of the GNU General Public License by writing to the
|
41 |
+
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
|
42 |
+
*/
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Class MLA Path Mapping Example hooks one of the filters provided by the IPTC/EXIF and Custom Field mapping features
|
46 |
+
*
|
47 |
+
* Call it anything you want, but give it an unlikely and hopefully unique name. Hiding everything
|
48 |
+
* else inside a class means this is the only name you have to worry about.
|
49 |
+
*
|
50 |
+
* @package MLA Path Mapping Example
|
51 |
+
* @since 1.00
|
52 |
+
*/
|
53 |
+
class MLAPathMappingExample {
|
54 |
+
/**
|
55 |
+
* Current version number
|
56 |
+
*
|
57 |
+
* @since 1.00
|
58 |
+
*
|
59 |
+
* @var string
|
60 |
+
*/
|
61 |
+
const CURRENT_VERSION = '1.00';
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Slug prefix for registering and enqueueing submenu pages, style sheets, scripts and settings
|
65 |
+
*
|
66 |
+
* @since 1.00
|
67 |
+
*
|
68 |
+
* @var string
|
69 |
+
*/
|
70 |
+
const SLUG_PREFIX = 'mlapathmap';
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Initialization function, similar to __construct()
|
74 |
+
*
|
75 |
+
* Installs filters and actions that handle the MLA hooks for uploading and mapping.
|
76 |
+
*
|
77 |
+
* @since 1.00
|
78 |
+
*
|
79 |
+
* @return void
|
80 |
+
*/
|
81 |
+
public static function initialize() {
|
82 |
+
/*
|
83 |
+
* The filters are only useful in the admin section; exit if in the "front-end" posts/pages.
|
84 |
+
*/
|
85 |
+
if ( ! is_admin() )
|
86 |
+
return;
|
87 |
+
|
88 |
+
// Add submenu page in the "Settings" section
|
89 |
+
add_action( 'admin_menu', 'MLAPathMappingExample::admin_menu' );
|
90 |
+
|
91 |
+
// add filters for IPTC/EXIF mapping rule execution
|
92 |
+
add_filter( 'mla_mapping_rule', 'MLAPathMappingExample::mla_mapping_rule', 10, 4 );
|
93 |
+
add_filter( 'mla_mapping_new_text', 'MLAPathMappingExample::mla_mapping_new_text', 10, 5 );
|
94 |
+
add_filter( 'mla_mapping_updates', 'MLAPathMappingExample::mla_mapping_updates', 10, 5 );
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Add submenu page in the "Settings" section
|
99 |
+
*
|
100 |
+
* @since 1.00
|
101 |
+
*/
|
102 |
+
public static function admin_menu( ) {
|
103 |
+
/*
|
104 |
+
* We need a tab-specific page ID to manage the screen options on the General tab.
|
105 |
+
* Use the URL suffix, if present. If the URL doesn't have a tab suffix, use '-general'.
|
106 |
+
* This hack is required to pass the WordPress "referer" validation.
|
107 |
+
*/
|
108 |
+
if ( isset( $_REQUEST['page'] ) && is_string( $_REQUEST['page'] ) && ( self::SLUG_PREFIX . '-settings-' == substr( $_REQUEST['page'], 0, strlen( self::SLUG_PREFIX . '-settings-' ) ) ) ) {
|
109 |
+
$tab = substr( $_REQUEST['page'], strlen( self::SLUG_PREFIX . '-settings-' ) );
|
110 |
+
} else {
|
111 |
+
$tab = 'general';
|
112 |
+
}
|
113 |
+
|
114 |
+
$tab = self::_get_options_tablist( $tab ) ? '-' . $tab : '-general';
|
115 |
+
add_submenu_page( 'options-general.php', 'MLA Path Mapping Example', 'MLA Path Mapping', 'manage_options', self::SLUG_PREFIX . '-settings' . $tab, 'MLAPathMappingExample::add_submenu_page' );
|
116 |
+
add_filter( 'plugin_action_links', 'MLAPathMappingExample::plugin_action_links', 10, 2 );
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Add the "Settings" and "Guide" links to the Plugins section entry
|
121 |
+
*
|
122 |
+
* @since 1.00
|
123 |
+
*
|
124 |
+
* @param array array of links for the Plugin, e.g., "Activate"
|
125 |
+
* @param string Directory and name of the plugin Index file
|
126 |
+
*
|
127 |
+
* @return array Updated array of links for the Plugin
|
128 |
+
*/
|
129 |
+
public static function plugin_action_links( $links, $file ) {
|
130 |
+
if ( $file == 'mla-path-mapping-example/mla-path-mapping-example.php' ) {
|
131 |
+
$settings_link = sprintf( '<a href="%s">%s</a>', admin_url( 'options-general.php?page=' . self::SLUG_PREFIX . '-settings-documentation&mla_tab=documentation' ), 'Guide' );
|
132 |
+
array_unshift( $links, $settings_link );
|
133 |
+
$settings_link = sprintf( '<a href="%s">%s</a>', admin_url( 'options-general.php?page=' . self::SLUG_PREFIX . '-settings-general' ), 'Settings' );
|
134 |
+
array_unshift( $links, $settings_link );
|
135 |
+
}
|
136 |
+
|
137 |
+
return $links;
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Render (echo) the "MLA Path Mapping" submenu in the Settings section
|
142 |
+
*
|
143 |
+
* @since 1.00
|
144 |
+
*
|
145 |
+
* @return void Echoes HTML markup for the submenu page
|
146 |
+
*/
|
147 |
+
public static function add_submenu_page() {
|
148 |
+
//error_log( __LINE__ . " MLAPathMappingExample:add_submenu_page _REQUEST = " . var_export( $_REQUEST, true ), 0 );
|
149 |
+
|
150 |
+
if ( !current_user_can( 'manage_options' ) ) {
|
151 |
+
echo "<h2>MLA Path Mapping Example - Error</h2>\n";
|
152 |
+
wp_die( 'You do not have permission to manage plugin settings.' );
|
153 |
+
}
|
154 |
+
|
155 |
+
// Load template array and initialize page-level values.
|
156 |
+
self::$page_template_array = MLACore::mla_load_template( dirname( __FILE__ ) . '/admin-settings-page.tpl', 'path' );
|
157 |
+
$current_tab_slug = isset( $_REQUEST['mla_tab'] ) ? $_REQUEST['mla_tab']: 'general';
|
158 |
+
$current_tab = self::_get_options_tablist( $current_tab_slug );
|
159 |
+
$page_values = array(
|
160 |
+
'version' => 'v' . self::CURRENT_VERSION,
|
161 |
+
'messages' => '',
|
162 |
+
'tablist' => self::_compose_settings_tabs( $current_tab_slug ),
|
163 |
+
'tab_content' => '',
|
164 |
+
);
|
165 |
+
|
166 |
+
// Compose tab content
|
167 |
+
if ( $current_tab ) {
|
168 |
+
if ( isset( $current_tab['render'] ) ) {
|
169 |
+
$handler = $current_tab['render'];
|
170 |
+
$page_content = call_user_func( $handler );
|
171 |
+
} else {
|
172 |
+
$page_content = array( 'message' => 'ERROR: Cannot render content tab', 'body' => '' );
|
173 |
+
}
|
174 |
+
} else {
|
175 |
+
$page_content = array( 'message' => 'ERROR: Unknown content tab', 'body' => '' );
|
176 |
+
}
|
177 |
+
|
178 |
+
if ( ! empty( $page_content['message'] ) ) {
|
179 |
+
if ( false !== strpos( $page_content['message'], 'ERROR' ) ) {
|
180 |
+
$messages_class = 'updated error';
|
181 |
+
$dismiss_button = '';
|
182 |
+
} else {
|
183 |
+
$messages_class = 'updated notice is-dismissible';
|
184 |
+
$dismiss_button = " <button class=\"notice-dismiss\" type=\"button\"><span class=\"screen-reader-text\">[+dismiss_text+].</span></button>\n";
|
185 |
+
}
|
186 |
+
|
187 |
+
$page_values['messages'] = MLAData::mla_parse_template( self::$page_template_array['messages'], array(
|
188 |
+
'mla_messages_class' => $messages_class ,
|
189 |
+
'messages' => $page_content['message'],
|
190 |
+
'dismiss_button' => $dismiss_button,
|
191 |
+
'dismiss_text' => 'Dismiss this notice',
|
192 |
+
) );
|
193 |
+
}
|
194 |
+
|
195 |
+
$page_values['tab_content'] = $page_content['body'];
|
196 |
+
echo MLAData::mla_parse_template( self::$page_template_array['page'], $page_values );
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Template file for the Settings page(s) and parts
|
201 |
+
*
|
202 |
+
* This array contains all of the template parts for the Settings page(s). The array is built once
|
203 |
+
* each page load and cached for subsequent use.
|
204 |
+
*
|
205 |
+
* @since 1.00
|
206 |
+
*
|
207 |
+
* @var array
|
208 |
+
*/
|
209 |
+
public static $page_template_array = NULL;
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Definitions for Settings page tab ids, titles and handlers
|
213 |
+
* Each tab is defined by an array with the following elements:
|
214 |
+
*
|
215 |
+
* array key => HTML id/name attribute and option database key (OMIT MLA_OPTION_PREFIX)
|
216 |
+
*
|
217 |
+
* title => tab label / heading text
|
218 |
+
* render => rendering function for tab messages and content. Usage:
|
219 |
+
* $tab_content = ['render']( );
|
220 |
+
*
|
221 |
+
* @since 1.00
|
222 |
+
*
|
223 |
+
* @var array
|
224 |
+
*/
|
225 |
+
private static $mla_tablist = array(
|
226 |
+
'general' => array( 'title' => 'General', 'render' => array( 'MLAPathMappingExample', '_compose_general_tab' ) ),
|
227 |
+
'documentation' => array( 'title' => 'Documentation', 'render' => array( 'MLAPathMappingExample', '_compose_documentation_tab' ) ),
|
228 |
+
);
|
229 |
+
|
230 |
+
/**
|
231 |
+
* Retrieve the list of options tabs or a specific tab value
|
232 |
+
*
|
233 |
+
* @since 1.00
|
234 |
+
*
|
235 |
+
* @param string Tab slug, to retrieve a single entry
|
236 |
+
*
|
237 |
+
* @return array|false The entire tablist ( $tab = NULL ), a single tab entry or false if not found/not allowed
|
238 |
+
*/
|
239 |
+
private static function _get_options_tablist( $tab = NULL ) {
|
240 |
+
if ( is_string( $tab ) ) {
|
241 |
+
if ( isset( self::$mla_tablist[ $tab ] ) ) {
|
242 |
+
$results = self::$mla_tablist[ $tab ];
|
243 |
+
} else {
|
244 |
+
$results = false;
|
245 |
+
}
|
246 |
+
} else {
|
247 |
+
$results = self::$mla_tablist;
|
248 |
+
}
|
249 |
+
|
250 |
+
return $results;
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Compose the navigation tabs for the Settings subpage
|
255 |
+
*
|
256 |
+
* @since 1.00
|
257 |
+
* @uses $page_template_array contains tablist and tablist-item templates
|
258 |
+
*
|
259 |
+
* @param string Optional data-tab-id value for the active tab, default 'general'
|
260 |
+
*
|
261 |
+
* @return string HTML markup for the Settings subpage navigation tabs
|
262 |
+
*/
|
263 |
+
private static function _compose_settings_tabs( $active_tab = 'general' ) {
|
264 |
+
$tablist_item = self::$page_template_array['tablist-item'];
|
265 |
+
$tabs = '';
|
266 |
+
foreach ( self::_get_options_tablist() as $key => $item ) {
|
267 |
+
$item_values = array(
|
268 |
+
'data-tab-id' => $key,
|
269 |
+
'nav-tab-active' => ( $active_tab == $key ) ? 'nav-tab-active' : '',
|
270 |
+
'settings-page' => self::SLUG_PREFIX . '-settings-' . $key,
|
271 |
+
'title' => $item['title']
|
272 |
+
);
|
273 |
+
|
274 |
+
$tabs .= MLAData::mla_parse_template( $tablist_item, $item_values );
|
275 |
+
} // foreach $item
|
276 |
+
|
277 |
+
$tablist_values = array( 'tablist' => $tabs );
|
278 |
+
return MLAData::mla_parse_template( self::$page_template_array['tablist'], $tablist_values );
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Compose the General tab content for the Settings subpage
|
283 |
+
*
|
284 |
+
* @since 1.00
|
285 |
+
* @uses $page_template_array contains tab content template(s)
|
286 |
+
*
|
287 |
+
* @return array 'message' => status/error messages, 'body' => tab content
|
288 |
+
*/
|
289 |
+
private static function _compose_general_tab( ) {
|
290 |
+
$page_content = array( 'message' => '', 'body' => '' );
|
291 |
+
|
292 |
+
// Initialize page messages and content, check for page-level Save Changes
|
293 |
+
if ( !empty( $_REQUEST['mla-path-mapping-options-save'] ) ) {
|
294 |
+
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
295 |
+
$page_content = self::_save_setting_changes( );
|
296 |
+
}
|
297 |
+
|
298 |
+
if ( !empty( $page_content['body'] ) ) {
|
299 |
+
return $page_content;
|
300 |
+
}
|
301 |
+
|
302 |
+
// Display the General tab
|
303 |
+
$_SERVER['REQUEST_URI'] = remove_query_arg( array(
|
304 |
+
'mla_path_mapping_options',
|
305 |
+
'_wpnonce',
|
306 |
+
'_wp_http_referer',
|
307 |
+
'mla-path-mapping-options-save',
|
308 |
+
), $_SERVER['REQUEST_URI'] );
|
309 |
+
|
310 |
+
// Compose page-level options
|
311 |
+
$page_values = array(
|
312 |
+
'assign_parents_checked' => self::_get_plugin_option('assign_parents') ? 'checked="checked" ' : '',
|
313 |
+
'assign_rule_parent_checked' => self::_get_plugin_option('assign_rule_parent') ? 'checked="checked" ' : '',
|
314 |
+
'path_delimiter' => self::_get_plugin_option('path_delimiter'),
|
315 |
+
);
|
316 |
+
$options_list = MLAData::mla_parse_template( self::$page_template_array['page-level-options'], $page_values );
|
317 |
+
|
318 |
+
$form_arguments = '?page=' . self::SLUG_PREFIX . '-settings-general&mla_tab=general';
|
319 |
+
|
320 |
+
$page_values = array(
|
321 |
+
'form_url' => admin_url( 'options-general.php' ) . $form_arguments,
|
322 |
+
'_wpnonce' => wp_nonce_field( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME, true, false ),
|
323 |
+
'options_list' => $options_list,
|
324 |
+
);
|
325 |
+
|
326 |
+
$page_content['body'] .= MLAData::mla_parse_template( self::$page_template_array['general-tab'], $page_values );
|
327 |
+
|
328 |
+
return $page_content;
|
329 |
+
}
|
330 |
+
|
331 |
+
/**
|
332 |
+
* Compose the General tab content for the Settings subpage
|
333 |
+
*
|
334 |
+
* @since 1.00
|
335 |
+
* @uses $page_template_array contains tab content template(s)
|
336 |
+
*
|
337 |
+
* @return array 'message' => status/error messages, 'body' => tab content
|
338 |
+
*/
|
339 |
+
private static function _compose_documentation_tab( ) {
|
340 |
+
$page_content = array( 'message' => '', 'body' => '' );
|
341 |
+
$page_values = array(
|
342 |
+
);
|
343 |
+
|
344 |
+
$page_content['body'] = MLAData::mla_parse_template( self::$page_template_array['documentation-tab'], $page_values );
|
345 |
+
return $page_content;
|
346 |
+
}
|
347 |
+
|
348 |
+
/**
|
349 |
+
* Save settings as a WordPress wp_options entry
|
350 |
+
*
|
351 |
+
* @since 1.00
|
352 |
+
*
|
353 |
+
* @return array 'message' => status/error messages, 'body' => tab content
|
354 |
+
*/
|
355 |
+
private static function _save_setting_changes() {
|
356 |
+
$page_content = array( 'message' => 'Settings unchanged.', 'body' => '' );
|
357 |
+
|
358 |
+
$changed = self::_update_plugin_option( 'assign_parents', isset( $_REQUEST[ 'mla_path_mapping_options' ]['assign_parents'] ) );
|
359 |
+
$changed |= self::_update_plugin_option( 'assign_rule_parent', isset( $_REQUEST[ 'mla_path_mapping_options' ]['assign_rule_parent'] ) );
|
360 |
+
$changed |= self::_update_plugin_option( 'path_delimiter', stripslashes( $_REQUEST[ 'mla_path_mapping_options' ]['path_delimiter'] ) );
|
361 |
+
|
362 |
+
if ( $changed ) {
|
363 |
+
// No reason to save defaults in the database
|
364 |
+
if ( self::$_settings === self::$_default_settings ) {
|
365 |
+
delete_option( self::SLUG_PREFIX . '-settings' );
|
366 |
+
} else {
|
367 |
+
$changed = update_option( self::SLUG_PREFIX . '-settings', self::$_settings, false );
|
368 |
+
}
|
369 |
+
|
370 |
+
if ( $changed ) {
|
371 |
+
$page_content['message'] = "Settings have been updated.";
|
372 |
+
} else {
|
373 |
+
$page_content['message'] = "Settings updated failed.";
|
374 |
+
}
|
375 |
+
}
|
376 |
+
|
377 |
+
return $page_content;
|
378 |
+
} // _save_setting_changes
|
379 |
+
|
380 |
+
/**
|
381 |
+
* Assemble the in-memory representation of the custom feed settings
|
382 |
+
*
|
383 |
+
* @since 1.00
|
384 |
+
*
|
385 |
+
* @param boolean $force_refresh Optional. Force a reload of rules. Default false.
|
386 |
+
* @return boolean Success (true) or failure (false) of the operation
|
387 |
+
*/
|
388 |
+
private static function _get_custom_feed_settings( $force_refresh = false ) {
|
389 |
+
if ( false == $force_refresh && NULL != self::$_settings ) {
|
390 |
+
return true;
|
391 |
+
}
|
392 |
+
|
393 |
+
// Update the plugin options from the wp_options table or set defaults
|
394 |
+
self::$_settings = get_option( self::SLUG_PREFIX . '-settings' );
|
395 |
+
if ( !is_array( self::$_settings ) ) {
|
396 |
+
self::$_settings = self::$_default_settings;
|
397 |
+
}
|
398 |
+
|
399 |
+
return true;
|
400 |
+
}
|
401 |
+
|
402 |
+
/**
|
403 |
+
* In-memory representation of the option settings
|
404 |
+
*
|
405 |
+
* @since 1.00
|
406 |
+
*
|
407 |
+
* @var array $_settings {
|
408 |
+
* @type boolean $assign_parents Assign all terms in path, not just the last (leaf) term
|
409 |
+
* @type boolean $assign_rule_parent Assign the Rule Parent (if any) in addition to terms in path
|
410 |
+
* @type string $path_delimiter The delimiter that separates path components
|
411 |
+
* }
|
412 |
+
*/
|
413 |
+
private static $_settings = NULL;
|
414 |
+
|
415 |
+
/**
|
416 |
+
* Default processing options
|
417 |
+
*
|
418 |
+
* @since 1.00
|
419 |
+
*
|
420 |
+
* @var array
|
421 |
+
*/
|
422 |
+
private static $_default_settings = array (
|
423 |
+
'assign_parents' => false,
|
424 |
+
'assign_rule_parent' => false,
|
425 |
+
'path_delimiter' => '/',
|
426 |
+
);
|
427 |
+
|
428 |
+
/**
|
429 |
+
* Get a custom feed option setting
|
430 |
+
*
|
431 |
+
* @since 1.00
|
432 |
+
*
|
433 |
+
* @param string $name Option name
|
434 |
+
*
|
435 |
+
* @return mixed Option value, if it exists else NULL
|
436 |
+
*/
|
437 |
+
private static function _get_plugin_option( $name ) {
|
438 |
+
if ( !self::_get_custom_feed_settings() ) {
|
439 |
+
return NULL;
|
440 |
+
}
|
441 |
+
|
442 |
+
if ( !isset( self::$_settings[ $name ] ) ) {
|
443 |
+
return NULL;
|
444 |
+
}
|
445 |
+
|
446 |
+
return self::$_settings[ $name ];
|
447 |
+
}
|
448 |
+
|
449 |
+
/**
|
450 |
+
* Update a custom feed option setting
|
451 |
+
*
|
452 |
+
* @since 1.00
|
453 |
+
*
|
454 |
+
* @param string $name Option name
|
455 |
+
* @param mixed $new_value Option value
|
456 |
+
*
|
457 |
+
* @return mixed True if option value changed, false if value unchanged, NULL if failure
|
458 |
+
*/
|
459 |
+
private static function _update_plugin_option( $name, $new_value ) {
|
460 |
+
if ( !self::_get_custom_feed_settings() ) {
|
461 |
+
return NULL;
|
462 |
+
}
|
463 |
+
|
464 |
+
$old_value = isset( self::$_settings[ $name ] ) ? self::$_settings[ $name ] : NULL;
|
465 |
+
|
466 |
+
if ( $new_value === $old_value ) {
|
467 |
+
return false;
|
468 |
+
}
|
469 |
+
|
470 |
+
self::$_settings[ $name ] = $new_value;
|
471 |
+
return true;
|
472 |
+
}
|
473 |
+
|
474 |
+
/**
|
475 |
+
* MLA Mapping Rule Filter
|
476 |
+
*
|
477 |
+
* This filter is called once for each mapping rule, before the rule
|
478 |
+
* is evaluated. You can change the rule parameters, or prevent rule
|
479 |
+
* evaluation by returning $setting_value['data_source'] = 'none';
|
480 |
+
*
|
481 |
+
* @since 1.00
|
482 |
+
*
|
483 |
+
* @param array custom_field_mapping rule
|
484 |
+
* @param integer post ID to be evaluated
|
485 |
+
* @param string category/scope to evaluate against: custom_field_mapping or single_attachment_mapping
|
486 |
+
* @param array attachment_metadata, default NULL
|
487 |
+
*
|
488 |
+
* @return array updated custom_field_mapping rule
|
489 |
+
*/
|
490 |
+
public static function mla_mapping_rule( $setting_value, $post_id, $category, $attachment_metadata ) {
|
491 |
+
if ( $setting_value['active'] ) {
|
492 |
+
//error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_rule_filter( {$post_id}, {$category} ) setting_value = " . var_export( $setting_value, true ), 0 );
|
493 |
+
//error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_rule_filter( {$post_id}, {$category} ) attachment_metadata = " . var_export( $attachment_metadata, true ), 0 );
|
494 |
+
|
495 |
+
self::$current_rule = $setting_value;
|
496 |
+
}
|
497 |
+
|
498 |
+
return $setting_value;
|
499 |
+
} // mla_mapping_rule_filter
|
500 |
+
|
501 |
+
/**
|
502 |
+
* Save the mapping rule so mla_mapping_new_text can use, e.g., parent
|
503 |
+
*
|
504 |
+
* @since 1.00
|
505 |
+
*
|
506 |
+
* @var array
|
507 |
+
*/
|
508 |
+
private static $current_rule = array();
|
509 |
+
|
510 |
+
/**
|
511 |
+
* MLA Mapping New Text Filter
|
512 |
+
*
|
513 |
+
* This filter is called once for each IPTC/EXIF mapping rule, after the selection
|
514 |
+
* between the IPTC and EXIF values has been made. You can change the new value
|
515 |
+
* produced by the rule.
|
516 |
+
*
|
517 |
+
* @since 1.00
|
518 |
+
*
|
519 |
+
* @param mixed string or array value returned by the rule
|
520 |
+
* @param string rule key - standard field slug, taxonomy slug or custom field name
|
521 |
+
* @param integer post ID to be evaluated
|
522 |
+
* @param string category/scope to evaluate against: iptc_exif_standard_mapping, iptc_exif_taxonomy_mapping or iptc_exif_custom_mapping
|
523 |
+
* @param array attachment_metadata, default NULL
|
524 |
+
*
|
525 |
+
* @return array updated rule EXIF/Template value
|
526 |
+
*/
|
527 |
+
public static function mla_mapping_new_text( $new_text, $setting_key, $post_id, $category, $attachment_metadata ) {
|
528 |
+
// $term_cache = array( [ taxonomy/setting_key ][ parent term_id ][ term name ] => array( term_id, term_taxonomy_id )
|
529 |
+
// $unqualified_cache = array( [ taxonomy/setting_key ][ term name ] => array( term_id, term_taxonomy_id )
|
530 |
+
// $rule_parent = array( [ taxonomy/setting_key ] => WP_Term object )
|
531 |
+
static $term_cache = array(), $unqualified_cache = array(), $rule_parent = array();
|
532 |
+
|
533 |
+
// We only care about taxonomies
|
534 |
+
if ( 'iptc_exif_taxonomy_mapping' !== $category ) {
|
535 |
+
return $new_text;
|
536 |
+
}
|
537 |
+
|
538 |
+
// We only care about hierarchical taxonomies
|
539 |
+
if ( !is_taxonomy_hierarchical( $setting_key ) ) {
|
540 |
+
return $new_text;
|
541 |
+
}
|
542 |
+
|
543 |
+
//error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_new_text_filter( {$setting_key}, {$post_id}, {$category} ) new_text = " . var_export( $new_text, true ), 0 );
|
544 |
+
//error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_new_text_filter( {$setting_key}, {$post_id}, {$category} ) attachment_metadata = " . var_export( $attachment_metadata, true ), 0 );
|
545 |
+
|
546 |
+
// Make sure $new_text is an array, even if it's empty
|
547 |
+
if ( empty( $new_text ) ) {
|
548 |
+
$new_text = array();
|
549 |
+
} elseif ( is_string( $new_text ) ) {
|
550 |
+
$new_text = array( $new_text );
|
551 |
+
}
|
552 |
+
|
553 |
+
$term_parent = !empty( self::$current_rule['parent'] ) ? absint( self::$current_rule['parent'] ) : 0;
|
554 |
+
$assign_rule_parent = $term_parent ? self::_get_plugin_option('assign_rule_parent') : false;
|
555 |
+
$assign_parents = self::_get_plugin_option('assign_parents');
|
556 |
+
$path_delimiter = self::_get_plugin_option('path_delimiter');
|
557 |
+
|
558 |
+
// Check for and validate Rule Parent
|
559 |
+
if ( $assign_rule_parent && empty( $rule_parent[ $setting_key ] ) ) {
|
560 |
+
$term = get_term( $term_parent, $setting_key );
|
561 |
+
if ( !empty( $term ) && !is_wp_error( $term ) ) {
|
562 |
+
$rule_parent[ $setting_key ] = $term;
|
563 |
+
} else {
|
564 |
+
$term_parent = 0;
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
+
// We must build the "public" cache from scratch for each item
|
569 |
+
MLAOptions::$mla_term_cache[ $setting_key ][ $term_parent ] = array();
|
570 |
+
|
571 |
+
// Initialize the higher-level cache elements to simplify the code
|
572 |
+
if ( !isset( $unqualified_cache[ $setting_key ] ) ) {
|
573 |
+
$unqualified_cache[ $setting_key ] = array();
|
574 |
+
}
|
575 |
+
|
576 |
+
if ( !isset( $term_cache[ $setting_key ] ) ) {
|
577 |
+
$term_cache[ $setting_key ] = array();
|
578 |
+
}
|
579 |
+
|
580 |
+
if ( !isset( $term_cache[ $setting_key ][ $term_parent ] ) ) {
|
581 |
+
$term_cache[ $setting_key ][ $term_parent ] = array();
|
582 |
+
}
|
583 |
+
|
584 |
+
/*
|
585 |
+
* Every element in $new_text must be added, as entered, to the $mla_term_cache
|
586 |
+
* so it is matched in MLAOptions::_get_term_id.
|
587 |
+
* An internal $term_cache holds each "path component" with the actual parent location.
|
588 |
+
* The $unqualified_cache holds each "path component" when the parent is unknown.
|
589 |
+
*/
|
590 |
+
foreach ( $new_text as $term_name ) {
|
591 |
+
// WordPress encodes special characters, e.g., "&" as HTML entities in term names
|
592 |
+
$term_name = _wp_specialchars( $term_name );
|
593 |
+
|
594 |
+
// Is this a simple, unqualified term already in the cache?
|
595 |
+
if ( isset( $unqualified_cache[ $setting_key ][ $term_name ] ) ) {
|
596 |
+
error_log( __LINE__ . " mla_mapping_new_text found $term_name in unqualified_cache", 0 );
|
597 |
+
MLAOptions::$mla_term_cache[ $setting_key ][ $term_parent ][ $term_name ] = $unqualified_cache[ $setting_key ][ $term_name ]['term_id'];
|
598 |
+
continue;
|
599 |
+
}
|
600 |
+
|
601 |
+
// Break the path, if present, into its component parts
|
602 |
+
$path = explode( $path_delimiter, $term_name );
|
603 |
+
|
604 |
+
// Check for an absolute path, initialize $current_id
|
605 |
+
$unqualified_name = false;
|
606 |
+
if ( empty( $path[0] ) ) {
|
607 |
+
$current_parent = 0; // Root-level "parent"
|
608 |
+
} elseif ( 0 === $term_parent ) {
|
609 |
+
// Unqualified name - no parent restriction
|
610 |
+
$unqualified_name = true;
|
611 |
+
$current_parent = 'unqualified';
|
612 |
+
} else {
|
613 |
+
$current_parent = $term_parent;
|
614 |
+
}
|
615 |
+
error_log( __LINE__ . " mla_mapping_new_text parent = " . var_export( $current_parent, true ) . ", path = " . var_export( $path, true ), 0 );
|
616 |
+
|
617 |
+
// Holder for the $assign_parents entries
|
618 |
+
$assign_parents_entry = 0;
|
619 |
+
|
620 |
+
// Find or create all the path components and add them to the cache
|
621 |
+
foreach ( $path as $path_name ) {
|
622 |
+
// Check for a parent assignment
|
623 |
+
if ( 0 < $assign_parents_entry ) {
|
624 |
+
// Generate an unlikely name, create a new entry
|
625 |
+
$name = "assign_parent-term-{$assign_parents_entry}";
|
626 |
+
MLAOptions::$mla_term_cache[ $setting_key ][ $term_parent ][ $name ] = $assign_parents_entry;
|
627 |
+
$new_text[] = $name;
|
628 |
+
$assign_parents_entry = 0;
|
629 |
+
}
|
630 |
+
|
631 |
+
// Ignore initial or duplicate delimiters
|
632 |
+
if ( empty( $path_name ) ) {
|
633 |
+
error_log( __LINE__ . " mla_mapping_new_text ignoring empty path_name", 0 );
|
634 |
+
continue;
|
635 |
+
}
|
636 |
+
|
637 |
+
// Is this component in the cache?
|
638 |
+
if ( isset( $term_cache[ $setting_key ][ $current_parent ][ $path_name ] ) ) {
|
639 |
+
error_log( __LINE__ . " mla_mapping_new_text found $path_name under $current_parent in cache", 0 );
|
640 |
+
$current_parent = $term_cache[ $setting_key ][ $current_parent ][ $path_name ]['term_id'];
|
641 |
+
|
642 |
+
if ( $assign_parents ) {
|
643 |
+
$assign_parents_entry = $current_parent;
|
644 |
+
}
|
645 |
+
|
646 |
+
continue;
|
647 |
+
}
|
648 |
+
|
649 |
+
// Does this component exist?
|
650 |
+
if ( $unqualified_name ) {
|
651 |
+
// Is this component in the cache?
|
652 |
+
if ( isset( $unqualified_cache[ $setting_key ][ $path_name ] ) ) {
|
653 |
+
error_log( __LINE__ . " mla_mapping_new_text found $path_name in unqualified cache", 0 );
|
654 |
+
$path_term = $unqualified_cache[ $setting_key ][ $path_name ];
|
655 |
+
} else {
|
656 |
+
$path_term = term_exists( $path_name, $setting_key );
|
657 |
+
|
658 |
+
if ( $path_term !== 0 && $path_term !== NULL ) {
|
659 |
+
error_log( __LINE__ . " mla_mapping_new_text adding $path_name to unqualified cache", 0 );
|
660 |
+
$unqualified_cache[ $setting_key ][ $path_name ] = $path_term;
|
661 |
+
}
|
662 |
+
}
|
663 |
+
|
664 |
+
$unqualified_name = false;
|
665 |
+
} else {
|
666 |
+
$path_term = term_exists( $path_name, $setting_key, $current_parent );
|
667 |
+
}
|
668 |
+
|
669 |
+
if ( $path_term !== 0 && $path_term !== NULL ) {
|
670 |
+
error_log( __LINE__ . " mla_mapping_new_text found $path_name under $current_parent in database = " . var_export( $path_term, true ), 0 );
|
671 |
+
$term_cache[ $setting_key ][ $path_term['parent'] ][ $path_name ] = $path_term;
|
672 |
+
$current_parent = absint( $path_term['term_id'] );
|
673 |
+
|
674 |
+
if ( $assign_parents ) {
|
675 |
+
$assign_parents_entry = $current_parent;
|
676 |
+
}
|
677 |
+
|
678 |
+
continue;
|
679 |
+
}
|
680 |
+
|
681 |
+
// Create the term
|
682 |
+
$path_term = wp_insert_term( $path_name, $setting_key, array( 'parent' => $current_parent ) );
|
683 |
+
if ( ( ! is_wp_error( $path_term ) ) && isset( $path_term['term_id'] ) ) {
|
684 |
+
error_log( __LINE__ . " mla_mapping_new_text created $path_name under $current_parent = " . var_export( $path_term, true ), 0 );
|
685 |
+
$term_cache[ $setting_key ][ $current_parent ][ $path_name ] = $path_term;
|
686 |
+
$current_parent = absint( $path_term['term_id'] );
|
687 |
+
|
688 |
+
if ( $assign_parents ) {
|
689 |
+
$assign_parents_entry = $current_parent;
|
690 |
+
}
|
691 |
+
}
|
692 |
+
} // foreach path component
|
693 |
+
|
694 |
+
// Finally, create a public entry based on the (path and) name as entered
|
695 |
+
MLAOptions::$mla_term_cache[ $setting_key ][ $term_parent ][ $term_name ] = $current_parent;
|
696 |
+
} // foreach term name
|
697 |
+
|
698 |
+
// Create an entry with an unlikely name for the Rule Parent, if selected
|
699 |
+
if ( $assign_rule_parent && isset( $rule_parent[ $setting_key ] ) ) {
|
700 |
+
MLAOptions::$mla_term_cache[ $setting_key ][ $term_parent ]['rule_parent-term'] = $rule_parent[ $setting_key ]->term_id;
|
701 |
+
$new_text[] = 'rule_parent-term';
|
702 |
+
}
|
703 |
+
|
704 |
+
error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_new_text_filter( {$setting_key}, {$post_id}, {$category} ) mla term cache = " . var_export( MLAOptions::$mla_term_cache, true ), 0 );
|
705 |
+
return $new_text;
|
706 |
+
} // mla_mapping_new_text_filter
|
707 |
+
|
708 |
+
/**
|
709 |
+
* MLA Mapping Updates Filter
|
710 |
+
*
|
711 |
+
* This filter is called AFTER all mapping rules are applied.
|
712 |
+
* You can add, change or remove updates for the attachment's
|
713 |
+
* standard fields, taxonomies and/or custom fields.
|
714 |
+
*
|
715 |
+
* @since 1.00
|
716 |
+
*
|
717 |
+
* @param array updates for the attachment's standard fields, taxonomies and/or custom fields
|
718 |
+
* @param integer post ID to be evaluated
|
719 |
+
* @param string category/scope to evaluate against: custom_field_mapping or single_attachment_mapping
|
720 |
+
* @param array mapping rules
|
721 |
+
* @param array attachment_metadata, default NULL
|
722 |
+
*
|
723 |
+
* @return array updated attachment's updates
|
724 |
+
*/
|
725 |
+
public static function mla_mapping_updates( $updates, $post_id, $category, $settings, $attachment_metadata ) {
|
726 |
+
error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_updates_filter( {$post_id}, {$category} ) updates = " . var_export( $updates, true ), 0 );
|
727 |
+
error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_updates_filter( {$post_id}, {$category} ) settings = " . var_export( $settings, true ), 0 );
|
728 |
+
//error_log( __LINE__ . " MLAPathMappingExample::mla_mapping_updates_filter( {$post_id}, {$category} ) attachment_metadata = " . var_export( $attachment_metadata, true ), 0 );
|
729 |
+
|
730 |
+
// To stop this rule's updates, return an empty array, i.e., return array();
|
731 |
+
return $updates;
|
732 |
+
} // mla_mapping_updates_filter
|
733 |
+
} //MLAPathMappingExample
|
734 |
+
|
735 |
+
/*
|
736 |
+
* Install the filters at an early opportunity
|
737 |
+
*/
|
738 |
+
add_action('init', 'MLAPathMappingExample::initialize');
|
739 |
+
?>
|
examples/plugins/mla-uploaded-on-example.php
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Reformats Media/Assistant column display for Uploaded on and Modified dates
|
4 |
+
*
|
5 |
+
* In this example the MLA_List_Table class is extended to replace the default content for two
|
6 |
+
* of the columns in the Media/Assistant submenu table.
|
7 |
+
*
|
8 |
+
* The example plugin uses one of the many filters available in the Media/Assistant Submenu
|
9 |
+
* and illustrates one of the techniques you can use to customize the submenu table display.
|
10 |
+
*
|
11 |
+
* Created for support topic "Sorting a gallery, once again"
|
12 |
+
* opened on 1/14/2018 by "dima-stefantsov)".
|
13 |
+
* https://wordpress.org/support/topic/sorting-a-gallery-once-again/
|
14 |
+
*
|
15 |
+
* @package MLA Uploaded on Example
|
16 |
+
* @version 1.00
|
17 |
+
*/
|
18 |
+
|
19 |
+
/*
|
20 |
+
Plugin Name: MLA Uploaded on Example
|
21 |
+
Plugin URI: http://fairtradejudaica.org/media-library-assistant-a-wordpress-plugin/
|
22 |
+
Description: Reformats Media/Assistant column display for Uploaded on and Modified dates
|
23 |
+
Author: David Lingren
|
24 |
+
Version: 1.00
|
25 |
+
Author URI: http://fairtradejudaica.org/our-story/staff/
|
26 |
+
|
27 |
+
Copyright 2018 David Lingren
|
28 |
+
|
29 |
+
This program is free software; you can redistribute it and/or modify
|
30 |
+
it under the terms of the GNU General Public License as published by
|
31 |
+
the Free Software Foundation; either version 2 of the License, or
|
32 |
+
(at your option) any later version.
|
33 |
+
|
34 |
+
This program is distributed in the hope that it will be useful,
|
35 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
36 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
37 |
+
GNU General Public License for more details.
|
38 |
+
|
39 |
+
You can get a copy of the GNU General Public License by writing to the
|
40 |
+
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
|
41 |
+
*/
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Class MLA Custom Field Search Example extends the Media/Assistant "Search Media" box
|
45 |
+
* to custom field values
|
46 |
+
*
|
47 |
+
* @package MLA Custom Field Search Example
|
48 |
+
* @since 1.00
|
49 |
+
*/
|
50 |
+
class MLAUploadedOnExample {
|
51 |
+
/**
|
52 |
+
* Initialization function, similar to __construct()
|
53 |
+
*
|
54 |
+
* @since 1.00
|
55 |
+
*
|
56 |
+
* @return void
|
57 |
+
*/
|
58 |
+
public static function initialize() {
|
59 |
+
// The filters are only useful for the admin section; exit in the front-end posts/pages
|
60 |
+
if ( ! is_admin() )
|
61 |
+
return;
|
62 |
+
|
63 |
+
// Defined in /media-library-assistant/includes/class-mla-main.php
|
64 |
+
add_filter( 'mla_list_table_new_instance', 'MLAUploadedOnExample::mla_list_table_new_instance', 10, 1 );
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Extend the MLA_List_Table class
|
69 |
+
*
|
70 |
+
* This filter gives you an opportunity to extend the MLA_List_Table class.
|
71 |
+
* You can also use this filter to inspect or modify any of the $_REQUEST arguments.
|
72 |
+
*
|
73 |
+
* @since 1.00
|
74 |
+
*
|
75 |
+
* @param object $mla_list_table NULL, to indicate no extension/use the base class.
|
76 |
+
*
|
77 |
+
* @return object updated mla_list_table object.
|
78 |
+
*/
|
79 |
+
public static function mla_list_table_new_instance( $mla_list_table ) {
|
80 |
+
return new Uploaded_On_MLA_List_Table;
|
81 |
+
} // mla_list_table_new_instance
|
82 |
+
} // Class MLAUploadedOnExample
|
83 |
+
|
84 |
+
// This code only works if MLA is installed and active!
|
85 |
+
if ( defined( 'MLA_PLUGIN_PATH' ) ) {
|
86 |
+
// The MLA_List_Table class isn't automatically available to plugins
|
87 |
+
if ( !class_exists( 'MLA_List_Table' ) ) {
|
88 |
+
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-list-table.php' );
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Class MLA (Media Library Assistant) List Table implements the "Assistant" admin submenu
|
93 |
+
*
|
94 |
+
* Extends the core WP_List_Table class.
|
95 |
+
*
|
96 |
+
* @package Media Library Assistant
|
97 |
+
* @since 0.1
|
98 |
+
*/
|
99 |
+
class Uploaded_On_MLA_List_Table extends MLA_List_Table {
|
100 |
+
/**
|
101 |
+
* Supply a fixed-format Uploaded on date/time
|
102 |
+
*
|
103 |
+
* @since 1.00
|
104 |
+
*
|
105 |
+
* @param array A singular attachment (post) object
|
106 |
+
* @return string HTML markup to be placed inside the column
|
107 |
+
*/
|
108 |
+
function column_date( $item ) {
|
109 |
+
global $post;
|
110 |
+
|
111 |
+
$post = $item; // Resolve issue with "The Events Calendar"
|
112 |
+
$date = mysql2date( 'Y-m-d', $item->post_date );
|
113 |
+
$time = mysql2date( 'H:i:s', $item->post_date );
|
114 |
+
|
115 |
+
return $date . '<br /> ' . $time;
|
116 |
+
} // column_date
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Supply the content for a custom column
|
120 |
+
*
|
121 |
+
* @since 1.00
|
122 |
+
*
|
123 |
+
* @param array A singular attachment (post) object
|
124 |
+
* @return string HTML markup to be placed inside the column
|
125 |
+
*/
|
126 |
+
function column_modified( $item ) {
|
127 |
+
$date = mysql2date( 'Y-m-d', $item->post_date );
|
128 |
+
$time = mysql2date( 'H:i:s', $item->post_date );
|
129 |
+
|
130 |
+
return $date . '<br /> ' . $time;
|
131 |
+
} // column_modified
|
132 |
+
} // Uploaded_On_MLA_List_Table
|
133 |
+
|
134 |
+
// Install the filters at an early opportunity
|
135 |
+
add_action('init', 'MLAUploadedOnExample::initialize');
|
136 |
+
} // defined( 'MLA_PLUGIN_PATH' ) )
|
137 |
+
?>
|
examples/plugins/smart-media-categories/admin/includes/class-smc-automatic-support.php
CHANGED
@@ -875,7 +875,7 @@ class SMC_Automatic_Support {
|
|
875 |
// Find old Post assignments
|
876 |
$old_assignments = implode( ',', $old_assignments );
|
877 |
$sql = "SELECT ID FROM {$wpdb->posts}
|
878 |
-
WHERE ID IN ( {$old_assignments} ) AND post_type = {$parent->post_type}";
|
879 |
$old_ids = $wpdb->get_col( $sql );
|
880 |
//error_log( __LINE__ . ' SMC_Automatic_Support::rule_remove_feature $old_ids = ' . var_export( $old_ids, true), 0 );
|
881 |
}
|
875 |
// Find old Post assignments
|
876 |
$old_assignments = implode( ',', $old_assignments );
|
877 |
$sql = "SELECT ID FROM {$wpdb->posts}
|
878 |
+
WHERE ID IN ( {$old_assignments} ) AND post_type = '{$parent->post_type}'";
|
879 |
$old_ids = $wpdb->get_col( $sql );
|
880 |
//error_log( __LINE__ . ' SMC_Automatic_Support::rule_remove_feature $old_ids = ' . var_export( $old_ids, true), 0 );
|
881 |
}
|
includes/class-mla-admin-columns-pro-support-40.php
ADDED
@@ -0,0 +1,307 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Media Library Assistant Admin Columns Pro (plugin) Support
|
4 |
+
*
|
5 |
+
* @package Media Library Assistant
|
6 |
+
* @since 2.50
|
7 |
+
*/
|
8 |
+
defined( 'ABSPATH' ) or die();
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Class Admin Columns Addon MLA (Media Library Assistant) List Screen supports the Admin Columns plugin
|
12 |
+
*
|
13 |
+
* @package Media Library Assistant
|
14 |
+
* @since 2.50
|
15 |
+
*/
|
16 |
+
class ACP_Addon_MLA_ListScreen extends AC_Addon_MLA_ListScreen {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Initializes some properties, installs filters and then
|
20 |
+
* calls the parent constructor to set some default configs.
|
21 |
+
*
|
22 |
+
* @since 2.50
|
23 |
+
*/
|
24 |
+
public function __construct() {
|
25 |
+
parent::__construct();
|
26 |
+
|
27 |
+
add_action( 'acp/column_types', 'ACP_Addon_MLA_ListScreen::inline_column_types', 10, 1 );
|
28 |
+
add_action( 'ac/column_types', 'ACP_Addon_MLA_ListScreen::inline_column_types', 10, 1 );
|
29 |
+
add_filter( 'acp/editing/model', 'ACP_Addon_MLA_ListScreen::add_editing_strategy', 10, 2 );
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Add inline editing columns to Media/Assistant submenu table
|
34 |
+
*
|
35 |
+
* @since 2.52
|
36 |
+
*
|
37 |
+
* @param AC_ListScreen $listscreen
|
38 |
+
*/
|
39 |
+
public static function inline_column_types( $listscreen ) {
|
40 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Title() );
|
41 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Parent() );
|
42 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_MenuOrder() );
|
43 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_AltText() );
|
44 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Caption() );
|
45 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Description() );
|
46 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_MimeType() );
|
47 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Date() );
|
48 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Author() );
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Set MLA-specific inline editing strategy for Admin Columns Pro
|
53 |
+
*
|
54 |
+
* @since 2.50
|
55 |
+
*
|
56 |
+
* @param ACP_Editing_Model $model
|
57 |
+
* @param AC_Column $column
|
58 |
+
*/
|
59 |
+
public static function add_editing_strategy( $model, $column ) {
|
60 |
+
$model->set_strategy( new ACP_Addon_MLA_Editing_Strategy( $model ) );
|
61 |
+
return $model;
|
62 |
+
}
|
63 |
+
} // class ACP_Addon_MLA_ListScreen
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Class Admin Columns Addon MLA (Media Library Assistant) Editing Strategy supports the Admin Columns plugin
|
67 |
+
*
|
68 |
+
* @package Media Library Assistant
|
69 |
+
* @since 2.50
|
70 |
+
*/
|
71 |
+
class ACP_Addon_MLA_Editing_Strategy extends ACP_Editing_Strategy_Post {
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Get the available items on the current page for passing them to JS
|
75 |
+
*
|
76 |
+
* @since 2.50
|
77 |
+
*
|
78 |
+
* @return array Items on the current page ([entry_id] => (array) [entry_data])
|
79 |
+
*/
|
80 |
+
public function get_rows() {
|
81 |
+
$table = $this->column->get_list_screen()->get_list_table();
|
82 |
+
$table->prepare_items();
|
83 |
+
|
84 |
+
return $this->get_editable_rows( $table->items );
|
85 |
+
}
|
86 |
+
} // class ACP_Addon_MLA_Editing_Strategy
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Provides view_settings for MLA's post_title
|
90 |
+
*
|
91 |
+
* @package Media Library Assistant
|
92 |
+
* @since 2.52
|
93 |
+
*/
|
94 |
+
class ACP_Addon_MLA_Editing_Model_Media_Title extends ACP_Editing_Model_Media_Title {
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Remove JavaScript selector settings
|
98 |
+
*/
|
99 |
+
public function get_view_settings() {
|
100 |
+
return array(
|
101 |
+
'type' => 'text',
|
102 |
+
'display_ajax' => false,
|
103 |
+
);
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Provides inline-editing for post_title
|
109 |
+
*
|
110 |
+
* @package Media Library Assistant
|
111 |
+
* @since 2.52
|
112 |
+
*/
|
113 |
+
class ACP_Addon_MLA_Column_Title extends AC_Column_Media_Title
|
114 |
+
implements ACP_Column_EditingInterface {
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Define column properties
|
118 |
+
*/
|
119 |
+
public function __construct() {
|
120 |
+
|
121 |
+
// Mark as an existing column
|
122 |
+
$this->set_original( true );
|
123 |
+
|
124 |
+
// Type of column
|
125 |
+
$this->set_type( 'post_title' );
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Add inline editing support
|
130 |
+
*
|
131 |
+
* @return ACP_Editing_Model_Media_Title
|
132 |
+
*/
|
133 |
+
public function editing() {
|
134 |
+
return new ACP_Addon_MLA_Editing_Model_Media_Title( $this );
|
135 |
+
}
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Removes ACP defaults for parent
|
140 |
+
*
|
141 |
+
* @package Media Library Assistant
|
142 |
+
* @since 2.52
|
143 |
+
*/
|
144 |
+
class ACP_Addon_MLA_Column_Parent extends AC_Column_Media_Parent {
|
145 |
+
/**
|
146 |
+
* Remove default column width
|
147 |
+
*/
|
148 |
+
public function register_settings() {
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Provides inline-editing for menu_order
|
154 |
+
*
|
155 |
+
* @package Media Library Assistant
|
156 |
+
* @since 2.52
|
157 |
+
*/
|
158 |
+
class ACP_Addon_MLA_Column_MenuOrder extends AC_Column
|
159 |
+
implements ACP_Column_EditingInterface {
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Define column properties
|
163 |
+
*/
|
164 |
+
public function __construct() {
|
165 |
+
$this->set_original( true );
|
166 |
+
$this->set_type( 'menu_order' );
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Add inline editing support
|
171 |
+
*
|
172 |
+
* @return ACP_Editing_Model_Post_Order
|
173 |
+
*/
|
174 |
+
public function editing() {
|
175 |
+
return new ACP_Editing_Model_Post_Order( $this );
|
176 |
+
}
|
177 |
+
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Provides inline-editing for alt_text
|
182 |
+
*
|
183 |
+
* @package Media Library Assistant
|
184 |
+
* @since 2.52
|
185 |
+
*/
|
186 |
+
class ACP_Addon_MLA_Column_AltText extends ACP_Column_Media_AlternateText
|
187 |
+
implements ACP_Column_EditingInterface {
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Define column properties
|
191 |
+
*/
|
192 |
+
public function __construct() {
|
193 |
+
$this->set_original( true );
|
194 |
+
$this->set_type( 'alt_text' );
|
195 |
+
}
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Provides inline-editing for caption
|
200 |
+
*
|
201 |
+
* @package Media Library Assistant
|
202 |
+
* @since 2.52
|
203 |
+
*/
|
204 |
+
class ACP_Addon_MLA_Column_Caption extends ACP_Column_Media_Caption
|
205 |
+
implements ACP_Column_EditingInterface {
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Define column properties
|
209 |
+
*/
|
210 |
+
public function __construct() {
|
211 |
+
$this->set_original( true );
|
212 |
+
$this->set_type( 'caption' );
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Provides inline-editing for caption
|
218 |
+
*
|
219 |
+
* @package Media Library Assistant
|
220 |
+
* @since 2.52
|
221 |
+
*/
|
222 |
+
class ACP_Addon_MLA_Column_Description extends AC_Column_Media_Description
|
223 |
+
implements ACP_Column_EditingInterface {
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Define column properties
|
227 |
+
*/
|
228 |
+
public function __construct() {
|
229 |
+
$this->set_original( true );
|
230 |
+
$this->set_type( 'description' );
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Add inline editing support
|
235 |
+
*
|
236 |
+
* @return ACP_Editing_Model_Post_Content
|
237 |
+
*/
|
238 |
+
public function editing() {
|
239 |
+
return new ACP_Editing_Model_Post_Content( $this );
|
240 |
+
}
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* Provides inline-editing for caption
|
245 |
+
*
|
246 |
+
* @package Media Library Assistant
|
247 |
+
* @since 2.52
|
248 |
+
*/
|
249 |
+
class ACP_Addon_MLA_Column_MimeType extends AC_Column_Media_MimeType
|
250 |
+
implements ACP_Column_EditingInterface {
|
251 |
+
|
252 |
+
/**
|
253 |
+
* Define column properties
|
254 |
+
*/
|
255 |
+
public function __construct() {
|
256 |
+
$this->set_original( true );
|
257 |
+
$this->set_type( 'post_mime_type' );
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Add inline editing support
|
262 |
+
*
|
263 |
+
* @return ACP_Editing_Model_Post_Content
|
264 |
+
*/
|
265 |
+
public function editing() {
|
266 |
+
return new ACP_Editing_Model_Media_MimeType( $this );
|
267 |
+
}
|
268 |
+
}
|
269 |
+
|
270 |
+
/**
|
271 |
+
* Removes ACP defaults for date
|
272 |
+
*
|
273 |
+
* @package Media Library Assistant
|
274 |
+
* @since 2.52
|
275 |
+
*/
|
276 |
+
class ACP_Addon_MLA_Column_Date extends ACP_Column_Media_Date {
|
277 |
+
/**
|
278 |
+
* Remove default column width
|
279 |
+
*/
|
280 |
+
public function register_settings() {
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Removes ACP defaults & provides inline-editing for caption
|
286 |
+
*
|
287 |
+
* @package Media Library Assistant
|
288 |
+
* @since 2.52
|
289 |
+
*/
|
290 |
+
class ACP_Addon_MLA_Column_Author extends AC_Column_Media_Author
|
291 |
+
implements ACP_Column_EditingInterface {
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Remove default column width
|
295 |
+
*/
|
296 |
+
public function register_settings() {
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
* Add inline editing support
|
301 |
+
*
|
302 |
+
* @return ACP_Editing_Model_Post_Content
|
303 |
+
*/
|
304 |
+
public function editing() {
|
305 |
+
return new ACP_Editing_Model_Post_Author( $this );
|
306 |
+
}
|
307 |
+
}
|
includes/class-mla-admin-columns-pro-support-42.php
ADDED
@@ -0,0 +1,304 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Media Library Assistant Admin Columns Pro (plugin) Support
|
4 |
+
*
|
5 |
+
* @package Media Library Assistant
|
6 |
+
* @since 2.50
|
7 |
+
*/
|
8 |
+
defined( 'ABSPATH' ) or die();
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Class Admin Columns Addon MLA (Media Library Assistant) List Screen supports the Admin Columns plugin
|
12 |
+
*
|
13 |
+
* @package Media Library Assistant
|
14 |
+
* @since 2.50
|
15 |
+
*/
|
16 |
+
class ACP_Addon_MLA_ListScreen extends AC_Addon_MLA_ListScreen
|
17 |
+
implements ACP_Editing_ListScreen {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Initializes some properties, installs filters and then
|
21 |
+
* calls the parent constructor to set some default configs.
|
22 |
+
*
|
23 |
+
* @since 2.50
|
24 |
+
*/
|
25 |
+
public function __construct() {
|
26 |
+
parent::__construct();
|
27 |
+
|
28 |
+
add_action( 'ac/column_types', 'ACP_Addon_MLA_ListScreen::inline_column_types', 10, 1 );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Add inline editing columns to Media/Assistant submenu table
|
33 |
+
*
|
34 |
+
* @since 2.52
|
35 |
+
*
|
36 |
+
* @param AC_ListScreen $listscreen
|
37 |
+
*/
|
38 |
+
public static function inline_column_types( $listscreen ) {
|
39 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Title() );
|
40 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Parent() );
|
41 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_MenuOrder() );
|
42 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_AltText() );
|
43 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Caption() );
|
44 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Description() );
|
45 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_MimeType() );
|
46 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Date() );
|
47 |
+
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Author() );
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Set MLA-specific inline editing strategy for Admin Columns Pro
|
52 |
+
*
|
53 |
+
* @since 2.71
|
54 |
+
*
|
55 |
+
* @param ACP_Editing_Model $model
|
56 |
+
*/
|
57 |
+
public function editing( $model ) {
|
58 |
+
return new ACP_Addon_MLA_Editing_Strategy( $model );
|
59 |
+
}
|
60 |
+
} // class ACP_Addon_MLA_ListScreen
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Class Admin Columns Addon MLA (Media Library Assistant) Editing Strategy supports the Admin Columns plugin
|
64 |
+
*
|
65 |
+
* @package Media Library Assistant
|
66 |
+
* @since 2.50
|
67 |
+
*/
|
68 |
+
class ACP_Addon_MLA_Editing_Strategy extends ACP_Editing_Strategy_Post {
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Get the available items on the current page for passing them to JS
|
72 |
+
*
|
73 |
+
* @since 2.50
|
74 |
+
*
|
75 |
+
* @return array Items on the current page ([entry_id] => (array) [entry_data])
|
76 |
+
*/
|
77 |
+
public function get_rows() {
|
78 |
+
$table = $this->get_column()->get_list_screen()->get_list_table();
|
79 |
+
$table->prepare_items();
|
80 |
+
|
81 |
+
return $this->get_editable_rows( $table->items );
|
82 |
+
}
|
83 |
+
} // class ACP_Addon_MLA_Editing_Strategy
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Provides view_settings for MLA's post_title
|
87 |
+
*
|
88 |
+
* @package Media Library Assistant
|
89 |
+
* @since 2.52
|
90 |
+
*/
|
91 |
+
class ACP_Addon_MLA_Editing_Model_Media_Title extends ACP_Editing_Model_Media_Title {
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Remove JavaScript selector settings
|
95 |
+
*/
|
96 |
+
public function get_view_settings() {
|
97 |
+
return array(
|
98 |
+
'type' => 'text',
|
99 |
+
'display_ajax' => false,
|
100 |
+
);
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Provides inline-editing for post_title
|
106 |
+
*
|
107 |
+
* @package Media Library Assistant
|
108 |
+
* @since 2.52
|
109 |
+
*/
|
110 |
+
class ACP_Addon_MLA_Column_Title extends AC_Column_Media_Title
|
111 |
+
implements ACP_Column_EditingInterface {
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Define column properties
|
115 |
+
*/
|
116 |
+
public function __construct() {
|
117 |
+
|
118 |
+
// Mark as an existing column
|
119 |
+
$this->set_original( true );
|
120 |
+
|
121 |
+
// Type of column
|
122 |
+
$this->set_type( 'post_title' );
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Add inline editing support
|
127 |
+
*
|
128 |
+
* @return ACP_Editing_Model_Media_Title
|
129 |
+
*/
|
130 |
+
public function editing() {
|
131 |
+
return new ACP_Addon_MLA_Editing_Model_Media_Title( $this );
|
132 |
+
}
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Removes ACP defaults for parent
|
137 |
+
*
|
138 |
+
* @package Media Library Assistant
|
139 |
+
* @since 2.52
|
140 |
+
*/
|
141 |
+
class ACP_Addon_MLA_Column_Parent extends AC_Column_Media_Parent {
|
142 |
+
/**
|
143 |
+
* Remove default column width
|
144 |
+
*/
|
145 |
+
public function register_settings() {
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Provides inline-editing for menu_order
|
151 |
+
*
|
152 |
+
* @package Media Library Assistant
|
153 |
+
* @since 2.52
|
154 |
+
*/
|
155 |
+
class ACP_Addon_MLA_Column_MenuOrder extends AC_Column
|
156 |
+
implements ACP_Column_EditingInterface {
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Define column properties
|
160 |
+
*/
|
161 |
+
public function __construct() {
|
162 |
+
$this->set_original( true );
|
163 |
+
$this->set_type( 'menu_order' );
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Add inline editing support
|
168 |
+
*
|
169 |
+
* @return ACP_Editing_Model_Post_Order
|
170 |
+
*/
|
171 |
+
public function editing() {
|
172 |
+
return new ACP_Editing_Model_Post_Order( $this );
|
173 |
+
}
|
174 |
+
|
175 |
+
}
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Provides inline-editing for alt_text
|
179 |
+
*
|
180 |
+
* @package Media Library Assistant
|
181 |
+
* @since 2.52
|
182 |
+
*/
|
183 |
+
class ACP_Addon_MLA_Column_AltText extends ACP_Column_Media_AlternateText
|
184 |
+
implements ACP_Column_EditingInterface {
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Define column properties
|
188 |
+
*/
|
189 |
+
public function __construct() {
|
190 |
+
$this->set_original( true );
|
191 |
+
$this->set_type( 'alt_text' );
|
192 |
+
}
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Provides inline-editing for caption
|
197 |
+
*
|
198 |
+
* @package Media Library Assistant
|
199 |
+
* @since 2.52
|
200 |
+
*/
|
201 |
+
class ACP_Addon_MLA_Column_Caption extends ACP_Column_Media_Caption
|
202 |
+
implements ACP_Column_EditingInterface {
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Define column properties
|
206 |
+
*/
|
207 |
+
public function __construct() {
|
208 |
+
$this->set_original( true );
|
209 |
+
$this->set_type( 'caption' );
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Provides inline-editing for caption
|
215 |
+
*
|
216 |
+
* @package Media Library Assistant
|
217 |
+
* @since 2.52
|
218 |
+
*/
|
219 |
+
class ACP_Addon_MLA_Column_Description extends AC_Column_Media_Description
|
220 |
+
implements ACP_Column_EditingInterface {
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Define column properties
|
224 |
+
*/
|
225 |
+
public function __construct() {
|
226 |
+
$this->set_original( true );
|
227 |
+
$this->set_type( 'description' );
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* Add inline editing support
|
232 |
+
*
|
233 |
+
* @return ACP_Editing_Model_Post_Content
|
234 |
+
*/
|
235 |
+
public function editing() {
|
236 |
+
return new ACP_Editing_Model_Post_Content( $this );
|
237 |
+
}
|
238 |
+
}
|
239 |
+
|
240 |
+
/**
|
241 |
+
* Provides inline-editing for caption
|
242 |
+
*
|
243 |
+
* @package Media Library Assistant
|
244 |
+
* @since 2.52
|
245 |
+
*/
|
246 |
+
class ACP_Addon_MLA_Column_MimeType extends AC_Column_Media_MimeType
|
247 |
+
implements ACP_Column_EditingInterface {
|
248 |
+
|
249 |
+
/**
|
250 |
+
* Define column properties
|
251 |
+
*/
|
252 |
+
public function __construct() {
|
253 |
+
$this->set_original( true );
|
254 |
+
$this->set_type( 'post_mime_type' );
|
255 |
+
}
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Add inline editing support
|
259 |
+
*
|
260 |
+
* @return ACP_Editing_Model_Post_Content
|
261 |
+
*/
|
262 |
+
public function editing() {
|
263 |
+
return new ACP_Editing_Model_Media_MimeType( $this );
|
264 |
+
}
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* Removes ACP defaults for date
|
269 |
+
*
|
270 |
+
* @package Media Library Assistant
|
271 |
+
* @since 2.52
|
272 |
+
*/
|
273 |
+
class ACP_Addon_MLA_Column_Date extends ACP_Column_Media_Date {
|
274 |
+
/**
|
275 |
+
* Remove default column width
|
276 |
+
*/
|
277 |
+
public function register_settings() {
|
278 |
+
}
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Removes ACP defaults & provides inline-editing for caption
|
283 |
+
*
|
284 |
+
* @package Media Library Assistant
|
285 |
+
* @since 2.52
|
286 |
+
*/
|
287 |
+
class ACP_Addon_MLA_Column_Author extends AC_Column_Media_Author
|
288 |
+
implements ACP_Column_EditingInterface {
|
289 |
+
|
290 |
+
/**
|
291 |
+
* Remove default column width
|
292 |
+
*/
|
293 |
+
public function register_settings() {
|
294 |
+
}
|
295 |
+
|
296 |
+
/**
|
297 |
+
* Add inline editing support
|
298 |
+
*
|
299 |
+
* @return ACP_Editing_Model_Post_Content
|
300 |
+
*/
|
301 |
+
public function editing() {
|
302 |
+
return new ACP_Editing_Model_Post_Author( $this );
|
303 |
+
}
|
304 |
+
}
|
includes/class-mla-admin-columns-pro-support.php
ADDED
@@ -0,0 +1,1411 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Media Library Assistant Admin Columns Pro (plugin) Support
|
4 |
+
*
|
5 |
+
* @package Media Library Assistant
|
6 |
+
* @since 2.71
|
7 |
+
*/
|
8 |
+
defined( 'ABSPATH' ) or die();
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Class Admin Columns Addon MLA (Media Library Assistant) List Screen supports the Admin Columns plugin
|
12 |
+
*
|
13 |
+
* @package Media Library Assistant
|
14 |
+
* @since 2.71
|
15 |
+
*/
|
16 |
+
class ACP_Addon_MLA_ListScreen extends AC_Addon_MLA_ListScreen
|
17 |
+
implements ACP_Editing_ListScreen, ACP_Export_ListScreen {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Initializes some properties, installs filters and then
|
21 |
+
* calls the parent constructor to set some default configs.
|
22 |
+
*
|
23 |
+
* @since 2.71
|
24 |
+
*/
|
25 |
+
public function __construct() {
|
26 |
+
parent::__construct();
|
27 |
+
|
28 |
+
add_action( 'ac/table/list_screen', array( $this, 'export_table_global' ) );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Set MLA-specific inline editing strategy for Admin Columns Pro
|
33 |
+
*
|
34 |
+
* @since 2.71
|
35 |
+
*
|
36 |
+
* @param ACP_Editing_Model $model
|
37 |
+
*/
|
38 |
+
public function editing( $model ) {
|
39 |
+
return new ACP_Addon_MLA_Editing_Strategy( $model );
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Create and populate an MLA_List_Table object in the $wp_list_table global variable
|
44 |
+
*
|
45 |
+
* When exporting the same page is being requested by an ajax request and triggers the filter 'the_posts'.
|
46 |
+
* The callback for this filter will print a json string. This needs to be done before any rendering of the page.
|
47 |
+
*
|
48 |
+
* Also, export needs the $GLOBALS['wp_list_table'] to be populated for displaying the export button.
|
49 |
+
*
|
50 |
+
* @since 2.71
|
51 |
+
*
|
52 |
+
* @param AC_ListScreen $list_screen
|
53 |
+
*/
|
54 |
+
public function export_table_global( AC_ListScreen $list_screen ) {
|
55 |
+
global $wp_list_table;
|
56 |
+
|
57 |
+
if ( ! $list_screen instanceof ACP_Addon_MLA_ListScreen ) {
|
58 |
+
return;
|
59 |
+
}
|
60 |
+
|
61 |
+
if ( ! class_exists( 'MLA_List_Table' ) ) {
|
62 |
+
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-list-table.php' );
|
63 |
+
MLA_List_Table::mla_admin_init_action();
|
64 |
+
}
|
65 |
+
|
66 |
+
if ( $wp_list_table instanceof MLA_List_Table ) {
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
$wp_list_table = new MLA_List_Table();
|
71 |
+
$wp_list_table->prepare_items();
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Set MLA-specific export strategy for Admin Columns Pro
|
76 |
+
*
|
77 |
+
* @since 2.71
|
78 |
+
*/
|
79 |
+
public function export() {
|
80 |
+
return new ACP_Addon_MLA_Export_Strategy( $this );
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Register MLA-specific column definitions for Admin Columns Pro
|
85 |
+
*
|
86 |
+
* @since 2.71
|
87 |
+
*/
|
88 |
+
public function register_column_types() {
|
89 |
+
parent::register_column_types();
|
90 |
+
|
91 |
+
// $this->register_column_type( new ACP_Column_CustomField ); Tobias 3/1/18 message
|
92 |
+
// $this->register_column_type( new ACP_Colmn_Menu ); Tobias 3/1/18 message
|
93 |
+
|
94 |
+
// Autoload the CustomField class if necessary
|
95 |
+
if ( class_exists( 'ACP_Column_CustomField' ) ) {
|
96 |
+
$this->register_column_type( new ACP_Column_CustomField );
|
97 |
+
}
|
98 |
+
|
99 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_ID_Parent );
|
100 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Title_Name() );
|
101 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Title() );
|
102 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Name() );
|
103 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Parent() );
|
104 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_MenuOrder() );
|
105 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Features() );
|
106 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Inserts() );
|
107 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Galleries() );
|
108 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_MLA_Galleries() );
|
109 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_AltText() );
|
110 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Caption() );
|
111 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Description() );
|
112 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_MimeType() );
|
113 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_FileURL() );
|
114 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Base_File() );
|
115 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Date() );
|
116 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Modified() );
|
117 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Author() );
|
118 |
+
$this->register_column_type( new ACP_Addon_MLA_Column_Attached() );
|
119 |
+
|
120 |
+
// Set up the taxonomy column definitions
|
121 |
+
$taxonomies = get_taxonomies( array ( 'show_ui' => true ), 'names' );
|
122 |
+
foreach ( $taxonomies as $tax_name ) {
|
123 |
+
if ( MLACore::mla_taxonomy_support( $tax_name ) ) {
|
124 |
+
$tax_object = get_taxonomy( $tax_name );
|
125 |
+
$column = new ACP_Addon_MLA_Column_Taxonomy();
|
126 |
+
$column->set_type( 't_' . $tax_object->name );
|
127 |
+
|
128 |
+
$this->register_column_type( $column );
|
129 |
+
} // supported taxonomy
|
130 |
+
} // foreach $tax_name
|
131 |
+
|
132 |
+
// Set up the custom field definitions
|
133 |
+
$custom_columns = MLACore::mla_custom_field_support( 'custom_columns' );
|
134 |
+
foreach ( $custom_columns as $type => $label ) {
|
135 |
+
$column = new ACP_Addon_MLA_Column_CustomField();
|
136 |
+
$column->set_type( $type );
|
137 |
+
$column->set_name( $type );
|
138 |
+
$column->set_label( $label );
|
139 |
+
|
140 |
+
$this->register_column_type( $column );
|
141 |
+
} // foreach custom column
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Return list table item object given ID
|
146 |
+
*
|
147 |
+
* @param integer $id List table item ID
|
148 |
+
*
|
149 |
+
* @since 2.71
|
150 |
+
*/
|
151 |
+
public static function get_item( $id ) {
|
152 |
+
global $wp_list_table;
|
153 |
+
|
154 |
+
if ( $wp_list_table instanceof MLA_List_Table ) {
|
155 |
+
foreach ( $wp_list_table->items as $index => $item ) {
|
156 |
+
if ( $id == $item->ID ) {
|
157 |
+
return $item;
|
158 |
+
}
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
return AC_Addon_MLA_ListScreen::get_object( $id );
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Translate post_status 'future', 'pending', 'draft' and 'trash' to label
|
167 |
+
*
|
168 |
+
* @since 2.01
|
169 |
+
*
|
170 |
+
* @param string post_status
|
171 |
+
*
|
172 |
+
* @return string Status label or empty string
|
173 |
+
*/
|
174 |
+
public static function format_post_status( $post_status ) {
|
175 |
+
$flag = ', ';
|
176 |
+
switch ( $post_status ) {
|
177 |
+
case 'draft' :
|
178 |
+
$flag .= __('Draft');
|
179 |
+
break;
|
180 |
+
case 'future' :
|
181 |
+
$flag .= __('Scheduled');
|
182 |
+
break;
|
183 |
+
case 'pending' :
|
184 |
+
$flag .= _x('Pending', 'post state');
|
185 |
+
break;
|
186 |
+
case 'trash' :
|
187 |
+
$flag .= __('Trash');
|
188 |
+
break;
|
189 |
+
default:
|
190 |
+
$flag = '';
|
191 |
+
}
|
192 |
+
|
193 |
+
return $flag;
|
194 |
+
}
|
195 |
+
|
196 |
+
} // class ACP_Addon_MLA_ListScreen
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Exportability class for posts list screen
|
200 |
+
*
|
201 |
+
* @since 2.71
|
202 |
+
*/
|
203 |
+
class ACP_Addon_MLA_Export_Strategy extends ACP_Export_Strategy {
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Call parent constructor
|
207 |
+
*
|
208 |
+
* @param AC_ListScreen $list_screen
|
209 |
+
*/
|
210 |
+
public function __construct( $list_screen ) {
|
211 |
+
parent::__construct( $list_screen );
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* Retrieve the headers for the columns
|
216 |
+
*
|
217 |
+
* @param AC_Column[] $columns
|
218 |
+
*
|
219 |
+
* @since 1.0
|
220 |
+
* @return string[] Associative array of header labels for the columns.
|
221 |
+
*/
|
222 |
+
public function get_headers( array $columns ) {
|
223 |
+
$headers = parent::get_headers( $columns );
|
224 |
+
|
225 |
+
// Fix the first header to avoid MS Excel SYLK file format error
|
226 |
+
foreach ( $headers as $name => $label ) {
|
227 |
+
if ( 'ID' === substr( $label, 0, 2) ) {
|
228 |
+
$headers[ $name ] = '.' . $label;
|
229 |
+
}
|
230 |
+
|
231 |
+
break; // Only the first label matters
|
232 |
+
}
|
233 |
+
|
234 |
+
return $headers;
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Add hooks for MLA_List_table to support AJAX export operation
|
239 |
+
*
|
240 |
+
* @since 2.71
|
241 |
+
* @see ACP_Export_ExportableListScreen::ajax_export()
|
242 |
+
*/
|
243 |
+
protected function ajax_export() {
|
244 |
+
// Hooks
|
245 |
+
add_filter( 'mla_list_table_query_final_terms', array( $this, 'mla_list_table_query_final_terms' ), 1e6 );
|
246 |
+
add_action( 'mla_list_table_prepare_items', array( $this, 'mla_list_table_prepare_items' ), 10, 2 );
|
247 |
+
}
|
248 |
+
|
249 |
+
/**
|
250 |
+
* Modify the main posts query to use the correct pagination arguments. This should be attached
|
251 |
+
* to the pre_get_posts hook when an AJAX request is sent
|
252 |
+
*
|
253 |
+
* @param WP_Query $request
|
254 |
+
*
|
255 |
+
* @since 2.71
|
256 |
+
* @see action:pre_get_posts
|
257 |
+
*/
|
258 |
+
public function mla_list_table_query_final_terms( $request ) {
|
259 |
+
$per_page = $this->get_num_items_per_iteration();
|
260 |
+
$request['offset'] = $this->get_export_counter() * $per_page;
|
261 |
+
$request['posts_per_page'] = $per_page;
|
262 |
+
$request['posts_per_archive_page'] = $per_page;
|
263 |
+
|
264 |
+
return $request;
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* Run the actual export when the posts query is finalized. This should be attached to the
|
269 |
+
* the_posts filter when an AJAX request is run
|
270 |
+
*
|
271 |
+
* @param WP_Query $query
|
272 |
+
*
|
273 |
+
* @since 2.71
|
274 |
+
* @see action:the_posts
|
275 |
+
*/
|
276 |
+
public function mla_list_table_prepare_items( $query ) {
|
277 |
+
$this->export( wp_list_pluck( $query->items, 'ID' ) );
|
278 |
+
}
|
279 |
+
} // class ACP_Addon_MLA_Export_Strategy
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Class Admin Columns Addon MLA (Media Library Assistant) Editing Strategy supports the Admin Columns plugin
|
283 |
+
*
|
284 |
+
* @package Media Library Assistant
|
285 |
+
* @since 2.71
|
286 |
+
*/
|
287 |
+
class ACP_Addon_MLA_Editing_Strategy extends ACP_Editing_Strategy_Post {
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Get the available items on the current page for passing them to JS
|
291 |
+
*
|
292 |
+
* @since 2.71
|
293 |
+
*
|
294 |
+
* @return array Items on the current page ([entry_id] => (array) [entry_data])
|
295 |
+
*/
|
296 |
+
public function get_rows() {
|
297 |
+
global $wp_list_table;
|
298 |
+
|
299 |
+
// Re-execute the query because the table object can be shared with custom plugins using the MLA filters/actions
|
300 |
+
$wp_list_table->prepare_items();
|
301 |
+
|
302 |
+
return $this->get_editable_rows( $wp_list_table->items );
|
303 |
+
}
|
304 |
+
} // class ACP_Addon_MLA_Editing_Strategy
|
305 |
+
|
306 |
+
/**
|
307 |
+
* Provides view_settings for MLA's post_title
|
308 |
+
*
|
309 |
+
* @package Media Library Assistant
|
310 |
+
* @since 2.52
|
311 |
+
*/
|
312 |
+
class ACP_Addon_MLA_Editing_Model_Media_Title extends ACP_Editing_Model_Media_Title {
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Remove JavaScript selector settings
|
316 |
+
*/
|
317 |
+
public function get_view_settings() {
|
318 |
+
return array(
|
319 |
+
'type' => 'text',
|
320 |
+
'display_ajax' => false,
|
321 |
+
);
|
322 |
+
}
|
323 |
+
}
|
324 |
+
|
325 |
+
/**
|
326 |
+
* Provides export for ID portion of ID/Parent
|
327 |
+
*
|
328 |
+
* @package Media Library Assistant
|
329 |
+
* @since 2.71
|
330 |
+
*/
|
331 |
+
class ACP_Addon_MLA_Column_ID_Parent extends AC_Column
|
332 |
+
implements ACP_Export_Column {
|
333 |
+
|
334 |
+
/**
|
335 |
+
* Define column properties
|
336 |
+
*/
|
337 |
+
public function __construct() {
|
338 |
+
// Mark as an existing column
|
339 |
+
$this->set_original( true );
|
340 |
+
|
341 |
+
// Type of column
|
342 |
+
$this->set_type( 'ID_parent' );
|
343 |
+
}
|
344 |
+
|
345 |
+
/**
|
346 |
+
* Support export
|
347 |
+
*/
|
348 |
+
public function export() {
|
349 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
350 |
+
}
|
351 |
+
|
352 |
+
/**
|
353 |
+
* Supply value for export
|
354 |
+
*
|
355 |
+
* @param integer $id MLA_List_table item ID
|
356 |
+
*/
|
357 |
+
public function get_raw_value( $id ) {
|
358 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
359 |
+
return $item->ID;
|
360 |
+
}
|
361 |
+
}
|
362 |
+
|
363 |
+
/**
|
364 |
+
* Provides export for Name (slug)
|
365 |
+
*
|
366 |
+
* @package Media Library Assistant
|
367 |
+
* @since 2.71
|
368 |
+
*/
|
369 |
+
class ACP_Addon_MLA_Column_Title_Name extends AC_Column
|
370 |
+
implements ACP_Export_Column {
|
371 |
+
|
372 |
+
/**
|
373 |
+
* Define column properties
|
374 |
+
*/
|
375 |
+
public function __construct() {
|
376 |
+
$this->set_original( true );
|
377 |
+
$this->set_type( 'title_name' );
|
378 |
+
}
|
379 |
+
|
380 |
+
/**
|
381 |
+
* Support export
|
382 |
+
*/
|
383 |
+
public function export() {
|
384 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
385 |
+
}
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Supply value for export
|
389 |
+
*
|
390 |
+
* @param integer $id MLA_List_table item ID
|
391 |
+
*/
|
392 |
+
public function get_raw_value( $id ) {
|
393 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
394 |
+
$errors = $item->mla_references['parent_errors'];
|
395 |
+
if ( '(' . __( 'NO REFERENCE TESTS', 'media-library-assistant' ) . ')' == $errors ) {
|
396 |
+
$errors = '';
|
397 |
+
}
|
398 |
+
$format = "%1\$s\n%2\$s\n%3\$s";
|
399 |
+
return sprintf( $format, _draft_or_post_title( $item ), esc_attr( $item->post_name ), $errors );
|
400 |
+
}
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Provides inline-editing, export for post_title
|
405 |
+
*
|
406 |
+
* @package Media Library Assistant
|
407 |
+
* @since 2.52
|
408 |
+
* @since 2.71 Added export
|
409 |
+
*/
|
410 |
+
class ACP_Addon_MLA_Column_Title extends AC_Column_Media_Title
|
411 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
412 |
+
|
413 |
+
/**
|
414 |
+
* Define column properties
|
415 |
+
*/
|
416 |
+
public function __construct() {
|
417 |
+
$this->set_original( true );
|
418 |
+
$this->set_type( 'post_title' );
|
419 |
+
}
|
420 |
+
|
421 |
+
/**
|
422 |
+
* Add inline editing support
|
423 |
+
*
|
424 |
+
* @return ACP_Editing_Model_Media_Title
|
425 |
+
*/
|
426 |
+
public function editing() {
|
427 |
+
return new ACP_Addon_MLA_Editing_Model_Media_Title( $this );
|
428 |
+
}
|
429 |
+
|
430 |
+
/**
|
431 |
+
* Support export
|
432 |
+
*/
|
433 |
+
public function export() {
|
434 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
435 |
+
}
|
436 |
+
|
437 |
+
/**
|
438 |
+
* Supply value for export
|
439 |
+
*
|
440 |
+
* @param integer $id MLA_List_table item ID
|
441 |
+
*/
|
442 |
+
public function get_raw_value( $id ) {
|
443 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
444 |
+
return (string) $item->post_title;
|
445 |
+
}
|
446 |
+
}
|
447 |
+
|
448 |
+
/**
|
449 |
+
* Provides export for Name (slug)
|
450 |
+
*
|
451 |
+
* @package Media Library Assistant
|
452 |
+
* @since 2.71
|
453 |
+
*/
|
454 |
+
class ACP_Addon_MLA_Column_Name extends AC_Column
|
455 |
+
implements ACP_Export_Column {
|
456 |
+
|
457 |
+
/**
|
458 |
+
* Define column properties
|
459 |
+
*/
|
460 |
+
public function __construct() {
|
461 |
+
$this->set_original( true );
|
462 |
+
$this->set_type( 'post_name' );
|
463 |
+
}
|
464 |
+
|
465 |
+
/**
|
466 |
+
* Support export
|
467 |
+
*/
|
468 |
+
public function export() {
|
469 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
470 |
+
}
|
471 |
+
|
472 |
+
/**
|
473 |
+
* Supply value for export
|
474 |
+
*
|
475 |
+
* @param integer $id MLA_List_table item ID
|
476 |
+
*/
|
477 |
+
public function get_raw_value( $id ) {
|
478 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
479 |
+
return (string) $item->post_name;
|
480 |
+
}
|
481 |
+
}
|
482 |
+
|
483 |
+
/**
|
484 |
+
* Removes ACP defaults, provides export for post_parent
|
485 |
+
*
|
486 |
+
* @package Media Library Assistant
|
487 |
+
* @since 2.52
|
488 |
+
* @since 2.71 Added export
|
489 |
+
*/
|
490 |
+
class ACP_Addon_MLA_Column_Parent extends AC_Column_Media_Parent
|
491 |
+
implements ACP_Export_Column {
|
492 |
+
/**
|
493 |
+
* Remove default column width
|
494 |
+
*/
|
495 |
+
public function register_settings() {
|
496 |
+
}
|
497 |
+
|
498 |
+
/**
|
499 |
+
* Support export
|
500 |
+
*/
|
501 |
+
public function export() {
|
502 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
503 |
+
}
|
504 |
+
|
505 |
+
/**
|
506 |
+
* Supply value for export
|
507 |
+
*
|
508 |
+
* @param integer $id MLA_List_table item ID
|
509 |
+
*/
|
510 |
+
public function get_raw_value( $id ) {
|
511 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
512 |
+
return (string) $item->post_parent;
|
513 |
+
}
|
514 |
+
}
|
515 |
+
|
516 |
+
/**
|
517 |
+
* Provides inline-editing, export for menu_order
|
518 |
+
*
|
519 |
+
* @package Media Library Assistant
|
520 |
+
* @since 2.52
|
521 |
+
* @since 2.71 Added export
|
522 |
+
*/
|
523 |
+
class ACP_Addon_MLA_Column_MenuOrder extends AC_Column
|
524 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
525 |
+
|
526 |
+
/**
|
527 |
+
* Define column properties
|
528 |
+
*/
|
529 |
+
public function __construct() {
|
530 |
+
$this->set_original( true );
|
531 |
+
$this->set_type( 'menu_order' );
|
532 |
+
}
|
533 |
+
|
534 |
+
/**
|
535 |
+
* Add inline editing support
|
536 |
+
*
|
537 |
+
* @return ACP_Editing_Model_Post_Order
|
538 |
+
*/
|
539 |
+
public function editing() {
|
540 |
+
return new ACP_Editing_Model_Post_Order( $this );
|
541 |
+
}
|
542 |
+
|
543 |
+
/**
|
544 |
+
* Support export
|
545 |
+
*/
|
546 |
+
public function export() {
|
547 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
548 |
+
}
|
549 |
+
|
550 |
+
/**
|
551 |
+
* Supply value for export
|
552 |
+
*
|
553 |
+
* @param integer $id MLA_List_table item ID
|
554 |
+
*/
|
555 |
+
public function get_raw_value( $id ) {
|
556 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
557 |
+
return (string) $item->menu_order;
|
558 |
+
}
|
559 |
+
}
|
560 |
+
|
561 |
+
/**
|
562 |
+
* Provides export for Featured in
|
563 |
+
*
|
564 |
+
* @package Media Library Assistant
|
565 |
+
* @since 2.71
|
566 |
+
*/
|
567 |
+
class ACP_Addon_MLA_Column_Features extends AC_Column
|
568 |
+
implements ACP_Export_Column {
|
569 |
+
|
570 |
+
/**
|
571 |
+
* Define column properties
|
572 |
+
*/
|
573 |
+
public function __construct() {
|
574 |
+
$this->set_original( true );
|
575 |
+
$this->set_type( 'featured' );
|
576 |
+
}
|
577 |
+
|
578 |
+
/**
|
579 |
+
* Support export
|
580 |
+
*/
|
581 |
+
public function export() {
|
582 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
583 |
+
}
|
584 |
+
|
585 |
+
/**
|
586 |
+
* Supply value for export
|
587 |
+
*
|
588 |
+
* @param integer $id MLA_List_table item ID
|
589 |
+
*/
|
590 |
+
public function get_raw_value( $id ) {
|
591 |
+
if ( !MLACore::$process_featured_in ) {
|
592 |
+
return __( 'Disabled', 'media-library-assistant' );
|
593 |
+
}
|
594 |
+
|
595 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
596 |
+
|
597 |
+
// Move parent to the top of the list
|
598 |
+
$features = $item->mla_references['features'];
|
599 |
+
if ( isset( $features[ $item->post_parent ] ) ) {
|
600 |
+
$parent = $features[ $item->post_parent ];
|
601 |
+
unset( $features[ $item->post_parent ] );
|
602 |
+
array_unshift( $features, $parent );
|
603 |
+
}
|
604 |
+
|
605 |
+
$format = "%1\$s (%2\$s %3\$s%4\$s%5\$s),\n";
|
606 |
+
$value = '';
|
607 |
+
foreach ( $features as $feature ) {
|
608 |
+
$status = ACP_Addon_MLA_ListScreen::format_post_status( $feature->post_status );
|
609 |
+
|
610 |
+
if ( $feature->ID == $item->post_parent ) {
|
611 |
+
$parent = ", " . __( 'PARENT', 'media-library-assistant' );
|
612 |
+
} else {
|
613 |
+
$parent = '';
|
614 |
+
}
|
615 |
+
|
616 |
+
$value .= sprintf( $format, esc_attr( $feature->post_title ), esc_attr( $feature->post_type ), $feature->ID, $status, $parent );
|
617 |
+
} // foreach $feature
|
618 |
+
|
619 |
+
return $value;
|
620 |
+
}
|
621 |
+
}
|
622 |
+
|
623 |
+
/**
|
624 |
+
* Provides export for Inserted in
|
625 |
+
*
|
626 |
+
* @package Media Library Assistant
|
627 |
+
* @since 2.71
|
628 |
+
*/
|
629 |
+
class ACP_Addon_MLA_Column_Inserts extends AC_Column
|
630 |
+
implements ACP_Export_Column {
|
631 |
+
|
632 |
+
/**
|
633 |
+
* Define column properties
|
634 |
+
*/
|
635 |
+
public function __construct() {
|
636 |
+
$this->set_original( true );
|
637 |
+
$this->set_type( 'inserted' );
|
638 |
+
}
|
639 |
+
|
640 |
+
/**
|
641 |
+
* Support export
|
642 |
+
*/
|
643 |
+
public function export() {
|
644 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
645 |
+
}
|
646 |
+
|
647 |
+
/**
|
648 |
+
* Supply value for export
|
649 |
+
*
|
650 |
+
* @param integer $id MLA_List_table item ID
|
651 |
+
*/
|
652 |
+
public function get_raw_value( $id ) {
|
653 |
+
if ( !MLACore::$process_inserted_in ) {
|
654 |
+
return __( 'Disabled', 'media-library-assistant' );
|
655 |
+
}
|
656 |
+
|
657 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
658 |
+
|
659 |
+
$format = "%1\$s (%2\$s %3\$s%4\$s%5\$s),\n";
|
660 |
+
$value = '';
|
661 |
+
foreach ( $item->mla_references['inserts'] as $file => $inserts ) {
|
662 |
+
if ( 'base' != $item->mla_references['inserted_option'] ) {
|
663 |
+
$value .= $file . "\n";
|
664 |
+
}
|
665 |
+
|
666 |
+
// Move parent to the top of the list
|
667 |
+
if ( isset( $inserts[ $item->post_parent ] ) ) {
|
668 |
+
$parent = $inserts[ $item->post_parent ];
|
669 |
+
unset( $inserts[ $item->post_parent ] );
|
670 |
+
array_unshift( $inserts, $parent );
|
671 |
+
}
|
672 |
+
|
673 |
+
foreach ( $inserts as $insert ) {
|
674 |
+
$status = ACP_Addon_MLA_ListScreen::format_post_status( $insert->post_status );
|
675 |
+
|
676 |
+
if ( $insert->ID == $item->post_parent ) {
|
677 |
+
$parent = ", " . __( 'PARENT', 'media-library-assistant' );
|
678 |
+
} else {
|
679 |
+
$parent = '';
|
680 |
+
}
|
681 |
+
|
682 |
+
$value .= sprintf( $format, esc_attr( $insert->post_title ), esc_attr( $insert->post_type ), $insert->ID, $status, $parent );
|
683 |
+
} // foreach $insert
|
684 |
+
} // foreach $file
|
685 |
+
|
686 |
+
return $value;
|
687 |
+
}
|
688 |
+
}
|
689 |
+
|
690 |
+
/**
|
691 |
+
* Provides export for Gallery in
|
692 |
+
*
|
693 |
+
* @package Media Library Assistant
|
694 |
+
* @since 2.71
|
695 |
+
*/
|
696 |
+
class ACP_Addon_MLA_Column_Galleries extends AC_Column
|
697 |
+
implements ACP_Export_Column {
|
698 |
+
|
699 |
+
/**
|
700 |
+
* Define column properties
|
701 |
+
*/
|
702 |
+
public function __construct() {
|
703 |
+
$this->set_original( true );
|
704 |
+
$this->set_type( 'galleries' );
|
705 |
+
}
|
706 |
+
|
707 |
+
/**
|
708 |
+
* Support export
|
709 |
+
*/
|
710 |
+
public function export() {
|
711 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
712 |
+
}
|
713 |
+
|
714 |
+
/**
|
715 |
+
* Supply value for export
|
716 |
+
*
|
717 |
+
* @param integer $id MLA_List_table item ID
|
718 |
+
*/
|
719 |
+
public function get_raw_value( $id ) {
|
720 |
+
if ( !MLACore::$process_gallery_in ) {
|
721 |
+
return __( 'Disabled', 'media-library-assistant' );
|
722 |
+
}
|
723 |
+
|
724 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
725 |
+
|
726 |
+
// Move parent to the top of the list
|
727 |
+
$galleries = $item->mla_references['galleries'];
|
728 |
+
if ( isset( $galleries[ $item->post_parent ] ) ) {
|
729 |
+
$parent = $galleries[ $item->post_parent ];
|
730 |
+
unset( $galleries[ $item->post_parent ] );
|
731 |
+
array_unshift( $galleries, $parent );
|
732 |
+
}
|
733 |
+
|
734 |
+
$format = "%1\$s (%2\$s %3\$s%4\$s%5\$s),\n";
|
735 |
+
$value = '';
|
736 |
+
foreach ( $galleries as $ID => $gallery ) {
|
737 |
+
$status = ACP_Addon_MLA_ListScreen::format_post_status( $gallery['post_status'] );
|
738 |
+
|
739 |
+
if ( $gallery['ID'] == $item->post_parent ) {
|
740 |
+
$parent = ", " . __( 'PARENT', 'media-library-assistant' );
|
741 |
+
} else {
|
742 |
+
$parent = '';
|
743 |
+
}
|
744 |
+
|
745 |
+
$value .= sprintf( $format, esc_attr( $gallery['post_title'] ), esc_attr( $gallery['post_type'] ), $gallery['ID'], $status, $parent );
|
746 |
+
} // foreach $gallery
|
747 |
+
|
748 |
+
return $value;
|
749 |
+
}
|
750 |
+
}
|
751 |
+
|
752 |
+
/**
|
753 |
+
* Provides export for Gallery in
|
754 |
+
*
|
755 |
+
* @package Media Library Assistant
|
756 |
+
* @since 2.71
|
757 |
+
*/
|
758 |
+
class ACP_Addon_MLA_Column_MLA_Galleries extends AC_Column
|
759 |
+
implements ACP_Export_Column {
|
760 |
+
|
761 |
+
/**
|
762 |
+
* Define column properties
|
763 |
+
*/
|
764 |
+
public function __construct() {
|
765 |
+
$this->set_original( true );
|
766 |
+
$this->set_type( 'mla_galleries' );
|
767 |
+
}
|
768 |
+
|
769 |
+
/**
|
770 |
+
* Support export
|
771 |
+
*/
|
772 |
+
public function export() {
|
773 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
774 |
+
}
|
775 |
+
|
776 |
+
/**
|
777 |
+
* Supply value for export
|
778 |
+
*
|
779 |
+
* @param integer $id MLA_List_table item ID
|
780 |
+
*/
|
781 |
+
public function get_raw_value( $id ) {
|
782 |
+
if ( !MLACore::$process_mla_gallery_in ) {
|
783 |
+
return __( 'Disabled', 'media-library-assistant' );
|
784 |
+
}
|
785 |
+
|
786 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
787 |
+
|
788 |
+
// Move parent to the top of the list
|
789 |
+
$mla_galleries = $item->mla_references['mla_galleries'];
|
790 |
+
if ( isset( $mla_galleries[ $item->post_parent ] ) ) {
|
791 |
+
$parent = $mla_galleries[ $item->post_parent ];
|
792 |
+
unset( $mla_galleries[ $item->post_parent ] );
|
793 |
+
array_unshift( $mla_galleries, $parent );
|
794 |
+
}
|
795 |
+
|
796 |
+
$format = "%1\$s (%2\$s %3\$s%4\$s%5\$s),\n";
|
797 |
+
$value = '';
|
798 |
+
foreach ( $mla_galleries as $gallery ) {
|
799 |
+
$status = ACP_Addon_MLA_ListScreen::format_post_status( $gallery['post_status'] );
|
800 |
+
|
801 |
+
if ( $gallery['ID'] == $item->post_parent ) {
|
802 |
+
$parent = ", " . __( 'PARENT', 'media-library-assistant' );
|
803 |
+
} else {
|
804 |
+
$parent = '';
|
805 |
+
}
|
806 |
+
|
807 |
+
$value .= sprintf( $format, esc_attr( $gallery['post_title'] ), esc_attr( $gallery['post_type'] ), $gallery['ID'], $status, $parent );
|
808 |
+
} // foreach $gallery
|
809 |
+
|
810 |
+
return $value;
|
811 |
+
}
|
812 |
+
}
|
813 |
+
|
814 |
+
/**
|
815 |
+
* Provides inline-editing, export for alt_text
|
816 |
+
*
|
817 |
+
* @package Media Library Assistant
|
818 |
+
* @since 2.52
|
819 |
+
* @since 2.71 Added export
|
820 |
+
*/
|
821 |
+
class ACP_Addon_MLA_Column_AltText extends ACP_Column_Media_AlternateText
|
822 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
823 |
+
|
824 |
+
/**
|
825 |
+
* Define column properties
|
826 |
+
*/
|
827 |
+
public function __construct() {
|
828 |
+
$this->set_original( true );
|
829 |
+
$this->set_type( 'alt_text' );
|
830 |
+
}
|
831 |
+
|
832 |
+
/**
|
833 |
+
* Add inline editing support
|
834 |
+
*
|
835 |
+
* @return ACP_Editing_Model_Media_AlternateText
|
836 |
+
*/
|
837 |
+
public function editing() {
|
838 |
+
return new ACP_Editing_Model_Media_AlternateText( $this );
|
839 |
+
}
|
840 |
+
|
841 |
+
/**
|
842 |
+
* Support export
|
843 |
+
*/
|
844 |
+
public function export() {
|
845 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
846 |
+
}
|
847 |
+
|
848 |
+
/**
|
849 |
+
* Supply value for export
|
850 |
+
*
|
851 |
+
* @param integer $id MLA_List_table item ID
|
852 |
+
*/
|
853 |
+
public function get_raw_value( $id ) {
|
854 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
855 |
+
|
856 |
+
if ( isset( $item->mla_wp_attachment_image_alt ) ) {
|
857 |
+
if ( is_array( $item->mla_wp_attachment_image_alt ) ) {
|
858 |
+
$alt_text = $item->mla_wp_attachment_image_alt[0];
|
859 |
+
} else {
|
860 |
+
$alt_text = $item->mla_wp_attachment_image_alt;
|
861 |
+
}
|
862 |
+
|
863 |
+
return $alt_text;
|
864 |
+
}
|
865 |
+
|
866 |
+
return '';
|
867 |
+
}
|
868 |
+
}
|
869 |
+
|
870 |
+
/**
|
871 |
+
* Provides inline-editing, export for Caption/Excerpt
|
872 |
+
*
|
873 |
+
* @package Media Library Assistant
|
874 |
+
* @since 2.52
|
875 |
+
* @since 2.71 Added export
|
876 |
+
*/
|
877 |
+
class ACP_Addon_MLA_Column_Caption extends ACP_Column_Media_Caption
|
878 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
879 |
+
|
880 |
+
/**
|
881 |
+
* Define column properties
|
882 |
+
*/
|
883 |
+
public function __construct() {
|
884 |
+
$this->set_original( true );
|
885 |
+
$this->set_type( 'caption' );
|
886 |
+
}
|
887 |
+
|
888 |
+
/**
|
889 |
+
* Support export
|
890 |
+
*/
|
891 |
+
public function export() {
|
892 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
893 |
+
}
|
894 |
+
|
895 |
+
/**
|
896 |
+
* Supply value for export
|
897 |
+
*
|
898 |
+
* @param integer $id MLA_List_table item ID
|
899 |
+
*/
|
900 |
+
public function get_raw_value( $id ) {
|
901 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
902 |
+
return (string) $item->post_excerpt;
|
903 |
+
}
|
904 |
+
}
|
905 |
+
|
906 |
+
/**
|
907 |
+
* Provides inline-editing, export for Description
|
908 |
+
*
|
909 |
+
* @package Media Library Assistant
|
910 |
+
* @since 2.52
|
911 |
+
* @since 2.71 Added export
|
912 |
+
*/
|
913 |
+
class ACP_Addon_MLA_Column_Description extends AC_Column_Media_Description
|
914 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
915 |
+
|
916 |
+
/**
|
917 |
+
* Define column properties
|
918 |
+
*/
|
919 |
+
public function __construct() {
|
920 |
+
$this->set_original( true );
|
921 |
+
$this->set_type( 'description' );
|
922 |
+
}
|
923 |
+
|
924 |
+
/**
|
925 |
+
* Add inline editing and provides export for Description
|
926 |
+
*
|
927 |
+
* @return ACP_Editing_Model_Post_Content
|
928 |
+
*/
|
929 |
+
public function editing() {
|
930 |
+
return new ACP_Editing_Model_Post_Content( $this );
|
931 |
+
}
|
932 |
+
|
933 |
+
/**
|
934 |
+
* Support export
|
935 |
+
*/
|
936 |
+
public function export() {
|
937 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
938 |
+
}
|
939 |
+
|
940 |
+
/**
|
941 |
+
* Supply value for export
|
942 |
+
*
|
943 |
+
* @param integer $id MLA_List_table item ID
|
944 |
+
*/
|
945 |
+
public function get_raw_value( $id ) {
|
946 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
947 |
+
return (string) $item->post_content;
|
948 |
+
}
|
949 |
+
}
|
950 |
+
|
951 |
+
/**
|
952 |
+
* Provides inline-editing, export for MIME Type
|
953 |
+
*
|
954 |
+
* @package Media Library Assistant
|
955 |
+
* @since 2.52
|
956 |
+
* @since 2.71 Added export
|
957 |
+
*/
|
958 |
+
class ACP_Addon_MLA_Column_MimeType extends AC_Column_Media_MimeType
|
959 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
960 |
+
|
961 |
+
/**
|
962 |
+
* Define column properties
|
963 |
+
*/
|
964 |
+
public function __construct() {
|
965 |
+
$this->set_original( true );
|
966 |
+
$this->set_type( 'post_mime_type' );
|
967 |
+
}
|
968 |
+
|
969 |
+
/**
|
970 |
+
* Add inline editing support
|
971 |
+
*
|
972 |
+
* @return ACP_Editing_Model_Media_MimeType
|
973 |
+
*/
|
974 |
+
public function editing() {
|
975 |
+
return new ACP_Editing_Model_Media_MimeType( $this );
|
976 |
+
}
|
977 |
+
|
978 |
+
/**
|
979 |
+
* Support export
|
980 |
+
*/
|
981 |
+
public function export() {
|
982 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
983 |
+
}
|
984 |
+
|
985 |
+
/**
|
986 |
+
* Supply value for export
|
987 |
+
*
|
988 |
+
* @param integer $id MLA_List_table item ID
|
989 |
+
*/
|
990 |
+
public function get_raw_value( $id ) {
|
991 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
992 |
+
return (string) $item->post_mime_type;
|
993 |
+
}
|
994 |
+
}
|
995 |
+
|
996 |
+
/**
|
997 |
+
* Provides export for File URL
|
998 |
+
*
|
999 |
+
* @package Media Library Assistant
|
1000 |
+
* @since 2.71
|
1001 |
+
*/
|
1002 |
+
class ACP_Addon_MLA_Column_FileURL extends AC_Column
|
1003 |
+
implements ACP_Export_Column {
|
1004 |
+
|
1005 |
+
/**
|
1006 |
+
* Define column properties
|
1007 |
+
*/
|
1008 |
+
public function __construct() {
|
1009 |
+
$this->set_original( true );
|
1010 |
+
$this->set_type( 'file_url' );
|
1011 |
+
}
|
1012 |
+
|
1013 |
+
/**
|
1014 |
+
* Support export
|
1015 |
+
*/
|
1016 |
+
public function export() {
|
1017 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1018 |
+
}
|
1019 |
+
|
1020 |
+
/**
|
1021 |
+
* Supply value for export
|
1022 |
+
*
|
1023 |
+
* @param integer $id MLA_List_table item ID
|
1024 |
+
*/
|
1025 |
+
public function get_raw_value( $id ) {
|
1026 |
+
$attachment_url = wp_get_attachment_url( $id );
|
1027 |
+
return $attachment_url ? $attachment_url : __( 'None', 'media-library-assistant' );
|
1028 |
+
}
|
1029 |
+
}
|
1030 |
+
|
1031 |
+
/**
|
1032 |
+
* Provides export for Base File
|
1033 |
+
*
|
1034 |
+
* @package Media Library Assistant
|
1035 |
+
* @since 2.71
|
1036 |
+
*/
|
1037 |
+
class ACP_Addon_MLA_Column_Base_File extends AC_Column
|
1038 |
+
implements ACP_Export_Column {
|
1039 |
+
|
1040 |
+
/**
|
1041 |
+
* Define column properties
|
1042 |
+
*/
|
1043 |
+
public function __construct() {
|
1044 |
+
$this->set_original( true );
|
1045 |
+
$this->set_type( 'base_file' );
|
1046 |
+
}
|
1047 |
+
|
1048 |
+
/**
|
1049 |
+
* Support export
|
1050 |
+
*/
|
1051 |
+
public function export() {
|
1052 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1053 |
+
}
|
1054 |
+
|
1055 |
+
/**
|
1056 |
+
* Supply value for export
|
1057 |
+
*
|
1058 |
+
* @param integer $id MLA_List_table item ID
|
1059 |
+
*/
|
1060 |
+
public function get_raw_value( $id ) {
|
1061 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
1062 |
+
if ( isset( $item->mla_wp_attached_file ) ) {
|
1063 |
+
return (string) $item->mla_wp_attached_file;
|
1064 |
+
}
|
1065 |
+
|
1066 |
+
return 'ERROR';
|
1067 |
+
}
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
/**
|
1071 |
+
* Provides export for Attached to
|
1072 |
+
*
|
1073 |
+
* @package Media Library Assistant
|
1074 |
+
* @since 2.71
|
1075 |
+
*/
|
1076 |
+
class ACP_Addon_MLA_Column_Attached extends AC_Column
|
1077 |
+
implements ACP_Export_Column {
|
1078 |
+
|
1079 |
+
/**
|
1080 |
+
* Define column properties
|
1081 |
+
*/
|
1082 |
+
public function __construct() {
|
1083 |
+
$this->set_original( true );
|
1084 |
+
$this->set_type( 'attached_to' );
|
1085 |
+
}
|
1086 |
+
|
1087 |
+
/**
|
1088 |
+
* Support export
|
1089 |
+
*/
|
1090 |
+
public function export() {
|
1091 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
/**
|
1095 |
+
* Supply value for export
|
1096 |
+
*
|
1097 |
+
* @param integer $id MLA_List_table item ID
|
1098 |
+
*/
|
1099 |
+
public function get_raw_value( $id ) {
|
1100 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
1101 |
+
|
1102 |
+
if ( isset( $item->parent_title ) ) {
|
1103 |
+
$parent_type = get_post_type_object( $item->parent_type );
|
1104 |
+
if ( $parent_type ) {
|
1105 |
+
if ( $parent_type->show_ui ) {
|
1106 |
+
$user_can_read_parent = current_user_can( 'read_post', $item->post_parent );
|
1107 |
+
} else {
|
1108 |
+
$user_can_read_parent = true;
|
1109 |
+
}
|
1110 |
+
} else {
|
1111 |
+
$user_can_read_parent = false;
|
1112 |
+
}
|
1113 |
+
|
1114 |
+
if ( $user_can_read_parent ) {
|
1115 |
+
$parent_title = esc_attr( $item->parent_title );
|
1116 |
+
} else {
|
1117 |
+
$parent_title = __( '(Private post)' );
|
1118 |
+
}
|
1119 |
+
|
1120 |
+
if ( isset( $item->parent_date ) && $user_can_read_parent ) {
|
1121 |
+
$parent_date = "\n" . mysql2date( __( 'Y/m/d', 'media-library-assistant' ), $item->parent_date );
|
1122 |
+
} else {
|
1123 |
+
$parent_date = '';
|
1124 |
+
}
|
1125 |
+
|
1126 |
+
if ( isset( $item->parent_type ) && $user_can_read_parent ) {
|
1127 |
+
$parent_type = "\n" . '(' . $item->parent_type . ' ' . (string) $item->post_parent . ACP_Addon_MLA_ListScreen::format_post_status( $item->parent_status ) . ')';
|
1128 |
+
} else {
|
1129 |
+
$parent_type = '';
|
1130 |
+
}
|
1131 |
+
|
1132 |
+
$parent = sprintf( '%1$s%2$s%3$s', /*%1$s*/ $parent_title, /*%2$s*/ $parent_date, /*%3$s*/ $parent_type );
|
1133 |
+
} else {
|
1134 |
+
$parent = '(' . _x( 'Unattached', 'table_view_singular', 'media-library-assistant' ) . ')';
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
return $parent;
|
1138 |
+
}
|
1139 |
+
}
|
1140 |
+
|
1141 |
+
/**
|
1142 |
+
* Removes ACP defaults and provides export for date
|
1143 |
+
*
|
1144 |
+
* @package Media Library Assistant
|
1145 |
+
* @since 2.52
|
1146 |
+
* @since 2.71 Added export
|
1147 |
+
*/
|
1148 |
+
class ACP_Addon_MLA_Column_Date extends ACP_Column_Media_Date
|
1149 |
+
implements ACP_Export_Column {
|
1150 |
+
|
1151 |
+
/**
|
1152 |
+
* Remove default column width
|
1153 |
+
*/
|
1154 |
+
public function register_settings() {
|
1155 |
+
}
|
1156 |
+
|
1157 |
+
/**
|
1158 |
+
* Support export
|
1159 |
+
*/
|
1160 |
+
public function export() {
|
1161 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1162 |
+
}
|
1163 |
+
|
1164 |
+
/**
|
1165 |
+
* Supply value for export
|
1166 |
+
*
|
1167 |
+
* @param integer $id MLA_List_table item ID
|
1168 |
+
*/
|
1169 |
+
public function get_raw_value( $id ) {
|
1170 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
1171 |
+
return (string) $item->post_date;
|
1172 |
+
}
|
1173 |
+
}
|
1174 |
+
|
1175 |
+
/**
|
1176 |
+
* Provides export for Last Modified date
|
1177 |
+
*
|
1178 |
+
* @package Media Library Assistant
|
1179 |
+
* @since 2.71
|
1180 |
+
*/
|
1181 |
+
class ACP_Addon_MLA_Column_Modified extends AC_Column
|
1182 |
+
implements ACP_Export_Column {
|
1183 |
+
|
1184 |
+
/**
|
1185 |
+
* Define column properties
|
1186 |
+
*/
|
1187 |
+
public function __construct() {
|
1188 |
+
$this->set_original( true );
|
1189 |
+
$this->set_type( 'modified' );
|
1190 |
+
}
|
1191 |
+
|
1192 |
+
/**
|
1193 |
+
* Support export
|
1194 |
+
*/
|
1195 |
+
public function export() {
|
1196 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1197 |
+
}
|
1198 |
+
|
1199 |
+
/**
|
1200 |
+
* Supply value for export
|
1201 |
+
*
|
1202 |
+
* @param integer $id MLA_List_table item ID
|
1203 |
+
*/
|
1204 |
+
public function get_raw_value( $id ) {
|
1205 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
1206 |
+
return (string) $item->post_modified;
|
1207 |
+
}
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
/**
|
1211 |
+
* Removes ACP defaults & provides inline-editing, export for Author name
|
1212 |
+
*
|
1213 |
+
* @package Media Library Assistant
|
1214 |
+
* @since 2.52
|
1215 |
+
* @since 2.71 Added export
|
1216 |
+
*/
|
1217 |
+
class ACP_Addon_MLA_Column_Author extends AC_Column_Media_Author
|
1218 |
+
implements ACP_Column_EditingInterface, ACP_Export_Column {
|
1219 |
+
|
1220 |
+
/**
|
1221 |
+
* Remove default column width
|
1222 |
+
*/
|
1223 |
+
public function register_settings() {
|
1224 |
+
}
|
1225 |
+
|
1226 |
+
/**
|
1227 |
+
* Add inline editing support
|
1228 |
+
*
|
1229 |
+
* @return ACP_Editing_Model_Post_Author
|
1230 |
+
*/
|
1231 |
+
public function editing() {
|
1232 |
+
return new ACP_Editing_Model_Post_Author( $this );
|
1233 |
+
}
|
1234 |
+
|
1235 |
+
/**
|
1236 |
+
* Support export
|
1237 |
+
*/
|
1238 |
+
public function export() {
|
1239 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1240 |
+
}
|
1241 |
+
|
1242 |
+
/**
|
1243 |
+
* Supply value for export
|
1244 |
+
*
|
1245 |
+
* @param integer $id MLA_List_table item ID
|
1246 |
+
*/
|
1247 |
+
public function get_raw_value( $id ) {
|
1248 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
1249 |
+
$user = get_user_by( 'id', $item->post_author );
|
1250 |
+
|
1251 |
+
if ( isset( $user->data->display_name ) ) {
|
1252 |
+
return $user->data->display_name;
|
1253 |
+
}
|
1254 |
+
|
1255 |
+
return 'unknown';
|
1256 |
+
}
|
1257 |
+
}
|
1258 |
+
|
1259 |
+
/**
|
1260 |
+
* Provides export for supported taxonomies
|
1261 |
+
*
|
1262 |
+
* @package Media Library Assistant
|
1263 |
+
* @since 2.71
|
1264 |
+
*/
|
1265 |
+
class ACP_Addon_MLA_Column_Taxonomy extends AC_Column
|
1266 |
+
implements ACP_Export_Column {
|
1267 |
+
|
1268 |
+
/**
|
1269 |
+
* Define column properties
|
1270 |
+
*
|
1271 |
+
* set_type( 't_' . taxonomy ) is done by the calling function.
|
1272 |
+
*/
|
1273 |
+
public function __construct() {
|
1274 |
+
$this->set_original( true );
|
1275 |
+
}
|
1276 |
+
|
1277 |
+
/**
|
1278 |
+
* Extract taxonomy slug from type name
|
1279 |
+
*
|
1280 |
+
* @return string Taxonomy name/slug
|
1281 |
+
*/
|
1282 |
+
public function get_taxonomy() {
|
1283 |
+
return substr( $this->get_type(), 2 );
|
1284 |
+
}
|
1285 |
+
|
1286 |
+
/**
|
1287 |
+
* Does this post type have registered taxonomies
|
1288 |
+
*
|
1289 |
+
* @return bool True when post type has associated taxonomies
|
1290 |
+
*/
|
1291 |
+
public function is_valid() {
|
1292 |
+
return true;
|
1293 |
+
}
|
1294 |
+
|
1295 |
+
/**
|
1296 |
+
* Support export
|
1297 |
+
*/
|
1298 |
+
public function export() {
|
1299 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1300 |
+
}
|
1301 |
+
|
1302 |
+
/**
|
1303 |
+
* Supply value for export
|
1304 |
+
*
|
1305 |
+
* @param integer $id MLA_List_table item ID
|
1306 |
+
*/
|
1307 |
+
public function get_raw_value( $id ) {
|
1308 |
+
$terms = wp_get_post_terms( $id, $this->get_taxonomy(), array( 'fields' => 'names' ) );
|
1309 |
+
|
1310 |
+
if ( ! $terms || is_wp_error( $terms ) ) {
|
1311 |
+
return '';
|
1312 |
+
}
|
1313 |
+
|
1314 |
+
return implode( ', ', $terms );
|
1315 |
+
}
|
1316 |
+
}
|
1317 |
+
|
1318 |
+
/**
|
1319 |
+
* Provides export for supported custom fields
|
1320 |
+
*
|
1321 |
+
* @package Media Library Assistant
|
1322 |
+
* @since 2.71
|
1323 |
+
*/
|
1324 |
+
class ACP_Addon_MLA_Column_CustomField extends AC_Column
|
1325 |
+
implements ACP_Export_Column {
|
1326 |
+
|
1327 |
+
/**
|
1328 |
+
* Define column properties
|
1329 |
+
*
|
1330 |
+
* set_type( 'c_' . field number ) is done by the calling function.
|
1331 |
+
*/
|
1332 |
+
public function __construct() {
|
1333 |
+
$this->set_original( true );
|
1334 |
+
}
|
1335 |
+
|
1336 |
+
/**
|
1337 |
+
* Does this post type support custom fields
|
1338 |
+
*
|
1339 |
+
* @return bool True when post type has custom fields
|
1340 |
+
*/
|
1341 |
+
public function is_valid() {
|
1342 |
+
return true;
|
1343 |
+
}
|
1344 |
+
|
1345 |
+
/**
|
1346 |
+
* Support export
|
1347 |
+
*/
|
1348 |
+
public function export() {
|
1349 |
+
return new ACP_Export_Model_StrippedValue( $this );
|
1350 |
+
}
|
1351 |
+
|
1352 |
+
/**
|
1353 |
+
* Supply value for export
|
1354 |
+
*
|
1355 |
+
* @param integer $id MLA_List_table item ID
|
1356 |
+
*/
|
1357 |
+
public function get_raw_value( $id ) {
|
1358 |
+
static $custom_columns = NULL;
|
1359 |
+
|
1360 |
+
if ( NULL === $custom_columns ) {
|
1361 |
+
$custom_columns = MLACore::mla_custom_field_support( 'custom_columns' );
|
1362 |
+
}
|
1363 |
+
|
1364 |
+
$column_name = $this->get_name();
|
1365 |
+
$item = ACP_Addon_MLA_ListScreen::get_item( $id );
|
1366 |
+
|
1367 |
+
if ( 'meta:' == substr( $custom_columns[ $column_name ], 0, 5 ) ) {
|
1368 |
+
$is_meta = true;
|
1369 |
+
$meta_key = substr( $custom_columns[ $column_name ], 5 );
|
1370 |
+
|
1371 |
+
if ( !empty( $item->mla_wp_attachment_metadata ) ) {
|
1372 |
+
$values = MLAData::mla_find_array_element( $meta_key, $item->mla_wp_attachment_metadata, 'array' );
|
1373 |
+
|
1374 |
+
if ( is_scalar( $values ) ) {
|
1375 |
+
$values = array( $values );
|
1376 |
+
}
|
1377 |
+
} else {
|
1378 |
+
$values = NULL;
|
1379 |
+
}
|
1380 |
+
} else {
|
1381 |
+
$is_meta = false;
|
1382 |
+
$values = get_post_meta( $item->ID, $custom_columns[ $column_name ], false );
|
1383 |
+
}
|
1384 |
+
|
1385 |
+
if ( empty( $values ) ) {
|
1386 |
+
return '';
|
1387 |
+
}
|
1388 |
+
|
1389 |
+
$list = array();
|
1390 |
+
foreach ( $values as $index => $value ) {
|
1391 |
+
/*
|
1392 |
+
* For display purposes, convert array values.
|
1393 |
+
* Use "@" because embedded arrays throw PHP Warnings from implode.
|
1394 |
+
*/
|
1395 |
+
if ( is_array( $value ) ) {
|
1396 |
+
$list[] = 'array( ' . @implode( ', ', $value ) . ' )'; // TODO PHP 7 error handling
|
1397 |
+
} elseif ( $is_meta ) {
|
1398 |
+
$list[] = $value;
|
1399 |
+
} else {
|
1400 |
+
$list[] = esc_html( $value );
|
1401 |
+
}
|
1402 |
+
}
|
1403 |
+
|
1404 |
+
if ( count( $list ) > 1 ) {
|
1405 |
+
return '[' . join( '], [', $list ) . ']';
|
1406 |
+
} else {
|
1407 |
+
return $list[0];
|
1408 |
+
}
|
1409 |
+
}
|
1410 |
+
}
|
1411 |
+
?>
|
includes/class-mla-admin-columns-support.php
CHANGED
@@ -7,31 +7,6 @@
|
|
7 |
*/
|
8 |
defined( 'ABSPATH' ) or die();
|
9 |
|
10 |
-
if ( class_exists( 'ACP_Editing_Strategy' ) ) {
|
11 |
-
/**
|
12 |
-
* Class Admin Columns Addon MLA (Media Library Assistant) Editing Strategy supports the Admin Columns plugin
|
13 |
-
*
|
14 |
-
* @package Media Library Assistant
|
15 |
-
* @since 2.50
|
16 |
-
*/
|
17 |
-
class ACP_Addon_MLA_Editing_Strategy extends ACP_Editing_Strategy_Post {
|
18 |
-
|
19 |
-
/**
|
20 |
-
* Get the available items on the current page for passing them to JS
|
21 |
-
*
|
22 |
-
* @since 2.50
|
23 |
-
*
|
24 |
-
* @return array Items on the current page ([entry_id] => (array) [entry_data])
|
25 |
-
*/
|
26 |
-
public function get_rows() {
|
27 |
-
$table = $this->column->get_list_screen()->get_list_table();
|
28 |
-
$table->prepare_items();
|
29 |
-
|
30 |
-
return $this->get_editable_rows( $table->items );
|
31 |
-
}
|
32 |
-
} // class ACP_Addon_MLA_Editing_Strategy
|
33 |
-
}
|
34 |
-
|
35 |
/**
|
36 |
* Class Admin Columns Addon MLA (Media Library Assistant) List Screen supports the Admin Columns plugin
|
37 |
*
|
@@ -49,20 +24,13 @@ class AC_Addon_MLA_ListScreen extends AC_ListScreen_Media {
|
|
49 |
public function __construct() {
|
50 |
parent::__construct();
|
51 |
|
52 |
-
$this->set_screen_id( 'media_page_' . MLACore::ADMIN_PAGE_SLUG );
|
53 |
$this->set_key( 'mla-media-assistant' );
|
54 |
-
$this->set_group( 'media' );
|
55 |
$this->set_label( __( 'Media Library Assistant' ) );
|
56 |
$this->set_singular_label( __( 'Assistant' ) );
|
|
|
57 |
$this->set_page( MLACore::ADMIN_PAGE_SLUG );
|
58 |
|
59 |
-
|
60 |
-
$this->set_list_table_class( 'MLA_List_Table' );
|
61 |
-
|
62 |
-
add_action( 'acp/column_types', 'AC_Addon_MLA_ListScreen::inline_column_types', 10, 1 );
|
63 |
-
add_action( 'acp/column_types', 'AC_Addon_MLA_ListScreen::remove_column_types', 10, 1 );
|
64 |
-
add_action( 'ac/column_types', 'AC_Addon_MLA_ListScreen::remove_column_types', 10, 1 );
|
65 |
-
add_filter( 'ac/column/custom_field/meta_keys', 'AC_Addon_MLA_ListScreen::remove_custom_columns', 10, 2 );
|
66 |
}
|
67 |
|
68 |
/**
|
@@ -74,6 +42,50 @@ class AC_Addon_MLA_ListScreen extends AC_ListScreen_Media {
|
|
74 |
add_filter( 'mla_list_table_column_default', array( $this, 'column_default_value' ), 100, 3 );
|
75 |
}
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
/**
|
78 |
* Remove duplicate columns from the Admin Columns "Custom" section
|
79 |
*
|
@@ -81,39 +93,40 @@ class AC_Addon_MLA_ListScreen extends AC_ListScreen_Media {
|
|
81 |
*
|
82 |
* @param AC_ListScreen $listscreen
|
83 |
*/
|
84 |
-
public
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
117 |
}
|
118 |
}
|
119 |
|
@@ -122,10 +135,9 @@ class AC_Addon_MLA_ListScreen extends AC_ListScreen_Media {
|
|
122 |
*
|
123 |
* @since 2.52
|
124 |
*
|
125 |
-
* @param array
|
126 |
-
* @param AC_Settings_Column_CustomField $this_customfield
|
127 |
*/
|
128 |
-
public static function remove_custom_columns( $keys
|
129 |
// Find the fields already present in the submenu table
|
130 |
$mla_columns = apply_filters( 'mla_list_table_get_columns', MLAQuery::$default_columns );
|
131 |
$mla_custom = array();
|
@@ -162,65 +174,15 @@ class AC_Addon_MLA_ListScreen extends AC_ListScreen_Media {
|
|
162 |
}
|
163 |
|
164 |
/**
|
165 |
-
* Return
|
166 |
-
*
|
167 |
-
* @param string|null $content
|
168 |
-
* @param WP_Post $post
|
169 |
-
* @param string $column_name
|
170 |
-
*
|
171 |
-
* @return string|false
|
172 |
-
*/
|
173 |
-
public function column_default_value( $content, $post, $column_name ) {
|
174 |
-
if ( is_null( $content ) ) {
|
175 |
-
$content = $this->get_display_value_by_column_name( $column_name, $post->ID );
|
176 |
-
}
|
177 |
-
|
178 |
-
return $content;
|
179 |
-
}
|
180 |
-
|
181 |
-
|
182 |
-
/**
|
183 |
-
* Create and return a new MLA List Table object
|
184 |
-
*
|
185 |
-
* @param array $args
|
186 |
-
*
|
187 |
-
* @return WP_List_Table|false
|
188 |
-
*/
|
189 |
-
public function get_list_table( $args = array() ) {
|
190 |
-
$class = $this->get_list_table_class();
|
191 |
-
|
192 |
-
if ( ! class_exists( $class ) ) {
|
193 |
-
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-list-table.php' );
|
194 |
-
MLA_List_Table::mla_admin_init_action();
|
195 |
-
}
|
196 |
-
|
197 |
-
return new $class;
|
198 |
-
}
|
199 |
-
|
200 |
-
/**
|
201 |
-
* Test for current screen = the Media/Assistant submenu screen,
|
202 |
-
* For Admin Columns 2.4.9+
|
203 |
*
|
204 |
-
* @since 2.
|
205 |
-
*
|
206 |
-
* @param object $wp_screen
|
207 |
-
*
|
208 |
-
* @return boolean true if the Media/Assistant submenu is the current screen
|
209 |
-
*/
|
210 |
-
public function is_current_screen( $wp_screen ) {
|
211 |
-
return $wp_screen && $wp_screen->id === $this->get_screen_id();
|
212 |
-
}
|
213 |
-
|
214 |
-
/**
|
215 |
-
* Return
|
216 |
-
*
|
217 |
-
* @since 2.52
|
218 |
*
|
219 |
* @param integer $post_id
|
220 |
*
|
221 |
* @return object attachment object
|
222 |
*/
|
223 |
-
|
224 |
// Author column depends on this global to be set.
|
225 |
global $authordata;
|
226 |
|
@@ -235,269 +197,15 @@ class AC_Addon_MLA_ListScreen extends AC_ListScreen_Media {
|
|
235 |
}
|
236 |
|
237 |
/**
|
238 |
-
*
|
239 |
-
*
|
240 |
-
* @since 2.52
|
241 |
-
*
|
242 |
-
* @param AC_ListScreen $listscreen
|
243 |
-
*/
|
244 |
-
public static function inline_column_types( $listscreen ) {
|
245 |
-
if ( $listscreen instanceof AC_Addon_MLA_ListScreen ) {
|
246 |
-
if ( class_exists( 'ACP_Editing_Model_Media_Title' ) ) {
|
247 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Title() );
|
248 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Parent() );
|
249 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_MenuOrder() );
|
250 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_AltText() );
|
251 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Caption() );
|
252 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Description() );
|
253 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_MimeType() );
|
254 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Date() );
|
255 |
-
$listscreen->register_column_type( new ACP_Addon_MLA_Column_Author() );
|
256 |
-
}
|
257 |
-
}
|
258 |
-
}
|
259 |
-
} // class AC_Addon_MLA_ListScreen
|
260 |
-
|
261 |
-
if ( class_exists( 'ACP_Editing_Model_Media_Title' ) ) {
|
262 |
-
/**
|
263 |
-
* Provides view_settings for MLA's post_title
|
264 |
-
*
|
265 |
-
* @package Media Library Assistant
|
266 |
-
* @since 2.52
|
267 |
-
*/
|
268 |
-
class ACP_Addon_MLA_Editing_Model_Media_Title extends ACP_Editing_Model_Media_Title {
|
269 |
-
|
270 |
-
/**
|
271 |
-
* Remove JavaScript selector settings
|
272 |
-
*/
|
273 |
-
public function get_view_settings() {
|
274 |
-
return array(
|
275 |
-
'type' => 'text',
|
276 |
-
'display_ajax' => false,
|
277 |
-
);
|
278 |
-
}
|
279 |
-
}
|
280 |
-
|
281 |
-
/**
|
282 |
-
* Provides inline-editing for post_title
|
283 |
-
*
|
284 |
-
* @package Media Library Assistant
|
285 |
-
* @since 2.52
|
286 |
-
*/
|
287 |
-
class ACP_Addon_MLA_Column_Title extends AC_Column_Media_Title
|
288 |
-
implements ACP_Column_EditingInterface {
|
289 |
-
|
290 |
-
/**
|
291 |
-
* Define column properties
|
292 |
-
*/
|
293 |
-
public function __construct() {
|
294 |
-
|
295 |
-
// Mark as an existing column
|
296 |
-
$this->set_original( true );
|
297 |
-
|
298 |
-
// Type of column
|
299 |
-
$this->set_type( 'post_title' );
|
300 |
-
}
|
301 |
-
|
302 |
-
/**
|
303 |
-
* Add inline editing support
|
304 |
-
*
|
305 |
-
* @return ACP_Editing_Model_Media_Title
|
306 |
-
*/
|
307 |
-
public function editing() {
|
308 |
-
return new ACP_Addon_MLA_Editing_Model_Media_Title( $this );
|
309 |
-
}
|
310 |
-
|
311 |
-
}
|
312 |
-
|
313 |
-
/**
|
314 |
-
* Removes ACP defaults for parent
|
315 |
*
|
316 |
-
* @package Media Library Assistant
|
317 |
* @since 2.52
|
318 |
-
*/
|
319 |
-
class ACP_Addon_MLA_Column_Parent extends AC_Column_Media_Parent {
|
320 |
-
/**
|
321 |
-
* Remove default column width
|
322 |
-
*/
|
323 |
-
public function register_settings() {
|
324 |
-
}
|
325 |
-
}
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Provides inline-editing for menu_order
|
329 |
*
|
330 |
-
* @
|
331 |
-
* @since 2.52
|
332 |
-
*/
|
333 |
-
class ACP_Addon_MLA_Column_MenuOrder extends AC_Column
|
334 |
-
implements ACP_Column_EditingInterface {
|
335 |
-
|
336 |
-
/**
|
337 |
-
* Define column properties
|
338 |
-
*/
|
339 |
-
public function __construct() {
|
340 |
-
|
341 |
-
// Mark as an existing column
|
342 |
-
$this->set_original( true );
|
343 |
-
|
344 |
-
// Type of column
|
345 |
-
$this->set_type( 'menu_order' );
|
346 |
-
}
|
347 |
-
|
348 |
-
/**
|
349 |
-
* Add inline editing support
|
350 |
-
*
|
351 |
-
* @return ACP_Editing_Model_Post_Order
|
352 |
-
*/
|
353 |
-
public function editing() {
|
354 |
-
return new ACP_Editing_Model_Post_Order( $this );
|
355 |
-
}
|
356 |
-
|
357 |
-
}
|
358 |
-
|
359 |
-
/**
|
360 |
-
* Provides inline-editing for alt_text
|
361 |
-
*
|
362 |
-
* @package Media Library Assistant
|
363 |
-
* @since 2.52
|
364 |
-
*/
|
365 |
-
class ACP_Addon_MLA_Column_AltText extends ACP_Column_Media_AlternateText
|
366 |
-
implements ACP_Column_EditingInterface {
|
367 |
-
|
368 |
-
/**
|
369 |
-
* Define column properties
|
370 |
-
*/
|
371 |
-
public function __construct() {
|
372 |
-
|
373 |
-
// Mark as an existing column
|
374 |
-
$this->set_original( true );
|
375 |
-
|
376 |
-
// Type of column
|
377 |
-
$this->set_type( 'alt_text' );
|
378 |
-
}
|
379 |
-
}
|
380 |
-
|
381 |
-
/**
|
382 |
-
* Provides inline-editing for caption
|
383 |
-
*
|
384 |
-
* @package Media Library Assistant
|
385 |
-
* @since 2.52
|
386 |
-
*/
|
387 |
-
class ACP_Addon_MLA_Column_Caption extends ACP_Column_Media_Caption
|
388 |
-
implements ACP_Column_EditingInterface {
|
389 |
-
|
390 |
-
/**
|
391 |
-
* Define column properties
|
392 |
-
*/
|
393 |
-
public function __construct() {
|
394 |
-
|
395 |
-
// Mark as an existing column
|
396 |
-
$this->set_original( true );
|
397 |
-
|
398 |
-
// Type of column
|
399 |
-
$this->set_type( 'caption' );
|
400 |
-
}
|
401 |
-
}
|
402 |
-
|
403 |
-
/**
|
404 |
-
* Provides inline-editing for caption
|
405 |
-
*
|
406 |
-
* @package Media Library Assistant
|
407 |
-
* @since 2.52
|
408 |
-
*/
|
409 |
-
class ACP_Addon_MLA_Column_Description extends AC_Column_Media_Description
|
410 |
-
implements ACP_Column_EditingInterface {
|
411 |
-
|
412 |
-
/**
|
413 |
-
* Define column properties
|
414 |
-
*/
|
415 |
-
public function __construct() {
|
416 |
-
|
417 |
-
// Mark as an existing column
|
418 |
-
$this->set_original( true );
|
419 |
-
|
420 |
-
// Type of column
|
421 |
-
$this->set_type( 'description' );
|
422 |
-
}
|
423 |
-
|
424 |
-
/**
|
425 |
-
* Add inline editing support
|
426 |
-
*
|
427 |
-
* @return ACP_Editing_Model_Post_Content
|
428 |
-
*/
|
429 |
-
public function editing() {
|
430 |
-
return new ACP_Editing_Model_Post_Content( $this );
|
431 |
-
}
|
432 |
-
}
|
433 |
-
|
434 |
-
/**
|
435 |
-
* Provides inline-editing for caption
|
436 |
-
*
|
437 |
-
* @package Media Library Assistant
|
438 |
-
* @since 2.52
|
439 |
-
*/
|
440 |
-
class ACP_Addon_MLA_Column_MimeType extends AC_Column_Media_MimeType
|
441 |
-
implements ACP_Column_EditingInterface {
|
442 |
-
|
443 |
-
/**
|
444 |
-
* Define column properties
|
445 |
-
*/
|
446 |
-
public function __construct() {
|
447 |
-
|
448 |
-
// Mark as an existing column
|
449 |
-
$this->set_original( true );
|
450 |
-
|
451 |
-
// Type of column
|
452 |
-
$this->set_type( 'post_mime_type' );
|
453 |
-
}
|
454 |
-
|
455 |
-
/**
|
456 |
-
* Add inline editing support
|
457 |
-
*
|
458 |
-
* @return ACP_Editing_Model_Post_Content
|
459 |
-
*/
|
460 |
-
public function editing() {
|
461 |
-
return new ACP_Editing_Model_Media_MimeType( $this );
|
462 |
-
}
|
463 |
-
}
|
464 |
-
|
465 |
-
/**
|
466 |
-
* Removes ACP defaults for date
|
467 |
-
*
|
468 |
-
* @package Media Library Assistant
|
469 |
-
* @since 2.52
|
470 |
-
*/
|
471 |
-
class ACP_Addon_MLA_Column_Date extends ACP_Column_Media_Date {
|
472 |
-
/**
|
473 |
-
* Remove default column width
|
474 |
-
*/
|
475 |
-
public function register_settings() {
|
476 |
-
}
|
477 |
-
}
|
478 |
-
|
479 |
-
/**
|
480 |
-
* Removes ACP defaults & provides inline-editing for caption
|
481 |
*
|
482 |
-
* @
|
483 |
-
* @since 2.52
|
484 |
*/
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
/**
|
489 |
-
* Remove default column width
|
490 |
-
*/
|
491 |
-
public function register_settings() {
|
492 |
-
}
|
493 |
-
|
494 |
-
/**
|
495 |
-
* Add inline editing support
|
496 |
-
*
|
497 |
-
* @return ACP_Editing_Model_Post_Content
|
498 |
-
*/
|
499 |
-
public function editing() {
|
500 |
-
return new ACP_Editing_Model_Post_Author( $this );
|
501 |
-
}
|
502 |
}
|
503 |
-
}
|
7 |
*/
|
8 |
defined( 'ABSPATH' ) or die();
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
/**
|
11 |
* Class Admin Columns Addon MLA (Media Library Assistant) List Screen supports the Admin Columns plugin
|
12 |
*
|
24 |
public function __construct() {
|
25 |
parent::__construct();
|
26 |
|
|
|
27 |
$this->set_key( 'mla-media-assistant' );
|
|
|
28 |
$this->set_label( __( 'Media Library Assistant' ) );
|
29 |
$this->set_singular_label( __( 'Assistant' ) );
|
30 |
+
$this->set_screen_id( 'media_page_' . MLACore::ADMIN_PAGE_SLUG );
|
31 |
$this->set_page( MLACore::ADMIN_PAGE_SLUG );
|
32 |
|
33 |
+
add_filter( 'ac/column/custom_field/meta_keys', 'AC_Addon_MLA_ListScreen::remove_custom_columns', 10, 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
/**
|
42 |
add_filter( 'mla_list_table_column_default', array( $this, 'column_default_value' ), 100, 3 );
|
43 |
}
|
44 |
|
45 |
+
/**
|
46 |
+
* Create and return a new MLA List Table object
|
47 |
+
*
|
48 |
+
* @param array $args
|
49 |
+
*
|
50 |
+
* @return WP_List_Table|false
|
51 |
+
*/
|
52 |
+
public function get_list_table( $args = array() ) {
|
53 |
+
global $wp_list_table;
|
54 |
+
|
55 |
+
if ( ! class_exists( 'MLA_List_Table' ) ) {
|
56 |
+
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-list-table.php' );
|
57 |
+
MLA_List_Table::mla_admin_init_action();
|
58 |
+
}
|
59 |
+
|
60 |
+
if ( $wp_list_table instanceof MLA_List_Table ) {
|
61 |
+
return $wp_list_table;
|
62 |
+
}
|
63 |
+
|
64 |
+
$list_table = new MLA_List_Table();
|
65 |
+
$list_table->prepare_items();
|
66 |
+
|
67 |
+
// Don't show the Export button before 4.2.3
|
68 |
+
if ( function_exists( 'ACP' ) && version_compare( ACP()->get_version(), '4.2.3', '<' ) ) {
|
69 |
+
$wp_list_table = NULL;
|
70 |
+
}
|
71 |
+
|
72 |
+
return $list_table;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Test for current screen = the Media/Assistant submenu screen,
|
77 |
+
* For Admin Columns 2.4.9+
|
78 |
+
*
|
79 |
+
* @since 2.23
|
80 |
+
*
|
81 |
+
* @param object $wp_screen
|
82 |
+
*
|
83 |
+
* @return boolean true if the Media/Assistant submenu is the current screen
|
84 |
+
*/
|
85 |
+
public function is_current_screen( $wp_screen ) {
|
86 |
+
return $wp_screen && $wp_screen->id === $this->get_screen_id();
|
87 |
+
}
|
88 |
+
|
89 |
/**
|
90 |
* Remove duplicate columns from the Admin Columns "Custom" section
|
91 |
*
|
93 |
*
|
94 |
* @param AC_ListScreen $listscreen
|
95 |
*/
|
96 |
+
public function register_column_types() {
|
97 |
+
parent::register_column_types();
|
98 |
+
//error_log( __LINE__ . ' AC_Addon_MLA_ListScreen::register_column_types ' . var_export( array_keys( $this->get_column_types() ), true ), 0 );
|
99 |
+
|
100 |
+
$exclude = array(
|
101 |
+
'comments',
|
102 |
+
'title',
|
103 |
+
'column-actions',
|
104 |
+
'column-alternate_text',
|
105 |
+
'column-attached_to',
|
106 |
+
'column-author_name',
|
107 |
+
'column-caption',
|
108 |
+
'column-description',
|
109 |
+
'column-file_name',
|
110 |
+
'column-full_path',
|
111 |
+
'column-mediaid',
|
112 |
+
'column-mime_type',
|
113 |
+
'column-taxonomy',
|
114 |
+
|
115 |
+
/*
|
116 |
+
'column-meta',
|
117 |
+
'column-available_sizes',
|
118 |
+
'column-dimensions',
|
119 |
+
'column-exif_data',
|
120 |
+
'column-file_size',
|
121 |
+
'column-height',
|
122 |
+
'column-image',
|
123 |
+
'column-used_by_menu',
|
124 |
+
'column-width',
|
125 |
+
*/
|
126 |
+
);
|
127 |
+
|
128 |
+
foreach ( $exclude as $column_type ) {
|
129 |
+
$this->deregister_column_type( $column_type );
|
130 |
}
|
131 |
}
|
132 |
|
135 |
*
|
136 |
* @since 2.52
|
137 |
*
|
138 |
+
* @param array $keys Distinct meta keys from DB
|
|
|
139 |
*/
|
140 |
+
public static function remove_custom_columns( $keys ) {
|
141 |
// Find the fields already present in the submenu table
|
142 |
$mla_columns = apply_filters( 'mla_list_table_get_columns', MLAQuery::$default_columns );
|
143 |
$mla_custom = array();
|
174 |
}
|
175 |
|
176 |
/**
|
177 |
+
* Return an MLA version of a Media Library item
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
*
|
179 |
+
* @since 2.71
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
*
|
181 |
* @param integer $post_id
|
182 |
*
|
183 |
* @return object attachment object
|
184 |
*/
|
185 |
+
public function get_object( $post_id ) {
|
186 |
// Author column depends on this global to be set.
|
187 |
global $authordata;
|
188 |
|
197 |
}
|
198 |
|
199 |
/**
|
200 |
+
* Return an MLA version of a Media Library item for older Admin Columns versions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
*
|
|
|
202 |
* @since 2.52
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
*
|
204 |
+
* @param integer $post_id
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
*
|
206 |
+
* @return object attachment object
|
|
|
207 |
*/
|
208 |
+
protected function get_object_by_id( $post_id ) {
|
209 |
+
return $this->get_object( $post_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
}
|
211 |
+
} // class AC_Addon_MLA_ListScreen
|
includes/class-mla-ajax.php
CHANGED
@@ -32,6 +32,8 @@ class MLA_Ajax {
|
|
32 |
* @return void
|
33 |
*/
|
34 |
public static function initialize() {
|
|
|
|
|
35 |
add_action( 'admin_init', 'MLA_Ajax::mla_admin_init_action' );
|
36 |
|
37 |
// Defined here because the "admin_init" action is not called for item transfers
|
32 |
* @return void
|
33 |
*/
|
34 |
public static function initialize() {
|
35 |
+
$ajax_only = var_export( self::$ajax_only, true );
|
36 |
+
MLACore::mla_debug_add( __LINE__ . " MLA_Ajax::initialize( {$ajax_only} ) \$_REQUEST = " . var_export( $_REQUEST, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
37 |
add_action( 'admin_init', 'MLA_Ajax::mla_admin_init_action' );
|
38 |
|
39 |
// Defined here because the "admin_init" action is not called for item transfers
|
includes/class-mla-core-options.php
CHANGED
@@ -613,6 +613,19 @@ class MLACoreOptions {
|
|
613 |
'texts' => array( __( 'Ascending', 'media-library-assistant' ), __( 'Descending', 'media-library-assistant' ) ),
|
614 |
'help' => __( 'Choose the sort order.', 'media-library-assistant' )),
|
615 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
self::MLA_TABLE_VIEWS_WIDTH =>
|
617 |
array('tab' => 'general',
|
618 |
'name' => __( 'Views Width', 'media-library-assistant' ),
|
@@ -1201,6 +1214,13 @@ class MLACoreOptions {
|
|
1201 |
'iptc_first' => true,
|
1202 |
'keep_existing' => true
|
1203 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1204 |
),
|
1205 |
'taxonomy' => array (
|
1206 |
),
|
@@ -1350,7 +1370,7 @@ class MLACoreOptions {
|
|
1350 |
'type' => 'text',
|
1351 |
'std' => '',
|
1352 |
'size' => 60,
|
1353 |
-
'help' => __( 'Enter the name of an alternate, MLA-specific debug log file; leave blank to use the PHP error_log.', 'media-library-assistant' )),
|
1354 |
|
1355 |
self::MLA_DEBUG_REPLACE_PHP_LOG =>
|
1356 |
array('tab' => 'debug',
|
613 |
'texts' => array( __( 'Ascending', 'media-library-assistant' ), __( 'Descending', 'media-library-assistant' ) ),
|
614 |
'help' => __( 'Choose the sort order.', 'media-library-assistant' )),
|
615 |
|
616 |
+
'entries_per_page' =>
|
617 |
+
array('tab' => 'general',
|
618 |
+
'name' => __( 'Entries per page', 'media-library-assistant' ),
|
619 |
+
'autoload' => true,
|
620 |
+
'std' => '10',
|
621 |
+
'size' => 2,
|
622 |
+
'help' => __( 'Enter the number of Media/Assistant submenu table items per page.', 'media-library-assistant' ),
|
623 |
+
'type' => 'custom',
|
624 |
+
'render' => 'mla_entries_per_page_handler',
|
625 |
+
'update' => 'mla_entries_per_page_handler',
|
626 |
+
'delete' => 'mla_entries_per_page_handler',
|
627 |
+
'reset' => 'mla_entries_per_page_handler'),
|
628 |
+
|
629 |
self::MLA_TABLE_VIEWS_WIDTH =>
|
630 |
array('tab' => 'general',
|
631 |
'name' => __( 'Views Width', 'media-library-assistant' ),
|
1214 |
'iptc_first' => true,
|
1215 |
'keep_existing' => true
|
1216 |
),
|
1217 |
+
'post_date' => array (
|
1218 |
+
'name' => __( 'Uploaded on', 'media-library-assistant' ),
|
1219 |
+
'iptc_value' => 'none',
|
1220 |
+
'exif_value' => '',
|
1221 |
+
'iptc_first' => true,
|
1222 |
+
'keep_existing' => false
|
1223 |
+
),
|
1224 |
),
|
1225 |
'taxonomy' => array (
|
1226 |
),
|
1370 |
'type' => 'text',
|
1371 |
'std' => '',
|
1372 |
'size' => 60,
|
1373 |
+
'help' => __( 'Enter the name of an alternate, MLA-specific debug log file; leave blank to use the PHP error_log.<br> The WP_CONTENT_DIR value (below) will be prepended to the value here, e.g., enter something like "/uploads/mla.log".', 'media-library-assistant' )),
|
1374 |
|
1375 |
self::MLA_DEBUG_REPLACE_PHP_LOG =>
|
1376 |
array('tab' => 'debug',
|
includes/class-mla-core.php
CHANGED
@@ -21,7 +21,7 @@ class MLACore {
|
|
21 |
*
|
22 |
* @var string
|
23 |
*/
|
24 |
-
const CURRENT_MLA_VERSION = '2.
|
25 |
|
26 |
/**
|
27 |
* Slug for registering and enqueueing plugin style sheets (moved from class-mla-main.php)
|
@@ -113,6 +113,15 @@ class MLACore {
|
|
113 |
*/
|
114 |
const MLA_DEBUG_CATEGORY_WHERE_USED = 0x00000040;
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
/**
|
117 |
* Slug for adding plugin submenu
|
118 |
*
|
@@ -618,6 +627,28 @@ class MLACore {
|
|
618 |
} // MLA_DEBUG_LEVEL & 1
|
619 |
}
|
620 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
621 |
/**
|
622 |
* Filter the redirect location.
|
623 |
*
|
@@ -1635,6 +1666,7 @@ class MLACore {
|
|
1635 |
|
1636 |
/**
|
1637 |
* Define the Media/Assistant submenu screen to the (old) Admin Columns plugin
|
|
|
1638 |
*
|
1639 |
* @since 2.22
|
1640 |
*
|
@@ -1673,32 +1705,31 @@ class MLACore {
|
|
1673 |
return $new_models;
|
1674 |
}
|
1675 |
|
1676 |
-
/**
|
1677 |
-
* Set MLA-specific inline editing strategy
|
1678 |
-
*
|
1679 |
-
* @since 2.50
|
1680 |
-
*
|
1681 |
-
* @param ACP_Editing_Model $model
|
1682 |
-
*/
|
1683 |
-
public static function add_editing_strategy( $model ) {
|
1684 |
-
//error_log( __LINE__ . " MLACore::add_editing_strategy key = " . var_export( $model->get_column()->get_list_screen()->get_key(), true ), 0 );
|
1685 |
-
if ( 'mla-media-assistant' === $model->get_column()->get_list_screen()->get_key() ) {
|
1686 |
-
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-admin-columns-support.php' );
|
1687 |
-
$model->set_strategy( new ACP_Addon_MLA_Editing_Strategy( $model ) );
|
1688 |
-
}
|
1689 |
-
|
1690 |
-
return $model;
|
1691 |
-
}
|
1692 |
-
|
1693 |
/**
|
1694 |
* Create and register MLA-specific list screen handler for Admin Columns
|
|
|
1695 |
*
|
1696 |
* @since 2.50
|
1697 |
*/
|
1698 |
public static function register_list_screen() {
|
1699 |
-
//error_log( __LINE__ . " MLACore::register_list_screen", 0 );
|
1700 |
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-admin-columns-support.php' );
|
1701 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1702 |
}
|
1703 |
} // Class MLACore
|
1704 |
|
@@ -1786,7 +1817,5 @@ add_action( 'init', 'MLAMime::initialize', 0x7FFFFFFF );
|
|
1786 |
* Admin Columns plugin support
|
1787 |
*/
|
1788 |
add_filter( 'cac/storage_models', 'MLACore::admin_columns_support_deprecated', 10, 2 );
|
1789 |
-
|
1790 |
-
add_filter( 'acp/editing/model', 'MLACore::add_editing_strategy', 10, 1 );
|
1791 |
add_action( 'ac/list_screens', 'MLACore::register_list_screen', 10, 0 );
|
1792 |
?>
|
21 |
*
|
22 |
* @var string
|
23 |
*/
|
24 |
+
const CURRENT_MLA_VERSION = '2.72';
|
25 |
|
26 |
/**
|
27 |
* Slug for registering and enqueueing plugin style sheets (moved from class-mla-main.php)
|
113 |
*/
|
114 |
const MLA_DEBUG_CATEGORY_WHERE_USED = 0x00000040;
|
115 |
|
116 |
+
/**
|
117 |
+
* Constant to log Uploads and Views MIME Type activity activity
|
118 |
+
*
|
119 |
+
* @since 2.71
|
120 |
+
*
|
121 |
+
* @var integer
|
122 |
+
*/
|
123 |
+
const MLA_DEBUG_CATEGORY_MIME_TYPE = 0x00000080;
|
124 |
+
|
125 |
/**
|
126 |
* Slug for adding plugin submenu
|
127 |
*
|
627 |
} // MLA_DEBUG_LEVEL & 1
|
628 |
}
|
629 |
|
630 |
+
/**
|
631 |
+
* Create a NONCE URL that works in WP 3.5.x and later
|
632 |
+
*
|
633 |
+
* @since 2.71
|
634 |
+
*
|
635 |
+
* @param string $actionurl URL to add nonce action.
|
636 |
+
* @param string $action Optional. Nonce action name. Default -1.
|
637 |
+
* @param string $name Optional. Nonce name. Default '_wpnonce'.
|
638 |
+
*
|
639 |
+
* @return string Escaped URL with nonce action added.
|
640 |
+
*/
|
641 |
+
public static function mla_nonce_url( $actionurl, $action = -1, $name = '_wpnonce' ) {
|
642 |
+
$actionurl = wp_nonce_url( $actionurl, $action, $name );
|
643 |
+
|
644 |
+
// WP 3.5.x wp_nonce_url() does not accept the third NONCE name argument
|
645 |
+
if ( '_wpnonce' !== $name ) {
|
646 |
+
$actionurl = str_replace( '_wpnonce', $name, $actionurl );
|
647 |
+
}
|
648 |
+
|
649 |
+
return $actionurl;
|
650 |
+
}
|
651 |
+
|
652 |
/**
|
653 |
* Filter the redirect location.
|
654 |
*
|
1666 |
|
1667 |
/**
|
1668 |
* Define the Media/Assistant submenu screen to the (old) Admin Columns plugin
|
1669 |
+
* Supports Admin Columns before 3.0 and Admin Columns Pro before 4.0
|
1670 |
*
|
1671 |
* @since 2.22
|
1672 |
*
|
1705 |
return $new_models;
|
1706 |
}
|
1707 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1708 |
/**
|
1709 |
* Create and register MLA-specific list screen handler for Admin Columns
|
1710 |
+
* Supports Admin Columns 3.0+ and Admin Columns Pro 4.0+
|
1711 |
*
|
1712 |
* @since 2.50
|
1713 |
*/
|
1714 |
public static function register_list_screen() {
|
|
|
1715 |
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-admin-columns-support.php' );
|
1716 |
+
|
1717 |
+
if ( function_exists( 'ACP' ) ) {
|
1718 |
+
if ( version_compare( ACP()->get_version(), '4.2.3', '>=' ) ) {
|
1719 |
+
// Load the latest version, with export support
|
1720 |
+
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-admin-columns-pro-support.php' );
|
1721 |
+
} elseif ( version_compare( ACP()->get_version(), '4.2.0', '>=' ) ) {
|
1722 |
+
// Load the interim version, with inline editing support
|
1723 |
+
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-admin-columns-pro-support-42.php' );
|
1724 |
+
} else {
|
1725 |
+
// Load the legacy version
|
1726 |
+
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-admin-columns-pro-support-40.php' );
|
1727 |
+
}
|
1728 |
+
|
1729 |
+
AC()->register_list_screen( new ACP_Addon_MLA_ListScreen );
|
1730 |
+
} else {
|
1731 |
+
AC()->register_list_screen( new AC_Addon_MLA_ListScreen );
|
1732 |
+
}
|
1733 |
}
|
1734 |
} // Class MLACore
|
1735 |
|
1817 |
* Admin Columns plugin support
|
1818 |
*/
|
1819 |
add_filter( 'cac/storage_models', 'MLACore::admin_columns_support_deprecated', 10, 2 );
|
|
|
|
|
1820 |
add_action( 'ac/list_screens', 'MLACore::register_list_screen', 10, 0 );
|
1821 |
?>
|
includes/class-mla-data-source.php
CHANGED
@@ -374,9 +374,7 @@ class MLAData_Source {
|
|
374 |
|
375 |
$data_source = $data_value['data_source'];
|
376 |
|
377 |
-
|
378 |
-
* Do this once per page load; cache attachment metadata if mapping all attachments
|
379 |
-
*/
|
380 |
if ( NULL == $intermediate_sizes ) {
|
381 |
$upload_dir = wp_upload_dir();
|
382 |
$upload_dir = $upload_dir['basedir'] . '/';
|
@@ -393,14 +391,13 @@ class MLAData_Source {
|
|
393 |
} // custom_field_mapping, i.e., mapping all attachments
|
394 |
} // first call after page load
|
395 |
|
396 |
-
|
397 |
-
* Do this once per post. Simulate SQL results for $wp_attached_files and $wp_attachment_metadata.
|
398 |
-
*/
|
399 |
if ( $current_id != $post_id ) {
|
400 |
$current_id = $post_id;
|
401 |
$parent_info = NULL;
|
402 |
$references = NULL;
|
403 |
$alt_text = NULL;
|
|
|
404 |
|
405 |
if ( 'single_attachment_mapping' == $category ) {
|
406 |
$metadata = get_metadata( 'post', $post_id, '_wp_attached_file' );
|
@@ -450,10 +447,7 @@ class MLAData_Source {
|
|
450 |
$default_option = 'text';
|
451 |
}
|
452 |
|
453 |
-
|
454 |
-
* Go through the template and expand the non-prefixed elements
|
455 |
-
* as Data Sources
|
456 |
-
*/
|
457 |
$item_values = array();
|
458 |
$placeholders = MLAData::mla_get_template_placeholders( $data_value['meta_name'], $default_option );
|
459 |
foreach ( $placeholders as $key => $placeholder ) {
|
@@ -473,9 +467,7 @@ class MLAData_Source {
|
|
473 |
} // Data Source
|
474 |
} // foreach placeholder
|
475 |
|
476 |
-
|
477 |
-
* Now expand the template using the above Data Source values
|
478 |
-
*/
|
479 |
$template = '[+template:' . $data_value['meta_name'] . '+]';
|
480 |
$item_values = MLAData::mla_expand_field_level_parameters( $template, NULL, $item_values, $post_id, $data_value['keep_existing'], $default_option, $attachment_metadata );
|
481 |
|
@@ -682,9 +674,7 @@ class MLAData_Source {
|
|
682 |
|
683 |
if ( !empty( $references['parent_errors'] ) ) {
|
684 |
$result = $references['parent_errors'];
|
685 |
-
|
686 |
-
* Remove (ORPHAN...
|
687 |
-
*/
|
688 |
$orphan_certain = '(' . __( 'ORPHAN', 'media-library-assistant' ) . ')';
|
689 |
$orphan_possible = '(' . __( 'ORPHAN', 'media-library-assistant' ) . '?)';
|
690 |
|
@@ -790,6 +780,9 @@ class MLAData_Source {
|
|
790 |
case 'index':
|
791 |
if ( class_exists( 'MLA' ) && !empty( MLA::$bulk_edit_data_source['cb_index'] ) ) {
|
792 |
$result = MLA::$bulk_edit_data_source['cb_index'];
|
|
|
|
|
|
|
793 |
}
|
794 |
break;
|
795 |
case 'found_rows':
|
@@ -816,9 +809,7 @@ class MLAData_Source {
|
|
816 |
break;
|
817 |
case 'native':
|
818 |
default:
|
819 |
-
|
820 |
-
* Make some numeric values sortable as strings, make all value non-empty
|
821 |
-
*/
|
822 |
if ( in_array( $data_source, array( 'file_size', 'pixels', 'width', 'height' ) ) ) {
|
823 |
$result = str_pad( $result, 15, ' ', STR_PAD_LEFT );
|
824 |
} elseif ( empty( $result ) ) {
|
374 |
|
375 |
$data_source = $data_value['data_source'];
|
376 |
|
377 |
+
// Do this once per page load; cache attachment metadata if mapping all attachments
|
|
|
|
|
378 |
if ( NULL == $intermediate_sizes ) {
|
379 |
$upload_dir = wp_upload_dir();
|
380 |
$upload_dir = $upload_dir['basedir'] . '/';
|
391 |
} // custom_field_mapping, i.e., mapping all attachments
|
392 |
} // first call after page load
|
393 |
|
394 |
+
// Do this once per post. Simulate SQL results for $wp_attached_files and $wp_attachment_metadata.
|
|
|
|
|
395 |
if ( $current_id != $post_id ) {
|
396 |
$current_id = $post_id;
|
397 |
$parent_info = NULL;
|
398 |
$references = NULL;
|
399 |
$alt_text = NULL;
|
400 |
+
MLAData::mla_reset_regex_matches();
|
401 |
|
402 |
if ( 'single_attachment_mapping' == $category ) {
|
403 |
$metadata = get_metadata( 'post', $post_id, '_wp_attached_file' );
|
447 |
$default_option = 'text';
|
448 |
}
|
449 |
|
450 |
+
// Go through the template and expand the non-prefixed elements as Data Sources
|
|
|
|
|
|
|
451 |
$item_values = array();
|
452 |
$placeholders = MLAData::mla_get_template_placeholders( $data_value['meta_name'], $default_option );
|
453 |
foreach ( $placeholders as $key => $placeholder ) {
|
467 |
} // Data Source
|
468 |
} // foreach placeholder
|
469 |
|
470 |
+
// Now expand the template using the above Data Source values
|
|
|
|
|
471 |
$template = '[+template:' . $data_value['meta_name'] . '+]';
|
472 |
$item_values = MLAData::mla_expand_field_level_parameters( $template, NULL, $item_values, $post_id, $data_value['keep_existing'], $default_option, $attachment_metadata );
|
473 |
|
674 |
|
675 |
if ( !empty( $references['parent_errors'] ) ) {
|
676 |
$result = $references['parent_errors'];
|
677 |
+
// Remove (ORPHAN...
|
|
|
|
|
678 |
$orphan_certain = '(' . __( 'ORPHAN', 'media-library-assistant' ) . ')';
|
679 |
$orphan_possible = '(' . __( 'ORPHAN', 'media-library-assistant' ) . '?)';
|
680 |
|
780 |
case 'index':
|
781 |
if ( class_exists( 'MLA' ) && !empty( MLA::$bulk_edit_data_source['cb_index'] ) ) {
|
782 |
$result = MLA::$bulk_edit_data_source['cb_index'];
|
783 |
+
if ( !empty( $data_value['format'] ) ) {
|
784 |
+
$result += absint( $data_value['format'] );
|
785 |
+
}
|
786 |
}
|
787 |
break;
|
788 |
case 'found_rows':
|
809 |
break;
|
810 |
case 'native':
|
811 |
default:
|
812 |
+
// Make some numeric values sortable as strings, make all value non-empty
|
|
|
|
|
813 |
if ( in_array( $data_source, array( 'file_size', 'pixels', 'width', 'height' ) ) ) {
|
814 |
$result = str_pad( $result, 15, ' ', STR_PAD_LEFT );
|
815 |
} elseif ( empty( $result ) ) {
|
includes/class-mla-data.php
CHANGED
@@ -677,7 +677,6 @@ class MLAData {
|
|
677 |
* @return array individual arguments, e.g. array( 0 => 'd/m/Y H:i:s', 1 => 'arg, " two' )
|
678 |
*/
|
679 |
private static function _parse_arguments( $argument_string ) {
|
680 |
-
//error_log( __LINE__ . ' MLAData::_parse_arguments argument_string = ' . var_export( $argument_string, true ), 0 );
|
681 |
$argument_string = trim( $argument_string, " \n\t\r\0\x0B," );
|
682 |
$arguments = array();
|
683 |
|
@@ -687,7 +686,7 @@ class MLAData {
|
|
687 |
|
688 |
// Check for array or enclosing quotes
|
689 |
$delimiter = $argument_string[0];
|
690 |
-
|
691 |
// Check for array
|
692 |
if ( '{' == $delimiter ) {
|
693 |
$array = self::_find_delimited_substring( substr( $argument_string, $index ), '{', '}' );
|
@@ -707,7 +706,7 @@ class MLAData {
|
|
707 |
} else {
|
708 |
$delimiter = '';
|
709 |
}
|
710 |
-
|
711 |
while ( $index < strlen( $argument_string ) ) {
|
712 |
$byte = $argument_string[ $index++ ];
|
713 |
if ( '\\' == $byte ) {
|
@@ -737,7 +736,7 @@ class MLAData {
|
|
737 |
$digit_index++;
|
738 |
}
|
739 |
}
|
740 |
-
|
741 |
if ( $digit_count = $digit_index - $index ) {
|
742 |
$argument .= chr( octdec( substr( $argument_string, $index, $digit_count ) ) );
|
743 |
$index += $digit_count - 1;
|
@@ -745,18 +744,18 @@ class MLAData {
|
|
745 |
$argument .= $argument_string[ $index ];
|
746 |
}
|
747 |
} // switch
|
748 |
-
|
749 |
$index++;
|
750 |
} else { // backslash
|
751 |
if ( $delimiter == $byte || ( empty( $delimiter ) && ',' == $byte ) ) {
|
752 |
break;
|
753 |
}
|
754 |
-
|
755 |
$argument .= $byte;
|
756 |
} // just another 8-bit value, but check for closing delimiter
|
757 |
} // index < strlen
|
758 |
} // non-array
|
759 |
-
|
760 |
$arguments[] = $argument;
|
761 |
$argument_string = trim( substr( $argument_string, $index ), " \n\t\r\0\x0B," );
|
762 |
} // strlen( $argument_string )
|
@@ -764,6 +763,46 @@ class MLAData {
|
|
764 |
return $arguments;
|
765 |
}
|
766 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
767 |
/**
|
768 |
* Apply field-level format options to field-level content
|
769 |
*
|
@@ -778,7 +817,7 @@ class MLAData {
|
|
778 |
if ( empty( $value ) ) {
|
779 |
return $value;
|
780 |
}
|
781 |
-
|
782 |
switch ( $args['format'] ) {
|
783 |
case 'native':
|
784 |
case 'raw':
|
@@ -819,7 +858,7 @@ class MLAData {
|
|
819 |
$kb_suffix = isset( $args['args'][1] ) ? $args['args'][1] : $kb_suffix;
|
820 |
$args['args'] = $args['args'][0];
|
821 |
}
|
822 |
-
|
823 |
if ( is_numeric( $args['args'] ) ) {
|
824 |
$threshold = absint( $args['args'] );
|
825 |
}
|
@@ -842,7 +881,7 @@ class MLAData {
|
|
842 |
if ( is_array( $format ) ) {
|
843 |
$format = $format[0];
|
844 |
}
|
845 |
-
|
846 |
$value = date( $format , (integer) $value );
|
847 |
}
|
848 |
break;
|
@@ -857,7 +896,7 @@ class MLAData {
|
|
857 |
if ( is_array( $format ) ) {
|
858 |
$format = $format[0];
|
859 |
}
|
860 |
-
|
861 |
$value = date( $format, $timestamp );
|
862 |
}
|
863 |
break;
|
@@ -870,7 +909,7 @@ class MLAData {
|
|
870 |
} else {
|
871 |
$format = $args['args'][0];
|
872 |
}
|
873 |
-
|
874 |
$show_fractions = ( 'false' !== strtolower( trim( $args['args'][1] ) ) );
|
875 |
} else {
|
876 |
if ( is_numeric( $args['args'] ) ) {
|
@@ -882,7 +921,7 @@ class MLAData {
|
|
882 |
} else {
|
883 |
$format = '%1$+.2f';
|
884 |
}
|
885 |
-
|
886 |
$fragments = array_map( 'intval', explode( '/', $value ) );
|
887 |
if ( 1 == count( $fragments ) ) {
|
888 |
$value = trim( $value );
|
@@ -907,11 +946,11 @@ class MLAData {
|
|
907 |
case 'substr':
|
908 |
$start = 0;
|
909 |
$length = strlen( $value );
|
910 |
-
|
911 |
if ( ! empty( $args['args'] ) ) {
|
912 |
if ( is_array( $args['args'] ) ) {
|
913 |
$start = intval( $args['args'][0] );
|
914 |
-
|
915 |
if ( 1 < count( $args['args'] ) ) {
|
916 |
$length = intval( $args['args'][1] );
|
917 |
}
|
@@ -919,7 +958,7 @@ class MLAData {
|
|
919 |
$start = intval( $args['args'] );
|
920 |
}
|
921 |
}
|
922 |
-
|
923 |
if ( false === $value = substr( $value, $start, $length ) ) {
|
924 |
$value = '';
|
925 |
}
|
@@ -928,6 +967,154 @@ class MLAData {
|
|
928 |
if ( is_array( $args['args'] ) && ( 2 === count( $args['args'] ) ) ) {
|
929 |
$value = str_replace( $args['args'][0], $args['args'][1], $value );
|
930 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
931 |
break;
|
932 |
default:
|
933 |
$value = apply_filters( 'mla_apply_custom_format', $value, $args );
|
@@ -962,6 +1149,7 @@ class MLAData {
|
|
962 |
$item_metadata = NULL;
|
963 |
$attachment_metadata = NULL;
|
964 |
$id3_metadata = NULL;
|
|
|
965 |
$cached_post_id = $post_id;
|
966 |
}
|
967 |
|
@@ -1042,7 +1230,7 @@ class MLAData {
|
|
1042 |
$taxonomy = $value['value'];
|
1043 |
$field = 'name';
|
1044 |
}
|
1045 |
-
|
1046 |
// Look for compound taxonomy.slug notation
|
1047 |
$matches = explode( '.', $taxonomy );
|
1048 |
if ( 2 === count( $matches ) ) {
|
@@ -1053,7 +1241,7 @@ class MLAData {
|
|
1053 |
if ( false === $term ) {
|
1054 |
break;
|
1055 |
}
|
1056 |
-
|
1057 |
$terms = array( $term );
|
1058 |
} else {
|
1059 |
if ( 0 < $post_id ) {
|
@@ -1212,6 +1400,9 @@ class MLAData {
|
|
1212 |
$markup_values[ $key ] = $record;
|
1213 |
}
|
1214 |
|
|
|
|
|
|
|
1215 |
break;
|
1216 |
case '':
|
1217 |
$candidate = str_replace( '{', '[', str_replace( '}', ']', $value['value'] ) );
|
@@ -1322,12 +1513,12 @@ class MLAData {
|
|
1322 |
}
|
1323 |
|
1324 |
if ( false !== strpos( $tail, ',' ) ) {
|
1325 |
-
$match_count = preg_match( '/([^,]+)(,(text|single|export|unpack|array|multi|commas|raw|attr|url|kbmb|timestamp|date|fraction|substr|str_replace))(\((
|
1326 |
if ( 1 == $match_count ) {
|
1327 |
$result['value'] = $matches[1];
|
1328 |
if ( ! empty( $matches[5] ) ) {
|
1329 |
$args = self::_parse_arguments( $matches[5] );
|
1330 |
-
|
1331 |
if ( 1 == count( $args ) ) {
|
1332 |
$args = $args[0];
|
1333 |
}
|
@@ -1335,7 +1526,7 @@ class MLAData {
|
|
1335 |
$args = '';
|
1336 |
}
|
1337 |
|
1338 |
-
if ( in_array( $matches[3], array( 'commas', 'raw', 'attr', 'url', 'kbmb', 'timestamp', 'date', 'fraction', 'substr', 'str_replace' ) ) ) {
|
1339 |
$result['option'] = 'text';
|
1340 |
$result['format'] = $matches[3];
|
1341 |
$result['args'] = $args;
|
@@ -1350,7 +1541,7 @@ class MLAData {
|
|
1350 |
|
1351 |
if ( ! empty( $matches[4] ) ) {
|
1352 |
$args = self::_parse_arguments( $matches[4] );
|
1353 |
-
|
1354 |
if ( 1 == count( $args ) ) {
|
1355 |
$args = $args[0];
|
1356 |
}
|
@@ -1431,7 +1622,7 @@ class MLAData {
|
|
1431 |
public static function mla_count_list_table_items( $request, $offset = NULL, $count = NULL ) {
|
1432 |
return MLAQuery::mla_count_list_table_items( $request, $offset, $count );
|
1433 |
}
|
1434 |
-
|
1435 |
/**
|
1436 |
* Retrieve attachment objects for list table display
|
1437 |
*
|
@@ -1448,7 +1639,7 @@ class MLAData {
|
|
1448 |
public static function mla_query_list_table_items( $request, $offset, $count ) {
|
1449 |
return MLAQuery::mla_query_list_table_items( $request, $offset, $count );
|
1450 |
}
|
1451 |
-
|
1452 |
/**
|
1453 |
* Retrieve an Attachment array given a $post_id
|
1454 |
*
|
@@ -1797,7 +1988,7 @@ class MLAData {
|
|
1797 |
*/
|
1798 |
private static function _nonempty_value( &$namespace_array, $namespace, $key ) {
|
1799 |
$result = '';
|
1800 |
-
|
1801 |
if ( isset( $namespace_array[ $namespace ] ) && isset( $namespace_array[ $namespace ][ $key ] ) ) {
|
1802 |
if ( is_array( $namespace_array[ $namespace ][ $key ] ) ) {
|
1803 |
$result = @implode( ',', $namespace_array[ $namespace ][ $key ] );
|
@@ -1805,12 +1996,12 @@ class MLAData {
|
|
1805 |
$result = (string) $namespace_array[ $namespace ][ $key ];
|
1806 |
}
|
1807 |
}
|
1808 |
-
|
1809 |
$trim_value = trim( $result, " \n\t\r\0\x0B," );
|
1810 |
if ( empty( $trim_value ) ) {
|
1811 |
$result = '';
|
1812 |
}
|
1813 |
-
|
1814 |
return $result;
|
1815 |
}
|
1816 |
|
@@ -2012,12 +2203,12 @@ class MLAData {
|
|
2012 |
} elseif ( is_array( $value ) ) {
|
2013 |
$value = self::_parse_xmp_array( $value );
|
2014 |
}
|
2015 |
-
|
2016 |
if ( false !== ($colon = strpos( $key, ':' ) ) ) {
|
2017 |
$array_name = substr( $key, 0, $colon );
|
2018 |
$array_index = substr( $key, $colon + 1 );
|
2019 |
$namespace_arrays[ $array_name ][ $array_index ] = $value;
|
2020 |
-
|
2021 |
if ( ! isset( $results[ $array_index ] ) && in_array( $array_name, array( 'xmp', 'xmpMM', 'xmpRights', 'xap', 'xapMM', 'dc', 'pdf', 'pdfx', 'mwg-rs' ) ) ) {
|
2022 |
if ( is_array( $value ) && 1 == count( $value ) && isset( $value[0] ) ) {
|
2023 |
$results[ $array_index ] = $value[0];
|
@@ -2614,7 +2805,7 @@ class MLAData {
|
|
2614 |
if ( is_array( $value ) ) {
|
2615 |
foreach ($value as $text_key => $text )
|
2616 |
$value[ $text_key ] = self::_bin_to_utf8( $text );
|
2617 |
-
|
2618 |
$clean_data[ $key ] = 'ARRAY(' . implode( ',', $value ) . ')';
|
2619 |
} elseif ( is_string( $value ) ) {
|
2620 |
$clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
|
@@ -2623,7 +2814,7 @@ class MLAData {
|
|
2623 |
}
|
2624 |
}
|
2625 |
}
|
2626 |
-
|
2627 |
return var_export( $clean_data, true);
|
2628 |
}
|
2629 |
|
@@ -2667,7 +2858,7 @@ class MLAData {
|
|
2667 |
if ( is_array( $value ) ) {
|
2668 |
foreach ($value as $text_key => $text )
|
2669 |
$value[ $text_key ] = self::_bin_to_utf8( $text );
|
2670 |
-
|
2671 |
$clean_data[ $key ] = 'ARRAY(' . implode( ',', $value ) . ')';
|
2672 |
} elseif ( is_string( $value ) ) {
|
2673 |
$clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
|
@@ -2676,7 +2867,7 @@ class MLAData {
|
|
2676 |
}
|
2677 |
}
|
2678 |
}
|
2679 |
-
|
2680 |
return var_export( $clean_data, true);
|
2681 |
}
|
2682 |
|
@@ -2711,7 +2902,7 @@ class MLAData {
|
|
2711 |
}
|
2712 |
}
|
2713 |
}
|
2714 |
-
|
2715 |
return var_export( $clean_data, true);
|
2716 |
}
|
2717 |
|
@@ -2746,7 +2937,7 @@ class MLAData {
|
|
2746 |
}
|
2747 |
}
|
2748 |
}
|
2749 |
-
|
2750 |
return var_export( $clean_data, true);
|
2751 |
}
|
2752 |
|
@@ -2793,7 +2984,7 @@ class MLAData {
|
|
2793 |
}
|
2794 |
}
|
2795 |
}
|
2796 |
-
|
2797 |
$text = var_export( $clean_data, true);
|
2798 |
} // ALL_PDF
|
2799 |
|
@@ -3109,7 +3300,7 @@ class MLAData {
|
|
3109 |
if ( ! empty( $exception ) ) {
|
3110 |
MLAData::$mla_IPTC_EXIF_errors[] = sprintf( '(%1$s) %2$s', $exception->getCode(), $exception->getMessage() );
|
3111 |
}
|
3112 |
-
|
3113 |
// Combine exceptions with PHP notice/warning/error messages
|
3114 |
if ( ! empty( MLAData::$mla_IPTC_EXIF_errors ) ) {
|
3115 |
$results['mla_exif_errors'] = MLAData::$mla_IPTC_EXIF_errors;
|
@@ -3150,7 +3341,7 @@ class MLAData {
|
|
3150 |
if ( 'PixelUnit' === $element_name ) {
|
3151 |
$element_value = (string) ord( $element_value );
|
3152 |
}
|
3153 |
-
|
3154 |
// Problem with values edited through Windows right-click properties.
|
3155 |
if ( in_array( $element_name, array( 'Title', 'Keywords', 'Subject' ) ) ) {
|
3156 |
$element_value = str_replace( "\000", '', $element_value );
|
@@ -3160,7 +3351,7 @@ class MLAData {
|
|
3160 |
$results['mla_exif_metadata'][ $element_name ] = $element_value;
|
3161 |
} // foreach $section_data
|
3162 |
} // foreach $exif_data
|
3163 |
-
|
3164 |
// $exif_data is used for enhanced values below
|
3165 |
$exif_data = $results['mla_exif_metadata'];
|
3166 |
} // exif_read_data
|
@@ -3628,7 +3819,7 @@ class MLAData {
|
|
3628 |
} else {
|
3629 |
$new_text = $meta_value;
|
3630 |
}
|
3631 |
-
|
3632 |
/* translators: 1: meta_key 2: meta_value */
|
3633 |
$message .= sprintf( __( 'Adding %1$s = %2$s', 'media-library-assistant' ) . '<br>', $meta_key, $new_text );
|
3634 |
}
|
@@ -3912,6 +4103,24 @@ class MLAData {
|
|
3912 |
$message .= sprintf( __( 'Changing %1$s from "%2$s" to "%3$s"', 'media-library-assistant' ) . '<br>', __( 'Pings', 'media-library-assistant' ), esc_attr( $post_data[ $key ] ), esc_attr( $value ) );
|
3913 |
$updates[ $key ] = $value;
|
3914 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3915 |
case 'taxonomy_updates':
|
3916 |
$tax_input = $value['inputs'];
|
3917 |
$tax_actions = $value['actions'];
|
@@ -3939,7 +4148,7 @@ class MLAData {
|
|
3939 |
$message .= sprintf( __( 'You cannot assign "%1$s" terms', 'media-library-assistant' ) . '<br>', $taxonomy );
|
3940 |
continue;
|
3941 |
}
|
3942 |
-
|
3943 |
// array of int = hierarchical, comma-delimited string = flat.
|
3944 |
if ( is_array( $tags ) ) {
|
3945 |
$tags = array_filter( $tags );
|
@@ -3960,13 +4169,13 @@ class MLAData {
|
|
3960 |
if ( empty( $tag ) ) {
|
3961 |
continue;
|
3962 |
}
|
3963 |
-
|
3964 |
$_term = MLAQuery::mla_wp_get_terms( $taxonomy, array(
|
3965 |
'name' => $tag,
|
3966 |
'fields' => 'ids',
|
3967 |
'hide_empty' => false,
|
3968 |
) );
|
3969 |
-
|
3970 |
if ( ! empty( $_term ) ) {
|
3971 |
$clean_terms[] = intval( $_term[0] );
|
3972 |
} else {
|
@@ -3974,7 +4183,7 @@ class MLAData {
|
|
3974 |
$clean_terms[] = $tag;
|
3975 |
}
|
3976 |
}
|
3977 |
-
|
3978 |
$tags = $clean_terms;
|
3979 |
}
|
3980 |
|
@@ -4045,6 +4254,15 @@ class MLAData {
|
|
4045 |
$result = $post_id;
|
4046 |
}
|
4047 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4048 |
do_action( 'mla_updated_single_item', $post_id, $result );
|
4049 |
|
4050 |
if ( $result ) {
|
@@ -4054,7 +4272,7 @@ class MLAData {
|
|
4054 |
* Uncomment this for debugging.
|
4055 |
*/
|
4056 |
// $final_message .= '<br>' . $message;
|
4057 |
-
//error_log( '
|
4058 |
|
4059 |
return array(
|
4060 |
'message' => $final_message,
|
677 |
* @return array individual arguments, e.g. array( 0 => 'd/m/Y H:i:s', 1 => 'arg, " two' )
|
678 |
*/
|
679 |
private static function _parse_arguments( $argument_string ) {
|
|
|
680 |
$argument_string = trim( $argument_string, " \n\t\r\0\x0B," );
|
681 |
$arguments = array();
|
682 |
|
686 |
|
687 |
// Check for array or enclosing quotes
|
688 |
$delimiter = $argument_string[0];
|
689 |
+
|
690 |
// Check for array
|
691 |
if ( '{' == $delimiter ) {
|
692 |
$array = self::_find_delimited_substring( substr( $argument_string, $index ), '{', '}' );
|
706 |
} else {
|
707 |
$delimiter = '';
|
708 |
}
|
709 |
+
|
710 |
while ( $index < strlen( $argument_string ) ) {
|
711 |
$byte = $argument_string[ $index++ ];
|
712 |
if ( '\\' == $byte ) {
|
736 |
$digit_index++;
|
737 |
}
|
738 |
}
|
739 |
+
|
740 |
if ( $digit_count = $digit_index - $index ) {
|
741 |
$argument .= chr( octdec( substr( $argument_string, $index, $digit_count ) ) );
|
742 |
$index += $digit_count - 1;
|
744 |
$argument .= $argument_string[ $index ];
|
745 |
}
|
746 |
} // switch
|
747 |
+
|
748 |
$index++;
|
749 |
} else { // backslash
|
750 |
if ( $delimiter == $byte || ( empty( $delimiter ) && ',' == $byte ) ) {
|
751 |
break;
|
752 |
}
|
753 |
+
|
754 |
$argument .= $byte;
|
755 |
} // just another 8-bit value, but check for closing delimiter
|
756 |
} // index < strlen
|
757 |
} // non-array
|
758 |
+
|
759 |
$arguments[] = $argument;
|
760 |
$argument_string = trim( substr( $argument_string, $index ), " \n\t\r\0\x0B," );
|
761 |
} // strlen( $argument_string )
|
763 |
return $arguments;
|
764 |
}
|
765 |
|
766 |
+
/**
|
767 |
+
* Regular expression pattern/subpattern matches
|
768 |
+
*
|
769 |
+
* This array contains values matched in the "match" and "extract" format/option functions,
|
770 |
+
* making them available for the "matches:" data source prefix.
|
771 |
+
*
|
772 |
+
* @since 2.71
|
773 |
+
*
|
774 |
+
* @var array
|
775 |
+
*/
|
776 |
+
public static $regex_matches = array();
|
777 |
+
|
778 |
+
/**
|
779 |
+
* Clear out the matches: prefix values
|
780 |
+
*
|
781 |
+
* @since 2.71
|
782 |
+
*
|
783 |
+
*/
|
784 |
+
public static function mla_reset_regex_matches() {
|
785 |
+
MLAData::$regex_matches = array();
|
786 |
+
}
|
787 |
+
|
788 |
+
/**
|
789 |
+
* Intercept thumbnail file deletion errors
|
790 |
+
*
|
791 |
+
* @since 2.54
|
792 |
+
*
|
793 |
+
* @param int the level of the error raised
|
794 |
+
* @param string the error message
|
795 |
+
* @param string the filename that the error was raised in
|
796 |
+
* @param int the line number the error was raised at
|
797 |
+
*
|
798 |
+
* @return boolean true, to bypass PHP error handler
|
799 |
+
*/
|
800 |
+
public static function preg_error_handler( $type, $string, $file, $line ) {
|
801 |
+
MLACore::mla_debug_add( __LINE__ . " MLAData::preg_error_handler( $type, $string, $file, $line )", MLACore::MLA_DEBUG_CATEGORY_ANY );
|
802 |
+
// Don't execute PHP internal error handler
|
803 |
+
return true;
|
804 |
+
}
|
805 |
+
|
806 |
/**
|
807 |
* Apply field-level format options to field-level content
|
808 |
*
|
817 |
if ( empty( $value ) ) {
|
818 |
return $value;
|
819 |
}
|
820 |
+
|
821 |
switch ( $args['format'] ) {
|
822 |
case 'native':
|
823 |
case 'raw':
|
858 |
$kb_suffix = isset( $args['args'][1] ) ? $args['args'][1] : $kb_suffix;
|
859 |
$args['args'] = $args['args'][0];
|
860 |
}
|
861 |
+
|
862 |
if ( is_numeric( $args['args'] ) ) {
|
863 |
$threshold = absint( $args['args'] );
|
864 |
}
|
881 |
if ( is_array( $format ) ) {
|
882 |
$format = $format[0];
|
883 |
}
|
884 |
+
|
885 |
$value = date( $format , (integer) $value );
|
886 |
}
|
887 |
break;
|
896 |
if ( is_array( $format ) ) {
|
897 |
$format = $format[0];
|
898 |
}
|
899 |
+
|
900 |
$value = date( $format, $timestamp );
|
901 |
}
|
902 |
break;
|
909 |
} else {
|
910 |
$format = $args['args'][0];
|
911 |
}
|
912 |
+
|
913 |
$show_fractions = ( 'false' !== strtolower( trim( $args['args'][1] ) ) );
|
914 |
} else {
|
915 |
if ( is_numeric( $args['args'] ) ) {
|
921 |
} else {
|
922 |
$format = '%1$+.2f';
|
923 |
}
|
924 |
+
|
925 |
$fragments = array_map( 'intval', explode( '/', $value ) );
|
926 |
if ( 1 == count( $fragments ) ) {
|
927 |
$value = trim( $value );
|
946 |
case 'substr':
|
947 |
$start = 0;
|
948 |
$length = strlen( $value );
|
949 |
+
|
950 |
if ( ! empty( $args['args'] ) ) {
|
951 |
if ( is_array( $args['args'] ) ) {
|
952 |
$start = intval( $args['args'][0] );
|
953 |
+
|
954 |
if ( 1 < count( $args['args'] ) ) {
|
955 |
$length = intval( $args['args'][1] );
|
956 |
}
|
958 |
$start = intval( $args['args'] );
|
959 |
}
|
960 |
}
|
961 |
+
|
962 |
if ( false === $value = substr( $value, $start, $length ) ) {
|
963 |
$value = '';
|
964 |
}
|
967 |
if ( is_array( $args['args'] ) && ( 2 === count( $args['args'] ) ) ) {
|
968 |
$value = str_replace( $args['args'][0], $args['args'][1], $value );
|
969 |
}
|
970 |
+
break;
|
971 |
+
case 'match':
|
972 |
+
$pattern = NULL;
|
973 |
+
|
974 |
+
if ( ! empty( $args['args'] ) ) {
|
975 |
+
if ( is_array( $args['args'] ) ) {
|
976 |
+
$pattern = trim( $args['args'][0] );
|
977 |
+
} else {
|
978 |
+
$pattern = trim( $args['args'] );
|
979 |
+
}
|
980 |
+
}
|
981 |
+
|
982 |
+
if ( empty( $pattern ) ) {
|
983 |
+
// No pattern - return empty value
|
984 |
+
$value = '';
|
985 |
+
break;
|
986 |
+
}
|
987 |
+
|
988 |
+
set_error_handler( 'MLAData::preg_error_handler' );
|
989 |
+
try {
|
990 |
+
$count = preg_match( $pattern, $value, $matches );
|
991 |
+
} catch ( Throwable $e ) { // PHP 7
|
992 |
+
} catch ( Exception $e ) { // PHP 5
|
993 |
+
}
|
994 |
+
restore_error_handler();
|
995 |
+
|
996 |
+
if ( $count ) {
|
997 |
+
// array_merge won't work because it handles numeric keys differently
|
998 |
+
foreach ( $matches as $matches_key => $matches_value ) {
|
999 |
+
MLAData::$regex_matches[ $matches_key ] = $matches_value;
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
$value = MLAData::$regex_matches[0];
|
1003 |
+
} else {
|
1004 |
+
// No pattern or no match
|
1005 |
+
$value = '';
|
1006 |
+
}
|
1007 |
+
|
1008 |
+
break;
|
1009 |
+
case 'extract':
|
1010 |
+
$pattern = NULL;
|
1011 |
+
$return_value = NULL;
|
1012 |
+
|
1013 |
+
if ( ! empty( $args['args'] ) ) {
|
1014 |
+
if ( is_array( $args['args'] ) ) {
|
1015 |
+
$pattern = trim( $args['args'][0] );
|
1016 |
+
|
1017 |
+
if ( 1 < count( $args['args'] ) ) {
|
1018 |
+
$return_value = intval( $args['args'][1] );
|
1019 |
+
}
|
1020 |
+
} else {
|
1021 |
+
$pattern = trim( $args['args'] );
|
1022 |
+
}
|
1023 |
+
}
|
1024 |
+
|
1025 |
+
if ( empty( $pattern ) ) {
|
1026 |
+
// No pattern - return empty value
|
1027 |
+
$value = '';
|
1028 |
+
break;
|
1029 |
+
}
|
1030 |
+
|
1031 |
+
set_error_handler( 'MLAData::preg_error_handler' );
|
1032 |
+
try {
|
1033 |
+
$count = preg_match( $pattern, $value, $matches );
|
1034 |
+
} catch ( Throwable $e ) { // PHP 7
|
1035 |
+
} catch ( Exception $e ) { // PHP 5
|
1036 |
+
}
|
1037 |
+
restore_error_handler();
|
1038 |
+
|
1039 |
+
if ( $count ) {
|
1040 |
+
// array_merge won't work because it handles numeric keys differently
|
1041 |
+
foreach ( $matches as $matches_key => $matches_value ) {
|
1042 |
+
MLAData::$regex_matches[ $matches_key ] = $matches_value;
|
1043 |
+
}
|
1044 |
+
} else {
|
1045 |
+
// No pattern or no match
|
1046 |
+
$value = '';
|
1047 |
+
break;
|
1048 |
+
}
|
1049 |
+
|
1050 |
+
if ( !is_null( $return_value ) && isset( MLAData::$regex_matches[ $return_value ] ) ) {
|
1051 |
+
$value = MLAData::$regex_matches[ $return_value ];
|
1052 |
+
} else {
|
1053 |
+
$value = '';
|
1054 |
+
}
|
1055 |
+
|
1056 |
+
break;
|
1057 |
+
case 'replace':
|
1058 |
+
$pattern = NULL;
|
1059 |
+
$replacement = NULL;
|
1060 |
+
$return_value = false;
|
1061 |
+
|
1062 |
+
if ( ! empty( $args['args'] ) ) {
|
1063 |
+
if ( is_array( $args['args'] ) ) {
|
1064 |
+
$pattern = trim( $args['args'][0] );
|
1065 |
+
|
1066 |
+
if ( 1 < count( $args['args'] ) ) {
|
1067 |
+
$replacement = trim( $args['args'][1] );
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
if ( 2 < count( $args['args'] ) ) {
|
1071 |
+
$return_value = 'true' === strtolower( trim( $args['args'][2] ) );
|
1072 |
+
}
|
1073 |
+
} else {
|
1074 |
+
$pattern = trim( $args['args'] );
|
1075 |
+
}
|
1076 |
+
}
|
1077 |
+
|
1078 |
+
if ( empty( $pattern ) || empty( $replacement ) ) {
|
1079 |
+
// No pattern or no replacement - return unaltered value
|
1080 |
+
break;
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
// Save original value in case replacement fails
|
1084 |
+
$old_value = $value;
|
1085 |
+
|
1086 |
+
// If $return_value is true we return only the matched portion with the modifications applied
|
1087 |
+
if ( $return_value ) {
|
1088 |
+
set_error_handler( 'MLAData::preg_error_handler' );
|
1089 |
+
try {
|
1090 |
+
$count = preg_match( $pattern, $value, $matches );
|
1091 |
+
} catch ( Throwable $e ) { // PHP 7
|
1092 |
+
} catch ( Exception $e ) { // PHP 5
|
1093 |
+
}
|
1094 |
+
restore_error_handler();
|
1095 |
+
|
1096 |
+
if ( $count ) {
|
1097 |
+
// Keep only the matched portion of the original value
|
1098 |
+
$value = $matches[0];
|
1099 |
+
} else {
|
1100 |
+
// No match - return unaltered value
|
1101 |
+
break;
|
1102 |
+
}
|
1103 |
+
}
|
1104 |
+
|
1105 |
+
set_error_handler( 'MLAData::preg_error_handler' );
|
1106 |
+
try {
|
1107 |
+
$value = preg_replace( $pattern, $replacement, $value );
|
1108 |
+
} catch ( Throwable $e ) { // PHP 7
|
1109 |
+
} catch ( Exception $e ) { // PHP 5
|
1110 |
+
}
|
1111 |
+
restore_error_handler();
|
1112 |
+
|
1113 |
+
// Check or error, i.e., bad $replacement pattern
|
1114 |
+
if ( is_null( $value ) ) {
|
1115 |
+
$value = $old_value;
|
1116 |
+
}
|
1117 |
+
|
1118 |
break;
|
1119 |
default:
|
1120 |
$value = apply_filters( 'mla_apply_custom_format', $value, $args );
|
1149 |
$item_metadata = NULL;
|
1150 |
$attachment_metadata = NULL;
|
1151 |
$id3_metadata = NULL;
|
1152 |
+
MLAData::mla_reset_regex_matches();
|
1153 |
$cached_post_id = $post_id;
|
1154 |
}
|
1155 |
|
1230 |
$taxonomy = $value['value'];
|
1231 |
$field = 'name';
|
1232 |
}
|
1233 |
+
|
1234 |
// Look for compound taxonomy.slug notation
|
1235 |
$matches = explode( '.', $taxonomy );
|
1236 |
if ( 2 === count( $matches ) ) {
|
1241 |
if ( false === $term ) {
|
1242 |
break;
|
1243 |
}
|
1244 |
+
|
1245 |
$terms = array( $term );
|
1246 |
} else {
|
1247 |
if ( 0 < $post_id ) {
|
1400 |
$markup_values[ $key ] = $record;
|
1401 |
}
|
1402 |
|
1403 |
+
break;
|
1404 |
+
case 'matches':
|
1405 |
+
$markup_values[ $key ] = isset( MLAData::$regex_matches[ $value['value'] ] ) ? MLAData::$regex_matches[ $value['value'] ] : '';
|
1406 |
break;
|
1407 |
case '':
|
1408 |
$candidate = str_replace( '{', '[', str_replace( '}', ']', $value['value'] ) );
|
1513 |
}
|
1514 |
|
1515 |
if ( false !== strpos( $tail, ',' ) ) {
|
1516 |
+
$match_count = preg_match( '/([^,]+)(,(text|single|export|unpack|array|multi|commas|raw|attr|url|kbmb|timestamp|date|fraction|substr|str_replace|match|extract|replace))(\((.*)\)$)*/', $tail, $matches );
|
1517 |
if ( 1 == $match_count ) {
|
1518 |
$result['value'] = $matches[1];
|
1519 |
if ( ! empty( $matches[5] ) ) {
|
1520 |
$args = self::_parse_arguments( $matches[5] );
|
1521 |
+
|
1522 |
if ( 1 == count( $args ) ) {
|
1523 |
$args = $args[0];
|
1524 |
}
|
1526 |
$args = '';
|
1527 |
}
|
1528 |
|
1529 |
+
if ( in_array( $matches[3], array( 'commas', 'raw', 'attr', 'url', 'kbmb', 'timestamp', 'date', 'fraction', 'substr', 'str_replace', 'match', 'extract', 'replace' ) ) ) {
|
1530 |
$result['option'] = 'text';
|
1531 |
$result['format'] = $matches[3];
|
1532 |
$result['args'] = $args;
|
1541 |
|
1542 |
if ( ! empty( $matches[4] ) ) {
|
1543 |
$args = self::_parse_arguments( $matches[4] );
|
1544 |
+
|
1545 |
if ( 1 == count( $args ) ) {
|
1546 |
$args = $args[0];
|
1547 |
}
|
1622 |
public static function mla_count_list_table_items( $request, $offset = NULL, $count = NULL ) {
|
1623 |
return MLAQuery::mla_count_list_table_items( $request, $offset, $count );
|
1624 |
}
|
1625 |
+
|
1626 |
/**
|
1627 |
* Retrieve attachment objects for list table display
|
1628 |
*
|
1639 |
public static function mla_query_list_table_items( $request, $offset, $count ) {
|
1640 |
return MLAQuery::mla_query_list_table_items( $request, $offset, $count );
|
1641 |
}
|
1642 |
+
|
1643 |
/**
|
1644 |
* Retrieve an Attachment array given a $post_id
|
1645 |
*
|
1988 |
*/
|
1989 |
private static function _nonempty_value( &$namespace_array, $namespace, $key ) {
|
1990 |
$result = '';
|
1991 |
+
|
1992 |
if ( isset( $namespace_array[ $namespace ] ) && isset( $namespace_array[ $namespace ][ $key ] ) ) {
|
1993 |
if ( is_array( $namespace_array[ $namespace ][ $key ] ) ) {
|
1994 |
$result = @implode( ',', $namespace_array[ $namespace ][ $key ] );
|
1996 |
$result = (string) $namespace_array[ $namespace ][ $key ];
|
1997 |
}
|
1998 |
}
|
1999 |
+
|
2000 |
$trim_value = trim( $result, " \n\t\r\0\x0B," );
|
2001 |
if ( empty( $trim_value ) ) {
|
2002 |
$result = '';
|
2003 |
}
|
2004 |
+
|
2005 |
return $result;
|
2006 |
}
|
2007 |
|
2203 |
} elseif ( is_array( $value ) ) {
|
2204 |
$value = self::_parse_xmp_array( $value );
|
2205 |
}
|
2206 |
+
|
2207 |
if ( false !== ($colon = strpos( $key, ':' ) ) ) {
|
2208 |
$array_name = substr( $key, 0, $colon );
|
2209 |
$array_index = substr( $key, $colon + 1 );
|
2210 |
$namespace_arrays[ $array_name ][ $array_index ] = $value;
|
2211 |
+
|
2212 |
if ( ! isset( $results[ $array_index ] ) && in_array( $array_name, array( 'xmp', 'xmpMM', 'xmpRights', 'xap', 'xapMM', 'dc', 'pdf', 'pdfx', 'mwg-rs' ) ) ) {
|
2213 |
if ( is_array( $value ) && 1 == count( $value ) && isset( $value[0] ) ) {
|
2214 |
$results[ $array_index ] = $value[0];
|
2805 |
if ( is_array( $value ) ) {
|
2806 |
foreach ($value as $text_key => $text )
|
2807 |
$value[ $text_key ] = self::_bin_to_utf8( $text );
|
2808 |
+
|
2809 |
$clean_data[ $key ] = 'ARRAY(' . implode( ',', $value ) . ')';
|
2810 |
} elseif ( is_string( $value ) ) {
|
2811 |
$clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
|
2814 |
}
|
2815 |
}
|
2816 |
}
|
2817 |
+
|
2818 |
return var_export( $clean_data, true);
|
2819 |
}
|
2820 |
|
2858 |
if ( is_array( $value ) ) {
|
2859 |
foreach ($value as $text_key => $text )
|
2860 |
$value[ $text_key ] = self::_bin_to_utf8( $text );
|
2861 |
+
|
2862 |
$clean_data[ $key ] = 'ARRAY(' . implode( ',', $value ) . ')';
|
2863 |
} elseif ( is_string( $value ) ) {
|
2864 |
$clean_data[ $key ] = self::_bin_to_utf8( substr( $value, 0, 256 ) );
|
2867 |
}
|
2868 |
}
|
2869 |
}
|
2870 |
+
|
2871 |
return var_export( $clean_data, true);
|
2872 |
}
|
2873 |
|
2902 |
}
|
2903 |
}
|
2904 |
}
|
2905 |
+
|
2906 |
return var_export( $clean_data, true);
|
2907 |
}
|
2908 |
|
2937 |
}
|
2938 |
}
|
2939 |
}
|
2940 |
+
|
2941 |
return var_export( $clean_data, true);
|
2942 |
}
|
2943 |
|
2984 |
}
|
2985 |
}
|
2986 |
}
|
2987 |
+
|
2988 |
$text = var_export( $clean_data, true);
|
2989 |
} // ALL_PDF
|
2990 |
|
3300 |
if ( ! empty( $exception ) ) {
|
3301 |
MLAData::$mla_IPTC_EXIF_errors[] = sprintf( '(%1$s) %2$s', $exception->getCode(), $exception->getMessage() );
|
3302 |
}
|
3303 |
+
|
3304 |
// Combine exceptions with PHP notice/warning/error messages
|
3305 |
if ( ! empty( MLAData::$mla_IPTC_EXIF_errors ) ) {
|
3306 |
$results['mla_exif_errors'] = MLAData::$mla_IPTC_EXIF_errors;
|
3341 |
if ( 'PixelUnit' === $element_name ) {
|
3342 |
$element_value = (string) ord( $element_value );
|
3343 |
}
|
3344 |
+
|
3345 |
// Problem with values edited through Windows right-click properties.
|
3346 |
if ( in_array( $element_name, array( 'Title', 'Keywords', 'Subject' ) ) ) {
|
3347 |
$element_value = str_replace( "\000", '', $element_value );
|
3351 |
$results['mla_exif_metadata'][ $element_name ] = $element_value;
|
3352 |
} // foreach $section_data
|
3353 |
} // foreach $exif_data
|
3354 |
+
|
3355 |
// $exif_data is used for enhanced values below
|
3356 |
$exif_data = $results['mla_exif_metadata'];
|
3357 |
} // exif_read_data
|
3819 |
} else {
|
3820 |
$new_text = $meta_value;
|
3821 |
}
|
3822 |
+
|
3823 |
/* translators: 1: meta_key 2: meta_value */
|
3824 |
$message .= sprintf( __( 'Adding %1$s = %2$s', 'media-library-assistant' ) . '<br>', $meta_key, $new_text );
|
3825 |
}
|
4103 |
$message .= sprintf( __( 'Changing %1$s from "%2$s" to "%3$s"', 'media-library-assistant' ) . '<br>', __( 'Pings', 'media-library-assistant' ), esc_attr( $post_data[ $key ] ), esc_attr( $value ) );
|
4104 |
$updates[ $key ] = $value;
|
4105 |
break;
|
4106 |
+
case 'post_date':
|
4107 |
+
if ( $value == $post_data[ $key ] ) {
|
4108 |
+
break;
|
4109 |
+
}
|
4110 |
+
|
4111 |
+
/* translators: 1: element name 2: old_value 3: new_value */
|
4112 |
+
$message .= sprintf( __( 'Changing %1$s from "%2$s" to "%3$s"', 'media-library-assistant' ) . '<br>', __( 'Uploaded on', 'media-library-assistant' ), esc_attr( $post_data[ $key ] ), esc_attr( $value ) );
|
4113 |
+
$updates[ $key ] = $value;
|
4114 |
+
break;
|
4115 |
+
case 'post_date_gmt':
|
4116 |
+
if ( $value == $post_data[ $key ] ) {
|
4117 |
+
break;
|
4118 |
+
}
|
4119 |
+
|
4120 |
+
/* translators: 1: element name 2: old_value 3: new_value */
|
4121 |
+
$message .= sprintf( __( 'Changing %1$s from "%2$s" to "%3$s"', 'media-library-assistant' ) . '<br>', __( 'Uploaded on', 'media-library-assistant' ) . ' GMT', esc_attr( $post_data[ $key ] ), esc_attr( $value ) );
|
4122 |
+
$updates[ $key ] = $value;
|
4123 |
+
break;
|
4124 |
case 'taxonomy_updates':
|
4125 |
$tax_input = $value['inputs'];
|
4126 |
$tax_actions = $value['actions'];
|
4148 |
$message .= sprintf( __( 'You cannot assign "%1$s" terms', 'media-library-assistant' ) . '<br>', $taxonomy );
|
4149 |
continue;
|
4150 |
}
|
4151 |
+
|
4152 |
// array of int = hierarchical, comma-delimited string = flat.
|
4153 |
if ( is_array( $tags ) ) {
|
4154 |
$tags = array_filter( $tags );
|
4169 |
if ( empty( $tag ) ) {
|
4170 |
continue;
|
4171 |
}
|
4172 |
+
|
4173 |
$_term = MLAQuery::mla_wp_get_terms( $taxonomy, array(
|
4174 |
'name' => $tag,
|
4175 |
'fields' => 'ids',
|
4176 |
'hide_empty' => false,
|
4177 |
) );
|
4178 |
+
|
4179 |
if ( ! empty( $_term ) ) {
|
4180 |
$clean_terms[] = intval( $_term[0] );
|
4181 |
} else {
|
4183 |
$clean_terms[] = $tag;
|
4184 |
}
|
4185 |
}
|
4186 |
+
|
4187 |
$tags = $clean_terms;
|
4188 |
}
|
4189 |
|
4254 |
$result = $post_id;
|
4255 |
}
|
4256 |
|
4257 |
+
/*
|
4258 |
+
* Allow Jordy Meow's Media File Renamer plugin to do its work
|
4259 |
+
* https://wordpress.org/support/topic/media-file-rename-media-library-assistant/
|
4260 |
+
*/
|
4261 |
+
if ( class_exists( 'Meow_MFRH_Core' ) && isset( $updates['post_title'] ) ) {
|
4262 |
+
global $mfrh_core;
|
4263 |
+
$mfrh_core->rename( $post_id );
|
4264 |
+
}
|
4265 |
+
|
4266 |
do_action( 'mla_updated_single_item', $post_id, $result );
|
4267 |
|
4268 |
if ( $result ) {
|
4272 |
* Uncomment this for debugging.
|
4273 |
*/
|
4274 |
// $final_message .= '<br>' . $message;
|
4275 |
+
//error_log( __LINE__ . ' MLAData::mla_update_single_item message = ' . var_export( $message, true ), 0 );
|
4276 |
|
4277 |
return array(
|
4278 |
'message' => $final_message,
|
includes/class-mla-edit-media.php
CHANGED
@@ -238,6 +238,8 @@ class MLAEdit {
|
|
238 |
'Ajax_Url' => admin_url( 'admin-ajax.php' ),
|
239 |
'ajaxFailError' => __( 'An ajax.fail error has occurred. Please reload the page and try again.', 'media-library-assistant' ),
|
240 |
'ajaxDoneError' => __( 'An ajax.done error has occurred. Please reload the page and try again.', 'media-library-assistant' ),
|
|
|
|
|
241 |
'useDashicons' => false,
|
242 |
'useSpinnerClass' => false,
|
243 |
);
|
@@ -428,6 +430,7 @@ class MLAEdit {
|
|
428 |
'Caption' => __( 'Caption', 'media-library-assistant' ),
|
429 |
'Description' => __( 'Description', 'media-library-assistant' ),
|
430 |
'ALT Text' => __( 'ALT Text', 'media-library-assistant' ),
|
|
|
431 |
'Parent ID' => __( 'Parent ID', 'media-library-assistant' ),
|
432 |
'Select' => __( 'Select', 'media-library-assistant' ),
|
433 |
'set_parent_form' => $set_parent_form,
|
@@ -456,6 +459,13 @@ class MLAEdit {
|
|
456 |
* @return array updated attachment metadata
|
457 |
*/
|
458 |
public static function mla_update_attachment_metadata_postfilter( $data, $post_id, $options = array( 'is_upload' => true ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
if ( ( true == $options['is_upload'] ) && ! empty( $_REQUEST['mlaAddNewBulkEditFormString'] ) ) {
|
460 |
/*
|
461 |
* Clean up the inputs, which have everything from the enclosing <form>.
|
@@ -524,6 +534,80 @@ class MLAEdit {
|
|
524 |
return $messages;
|
525 |
} // mla_post_updated_messages_filter
|
526 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
527 |
/**
|
528 |
* Adds Last Modified date to the Submit box on the Edit Media screen.
|
529 |
* Declared public because it is an action.
|
@@ -535,11 +619,26 @@ class MLAEdit {
|
|
535 |
public static function mla_attachment_submitbox_action( ) {
|
536 |
global $post;
|
537 |
|
538 |
-
/* translators: date_i18n format for last modified date and time */
|
539 |
-
$
|
540 |
-
|
541 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
542 |
echo "</div><!-- .misc-pub-section -->\n";
|
|
|
543 |
echo '<div class="misc-pub-section mla-links">' . "\n";
|
544 |
|
545 |
$view_args = array( 'page' => MLACore::ADMIN_PAGE_SLUG, 'mla_item_ID' => $post->ID );
|
@@ -560,11 +659,11 @@ class MLAEdit {
|
|
560 |
}
|
561 |
|
562 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_ALLOW_CUSTOM_FIELD_MAPPING ) ) {
|
563 |
-
echo '<a href="' . add_query_arg( $view_args,
|
564 |
}
|
565 |
|
566 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_ALLOW_IPTC_EXIF_MAPPING ) ) {
|
567 |
-
echo '<a href="' . add_query_arg( $view_args,
|
568 |
}
|
569 |
|
570 |
echo "</span>\n";
|
@@ -746,6 +845,8 @@ class MLAEdit {
|
|
746 |
|
747 |
ksort( $tab_array, SORT_NUMERIC );
|
748 |
foreach ( $tab_array as $indx => $value ) {
|
|
|
|
|
749 |
$screen->add_help_tab( $value );
|
750 |
}
|
751 |
|
@@ -1059,6 +1160,17 @@ class MLAEdit {
|
|
1059 |
$new_data['menu_order'] = $_REQUEST['mla_menu_order'];
|
1060 |
}
|
1061 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1062 |
if ( !empty( $new_data ) ) {
|
1063 |
MLAData::mla_update_single_item( $post_ID, $new_data );
|
1064 |
}
|
238 |
'Ajax_Url' => admin_url( 'admin-ajax.php' ),
|
239 |
'ajaxFailError' => __( 'An ajax.fail error has occurred. Please reload the page and try again.', 'media-library-assistant' ),
|
240 |
'ajaxDoneError' => __( 'An ajax.done error has occurred. Please reload the page and try again.', 'media-library-assistant' ),
|
241 |
+
'uploadLabel' => sprintf( __( 'Uploaded on: %s' ), '' ),
|
242 |
+
'modifyLabel' => __( 'Last modified', 'media-library-assistant' ) . ': ',
|
243 |
'useDashicons' => false,
|
244 |
'useSpinnerClass' => false,
|
245 |
);
|
430 |
'Caption' => __( 'Caption', 'media-library-assistant' ),
|
431 |
'Description' => __( 'Description', 'media-library-assistant' ),
|
432 |
'ALT Text' => __( 'ALT Text', 'media-library-assistant' ),
|
433 |
+
'Uploaded on' => __( 'Uploaded on', 'media-library-assistant' ),
|
434 |
'Parent ID' => __( 'Parent ID', 'media-library-assistant' ),
|
435 |
'Select' => __( 'Select', 'media-library-assistant' ),
|
436 |
'set_parent_form' => $set_parent_form,
|
459 |
* @return array updated attachment metadata
|
460 |
*/
|
461 |
public static function mla_update_attachment_metadata_postfilter( $data, $post_id, $options = array( 'is_upload' => true ) ) {
|
462 |
+
// Check for active debug setting
|
463 |
+
if ( ( MLACore::$mla_debug_level & 1 ) && ( MLACore::$mla_debug_level & MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL ) ) {
|
464 |
+
$post = get_post( $post_id );
|
465 |
+
MLACore::mla_debug_add( __LINE__ . " MLAEdit::mla_update_attachment_metadata_postfilter( $post_id ) post = " . var_export( $post, true ), MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL );
|
466 |
+
MLACore::mla_debug_add( __LINE__ . " MLAEdit::mla_update_attachment_metadata_postfilter( $post_id ) data = " . var_export( $data, true ), MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL );
|
467 |
+
}
|
468 |
+
|
469 |
if ( ( true == $options['is_upload'] ) && ! empty( $_REQUEST['mlaAddNewBulkEditFormString'] ) ) {
|
470 |
/*
|
471 |
* Clean up the inputs, which have everything from the enclosing <form>.
|
534 |
return $messages;
|
535 |
} // mla_post_updated_messages_filter
|
536 |
|
537 |
+
/**
|
538 |
+
* Print out HTML form elements for editing uploaded on, last modified date
|
539 |
+
*
|
540 |
+
* Adapted from /wp-admin/includes/template.php function touch_time()
|
541 |
+
*
|
542 |
+
* @since 2.71
|
543 |
+
*
|
544 |
+
* @global WP_Locale $wp_locale for month name abbreviations
|
545 |
+
* @global WP_Post $post
|
546 |
+
*
|
547 |
+
* @param int|bool $upload Accepts 1|true for editing the upload date, 0|false for editing the modify date.
|
548 |
+
* @param int $tab_index The tabindex attribute to add. Default 0.
|
549 |
+
*/
|
550 |
+
private static function _generate_time_edit_form( $upload = 1, $tab_index = 0 ) {
|
551 |
+
global $wp_locale, $post;
|
552 |
+
|
553 |
+
$tab_index_attribute = '';
|
554 |
+
if ( (int) $tab_index > 0 )
|
555 |
+
$tab_index_attribute = " tabindex=\"$tab_index\"";
|
556 |
+
|
557 |
+
$field = $upload ? 'upload' : 'modify';
|
558 |
+
$date = $upload ? $post->post_date : $post->post_modified;
|
559 |
+
$jj = mysql2date( 'd', $date, false );
|
560 |
+
$mm = mysql2date( 'm', $date, false );
|
561 |
+
$aa = mysql2date( 'Y', $date, false );
|
562 |
+
$hh = mysql2date( 'H', $date, false );
|
563 |
+
$mn = mysql2date( 'i', $date, false );
|
564 |
+
$ss = mysql2date( 's', $date, false );
|
565 |
+
|
566 |
+
$month = '<label><span class="screen-reader-text">' . __( 'Month' ) . '</span><select id="mm" name="mla_' . $field . '[mm]"' . $tab_index_attribute . ">\n";
|
567 |
+
for ( $i = 1; $i < 13; $i = $i +1 ) {
|
568 |
+
$monthnum = zeroise($i, 2);
|
569 |
+
$monthtext = $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) );
|
570 |
+
$month .= "\t\t\t" . '<option value="' . $monthnum . '" data-text="' . $monthtext . '" ' . selected( $monthnum, $mm, false ) . '>';
|
571 |
+
/* translators: 1: month number (01, 02, etc.), 2: month abbreviation */
|
572 |
+
$month .= sprintf( __( '%1$s-%2$s' ), $monthnum, $monthtext ) . "</option>\n";
|
573 |
+
}
|
574 |
+
$month .= '</select></label>';
|
575 |
+
|
576 |
+
$day = '<label><span class="screen-reader-text">' . __( 'Day' ) . '</span><input type="text" id="jj" name="mla_' . $field . '[jj]" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" /></label>';
|
577 |
+
$year = '<label><span class="screen-reader-text">' . __( 'Year' ) . '</span><input type="text" id="aa" name="mla_' . $field . '[aa]" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" /></label>';
|
578 |
+
$hour = '<label><span class="screen-reader-text">' . __( 'Hour' ) . '</span><input type="text" id="hh" name="mla_' . $field . '[hh]" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" /></label>';
|
579 |
+
$minute = '<label><span class="screen-reader-text">' . __( 'Minute' ) . '</span><input type="text" id="mn" name="mla_' . $field . '[mn]" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" /></label>';
|
580 |
+
|
581 |
+
echo '<div class="timestamp-wrap">';
|
582 |
+
/* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
|
583 |
+
printf( __( '%1$s %2$s, %3$s @ %4$s:%5$s' ), $month, $day, $year, $hour, $minute );
|
584 |
+
|
585 |
+
echo "</div>\n";
|
586 |
+
echo '<input type="hidden" id="ss" name="mla_' . $field . '[ss]" value="' . $ss . '" />' . "\n";
|
587 |
+
echo '<input type="hidden" id="original" name="mla_' . $field . '[original]" value="' . $date . '" />' . "\n";
|
588 |
+
|
589 |
+
$time_adj = current_time('timestamp');
|
590 |
+
$map = array(
|
591 |
+
'mm' => array( $mm, gmdate( 'm', $time_adj ) ),
|
592 |
+
'jj' => array( $jj, gmdate( 'd', $time_adj ) ),
|
593 |
+
'aa' => array( $aa, gmdate( 'Y', $time_adj ) ),
|
594 |
+
'hh' => array( $hh, gmdate( 'H', $time_adj ) ),
|
595 |
+
'mn' => array( $mn, gmdate( 'i', $time_adj ) ),
|
596 |
+
);
|
597 |
+
foreach ( $map as $timeunit => $value ) {
|
598 |
+
list( $unit, $curr ) = $value;
|
599 |
+
|
600 |
+
echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden[' . $timeunit . ']" value="' . $unit . '" />' . "\n";
|
601 |
+
$cur_timeunit = 'cur_' . $timeunit;
|
602 |
+
echo '<input type="hidden" id="' . $cur_timeunit . '" name="' . $cur_timeunit . '" value="' . $curr . '" />' . "\n";
|
603 |
+
}
|
604 |
+
|
605 |
+
echo "<p>\n";
|
606 |
+
echo '<a href="#edit_' . $field . 'timestamp" class="save-timestamp hide-if-no-js button">' . __('OK') . "</a>\n";
|
607 |
+
echo '<a href="#edit_' . $field . 'timestamp" class="cancel-timestamp hide-if-no-js button-cancel">' . __('Cancel') . "</a>\n";
|
608 |
+
echo "<p>\n";
|
609 |
+
}
|
610 |
+
|
611 |
/**
|
612 |
* Adds Last Modified date to the Submit box on the Edit Media screen.
|
613 |
* Declared public because it is an action.
|
619 |
public static function mla_attachment_submitbox_action( ) {
|
620 |
global $post;
|
621 |
|
622 |
+
/* translators: date_i18n format for uploaded on, last modified date and time */
|
623 |
+
$date_format = __( 'M j, Y @ H:i', 'media-library-assistant' );
|
624 |
+
|
625 |
+
$uploaded_date = date_i18n($date_format, strtotime( $post->post_date ) );
|
626 |
+
echo '<div class="misc-pub-section uploadtime misc-pub-uploadtime">' . "\n";
|
627 |
+
echo '<span id="upload-timestamp">' . sprintf(__( 'Uploaded on', 'media-library-assistant' ) . ":\n <b>%1\$s</b></span>\n", $uploaded_date);
|
628 |
+
|
629 |
+
echo '<a href="#edit_uploadtime" class="edit-timestamp edit-uploadtime hide-if-no-js" role="button"><span aria-hidden="true">' . __( 'Edit' ) . "</span>\n";
|
630 |
+
echo '<span class="screen-reader-text">' . __( 'Edit upload date and time' ) . "</span></a>\n";
|
631 |
+
echo '<fieldset id="timestampdiv" class="hide-if-js">' . "\n";
|
632 |
+
echo '<legend class="screen-reader-text">' . __( 'Upload Date and time' ) . "</legend>\n";
|
633 |
+
self::_generate_time_edit_form( true ) . "\n";
|
634 |
+
echo "</fieldset>\n";
|
635 |
+
echo "</div><!-- .misc-pub-section -->\n";
|
636 |
+
|
637 |
+
$modified_date = date_i18n($date_format, strtotime( $post->post_modified ) );
|
638 |
+
echo '<div class="misc-pub-section modifytime misc-pub-modifytime">' . "\n";
|
639 |
+
echo '<span id="modify-timestamp">' . sprintf(__( 'Last modified', 'media-library-assistant' ) . ":\n <b>%1\$s</b></span>\n", $modified_date);
|
640 |
echo "</div><!-- .misc-pub-section -->\n";
|
641 |
+
|
642 |
echo '<div class="misc-pub-section mla-links">' . "\n";
|
643 |
|
644 |
$view_args = array( 'page' => MLACore::ADMIN_PAGE_SLUG, 'mla_item_ID' => $post->ID );
|
659 |
}
|
660 |
|
661 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_ALLOW_CUSTOM_FIELD_MAPPING ) ) {
|
662 |
+
echo '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( 'upload.php?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Map Custom Field metadata for this item', 'media-library-assistant' ) . '">' . __( 'Map Custom Field metadata', 'media-library-assistant' ) . '</a><br>';
|
663 |
}
|
664 |
|
665 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_ALLOW_IPTC_EXIF_MAPPING ) ) {
|
666 |
+
echo '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( 'upload.php?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_MAP, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Map IPTC/EXIF metadata for this item', 'media-library-assistant' ) . '">' . __( 'Map IPTC/EXIF metadata', 'media-library-assistant' ) . '</a>';
|
667 |
}
|
668 |
|
669 |
echo "</span>\n";
|
845 |
|
846 |
ksort( $tab_array, SORT_NUMERIC );
|
847 |
foreach ( $tab_array as $indx => $value ) {
|
848 |
+
$page_values = array( 'settingsURL' => admin_url('options-general.php') );
|
849 |
+
$value = MLAData::mla_parse_template( $value, $page_values );
|
850 |
$screen->add_help_tab( $value );
|
851 |
}
|
852 |
|
1160 |
$new_data['menu_order'] = $_REQUEST['mla_menu_order'];
|
1161 |
}
|
1162 |
|
1163 |
+
if ( isset( $_REQUEST['mla_upload'] ) ) {
|
1164 |
+
$date = $_REQUEST['mla_upload'];
|
1165 |
+
$new_date = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $date['aa'], $date['mm'], $date['jj'], $date['hh'], $date['mn'], $date['ss'] );
|
1166 |
+
if ( wp_checkdate( $date['mm'], $date['jj'], $date['aa'], $new_date ) ) {
|
1167 |
+
if ( $date['original'] !== $new_date ) {
|
1168 |
+
$new_data['post_date'] = $new_date;
|
1169 |
+
$new_data['post_date_gmt'] = get_gmt_from_date( $new_date );
|
1170 |
+
}
|
1171 |
+
}
|
1172 |
+
}
|
1173 |
+
|
1174 |
if ( !empty( $new_data ) ) {
|
1175 |
MLAData::mla_update_single_item( $post_ID, $new_data );
|
1176 |
}
|
includes/class-mla-list-table.php
CHANGED
@@ -215,7 +215,6 @@ class MLA_List_Table extends WP_List_Table {
|
|
215 |
$tax_object = get_taxonomy( $tax_filter );
|
216 |
$dropdown_options = array_merge( array(
|
217 |
'show_option_all' => __( 'All', 'media-library-assistant' ) . ' ' . $tax_object->labels->name,
|
218 |
-
// 'show_option_none' => __( 'No', 'media-library-assistant' ) . ' ' . $tax_object->labels->name,
|
219 |
'show_option_none' => _x( 'No', 'show_option_none', 'media-library-assistant' ) . ' ' . $tax_object->labels->name,
|
220 |
'orderby' => 'name',
|
221 |
'order' => 'ASC',
|
@@ -416,6 +415,11 @@ class MLA_List_Table extends WP_List_Table {
|
|
416 |
* @since 0.1
|
417 |
*/
|
418 |
public function __construct() {
|
|
|
|
|
|
|
|
|
|
|
419 |
$this->detached = isset( $_REQUEST['detached'] ) && ( '1' == $_REQUEST['detached'] );
|
420 |
$this->attached = isset( $_REQUEST['detached'] ) && ( '0' == $_REQUEST['detached'] );
|
421 |
$this->is_trash = isset( $_REQUEST['status'] ) && $_REQUEST['status'] == 'trash';
|
@@ -724,7 +728,7 @@ class MLA_List_Table extends WP_List_Table {
|
|
724 |
|
725 |
if ( $this->is_trash ) {
|
726 |
if ( current_user_can( 'delete_post', $item->ID ) ) {
|
727 |
-
$actions['restore'] = '<a class="submitdelete" href="' . add_query_arg( $view_args,
|
728 |
}
|
729 |
} else {
|
730 |
if ( current_user_can( 'edit_post', $item->ID ) ) {
|
@@ -744,12 +748,12 @@ class MLA_List_Table extends WP_List_Table {
|
|
744 |
|
745 |
if ( current_user_can( 'delete_post', $item->ID ) ) {
|
746 |
if ( !$this->is_trash && EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
|
747 |
-
$actions['trash'] = '<a class="submitdelete" href="' . add_query_arg( $view_args,
|
748 |
} else {
|
749 |
// If using trash for posts and pages but not for attachments, warn before permanently deleting
|
750 |
$delete_ays = EMPTY_TRASH_DAYS && !MEDIA_TRASH ? ' onclick="return showNotice.warn();"' : '';
|
751 |
|
752 |
-
$actions['delete'] = '<a class="submitdelete"' . $delete_ays . ' href="' . add_query_arg( $view_args,
|
753 |
}
|
754 |
} // delete_post
|
755 |
|
@@ -757,7 +761,7 @@ class MLA_List_Table extends WP_List_Table {
|
|
757 |
$file = get_attached_file( $item->ID );
|
758 |
$download_args = array( 'page' => MLACore::ADMIN_PAGE_SLUG, 'mla_download_file' => urlencode( $file ), 'mla_download_type' => $item->post_mime_type );
|
759 |
|
760 |
-
$actions['download'] = '<a href="' . add_query_arg( $download_args,
|
761 |
|
762 |
$actions['view'] = '<a href="' . site_url( ) . '?attachment_id=' . $item->ID . '" rel="permalink" title="' . __( 'View', 'media-library-assistant' ) . ' “' . $att_title . '”">' . __( 'View', 'media-library-assistant' ) . '</a>';
|
763 |
}
|
@@ -855,6 +859,14 @@ class MLA_List_Table extends WP_List_Table {
|
|
855 |
$inline_data .= "</div>\r\n";
|
856 |
}
|
857 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
858 |
$inline_data .= ' <div class="post_parent">' . $item->post_parent . "</div>\r\n";
|
859 |
|
860 |
if ( $item->post_parent ) {
|
@@ -1002,7 +1014,6 @@ class MLA_List_Table extends WP_List_Table {
|
|
1002 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_SHOW_FILE_NAME ) ) {
|
1003 |
$final_content .= '<p style="clear: both" class="filename"> <span class="screen-reader-text">' . __( 'File name' ) . ': </span>' . $item->mla_wp_attached_filename . " </p>\n";
|
1004 |
}
|
1005 |
-
|
1006 |
return $final_content;
|
1007 |
}
|
1008 |
|
215 |
$tax_object = get_taxonomy( $tax_filter );
|
216 |
$dropdown_options = array_merge( array(
|
217 |
'show_option_all' => __( 'All', 'media-library-assistant' ) . ' ' . $tax_object->labels->name,
|
|
|
218 |
'show_option_none' => _x( 'No', 'show_option_none', 'media-library-assistant' ) . ' ' . $tax_object->labels->name,
|
219 |
'orderby' => 'name',
|
220 |
'order' => 'ASC',
|
415 |
* @since 0.1
|
416 |
*/
|
417 |
public function __construct() {
|
418 |
+
global $wp_list_table;
|
419 |
+
|
420 |
+
// For Admin Columns Pro 4.2.3+ export compatibility, because views can alter the query
|
421 |
+
$wp_list_table = $this;
|
422 |
+
|
423 |
$this->detached = isset( $_REQUEST['detached'] ) && ( '1' == $_REQUEST['detached'] );
|
424 |
$this->attached = isset( $_REQUEST['detached'] ) && ( '0' == $_REQUEST['detached'] );
|
425 |
$this->is_trash = isset( $_REQUEST['status'] ) && $_REQUEST['status'] == 'trash';
|
728 |
|
729 |
if ( $this->is_trash ) {
|
730 |
if ( current_user_can( 'delete_post', $item->ID ) ) {
|
731 |
+
$actions['restore'] = '<a class="submitdelete" href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_RESTORE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Restore this item from the Trash', 'media-library-assistant' ) . '">' . __( 'Restore', 'media-library-assistant' ) . '</a>';
|
732 |
}
|
733 |
} else {
|
734 |
if ( current_user_can( 'edit_post', $item->ID ) ) {
|
748 |
|
749 |
if ( current_user_can( 'delete_post', $item->ID ) ) {
|
750 |
if ( !$this->is_trash && EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
|
751 |
+
$actions['trash'] = '<a class="submitdelete" href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_TRASH, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Move this item to the Trash', 'media-library-assistant' ) . '">' . __( 'Move to Trash', 'media-library-assistant' ) . '</a>';
|
752 |
} else {
|
753 |
// If using trash for posts and pages but not for attachments, warn before permanently deleting
|
754 |
$delete_ays = EMPTY_TRASH_DAYS && !MEDIA_TRASH ? ' onclick="return showNotice.warn();"' : '';
|
755 |
|
756 |
+
$actions['delete'] = '<a class="submitdelete"' . $delete_ays . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
|
757 |
}
|
758 |
} // delete_post
|
759 |
|
761 |
$file = get_attached_file( $item->ID );
|
762 |
$download_args = array( 'page' => MLACore::ADMIN_PAGE_SLUG, 'mla_download_file' => urlencode( $file ), 'mla_download_type' => $item->post_mime_type );
|
763 |
|
764 |
+
$actions['download'] = '<a href="' . add_query_arg( $download_args, MLACore::mla_nonce_url( 'upload.php', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' “' . $att_title . '”">' . __( 'Download', 'media-library-assistant' ) . '</a>';
|
765 |
|
766 |
$actions['view'] = '<a href="' . site_url( ) . '?attachment_id=' . $item->ID . '" rel="permalink" title="' . __( 'View', 'media-library-assistant' ) . ' “' . $att_title . '”">' . __( 'View', 'media-library-assistant' ) . '</a>';
|
767 |
}
|
859 |
$inline_data .= "</div>\r\n";
|
860 |
}
|
861 |
|
862 |
+
$date = $item->post_date;
|
863 |
+
$inline_data .= ' <div class="jj">' . esc_attr( mysql2date( 'd', $date, false ) ) . "</div>\r\n";
|
864 |
+
$inline_data .= ' <div class="mm">' . esc_attr( mysql2date( 'm', $date, false ) ) . "</div>\r\n";
|
865 |
+
$inline_data .= ' <div class="aa">' . esc_attr( mysql2date( 'Y', $date, false ) ) . "</div>\r\n";
|
866 |
+
$inline_data .= ' <div class="hh">' . esc_attr( mysql2date( 'H', $date, false ) ) . "</div>\r\n";
|
867 |
+
$inline_data .= ' <div class="mn">' . esc_attr( mysql2date( 'i', $date, false ) ) . "</div>\r\n";
|
868 |
+
$inline_data .= ' <div class="ss">' . esc_attr( mysql2date( 's', $date, false ) ) . "</div>\r\n";
|
869 |
+
|
870 |
$inline_data .= ' <div class="post_parent">' . $item->post_parent . "</div>\r\n";
|
871 |
|
872 |
if ( $item->post_parent ) {
|
1014 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_SHOW_FILE_NAME ) ) {
|
1015 |
$final_content .= '<p style="clear: both" class="filename"> <span class="screen-reader-text">' . __( 'File name' ) . ': </span>' . $item->mla_wp_attached_filename . " </p>\n";
|
1016 |
}
|
|
|
1017 |
return $final_content;
|
1018 |
}
|
1019 |
|
includes/class-mla-main.php
CHANGED
@@ -143,22 +143,50 @@ class MLA {
|
|
143 |
*/
|
144 |
public static function mla_admin_init_action() {
|
145 |
//static $count = 0;
|
146 |
-
//error_log( __LINE__ . '
|
147 |
-
|
148 |
-
//error_log( __LINE__ . '
|
149 |
-
//error_log( __LINE__ . '
|
150 |
-
|
151 |
-
|
152 |
-
|
|
|
153 |
if ( isset( $_REQUEST['mla_download_file'] ) && isset( $_REQUEST['mla_download_type'] ) ) {
|
154 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
155 |
-
self::_process_mla_download_file();
|
156 |
exit();
|
157 |
}
|
158 |
|
159 |
-
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
|
163 |
if ( isset( $_REQUEST['mla-set-parent-ajax-nonce'] ) ) {
|
164 |
check_admin_referer( 'mla_find_posts', 'mla-set-parent-ajax-nonce' );
|
@@ -173,16 +201,16 @@ class MLA {
|
|
173 |
do_action( 'mla_begin_mapping', 'single_custom', $_REQUEST['mla_item_ID'] );
|
174 |
$updates = MLAOptions::mla_evaluate_custom_field_mapping( $_REQUEST['mla_item_ID'], 'single_attachment_mapping' );
|
175 |
do_action( 'mla_end_mapping' );
|
176 |
-
|
177 |
if ( !empty( $updates ) ) {
|
178 |
$item_content = MLAData::mla_update_single_item( $_REQUEST['mla_item_ID'], $updates );
|
179 |
}
|
180 |
-
|
181 |
$message = '101';
|
182 |
} else {
|
183 |
$message = '103';
|
184 |
}
|
185 |
-
|
186 |
$view_args = isset( $_REQUEST['mla_source'] ) ? array( 'mla_source' => $_REQUEST['mla_source']) : array();
|
187 |
wp_redirect( add_query_arg( $view_args, admin_url( 'post.php' ) . '?post=' . $_REQUEST['mla_item_ID'] . '&action=edit&message=' . $message ), 302 );
|
188 |
exit;
|
@@ -197,7 +225,7 @@ class MLA {
|
|
197 |
} else {
|
198 |
$message = '104';
|
199 |
}
|
200 |
-
|
201 |
$view_args = isset( $_REQUEST['mla_source'] ) ? array( 'mla_source' => $_REQUEST['mla_source']) : array();
|
202 |
wp_redirect( add_query_arg( $view_args, admin_url( 'post.php' ) . '?post=' . $_REQUEST['mla_item_ID'] . '&action=edit&message=' . $message ), 302 );
|
203 |
exit;
|
@@ -241,7 +269,7 @@ class MLA {
|
|
241 |
// Optional - change the size of the thumbnail/icon images
|
242 |
$icon_value = MLACore::mla_get_option( MLACoreOptions::MLA_TABLE_ICON_SIZE );
|
243 |
$set_column_width = !empty( $icon_value ) && is_numeric( $icon_value ) && ( 64 < $icon_value );
|
244 |
-
|
245 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_ENABLE_MLA_ICONS ) ) {
|
246 |
if ( empty( $icon_value ) ) {
|
247 |
$icon_value = 64;
|
@@ -285,33 +313,33 @@ class MLA {
|
|
285 |
echo " margin-bottom: .2em;\n";
|
286 |
echo " font-size: 14px;\n";
|
287 |
echo " }\n";
|
288 |
-
|
289 |
echo " table.attachments .column-primary .media-icon {\n";
|
290 |
echo " float: left;\n";
|
291 |
echo " margin: 0 9px 0 0;\n";
|
292 |
echo " font-size: 14px;\n";
|
293 |
echo " }\n";
|
294 |
-
|
295 |
echo " table.attachments .column-primary div.row-actions {\n";
|
296 |
echo " clear: both;\n";
|
297 |
echo " }\n";
|
298 |
-
|
299 |
// Explicit primary column width including icon and some margin
|
300 |
if ( $set_column_width ) {
|
301 |
$column_width = ( $icon_value + 30 ) . 'px';
|
302 |
-
|
303 |
echo " table.attachments th.column-primary {\n";
|
304 |
echo " width: {$column_width};\n";
|
305 |
echo " }\n";
|
306 |
}
|
307 |
-
|
308 |
echo " table.attachments td.column-primary {\n";
|
309 |
echo " position: relative;\n";
|
310 |
-
|
311 |
if ( $set_column_width ) {
|
312 |
echo " width: {$column_width};\n";
|
313 |
}
|
314 |
-
|
315 |
echo " }\n";
|
316 |
} else {
|
317 |
/*
|
@@ -384,7 +412,7 @@ class MLA {
|
|
384 |
|
385 |
MLAModal::mla_add_terms_search_scripts();
|
386 |
|
387 |
-
$fields = array( 'post_title', 'post_name', 'post_excerpt', 'post_content', 'image_alt', 'post_parent', 'post_parent_title', 'menu_order', 'post_author' );
|
388 |
$custom_fields = MLACore::mla_custom_field_support( 'quick_edit' );
|
389 |
$custom_fields = array_merge( $custom_fields, MLACore::mla_custom_field_support( 'bulk_edit' ) );
|
390 |
foreach ( $custom_fields as $slug => $details ) {
|
@@ -508,18 +536,14 @@ class MLA {
|
|
508 |
$mla_source = isset( $_REQUEST['mla_source'] ) && in_array( $_REQUEST['mla_source'], array ( 'trash', 'delete' ) );
|
509 |
|
510 |
if ( $mla_source || ( 'checked' != MLACore::mla_get_option( MLACoreOptions::MLA_SCREEN_DISPLAY_LIBRARY ) ) ) {
|
511 |
-
|
512 |
-
* Allow "grid" view even if the list view is suppressed
|
513 |
-
*/
|
514 |
if ( isset( $_REQUEST['mode'] ) && 'grid' === $_REQUEST['mode'] ) {
|
515 |
return;
|
516 |
}
|
517 |
-
|
518 |
$query_args = '?page=' . MLACore::ADMIN_PAGE_SLUG;
|
519 |
|
520 |
-
|
521 |
-
* Compose a message if returning from the Edit Media screen
|
522 |
-
*/
|
523 |
if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
|
524 |
$query_args .= '&mla_admin_message=' . urlencode( sprintf( _n( 'Item permanently deleted.', '%d items permanently deleted.', $deleted, 'media-library-assistant' ), number_format_i18n( $_GET['deleted'] ) ) );
|
525 |
}
|
@@ -547,7 +571,7 @@ class MLA {
|
|
547 |
$args = array(
|
548 |
'label' => __( 'Entries per page', 'media-library-assistant' ),
|
549 |
'default' => 10,
|
550 |
-
'option' => '
|
551 |
);
|
552 |
|
553 |
add_screen_option( $option, $args );
|
@@ -562,9 +586,7 @@ class MLA {
|
|
562 |
*/
|
563 |
public static function mla_add_help_tab( ) {
|
564 |
$screen = get_current_screen();
|
565 |
-
|
566 |
-
* Is this one of our pages?
|
567 |
-
*/
|
568 |
if ( !array_key_exists( $screen->id, self::$page_hooks ) ) {
|
569 |
return;
|
570 |
}
|
@@ -575,9 +597,7 @@ class MLA {
|
|
575 |
|
576 |
$file_suffix = $screen->id;
|
577 |
|
578 |
-
|
579 |
-
* Use a generic page for edit taxonomy screens
|
580 |
-
*/
|
581 |
if ( 't_' == substr( self::$page_hooks[ $file_suffix ], 0, 2 ) ) {
|
582 |
$taxonomy = substr( self::$page_hooks[ $file_suffix ], 2 );
|
583 |
switch ( $taxonomy ) {
|
@@ -604,9 +624,7 @@ class MLA {
|
|
604 |
return;
|
605 |
}
|
606 |
|
607 |
-
|
608 |
-
* Don't add sidebar to the WordPress category and post_tag screens
|
609 |
-
*/
|
610 |
if ( ! ( 'edit-tags' == $screen->base && in_array( $screen->taxonomy, array( 'post_tag', 'category' ) ) ) ) {
|
611 |
if ( !empty( $template_array['sidebar'] ) ) {
|
612 |
$page_values = array( 'settingsURL' => admin_url('options-general.php') );
|
@@ -616,9 +634,7 @@ class MLA {
|
|
616 |
}
|
617 |
unset( $template_array['sidebar'] );
|
618 |
|
619 |
-
|
620 |
-
* Provide explicit control over tab order
|
621 |
-
*/
|
622 |
$tab_array = array();
|
623 |
|
624 |
foreach ( $template_array as $id => $content ) {
|
@@ -638,9 +654,7 @@ class MLA {
|
|
638 |
|
639 |
ksort( $tab_array, SORT_NUMERIC );
|
640 |
foreach ( $tab_array as $indx => $value ) {
|
641 |
-
|
642 |
-
* Don't add duplicate tabs to the WordPress category and post_tag screens
|
643 |
-
*/
|
644 |
if ( 'edit-tags' == $screen->base && in_array( $screen->taxonomy, array( 'post_tag', 'category' ) ) ) {
|
645 |
if ( 'mla-attachments-column' != $value['id'] ) {
|
646 |
continue;
|
@@ -692,7 +706,7 @@ class MLA {
|
|
692 |
MLACore::mla_debug_add( $debug_message, MLACore::MLA_DEBUG_CATEGORY_ANY );
|
693 |
}
|
694 |
|
695 |
-
if ( '
|
696 |
return $value;
|
697 |
}
|
698 |
|
@@ -720,23 +734,19 @@ class MLA {
|
|
720 |
} else {
|
721 |
$menu_position = (integer) MLACore::mla_get_option( MLACoreOptions::MLA_SCREEN_ORDER );
|
722 |
}
|
723 |
-
|
724 |
if ( $menu_position ) {
|
725 |
$submenu_file = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
726 |
}
|
727 |
}
|
728 |
|
729 |
-
|
730 |
-
* Make sure the "Assistant" submenu line is bolded if the Media/Library submenu is hidden
|
731 |
-
*/
|
732 |
if ( 'checked' != MLACore::mla_get_option( MLACoreOptions::MLA_SCREEN_DISPLAY_LIBRARY ) &&
|
733 |
'upload.php' == $parent_file && ( empty( $submenu_file ) || 'upload.php' == $submenu_file ) ) {
|
734 |
$submenu_file = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
735 |
}
|
736 |
|
737 |
-
|
738 |
-
* Make sure the "Assistant" submenu line is bolded when we go to the Edit Media page
|
739 |
-
*/
|
740 |
if ( isset( $_REQUEST['mla_source'] ) ) {
|
741 |
$submenu_file = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
742 |
}
|
@@ -747,31 +757,35 @@ class MLA {
|
|
747 |
/**
|
748 |
* Process secure file download
|
749 |
*
|
750 |
-
* Requires _wpnonce, mla_download_file and mla_download_type in $_REQUEST; mla_download_disposition is optional.
|
751 |
-
*
|
752 |
* @since 2.00
|
753 |
*
|
|
|
|
|
|
|
754 |
* @return void echos file contents and calls exit();
|
755 |
*/
|
756 |
-
private static function _process_mla_download_file() {
|
757 |
$message = '';
|
758 |
-
if ( isset( $
|
759 |
if( ini_get( 'zlib.output_compression' ) ) {
|
760 |
ini_set( 'zlib.output_compression', 'Off' );
|
761 |
}
|
762 |
|
763 |
-
$file_name = stripslashes( $
|
764 |
$match_name = str_replace( '\\', '/', $file_name );
|
765 |
-
$upload_dir = wp_upload_dir();
|
766 |
-
$allowed_path = str_replace( '\\', '/', $upload_dir['basedir'] );
|
767 |
|
768 |
-
if (
|
769 |
-
$
|
|
|
|
|
|
|
|
|
|
|
770 |
} elseif ( false !== strpos( $match_name, '..' ) ) {
|
771 |
-
$message = __( 'ERROR', 'media-library-assistant' ) . ': ' . 'download path invalid.';
|
772 |
}
|
773 |
} else {
|
774 |
-
$message = __( 'ERROR', 'media-library-assistant' ) . ': ' . 'download argument(s) not set.';
|
775 |
}
|
776 |
|
777 |
if ( empty( $message ) ) {
|
@@ -780,7 +794,7 @@ class MLA {
|
|
780 |
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
|
781 |
header('Last-Modified: '.gmdate ( 'D, d M Y H:i:s', filemtime ( $file_name ) ).' GMT');
|
782 |
header('Cache-Control: private',false);
|
783 |
-
header('Content-Type: '.$
|
784 |
header('Content-Disposition: attachment; filename="'.basename( $file_name ).'"');
|
785 |
header('Content-Transfer-Encoding: binary');
|
786 |
header('Content-Length: '.filesize( $file_name )); // provide file size
|
@@ -788,7 +802,7 @@ class MLA {
|
|
788 |
|
789 |
readfile( $file_name );
|
790 |
|
791 |
-
if ( isset( $
|
792 |
@unlink( $file_name );
|
793 |
}
|
794 |
} else {
|
@@ -804,7 +818,7 @@ class MLA {
|
|
804 |
echo '</body>';
|
805 |
echo '</html> ';
|
806 |
}
|
807 |
-
|
808 |
exit();
|
809 |
}
|
810 |
|
@@ -900,6 +914,38 @@ class MLA {
|
|
900 |
}
|
901 |
}
|
902 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
903 |
if ( isset( $request['post_parent'] ) ) {
|
904 |
if ( is_numeric( $request['post_parent'] ) ) {
|
905 |
$new_data['post_parent'] = $request['post_parent'];
|
@@ -924,9 +970,7 @@ class MLA {
|
|
924 |
}
|
925 |
}
|
926 |
|
927 |
-
|
928 |
-
* Custom field support
|
929 |
-
*/
|
930 |
$custom_fields = array();
|
931 |
|
932 |
if ( is_array( $custom_field_map ) ) {
|
@@ -950,9 +994,7 @@ class MLA {
|
|
950 |
$new_data[ 'custom_updates' ] = $custom_fields;
|
951 |
}
|
952 |
|
953 |
-
|
954 |
-
* Taxonomy Support
|
955 |
-
*/
|
956 |
$tax_inputs = array();
|
957 |
$tax_actions = array();
|
958 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_prepare_bulk_edits( {$post_id} ) tax_input = " . var_export( $request['tax_input'], true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
@@ -967,17 +1009,13 @@ class MLA {
|
|
967 |
|
968 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) terms = " . var_export( $terms, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
969 |
|
970 |
-
|
971 |
-
* Ignore empty updates
|
972 |
-
*/
|
973 |
if ( $hierarchical = is_array( $terms ) ) {
|
974 |
if ( false !== ( $index = array_search( 0, $terms ) ) ) {
|
975 |
unset( $terms[ $index ] );
|
976 |
}
|
977 |
} else {
|
978 |
-
|
979 |
-
* Parse out individual terms
|
980 |
-
*/
|
981 |
$comma = _x( ',', 'tag_delimiter', 'media-library-assistant' );
|
982 |
if ( ',' !== $comma ) {
|
983 |
$tags = str_replace( $comma, ',', $terms );
|
@@ -1022,9 +1060,7 @@ class MLA {
|
|
1022 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) current_terms = " . var_export( $current_terms, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1023 |
|
1024 |
if ( 'add' == $tax_action ) {
|
1025 |
-
|
1026 |
-
* Add new terms; remove existing terms
|
1027 |
-
*/
|
1028 |
foreach ( $terms as $index => $new_term ) {
|
1029 |
if ( isset( $current_terms[ $new_term ] ) ) {
|
1030 |
unset( $terms[ $index ] );
|
@@ -1033,9 +1069,7 @@ class MLA {
|
|
1033 |
|
1034 |
$do_update = ! empty( $terms );
|
1035 |
} elseif ( 'remove' == $tax_action ) {
|
1036 |
-
|
1037 |
-
* Remove only the existing terms
|
1038 |
-
*/
|
1039 |
foreach ( $terms as $index => $new_term ) {
|
1040 |
if ( ! isset( $current_terms[ $new_term ] ) ) {
|
1041 |
unset( $terms[ $index ] );
|
@@ -1151,7 +1185,7 @@ class MLA {
|
|
1151 |
|
1152 |
foreach ( $request['cb_attachment'] as $index => $post_id ) {
|
1153 |
self::$bulk_edit_data_source['cb_index']++;
|
1154 |
-
|
1155 |
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
1156 |
$page_content['message'] .= __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'You are not allowed to edit Attachment: ', 'media-library-assistant' ) . $post_id . '<br>';
|
1157 |
continue;
|
@@ -1325,6 +1359,9 @@ class MLA {
|
|
1325 |
* @return void
|
1326 |
*/
|
1327 |
public static function mla_render_admin_page( ) {
|
|
|
|
|
|
|
1328 |
/*
|
1329 |
* WordPress class-wp-list-table.php doesn't look in hidden fields to set
|
1330 |
* the month filter dropdown or sorting parameters
|
@@ -1345,8 +1382,10 @@ class MLA {
|
|
1345 |
if ( ! empty( $_REQUEST['bulk_refresh'] ) ) {
|
1346 |
unset( $_REQUEST['action'] );
|
1347 |
unset( $_POST['action'] );
|
|
|
1348 |
unset( $_REQUEST['action2'] );
|
1349 |
unset( $_POST['action2'] );
|
|
|
1350 |
}
|
1351 |
|
1352 |
$bulk_action = self::_current_bulk_action();
|
@@ -1357,7 +1396,6 @@ class MLA {
|
|
1357 |
}
|
1358 |
|
1359 |
echo "<div class=\"wrap\">\n";
|
1360 |
-
// echo "<div id=\"icon-upload\" class=\"icon32\"><br/></div>\n";
|
1361 |
echo "<h1 class=\"wp-heading-inline\">{$page_title}"; // trailing </h1> is action-specific
|
1362 |
|
1363 |
if ( !current_user_can( 'upload_files' ) ) {
|
@@ -1389,9 +1427,7 @@ class MLA {
|
|
1389 |
unset ( $_REQUEST['post_category'] );
|
1390 |
}
|
1391 |
|
1392 |
-
|
1393 |
-
* Process bulk actions that affect an array of items
|
1394 |
-
*/
|
1395 |
if ( $bulk_action && ( $bulk_action != 'none' ) ) {
|
1396 |
// bulk_refresh simply refreshes the page, ignoring other bulk actions
|
1397 |
if ( empty( $_REQUEST['bulk_refresh'] ) ) {
|
@@ -1404,9 +1440,7 @@ class MLA {
|
|
1404 |
self::mla_clear_filter_by();
|
1405 |
}
|
1406 |
|
1407 |
-
|
1408 |
-
* Empty the Trash?
|
1409 |
-
*/
|
1410 |
if ( isset( $_REQUEST['delete_all'] ) ) {
|
1411 |
global $wpdb;
|
1412 |
|
@@ -1430,9 +1464,7 @@ class MLA {
|
|
1430 |
}
|
1431 |
}
|
1432 |
|
1433 |
-
|
1434 |
-
* Process row-level actions that affect a single item
|
1435 |
-
*/
|
1436 |
if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
|
1437 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
1438 |
|
@@ -1503,6 +1535,13 @@ class MLA {
|
|
1503 |
$page_content['message'] = $custom_message . $page_content['message'];
|
1504 |
}
|
1505 |
} // (!empty($_REQUEST['mla_admin_action'])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1506 |
|
1507 |
if ( !empty( $page_content['body'] ) ) {
|
1508 |
if ( !empty( $page_content['message'] ) ) {
|
@@ -1519,9 +1558,7 @@ class MLA {
|
|
1519 |
|
1520 |
echo $page_content['body'];
|
1521 |
} else {
|
1522 |
-
|
1523 |
-
* Display Attachments list
|
1524 |
-
*/
|
1525 |
if ( !empty( $_REQUEST['heading_suffix'] ) ) {
|
1526 |
echo ' - ' . esc_html( $_REQUEST['heading_suffix'] ) . $heading_tail;
|
1527 |
} elseif ( !empty( $_REQUEST['mla_terms_search'] ) ) {
|
@@ -1548,35 +1585,39 @@ class MLA {
|
|
1548 |
echo " </p></div>\n"; // id="message"
|
1549 |
}
|
1550 |
|
1551 |
-
//
|
1552 |
$MLAListTable = apply_filters( 'mla_list_table_new_instance', NULL );
|
1553 |
if ( is_null( $MLAListTable ) ) {
|
1554 |
$MLAListTable = new MLA_List_Table();
|
1555 |
}
|
1556 |
|
1557 |
-
//
|
1558 |
$MLAListTable->prepare_items();
|
1559 |
$MLAListTable->views();
|
1560 |
|
1561 |
$view_arguments = MLA_List_Table::mla_submenu_arguments();
|
1562 |
-
if ( isset( $view_arguments['lang'] ) ) {
|
1563 |
$form_url = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG . '&lang=' . $view_arguments['lang'];
|
1564 |
} else {
|
1565 |
$form_url = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
1566 |
}
|
1567 |
|
1568 |
-
//
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
|
|
1573 |
require_once MLA_PLUGIN_PATH . 'includes/mla-main-search-box-template.php';
|
1574 |
|
1575 |
-
|
1576 |
-
* We also need to ensure that the form posts back to our current page and remember all the view arguments
|
1577 |
-
*/
|
1578 |
echo sprintf( '<input type="hidden" name="page" value="%1$s" />', $_REQUEST['page'] ) . "\n";
|
1579 |
|
|
|
|
|
|
|
|
|
|
|
1580 |
foreach ( $view_arguments as $key => $value ) {
|
1581 |
if ( 'meta_query' == $key ) {
|
1582 |
$value = stripslashes( $_REQUEST['meta_query'] );
|
@@ -1598,7 +1639,7 @@ class MLA {
|
|
1598 |
}
|
1599 |
}
|
1600 |
|
1601 |
-
//
|
1602 |
$MLAListTable->display();
|
1603 |
echo "</form><!-- id=mla-filter -->\n";
|
1604 |
|
@@ -1681,9 +1722,7 @@ class MLA {
|
|
1681 |
wp_die( __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'You are not allowed to edit this Attachment.', 'media-library-assistant' ) );
|
1682 |
}
|
1683 |
|
1684 |
-
|
1685 |
-
* Custom field support
|
1686 |
-
*/
|
1687 |
$custom_fields = array();
|
1688 |
foreach ( MLACore::mla_custom_field_support( 'quick_edit' ) as $slug => $details ) {
|
1689 |
if ( isset( $_REQUEST[ $slug ] ) ) {
|
@@ -1709,9 +1748,7 @@ class MLA {
|
|
1709 |
$_REQUEST[ 'custom_updates' ] = $custom_fields;
|
1710 |
}
|
1711 |
|
1712 |
-
|
1713 |
-
* The category taxonomy is a special case because post_categories_meta_box() changes the input name
|
1714 |
-
*/
|
1715 |
if ( !isset( $_REQUEST['tax_input'] ) ) {
|
1716 |
$_REQUEST['tax_input'] = array();
|
1717 |
}
|
@@ -1722,9 +1759,7 @@ class MLA {
|
|
1722 |
}
|
1723 |
|
1724 |
if ( ! empty( $_REQUEST['tax_input'] ) ) {
|
1725 |
-
|
1726 |
-
* Flat taxonomy strings must be cleaned up and duplicates removed
|
1727 |
-
*/
|
1728 |
$tax_output = array();
|
1729 |
foreach ( $_REQUEST['tax_input'] as $tax_name => $tax_value ) {
|
1730 |
if ( ! is_array( $tax_value ) ) {
|
@@ -1767,6 +1802,13 @@ class MLA {
|
|
1767 |
|
1768 |
if ( ! $prevent_default ) {
|
1769 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_inline_edit_ajax_action( {$post_id} ) \$_REQUEST = " . var_export( $_REQUEST, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1770 |
$results = MLAData::mla_update_single_item( $post_id, $_REQUEST, $_REQUEST['tax_input'] );
|
1771 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_inline_edit_ajax_action( {$post_id} ) results = " . var_export( $results, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1772 |
}
|
@@ -1774,7 +1816,7 @@ class MLA {
|
|
1774 |
$new_item = (object) MLAData::mla_get_attachment_by_id( $post_id );
|
1775 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_inline_edit_ajax_action( {$post_id} ) new_item = " . var_export( $new_item, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1776 |
|
1777 |
-
//
|
1778 |
$MLAListTable = apply_filters( 'mla_list_table_new_instance', NULL );
|
1779 |
if ( is_null( $MLAListTable ) ) {
|
1780 |
$MLAListTable = new MLA_List_Table();
|
@@ -1885,6 +1927,55 @@ class MLA {
|
|
1885 |
return $set_parent_form;
|
1886 |
}
|
1887 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1888 |
/**
|
1889 |
* Build the hidden row templates for inline editing (quick and bulk edit)
|
1890 |
*
|
@@ -2057,6 +2148,8 @@ class MLA {
|
|
2057 |
'Description' => __( 'Description', 'media-library-assistant' ),
|
2058 |
'description_field' => $description_field,
|
2059 |
'ALT Text' => __( 'ALT Text', 'media-library-assistant' ),
|
|
|
|
|
2060 |
'Parent ID' => __( 'Parent ID', 'media-library-assistant' ),
|
2061 |
'Select' => __( 'Select', 'media-library-assistant' ),
|
2062 |
'Menu Order' => __( 'Menu Order', 'media-library-assistant' ),
|
143 |
*/
|
144 |
public static function mla_admin_init_action() {
|
145 |
//static $count = 0;
|
146 |
+
//error_log( __LINE__ . ' MLA::mla_admin_init_action $count = ' . var_export( $count++, true ), 0 );
|
147 |
+
|
148 |
+
//error_log( __LINE__ . ' MLA::mla_admin_init_action referer = ' . var_export( wp_get_referer(), true ), 0 );
|
149 |
+
//error_log( __LINE__ . ' MLA::mla_admin_init_action $_REQUEST = ' . var_export( $_REQUEST, true ), 0 );
|
150 |
+
//error_log( __LINE__ . ' MLA::mla_admin_init_action $_POST = ' . var_export( $_POST, true ), 0 );
|
151 |
+
//error_log( __LINE__ . ' MLA::mla_admin_init_action $_GET = ' . var_export( $_GET, true ), 0 );
|
152 |
+
|
153 |
+
// Process secure file download requests
|
154 |
if ( isset( $_REQUEST['mla_download_file'] ) && isset( $_REQUEST['mla_download_type'] ) ) {
|
155 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
156 |
+
self::_process_mla_download_file( $_REQUEST, true );
|
157 |
exit();
|
158 |
}
|
159 |
|
160 |
+
// Process error log download requests from the Debug tab
|
161 |
+
if ( isset( $_REQUEST['mla_download_error_log'] ) ) {
|
162 |
+
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
163 |
+
|
164 |
+
// Find the appropriate error log file
|
165 |
+
$error_log_name = MLACore::mla_get_option( MLACoreOptions::MLA_DEBUG_FILE );
|
166 |
+
if ( empty( $error_log_name ) ) {
|
167 |
+
$error_log_name = ini_get( 'error_log' );
|
168 |
+
} else {
|
169 |
+
$first = substr( $error_log_name, 0, 1 );
|
170 |
+
if ( ( '/' != $first ) && ( '\\' != $first ) ) {
|
171 |
+
$error_log_name = '/' . $error_log_name;
|
172 |
+
}
|
173 |
+
|
174 |
+
$error_log_name = WP_CONTENT_DIR . $error_log_name;
|
175 |
+
}
|
176 |
+
|
177 |
+
if ( file_exists ( $error_log_name ) ) {
|
178 |
+
$request = array (
|
179 |
+
'mla_download_file' => addslashes( $error_log_name ),
|
180 |
+
'mla_download_type' => 'text/plain',
|
181 |
+
);
|
182 |
+
|
183 |
+
self::_process_mla_download_file( $request, false );
|
184 |
+
}
|
185 |
+
|
186 |
+
exit();
|
187 |
+
}
|
188 |
+
|
189 |
+
// Process row-level actions from the Edit Media screen
|
190 |
if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
|
191 |
if ( isset( $_REQUEST['mla-set-parent-ajax-nonce'] ) ) {
|
192 |
check_admin_referer( 'mla_find_posts', 'mla-set-parent-ajax-nonce' );
|
201 |
do_action( 'mla_begin_mapping', 'single_custom', $_REQUEST['mla_item_ID'] );
|
202 |
$updates = MLAOptions::mla_evaluate_custom_field_mapping( $_REQUEST['mla_item_ID'], 'single_attachment_mapping' );
|
203 |
do_action( 'mla_end_mapping' );
|
204 |
+
|
205 |
if ( !empty( $updates ) ) {
|
206 |
$item_content = MLAData::mla_update_single_item( $_REQUEST['mla_item_ID'], $updates );
|
207 |
}
|
208 |
+
|
209 |
$message = '101';
|
210 |
} else {
|
211 |
$message = '103';
|
212 |
}
|
213 |
+
|
214 |
$view_args = isset( $_REQUEST['mla_source'] ) ? array( 'mla_source' => $_REQUEST['mla_source']) : array();
|
215 |
wp_redirect( add_query_arg( $view_args, admin_url( 'post.php' ) . '?post=' . $_REQUEST['mla_item_ID'] . '&action=edit&message=' . $message ), 302 );
|
216 |
exit;
|
225 |
} else {
|
226 |
$message = '104';
|
227 |
}
|
228 |
+
|
229 |
$view_args = isset( $_REQUEST['mla_source'] ) ? array( 'mla_source' => $_REQUEST['mla_source']) : array();
|
230 |
wp_redirect( add_query_arg( $view_args, admin_url( 'post.php' ) . '?post=' . $_REQUEST['mla_item_ID'] . '&action=edit&message=' . $message ), 302 );
|
231 |
exit;
|
269 |
// Optional - change the size of the thumbnail/icon images
|
270 |
$icon_value = MLACore::mla_get_option( MLACoreOptions::MLA_TABLE_ICON_SIZE );
|
271 |
$set_column_width = !empty( $icon_value ) && is_numeric( $icon_value ) && ( 64 < $icon_value );
|
272 |
+
|
273 |
if ( 'checked' == MLACore::mla_get_option( MLACoreOptions::MLA_ENABLE_MLA_ICONS ) ) {
|
274 |
if ( empty( $icon_value ) ) {
|
275 |
$icon_value = 64;
|
313 |
echo " margin-bottom: .2em;\n";
|
314 |
echo " font-size: 14px;\n";
|
315 |
echo " }\n";
|
316 |
+
|
317 |
echo " table.attachments .column-primary .media-icon {\n";
|
318 |
echo " float: left;\n";
|
319 |
echo " margin: 0 9px 0 0;\n";
|
320 |
echo " font-size: 14px;\n";
|
321 |
echo " }\n";
|
322 |
+
|
323 |
echo " table.attachments .column-primary div.row-actions {\n";
|
324 |
echo " clear: both;\n";
|
325 |
echo " }\n";
|
326 |
+
|
327 |
// Explicit primary column width including icon and some margin
|
328 |
if ( $set_column_width ) {
|
329 |
$column_width = ( $icon_value + 30 ) . 'px';
|
330 |
+
|
331 |
echo " table.attachments th.column-primary {\n";
|
332 |
echo " width: {$column_width};\n";
|
333 |
echo " }\n";
|
334 |
}
|
335 |
+
|
336 |
echo " table.attachments td.column-primary {\n";
|
337 |
echo " position: relative;\n";
|
338 |
+
|
339 |
if ( $set_column_width ) {
|
340 |
echo " width: {$column_width};\n";
|
341 |
}
|
342 |
+
|
343 |
echo " }\n";
|
344 |
} else {
|
345 |
/*
|
412 |
|
413 |
MLAModal::mla_add_terms_search_scripts();
|
414 |
|
415 |
+
$fields = array( 'post_title', 'post_name', 'post_excerpt', 'post_content', 'image_alt', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_parent', 'post_parent_title', 'menu_order', 'post_author' );
|
416 |
$custom_fields = MLACore::mla_custom_field_support( 'quick_edit' );
|
417 |
$custom_fields = array_merge( $custom_fields, MLACore::mla_custom_field_support( 'bulk_edit' ) );
|
418 |
foreach ( $custom_fields as $slug => $details ) {
|
536 |
$mla_source = isset( $_REQUEST['mla_source'] ) && in_array( $_REQUEST['mla_source'], array ( 'trash', 'delete' ) );
|
537 |
|
538 |
if ( $mla_source || ( 'checked' != MLACore::mla_get_option( MLACoreOptions::MLA_SCREEN_DISPLAY_LIBRARY ) ) ) {
|
539 |
+
// Allow "grid" view even if the list view is suppressed
|
|
|
|
|
540 |
if ( isset( $_REQUEST['mode'] ) && 'grid' === $_REQUEST['mode'] ) {
|
541 |
return;
|
542 |
}
|
543 |
+
|
544 |
$query_args = '?page=' . MLACore::ADMIN_PAGE_SLUG;
|
545 |
|
546 |
+
// Compose a message if returning from the Edit Media screen
|
|
|
|
|
547 |
if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
|
548 |
$query_args .= '&mla_admin_message=' . urlencode( sprintf( _n( 'Item permanently deleted.', '%d items permanently deleted.', $deleted, 'media-library-assistant' ), number_format_i18n( $_GET['deleted'] ) ) );
|
549 |
}
|
571 |
$args = array(
|
572 |
'label' => __( 'Entries per page', 'media-library-assistant' ),
|
573 |
'default' => 10,
|
574 |
+
'option' => MLA_OPTION_PREFIX . 'entries_per_page'
|
575 |
);
|
576 |
|
577 |
add_screen_option( $option, $args );
|
586 |
*/
|
587 |
public static function mla_add_help_tab( ) {
|
588 |
$screen = get_current_screen();
|
589 |
+
// Is this one of our pages?
|
|
|
|
|
590 |
if ( !array_key_exists( $screen->id, self::$page_hooks ) ) {
|
591 |
return;
|
592 |
}
|
597 |
|
598 |
$file_suffix = $screen->id;
|
599 |
|
600 |
+
// Use a generic page for edit taxonomy screens
|
|
|
|
|
601 |
if ( 't_' == substr( self::$page_hooks[ $file_suffix ], 0, 2 ) ) {
|
602 |
$taxonomy = substr( self::$page_hooks[ $file_suffix ], 2 );
|
603 |
switch ( $taxonomy ) {
|
624 |
return;
|
625 |
}
|
626 |
|
627 |
+
// Don't add sidebar to the WordPress category and post_tag screens
|
|
|
|
|
628 |
if ( ! ( 'edit-tags' == $screen->base && in_array( $screen->taxonomy, array( 'post_tag', 'category' ) ) ) ) {
|
629 |
if ( !empty( $template_array['sidebar'] ) ) {
|
630 |
$page_values = array( 'settingsURL' => admin_url('options-general.php') );
|
634 |
}
|
635 |
unset( $template_array['sidebar'] );
|
636 |
|
637 |
+
// Provide explicit control over tab order
|
|
|
|
|
638 |
$tab_array = array();
|
639 |
|
640 |
foreach ( $template_array as $id => $content ) {
|
654 |
|
655 |
ksort( $tab_array, SORT_NUMERIC );
|
656 |
foreach ( $tab_array as $indx => $value ) {
|
657 |
+
// Don't add duplicate tabs to the WordPress category and post_tag screens
|
|
|
|
|
658 |
if ( 'edit-tags' == $screen->base && in_array( $screen->taxonomy, array( 'post_tag', 'category' ) ) ) {
|
659 |
if ( 'mla-attachments-column' != $value['id'] ) {
|
660 |
continue;
|
706 |
MLACore::mla_debug_add( $debug_message, MLACore::MLA_DEBUG_CATEGORY_ANY );
|
707 |
}
|
708 |
|
709 |
+
if ( ( MLA_OPTION_PREFIX . 'entries_per_page' ) == $option ) {
|
710 |
return $value;
|
711 |
}
|
712 |
|
734 |
} else {
|
735 |
$menu_position = (integer) MLACore::mla_get_option( MLACoreOptions::MLA_SCREEN_ORDER );
|
736 |
}
|
737 |
+
|
738 |
if ( $menu_position ) {
|
739 |
$submenu_file = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
740 |
}
|
741 |
}
|
742 |
|
743 |
+
// Make sure the "Assistant" submenu line is bolded if the Media/Library submenu is hidden
|
|
|
|
|
744 |
if ( 'checked' != MLACore::mla_get_option( MLACoreOptions::MLA_SCREEN_DISPLAY_LIBRARY ) &&
|
745 |
'upload.php' == $parent_file && ( empty( $submenu_file ) || 'upload.php' == $submenu_file ) ) {
|
746 |
$submenu_file = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
747 |
}
|
748 |
|
749 |
+
// Make sure the "Assistant" submenu line is bolded when we go to the Edit Media page
|
|
|
|
|
750 |
if ( isset( $_REQUEST['mla_source'] ) ) {
|
751 |
$submenu_file = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
752 |
}
|
757 |
/**
|
758 |
* Process secure file download
|
759 |
*
|
|
|
|
|
760 |
* @since 2.00
|
761 |
*
|
762 |
+
* @param array $request The download parameters mla_download_file and mla_download_type; mla_download_disposition is optional.
|
763 |
+
* @param boolean $test_path True to restrict downloads to the "uploads" area, false to download anywhere.
|
764 |
+
*
|
765 |
* @return void echos file contents and calls exit();
|
766 |
*/
|
767 |
+
private static function _process_mla_download_file( $request, $test_path ) {
|
768 |
$message = '';
|
769 |
+
if ( isset( $request['mla_download_file'] ) && isset( $request['mla_download_type'] ) ) {
|
770 |
if( ini_get( 'zlib.output_compression' ) ) {
|
771 |
ini_set( 'zlib.output_compression', 'Off' );
|
772 |
}
|
773 |
|
774 |
+
$file_name = stripslashes( $request['mla_download_file'] );
|
775 |
$match_name = str_replace( '\\', '/', $file_name );
|
|
|
|
|
776 |
|
777 |
+
if ( $test_path ) {
|
778 |
+
$upload_dir = wp_upload_dir();
|
779 |
+
$allowed_path = str_replace( '\\', '/', $upload_dir['basedir'] );
|
780 |
+
}
|
781 |
+
|
782 |
+
if ( $test_path && ( 0 !== strpos( $match_name, $allowed_path ) ) ) {
|
783 |
+
$message = __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'download path out of bounds.', 'media-library-assistant' );
|
784 |
} elseif ( false !== strpos( $match_name, '..' ) ) {
|
785 |
+
$message = __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'download path invalid.', 'media-library-assistant' );
|
786 |
}
|
787 |
} else {
|
788 |
+
$message = __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'download argument(s) not set.', 'media-library-assistant' );
|
789 |
}
|
790 |
|
791 |
if ( empty( $message ) ) {
|
794 |
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
|
795 |
header('Last-Modified: '.gmdate ( 'D, d M Y H:i:s', filemtime ( $file_name ) ).' GMT');
|
796 |
header('Cache-Control: private',false);
|
797 |
+
header('Content-Type: '.$request['mla_download_type']);
|
798 |
header('Content-Disposition: attachment; filename="'.basename( $file_name ).'"');
|
799 |
header('Content-Transfer-Encoding: binary');
|
800 |
header('Content-Length: '.filesize( $file_name )); // provide file size
|
802 |
|
803 |
readfile( $file_name );
|
804 |
|
805 |
+
if ( isset( $request['mla_download_disposition'] ) && 'delete' == $request['mla_download_disposition'] ) {
|
806 |
@unlink( $file_name );
|
807 |
}
|
808 |
} else {
|
818 |
echo '</body>';
|
819 |
echo '</html> ';
|
820 |
}
|
821 |
+
|
822 |
exit();
|
823 |
}
|
824 |
|
914 |
}
|
915 |
}
|
916 |
|
917 |
+
if ( isset( $request['post_date'] ) ) {
|
918 |
+
$test_value = self::_process_bulk_value( $post_id, $request['post_date'] );
|
919 |
+
if ( ! empty( $test_value ) ) {
|
920 |
+
// User input is in local time, not UTC
|
921 |
+
$tz = get_option( 'timezone_string' );
|
922 |
+
if ( !$tz ) {
|
923 |
+
$tz = get_option( 'gmt_offset' );
|
924 |
+
if ( !$tz ) {
|
925 |
+
$tz = 'UTC';
|
926 |
+
}
|
927 |
+
}
|
928 |
+
|
929 |
+
$datetime = date_create( $test_value, new DateTimeZone( $tz ) );
|
930 |
+
if ( $datetime ) {
|
931 |
+
$new_text = $datetime->format( 'Y-m-d H:i:s' );
|
932 |
+
$new_data['post_date'] = $new_text;
|
933 |
+
$new_data['post_date_gmt'] = get_gmt_from_date( $new_text );
|
934 |
+
} else {
|
935 |
+
// strtotime() will "Parse about any English textual datetime description into a Unix timestamp"
|
936 |
+
$timestamp = strtotime( $test_value );
|
937 |
+
if( false !== $timestamp ) {
|
938 |
+
// date() "Returns a string formatted according to the format string using the integer timestamp"
|
939 |
+
$new_text = date( 'Y-m-d H:i:s', $timestamp );
|
940 |
+
$new_data['post_date'] = $new_text;
|
941 |
+
$new_data['post_date_gmt'] = get_gmt_from_date( $new_text );
|
942 |
+
}
|
943 |
+
}
|
944 |
+
} elseif ( is_null( $test_value ) ) {
|
945 |
+
// empty post_date value is not acceptable
|
946 |
+
}
|
947 |
+
}
|
948 |
+
|
949 |
if ( isset( $request['post_parent'] ) ) {
|
950 |
if ( is_numeric( $request['post_parent'] ) ) {
|
951 |
$new_data['post_parent'] = $request['post_parent'];
|
970 |
}
|
971 |
}
|
972 |
|
973 |
+
// Custom field support
|
|
|
|
|
974 |
$custom_fields = array();
|
975 |
|
976 |
if ( is_array( $custom_field_map ) ) {
|
994 |
$new_data[ 'custom_updates' ] = $custom_fields;
|
995 |
}
|
996 |
|
997 |
+
// Taxonomy Support
|
|
|
|
|
998 |
$tax_inputs = array();
|
999 |
$tax_actions = array();
|
1000 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_prepare_bulk_edits( {$post_id} ) tax_input = " . var_export( $request['tax_input'], true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1009 |
|
1010 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) terms = " . var_export( $terms, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1011 |
|
1012 |
+
// Ignore empty updates
|
|
|
|
|
1013 |
if ( $hierarchical = is_array( $terms ) ) {
|
1014 |
if ( false !== ( $index = array_search( 0, $terms ) ) ) {
|
1015 |
unset( $terms[ $index ] );
|
1016 |
}
|
1017 |
} else {
|
1018 |
+
// Parse out individual terms
|
|
|
|
|
1019 |
$comma = _x( ',', 'tag_delimiter', 'media-library-assistant' );
|
1020 |
if ( ',' !== $comma ) {
|
1021 |
$tags = str_replace( $comma, ',', $terms );
|
1060 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_prepare_bulk_edits( {$post_id}, {$taxonomy}, {$tax_action} ) current_terms = " . var_export( $current_terms, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1061 |
|
1062 |
if ( 'add' == $tax_action ) {
|
1063 |
+
// Add new terms; remove existing terms
|
|
|
|
|
1064 |
foreach ( $terms as $index => $new_term ) {
|
1065 |
if ( isset( $current_terms[ $new_term ] ) ) {
|
1066 |
unset( $terms[ $index ] );
|
1069 |
|
1070 |
$do_update = ! empty( $terms );
|
1071 |
} elseif ( 'remove' == $tax_action ) {
|
1072 |
+
// Remove only the existing terms
|
|
|
|
|
1073 |
foreach ( $terms as $index => $new_term ) {
|
1074 |
if ( ! isset( $current_terms[ $new_term ] ) ) {
|
1075 |
unset( $terms[ $index ] );
|
1185 |
|
1186 |
foreach ( $request['cb_attachment'] as $index => $post_id ) {
|
1187 |
self::$bulk_edit_data_source['cb_index']++;
|
1188 |
+
|
1189 |
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
1190 |
$page_content['message'] .= __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'You are not allowed to edit Attachment: ', 'media-library-assistant' ) . $post_id . '<br>';
|
1191 |
continue;
|
1359 |
* @return void
|
1360 |
*/
|
1361 |
public static function mla_render_admin_page( ) {
|
1362 |
+
// Prevent _wp_http_referer recursion with method="get"
|
1363 |
+
$_SERVER['REQUEST_URI'] = '/wp-admin/upload.php?page=mla-menu';
|
1364 |
+
|
1365 |
/*
|
1366 |
* WordPress class-wp-list-table.php doesn't look in hidden fields to set
|
1367 |
* the month filter dropdown or sorting parameters
|
1382 |
if ( ! empty( $_REQUEST['bulk_refresh'] ) ) {
|
1383 |
unset( $_REQUEST['action'] );
|
1384 |
unset( $_POST['action'] );
|
1385 |
+
unset( $_GET['action'] );
|
1386 |
unset( $_REQUEST['action2'] );
|
1387 |
unset( $_POST['action2'] );
|
1388 |
+
unset( $_GET['action2'] );
|
1389 |
}
|
1390 |
|
1391 |
$bulk_action = self::_current_bulk_action();
|
1396 |
}
|
1397 |
|
1398 |
echo "<div class=\"wrap\">\n";
|
|
|
1399 |
echo "<h1 class=\"wp-heading-inline\">{$page_title}"; // trailing </h1> is action-specific
|
1400 |
|
1401 |
if ( !current_user_can( 'upload_files' ) ) {
|
1427 |
unset ( $_REQUEST['post_category'] );
|
1428 |
}
|
1429 |
|
1430 |
+
// Process bulk actions that affect an array of items
|
|
|
|
|
1431 |
if ( $bulk_action && ( $bulk_action != 'none' ) ) {
|
1432 |
// bulk_refresh simply refreshes the page, ignoring other bulk actions
|
1433 |
if ( empty( $_REQUEST['bulk_refresh'] ) ) {
|
1440 |
self::mla_clear_filter_by();
|
1441 |
}
|
1442 |
|
1443 |
+
// Empty the Trash?
|
|
|
|
|
1444 |
if ( isset( $_REQUEST['delete_all'] ) ) {
|
1445 |
global $wpdb;
|
1446 |
|
1464 |
}
|
1465 |
}
|
1466 |
|
1467 |
+
// Process row-level actions that affect a single item
|
|
|
|
|
1468 |
if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
|
1469 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
1470 |
|
1535 |
$page_content['message'] = $custom_message . $page_content['message'];
|
1536 |
}
|
1537 |
} // (!empty($_REQUEST['mla_admin_action'])
|
1538 |
+
|
1539 |
+
// Don't let WPML copy these to language-specific URLs
|
1540 |
+
foreach ( array( 'action', 'action2', 'cb_attachment', 'clear_filter_by', 'delete_all', 'mla_admin_action' ) as $argument ) {
|
1541 |
+
unset( $_REQUEST[ $argument ] );
|
1542 |
+
unset( $_POST[ $argument ] );
|
1543 |
+
unset( $_GET[ $argument ] );
|
1544 |
+
}
|
1545 |
|
1546 |
if ( !empty( $page_content['body'] ) ) {
|
1547 |
if ( !empty( $page_content['message'] ) ) {
|
1558 |
|
1559 |
echo $page_content['body'];
|
1560 |
} else {
|
1561 |
+
// Display Attachments list
|
|
|
|
|
1562 |
if ( !empty( $_REQUEST['heading_suffix'] ) ) {
|
1563 |
echo ' - ' . esc_html( $_REQUEST['heading_suffix'] ) . $heading_tail;
|
1564 |
} elseif ( !empty( $_REQUEST['mla_terms_search'] ) ) {
|
1585 |
echo " </p></div>\n"; // id="message"
|
1586 |
}
|
1587 |
|
1588 |
+
// Create an instance of our package class...
|
1589 |
$MLAListTable = apply_filters( 'mla_list_table_new_instance', NULL );
|
1590 |
if ( is_null( $MLAListTable ) ) {
|
1591 |
$MLAListTable = new MLA_List_Table();
|
1592 |
}
|
1593 |
|
1594 |
+
// Fetch, prepare, sort, and filter our data...
|
1595 |
$MLAListTable->prepare_items();
|
1596 |
$MLAListTable->views();
|
1597 |
|
1598 |
$view_arguments = MLA_List_Table::mla_submenu_arguments();
|
1599 |
+
if ( isset( $view_arguments['lang'] ) ) { // from WPML/Polylang
|
1600 |
$form_url = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG . '&lang=' . $view_arguments['lang'];
|
1601 |
} else {
|
1602 |
$form_url = 'upload.php?page=' . MLACore::ADMIN_PAGE_SLUG;
|
1603 |
}
|
1604 |
|
1605 |
+
// Forms are NOT created automatically, wrap the table in one to use features like bulk actions
|
1606 |
+
// method chnged from post to get fo ACP Export compatibility 20180221
|
1607 |
+
// echo "\n" . '<form action="' . admin_url( $form_url ) . '" method="post" id="mla-filter">' . "\n";
|
1608 |
+
echo "\n" . '<form action="' . admin_url( $form_url ) . '" method="get" id="mla-filter">' . "\n";
|
1609 |
+
|
1610 |
+
// Include the Search Media box
|
1611 |
require_once MLA_PLUGIN_PATH . 'includes/mla-main-search-box-template.php';
|
1612 |
|
1613 |
+
// We also need to ensure that the form posts back to our current page and remember all the view arguments
|
|
|
|
|
1614 |
echo sprintf( '<input type="hidden" name="page" value="%1$s" />', $_REQUEST['page'] ) . "\n";
|
1615 |
|
1616 |
+
// Pass the WPML/Polylang language in the form
|
1617 |
+
if ( isset( $view_arguments['lang'] ) ) {
|
1618 |
+
echo sprintf( '<input type="hidden" name="lang" value="%1$s" />', $view_arguments['lang'] ) . "\n";
|
1619 |
+
}
|
1620 |
+
|
1621 |
foreach ( $view_arguments as $key => $value ) {
|
1622 |
if ( 'meta_query' == $key ) {
|
1623 |
$value = stripslashes( $_REQUEST['meta_query'] );
|
1639 |
}
|
1640 |
}
|
1641 |
|
1642 |
+
// Now we can render the completed list table
|
1643 |
$MLAListTable->display();
|
1644 |
echo "</form><!-- id=mla-filter -->\n";
|
1645 |
|
1722 |
wp_die( __( 'ERROR', 'media-library-assistant' ) . ': ' . __( 'You are not allowed to edit this Attachment.', 'media-library-assistant' ) );
|
1723 |
}
|
1724 |
|
1725 |
+
// Custom field support
|
|
|
|
|
1726 |
$custom_fields = array();
|
1727 |
foreach ( MLACore::mla_custom_field_support( 'quick_edit' ) as $slug => $details ) {
|
1728 |
if ( isset( $_REQUEST[ $slug ] ) ) {
|
1748 |
$_REQUEST[ 'custom_updates' ] = $custom_fields;
|
1749 |
}
|
1750 |
|
1751 |
+
// The category taxonomy is a special case because post_categories_meta_box() changes the input name
|
|
|
|
|
1752 |
if ( !isset( $_REQUEST['tax_input'] ) ) {
|
1753 |
$_REQUEST['tax_input'] = array();
|
1754 |
}
|
1759 |
}
|
1760 |
|
1761 |
if ( ! empty( $_REQUEST['tax_input'] ) ) {
|
1762 |
+
// Flat taxonomy strings must be cleaned up and duplicates removed
|
|
|
|
|
1763 |
$tax_output = array();
|
1764 |
foreach ( $_REQUEST['tax_input'] as $tax_name => $tax_value ) {
|
1765 |
if ( ! is_array( $tax_value ) ) {
|
1802 |
|
1803 |
if ( ! $prevent_default ) {
|
1804 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_inline_edit_ajax_action( {$post_id} ) \$_REQUEST = " . var_export( $_REQUEST, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1805 |
+
|
1806 |
+
$new_date = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $_REQUEST['aa'], $_REQUEST['mm'], $_REQUEST['jj'], $_REQUEST['hh'], $_REQUEST['mn'], $_REQUEST['ss'] );
|
1807 |
+
if ( wp_checkdate( $_REQUEST['mm'], $_REQUEST['jj'], $_REQUEST['aa'], $new_date ) ) {
|
1808 |
+
$_REQUEST['post_date'] = $new_date;
|
1809 |
+
$_REQUEST['post_date_gmt'] = get_gmt_from_date( $new_date );
|
1810 |
+
}
|
1811 |
+
|
1812 |
$results = MLAData::mla_update_single_item( $post_id, $_REQUEST, $_REQUEST['tax_input'] );
|
1813 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_inline_edit_ajax_action( {$post_id} ) results = " . var_export( $results, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1814 |
}
|
1816 |
$new_item = (object) MLAData::mla_get_attachment_by_id( $post_id );
|
1817 |
MLACore::mla_debug_add( __LINE__ . " MLA::mla_inline_edit_ajax_action( {$post_id} ) new_item = " . var_export( $new_item, true ), MLACore::MLA_DEBUG_CATEGORY_AJAX );
|
1818 |
|
1819 |
+
// Create an instance of our package class and echo the new HTML
|
1820 |
$MLAListTable = apply_filters( 'mla_list_table_new_instance', NULL );
|
1821 |
if ( is_null( $MLAListTable ) ) {
|
1822 |
$MLAListTable = new MLA_List_Table();
|
1927 |
return $set_parent_form;
|
1928 |
}
|
1929 |
|
1930 |
+
/**
|
1931 |
+
* Generate HTML form elements for editing uploaded on date
|
1932 |
+
*
|
1933 |
+
* Adapted from /wp-admin/includes/template.php function touch_time()
|
1934 |
+
*
|
1935 |
+
* @since 2.71
|
1936 |
+
*
|
1937 |
+
* @global WP_Locale $wp_locale for month name abbreviations
|
1938 |
+
*
|
1939 |
+
* @return string HTML markup for the Uploaded on edit form
|
1940 |
+
*/
|
1941 |
+
private static function _generate_time_edit_form() {
|
1942 |
+
global $wp_locale;
|
1943 |
+
|
1944 |
+
$current = current_time('timestamp');
|
1945 |
+
$jj = gmdate( 'd', $current );
|
1946 |
+
$mm = gmdate( 'm', $current );
|
1947 |
+
$aa = gmdate( 'Y', $current );
|
1948 |
+
$hh = gmdate( 'H', $current );
|
1949 |
+
$mn = gmdate( 'i', $current );
|
1950 |
+
$ss = gmdate( 's', $current );
|
1951 |
+
|
1952 |
+
$month = '<label><span class="screen-reader-text">' . __( 'Month' ) . '</span><select name="mm" ' . ">\n";
|
1953 |
+
for ( $i = 1; $i < 13; $i = $i +1 ) {
|
1954 |
+
$monthnum = zeroise($i, 2);
|
1955 |
+
$monthtext = $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) );
|
1956 |
+
$month .= ' <option value="' . $monthnum . '" data-text="' . $monthtext . '" ' . selected( $monthnum, $mm, false ) . '>';
|
1957 |
+
/* translators: 1: month number (01, 02, etc.), 2: month abbreviation */
|
1958 |
+
$month .= sprintf( __( '%1$s-%2$s' ), $monthnum, $monthtext ) . "</option>\n";
|
1959 |
+
}
|
1960 |
+
$month .= '</select></label>';
|
1961 |
+
|
1962 |
+
$day = '<label><span class="screen-reader-text">' . __( 'Day' ) . '</span><input type="text" name="jj" value="' . $jj . '" size="2" maxlength="2" autocomplete="off" /></label>';
|
1963 |
+
$year = '<label><span class="screen-reader-text">' . __( 'Year' ) . '</span><input type="text" name="aa" value="' . $aa . '" size="4" maxlength="4" autocomplete="off" /></label>';
|
1964 |
+
$hour = '<label><span class="screen-reader-text">' . __( 'Hour' ) . '</span><input type="text" name="hh" value="' . $hh . '" size="2" maxlength="2" autocomplete="off" /></label>';
|
1965 |
+
$minute = '<label><span class="screen-reader-text">' . __( 'Minute' ) . '</span><input type="text" name="mn" value="' . $mn . '" size="2" maxlength="2" autocomplete="off" /></label>';
|
1966 |
+
|
1967 |
+
$time_edit_form = '<fieldset class="inline-edit-date">' . "\n";
|
1968 |
+
$time_edit_form .= '<legend><span class="title">' . sprintf( __( 'Uploaded on: %s' ), '' ) . '</span></legend>' . "\n";
|
1969 |
+
$time_edit_form .= '<div class="timestamp-wrap">' . "\n";
|
1970 |
+
$time_edit_form .= sprintf( __( '%1$s %2$s, %3$s @ %4$s:%5$s' ), $month, $day, $year, $hour, $minute );
|
1971 |
+
|
1972 |
+
$time_edit_form .= "</div>\n";
|
1973 |
+
$time_edit_form .= '<input type="hidden" name="ss" value="' . $ss . '" />' . "\n";
|
1974 |
+
$time_edit_form .= "</fieldset>\n";
|
1975 |
+
|
1976 |
+
return $time_edit_form;
|
1977 |
+
}
|
1978 |
+
|
1979 |
/**
|
1980 |
* Build the hidden row templates for inline editing (quick and bulk edit)
|
1981 |
*
|
2148 |
'Description' => __( 'Description', 'media-library-assistant' ),
|
2149 |
'description_field' => $description_field,
|
2150 |
'ALT Text' => __( 'ALT Text', 'media-library-assistant' ),
|
2151 |
+
'Uploaded on' => self::_generate_time_edit_form(),
|
2152 |
+
'Bulk Uploaded on' => __( 'Uploaded on', 'media-library-assistant' ),
|
2153 |
'Parent ID' => __( 'Parent ID', 'media-library-assistant' ),
|
2154 |
'Select' => __( 'Select', 'media-library-assistant' ),
|
2155 |
'Menu Order' => __( 'Menu Order', 'media-library-assistant' ),
|
includes/class-mla-mime-types.php
CHANGED
@@ -26,9 +26,13 @@ class MLAMime {
|
|
26 |
self::_localize_default_upload_optional_columns();
|
27 |
self::_localize_default_view_columns();
|
28 |
|
29 |
-
// add_filter( 'sanitize_mime_type', 'MLAMime::mla_sanitize_mime_type_filter', 0x7FFFFFFF, 2 );
|
30 |
add_filter( 'ext2type', 'MLAMime::mla_ext2type_filter', 0x7FFFFFFF, 1 );
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
// Handle WP 4.6.2, 4.7.x SVG bug
|
34 |
add_filter( 'getimagesize_mimes_to_exts', 'MLAMime::mla_getimagesize_mimes_to_exts_filter', 0x7FFFFFFF, 1 );
|
@@ -102,9 +106,8 @@ class MLAMime {
|
|
102 |
*/
|
103 |
public static function mla_sanitize_mime_type_filter( $sanitized_mime_type, $raw_mime_type ) {
|
104 |
global $wp_filter;
|
105 |
-
//
|
106 |
-
|
107 |
-
// error_log( 'DEBUG: $wp_filter[sanitize_mime_type] = ' . var_export( $wp_filter['sanitize_mime_type'], true ), 0 );
|
108 |
return $sanitized_mime_type;
|
109 |
} // mla_sanitize_mime_type_filter
|
110 |
|
@@ -141,6 +144,9 @@ class MLAMime {
|
|
141 |
public static function mla_ext2type_filter( $standard_types ) {
|
142 |
global $wp_filter;
|
143 |
|
|
|
|
|
|
|
144 |
if ( self::$disable_mla_filtering ) {
|
145 |
self::$mla_core_icon_types = $standard_types;
|
146 |
return $standard_types;
|
@@ -154,9 +160,7 @@ class MLAMime {
|
|
154 |
return $standard_types;
|
155 |
}
|
156 |
|
157 |
-
|
158 |
-
* Build and sort the type => extensions list
|
159 |
-
*/
|
160 |
$items = self::mla_query_upload_items( array( 'mla_upload_view' => 'active' ), 0, 0 );
|
161 |
$pairs = array();
|
162 |
foreach ( $items as $value )
|
@@ -168,9 +172,7 @@ class MLAMime {
|
|
168 |
|
169 |
asort( $pairs );
|
170 |
|
171 |
-
|
172 |
-
* Compress the list, grouping by icon_type
|
173 |
-
*/
|
174 |
self::$mla_icon_type_associations = array();
|
175 |
$icon_type = '.bad.value.'; // prime the pump
|
176 |
$extensions = array ( 'xxx' );
|
@@ -187,6 +189,7 @@ class MLAMime {
|
|
187 |
self::$mla_icon_type_associations[ $icon_type ] = $extensions;
|
188 |
unset( self::$mla_icon_type_associations['.bad.value.'] );
|
189 |
|
|
|
190 |
return self::$mla_icon_type_associations;
|
191 |
} // mla_ext2type_filter
|
192 |
|
@@ -207,11 +210,10 @@ class MLAMime {
|
|
207 |
*/
|
208 |
public static function mla_wp_check_filetype_and_ext_filter( $validate, $file, $filename, $mimes ) {
|
209 |
global $wp_filter;
|
210 |
-
|
211 |
-
|
212 |
-
//
|
213 |
-
|
214 |
-
// error_log( 'DEBUG: $wp_filter[wp_check_filetype_and_ext] = ' . var_export( $wp_filter['wp_check_filetype_and_ext'], true ), 0 );
|
215 |
return $validate;
|
216 |
} // mla_wp_check_filetype_and_ext_filter
|
217 |
|
@@ -233,29 +235,45 @@ class MLAMime {
|
|
233 |
*/
|
234 |
public static function mla_mime_types_filter( $mime_types ) {
|
235 |
global $wp_filter;
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
|
237 |
if ( self::$disable_mla_filtering || ! self::_get_upload_mime_templates() ) {
|
|
|
238 |
return $mime_types;
|
239 |
}
|
240 |
|
241 |
-
|
242 |
-
* Build and sort the extension => type list
|
243 |
-
*/
|
244 |
$items = self::mla_query_upload_items( array( 'mla_upload_view' => 'active' ), 0, 0 );
|
245 |
$pairs = array();
|
246 |
-
foreach ( $items as $value )
|
247 |
$pairs[ $value->slug ] = $value->mime_type;
|
|
|
248 |
|
249 |
asort( $pairs );
|
250 |
|
251 |
-
|
252 |
-
* Compress the list, grouping my mime_type
|
253 |
-
*/
|
254 |
$items = array();
|
255 |
$extensions = '.bad.value.'; // prime the pump
|
256 |
$mime_type = '';
|
257 |
foreach ( $pairs as $this_extension => $this_type ) {
|
258 |
if ( $this_type != $mime_type ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
$items[ $extensions ] = $mime_type;
|
260 |
$extensions = $this_extension;
|
261 |
$mime_type = $this_type;
|
@@ -264,9 +282,15 @@ class MLAMime {
|
|
264 |
}
|
265 |
}
|
266 |
|
|
|
267 |
$items[ $extensions ] = $mime_type;
|
268 |
unset( $items['.bad.value.'] );
|
269 |
|
|
|
|
|
|
|
|
|
|
|
270 |
return $items; // $mime_types;
|
271 |
} // mla_mime_types_filter
|
272 |
|
@@ -294,14 +318,19 @@ class MLAMime {
|
|
294 |
*/
|
295 |
public static function mla_upload_mimes_filter( $mime_types, $user = NULL ) {
|
296 |
global $wp_filter;
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
|
298 |
if ( self::$disable_mla_filtering || ! self::_get_upload_mime_templates() ) {
|
|
|
299 |
return $mime_types;
|
300 |
}
|
301 |
|
302 |
-
|
303 |
-
* Build and sort the extension => type list
|
304 |
-
*/
|
305 |
$items = self::mla_query_upload_items( array( 'mla_upload_view' => 'active' ), 0, 0 );
|
306 |
$pairs = array();
|
307 |
foreach ( $items as $value )
|
@@ -309,9 +338,7 @@ class MLAMime {
|
|
309 |
|
310 |
asort( $pairs );
|
311 |
|
312 |
-
|
313 |
-
* Compress the list, grouping by mime_type
|
314 |
-
*/
|
315 |
$items = array();
|
316 |
$extensions = '.bad.value.'; // prime the pump
|
317 |
$mime_type = '';
|
@@ -328,9 +355,7 @@ class MLAMime {
|
|
328 |
$items[ $extensions ] = $mime_type;
|
329 |
unset( $items['.bad.value.'] );
|
330 |
|
331 |
-
|
332 |
-
* Respect the WordPress per-user 'unfiltered_html' capability test
|
333 |
-
*/
|
334 |
if ( function_exists( 'current_user_can' ) ) {
|
335 |
$unfiltered = $user ? user_can( $user, 'unfiltered_html' ) : current_user_can( 'unfiltered_html' );
|
336 |
} else {
|
@@ -343,6 +368,11 @@ class MLAMime {
|
|
343 |
unset( $items['html'] );
|
344 |
}
|
345 |
|
|
|
|
|
|
|
|
|
|
|
346 |
return $items;
|
347 |
} // mla_upload_mimes_filter
|
348 |
|
@@ -370,14 +400,19 @@ class MLAMime {
|
|
370 |
*/
|
371 |
public static function mla_post_mime_types_filter( $post_mime_types ) {
|
372 |
global $wp_filter;
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
|
374 |
if ( self::$disable_mla_filtering || ! self::_get_post_mime_templates() ) {
|
|
|
375 |
return $post_mime_types;
|
376 |
}
|
377 |
|
378 |
-
|
379 |
-
* Filter the list and sort by menu_order
|
380 |
-
*/
|
381 |
$minor_sort = 0;
|
382 |
$sorted_types = array();
|
383 |
foreach ( self::$mla_post_mime_templates as $slug => $value )
|
@@ -407,6 +442,11 @@ class MLAMime {
|
|
407 |
);
|
408 |
}
|
409 |
|
|
|
|
|
|
|
|
|
|
|
410 |
return $new_mime_types;
|
411 |
} // mla_post_mime_types_filter
|
412 |
|
26 |
self::_localize_default_upload_optional_columns();
|
27 |
self::_localize_default_view_columns();
|
28 |
|
|
|
29 |
add_filter( 'ext2type', 'MLAMime::mla_ext2type_filter', 0x7FFFFFFF, 1 );
|
30 |
+
|
31 |
+
// Check for active debug setting
|
32 |
+
if ( ( MLACore::$mla_debug_level & 1 ) && ( MLACore::$mla_debug_level & MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE ) ) {
|
33 |
+
add_filter( 'sanitize_mime_type', 'MLAMime::mla_sanitize_mime_type_filter', 0x7FFFFFFF, 2 );
|
34 |
+
add_filter( 'wp_check_filetype_and_ext', 'MLAMime::mla_wp_check_filetype_and_ext_filter', 0x7FFFFFFF, 4 );
|
35 |
+
}
|
36 |
|
37 |
// Handle WP 4.6.2, 4.7.x SVG bug
|
38 |
add_filter( 'getimagesize_mimes_to_exts', 'MLAMime::mla_getimagesize_mimes_to_exts_filter', 0x7FFFFFFF, 1 );
|
106 |
*/
|
107 |
public static function mla_sanitize_mime_type_filter( $sanitized_mime_type, $raw_mime_type ) {
|
108 |
global $wp_filter;
|
109 |
+
//MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_sanitize_mime_type_filter( $sanitized_mime_type, $raw_mime_type ) wp_filter = " . var_export( $wp_filter['sanitize_mime_type'], true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
110 |
+
|
|
|
111 |
return $sanitized_mime_type;
|
112 |
} // mla_sanitize_mime_type_filter
|
113 |
|
144 |
public static function mla_ext2type_filter( $standard_types ) {
|
145 |
global $wp_filter;
|
146 |
|
147 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_ext2type_filter standard_types = " . var_export( $standard_types, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
148 |
+
//MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_ext2type_filter wp_filter = " . var_export( $wp_filter['ext2type'], true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
149 |
+
|
150 |
if ( self::$disable_mla_filtering ) {
|
151 |
self::$mla_core_icon_types = $standard_types;
|
152 |
return $standard_types;
|
160 |
return $standard_types;
|
161 |
}
|
162 |
|
163 |
+
// Build and sort the type => extensions list
|
|
|
|
|
164 |
$items = self::mla_query_upload_items( array( 'mla_upload_view' => 'active' ), 0, 0 );
|
165 |
$pairs = array();
|
166 |
foreach ( $items as $value )
|
172 |
|
173 |
asort( $pairs );
|
174 |
|
175 |
+
// Compress the list, grouping by icon_type
|
|
|
|
|
176 |
self::$mla_icon_type_associations = array();
|
177 |
$icon_type = '.bad.value.'; // prime the pump
|
178 |
$extensions = array ( 'xxx' );
|
189 |
self::$mla_icon_type_associations[ $icon_type ] = $extensions;
|
190 |
unset( self::$mla_icon_type_associations['.bad.value.'] );
|
191 |
|
192 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_ext2type_filter mla_icon_type_associations = " . var_export( self::$mla_icon_type_associations, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
193 |
return self::$mla_icon_type_associations;
|
194 |
} // mla_ext2type_filter
|
195 |
|
210 |
*/
|
211 |
public static function mla_wp_check_filetype_and_ext_filter( $validate, $file, $filename, $mimes ) {
|
212 |
global $wp_filter;
|
213 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_wp_check_filetype_and_ext_filter( $file, $filename ) validate = " . var_export( $validate, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
214 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_wp_check_filetype_and_ext_filter mimes = " . var_export( $mimes, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
215 |
+
//MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_wp_check_filetype_and_ext_filter wp_filter = " . var_export( $wp_filter['wp_check_filetype_and_ext'], true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
216 |
+
|
|
|
217 |
return $validate;
|
218 |
} // mla_wp_check_filetype_and_ext_filter
|
219 |
|
235 |
*/
|
236 |
public static function mla_mime_types_filter( $mime_types ) {
|
237 |
global $wp_filter;
|
238 |
+
static $first_call = true;
|
239 |
+
|
240 |
+
if ( $first_call ) {
|
241 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_mime_types_filter mime_types = " . var_export( $mime_types, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
242 |
+
//MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_mime_types_filter wp_filter = " . var_export( $wp_filter['mime_types'], true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
243 |
+
}
|
244 |
|
245 |
if ( self::$disable_mla_filtering || ! self::_get_upload_mime_templates() ) {
|
246 |
+
$first_call = false;
|
247 |
return $mime_types;
|
248 |
}
|
249 |
|
250 |
+
// Build and sort the extension => type list
|
|
|
|
|
251 |
$items = self::mla_query_upload_items( array( 'mla_upload_view' => 'active' ), 0, 0 );
|
252 |
$pairs = array();
|
253 |
+
foreach ( $items as $value ) {
|
254 |
$pairs[ $value->slug ] = $value->mime_type;
|
255 |
+
}
|
256 |
|
257 |
asort( $pairs );
|
258 |
|
259 |
+
// Compress the list, grouping my mime_type
|
|
|
|
|
260 |
$items = array();
|
261 |
$extensions = '.bad.value.'; // prime the pump
|
262 |
$mime_type = '';
|
263 |
foreach ( $pairs as $this_extension => $this_type ) {
|
264 |
if ( $this_type != $mime_type ) {
|
265 |
+
// WP_Image_Editor::get_extension always takes the first array entry; must be jpg!
|
266 |
+
if ( 'image/jpeg' === $mime_type && ( 0 !== strpos( $extensions, 'jpg' ) ) ) {
|
267 |
+
$extensions = explode( '|', $extensions );
|
268 |
+
|
269 |
+
if ( false !== ( $jpg_index = array_search( 'jpg', $extensions ) ) ) {
|
270 |
+
unset( $extensions[ $jpg_index ] );
|
271 |
+
array_unshift( $extensions, 'jpg' );
|
272 |
+
}
|
273 |
+
|
274 |
+
$extensions = implode( '|', $extensions );
|
275 |
+
}
|
276 |
+
|
277 |
$items[ $extensions ] = $mime_type;
|
278 |
$extensions = $this_extension;
|
279 |
$mime_type = $this_type;
|
282 |
}
|
283 |
}
|
284 |
|
285 |
+
// Finish off the last entry, then remove the pump-primer
|
286 |
$items[ $extensions ] = $mime_type;
|
287 |
unset( $items['.bad.value.'] );
|
288 |
|
289 |
+
if ( $first_call ) {
|
290 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_mime_types_filter items = " . var_export( $items, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
291 |
+
$first_call = false;
|
292 |
+
}
|
293 |
+
|
294 |
return $items; // $mime_types;
|
295 |
} // mla_mime_types_filter
|
296 |
|
318 |
*/
|
319 |
public static function mla_upload_mimes_filter( $mime_types, $user = NULL ) {
|
320 |
global $wp_filter;
|
321 |
+
static $first_call = false;
|
322 |
+
|
323 |
+
if ( $first_call ) {
|
324 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_upload_mimes_filter mime_types = " . var_export( $mime_types, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
325 |
+
//MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_upload_mimes_filter wp_filter = " . var_export( $wp_filter['upload_mimes'], true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
326 |
+
}
|
327 |
|
328 |
if ( self::$disable_mla_filtering || ! self::_get_upload_mime_templates() ) {
|
329 |
+
$first_call = false;
|
330 |
return $mime_types;
|
331 |
}
|
332 |
|
333 |
+
// Build and sort the extension => type list
|
|
|
|
|
334 |
$items = self::mla_query_upload_items( array( 'mla_upload_view' => 'active' ), 0, 0 );
|
335 |
$pairs = array();
|
336 |
foreach ( $items as $value )
|
338 |
|
339 |
asort( $pairs );
|
340 |
|
341 |
+
// Compress the list, grouping by mime_type
|
|
|
|
|
342 |
$items = array();
|
343 |
$extensions = '.bad.value.'; // prime the pump
|
344 |
$mime_type = '';
|
355 |
$items[ $extensions ] = $mime_type;
|
356 |
unset( $items['.bad.value.'] );
|
357 |
|
358 |
+
// Respect the WordPress per-user 'unfiltered_html' capability test
|
|
|
|
|
359 |
if ( function_exists( 'current_user_can' ) ) {
|
360 |
$unfiltered = $user ? user_can( $user, 'unfiltered_html' ) : current_user_can( 'unfiltered_html' );
|
361 |
} else {
|
368 |
unset( $items['html'] );
|
369 |
}
|
370 |
|
371 |
+
if ( $first_call ) {
|
372 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_upload_mimes_filter( $unfiltered ) items = " . var_export( $items, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
373 |
+
$first_call = false;
|
374 |
+
}
|
375 |
+
|
376 |
return $items;
|
377 |
} // mla_upload_mimes_filter
|
378 |
|
400 |
*/
|
401 |
public static function mla_post_mime_types_filter( $post_mime_types ) {
|
402 |
global $wp_filter;
|
403 |
+
static $first_call = false;
|
404 |
+
|
405 |
+
if ( $first_call ) {
|
406 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_post_mime_types_filter post_mime_types = " . var_export( $post_mime_types, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
407 |
+
//MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_post_mime_types_filter wp_filter = " . var_export( $wp_filter['upload_mimes'], true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
408 |
+
}
|
409 |
|
410 |
if ( self::$disable_mla_filtering || ! self::_get_post_mime_templates() ) {
|
411 |
+
$first_call = false;
|
412 |
return $post_mime_types;
|
413 |
}
|
414 |
|
415 |
+
// Filter the list and sort by menu_order
|
|
|
|
|
416 |
$minor_sort = 0;
|
417 |
$sorted_types = array();
|
418 |
foreach ( self::$mla_post_mime_templates as $slug => $value )
|
442 |
);
|
443 |
}
|
444 |
|
445 |
+
if ( $first_call ) {
|
446 |
+
MLACore::mla_debug_add( __LINE__ . " MLAMime::mla_post_mime_types_filter new_mime_types = " . var_export( $new_mime_types, true ), MLACore::MLA_DEBUG_CATEGORY_MIME_TYPE );
|
447 |
+
$first_call = false;
|
448 |
+
}
|
449 |
+
|
450 |
return $new_mime_types;
|
451 |
} // mla_post_mime_types_filter
|
452 |
|
includes/class-mla-objects.php
CHANGED
@@ -34,7 +34,7 @@ class MLAObjects {
|
|
34 |
public static function mla_build_taxonomies( ) {
|
35 |
if ( MLACore::mla_taxonomy_support('attachment_category') ) {
|
36 |
$object_type = apply_filters( 'mla_attachment_category_types', array(
|
37 |
-
'attachment'
|
38 |
) );
|
39 |
|
40 |
$labels = apply_filters( 'mla_attachment_category_labels', array(
|
@@ -112,8 +112,8 @@ class MLAObjects {
|
|
112 |
foreach ( $taxonomies as $tax_name ) {
|
113 |
if ( MLACore::mla_taxonomy_support( $tax_name ) ) {
|
114 |
register_taxonomy_for_object_type( $tax_name, 'attachment');
|
115 |
-
add_filter( "manage_edit-{$tax_name}_columns", 'MLAObjects::mla_taxonomy_get_columns_filter', 0x7FFFFFFF, 1 );
|
116 |
-
add_filter( "manage_{$tax_name}_custom_column", 'MLAObjects::mla_taxonomy_column_filter', 0x7FFFFFFF, 3 );
|
117 |
} // taxonomy support
|
118 |
} // foreach
|
119 |
} // _add_taxonomy_support
|
@@ -129,9 +129,7 @@ class MLAObjects {
|
|
129 |
* @return array updated column definitions for the edit taxonomy list table
|
130 |
*/
|
131 |
public static function mla_taxonomy_get_columns_filter( $columns ) {
|
132 |
-
|
133 |
-
* Adding or inline-editing a tag is done with AJAX, and there's no current screen object
|
134 |
-
*/
|
135 |
if ( isset( $_POST['action'] ) && in_array( $_POST['action'], array( 'add-tag', 'inline-save-tax' ) ) ) {
|
136 |
$post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post';
|
137 |
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
|
@@ -176,13 +174,9 @@ class MLAObjects {
|
|
176 |
public static function mla_taxonomy_column_filter( $current_value, $column_name, $term_id ) {
|
177 |
static $taxonomy = NULL, $tax_object = NULL, $count_terms = false, $terms = array();
|
178 |
|
179 |
-
|
180 |
-
* Do setup tasks once per page load
|
181 |
-
*/
|
182 |
if ( NULL == $taxonomy ) {
|
183 |
-
|
184 |
-
* Adding or inline-editing a tag is done with AJAX, and there's no current screen object
|
185 |
-
*/
|
186 |
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
187 |
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
|
188 |
} else {
|
@@ -200,13 +194,9 @@ class MLAObjects {
|
|
200 |
return $current_value;
|
201 |
}
|
202 |
|
203 |
-
|
204 |
-
* Do setup tasks once per page load
|
205 |
-
*/
|
206 |
if ( NULL == $tax_object ) {
|
207 |
-
|
208 |
-
* Adding or inline-editing a tag is done with AJAX, and there's no current screen object
|
209 |
-
*/
|
210 |
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
211 |
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
|
212 |
} else {
|
34 |
public static function mla_build_taxonomies( ) {
|
35 |
if ( MLACore::mla_taxonomy_support('attachment_category') ) {
|
36 |
$object_type = apply_filters( 'mla_attachment_category_types', array(
|
37 |
+
'attachment',
|
38 |
) );
|
39 |
|
40 |
$labels = apply_filters( 'mla_attachment_category_labels', array(
|
112 |
foreach ( $taxonomies as $tax_name ) {
|
113 |
if ( MLACore::mla_taxonomy_support( $tax_name ) ) {
|
114 |
register_taxonomy_for_object_type( $tax_name, 'attachment');
|
115 |
+
add_filter( "manage_edit-{$tax_name}_columns", 'MLAObjects::mla_taxonomy_get_columns_filter', 0x7FFFFFFF, 1 );
|
116 |
+
add_filter( "manage_{$tax_name}_custom_column", 'MLAObjects::mla_taxonomy_column_filter', 0x7FFFFFFF, 3 );
|
117 |
} // taxonomy support
|
118 |
} // foreach
|
119 |
} // _add_taxonomy_support
|
129 |
* @return array updated column definitions for the edit taxonomy list table
|
130 |
*/
|
131 |
public static function mla_taxonomy_get_columns_filter( $columns ) {
|
132 |
+
// Adding or inline-editing a tag is done with AJAX, and there's no current screen object
|
|
|
|
|
133 |
if ( isset( $_POST['action'] ) && in_array( $_POST['action'], array( 'add-tag', 'inline-save-tax' ) ) ) {
|
134 |
$post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post';
|
135 |
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
|
174 |
public static function mla_taxonomy_column_filter( $current_value, $column_name, $term_id ) {
|
175 |
static $taxonomy = NULL, $tax_object = NULL, $count_terms = false, $terms = array();
|
176 |
|
177 |
+
// Do setup tasks once per page load
|
|
|
|
|
178 |
if ( NULL == $taxonomy ) {
|
179 |
+
// Adding or inline-editing a tag is done with AJAX, and there's no current screen object
|
|
|
|
|
180 |
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
181 |
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
|
182 |
} else {
|
194 |
return $current_value;
|
195 |
}
|
196 |
|
197 |
+
// Do setup tasks once per page load
|
|
|
|
|
198 |
if ( NULL == $tax_object ) {
|
199 |
+
// Adding or inline-editing a tag is done with AJAX, and there's no current screen object
|
|
|
|
|
200 |
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
201 |
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
|
202 |
} else {
|
includes/class-mla-options.php
CHANGED
@@ -502,6 +502,62 @@ class MLAOptions {
|
|
502 |
return '<br>' . sprintf( __( '%1$s: Custom %2$s unknown action "%3$s"', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), $key, $action ) . "\r\n";
|
503 |
}
|
504 |
} // mla_search_option_handler
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
505 |
/**
|
506 |
* Examine or alter the filename before the file is made permanent
|
507 |
*
|
@@ -787,6 +843,7 @@ class MLAOptions {
|
|
787 |
*/
|
788 |
$setting_value['no_null'] = isset( $setting_value['no_null'] ) && ( false !== $setting_value['no_null'] );
|
789 |
|
|
|
790 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post_id, $category, $attachment_metadata );
|
791 |
if ( NULL === $setting_value ) {
|
792 |
continue;
|
@@ -1207,6 +1264,26 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1207 |
$current_values = MLACore::mla_get_option( 'custom_field_mapping' );
|
1208 |
} // mla_custom_field_option_handler
|
1209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1210 |
/**
|
1211 |
* Build and search a cache of taxonomy and term name to term ID mappings
|
1212 |
*
|
@@ -1220,21 +1297,19 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1220 |
* @return integer term_id for the term name
|
1221 |
*/
|
1222 |
private static function _get_term_id( $term_name, $term_parent, $taxonomy, &$post_terms ) {
|
1223 |
-
static $term_cache = array(); // [ $taxonomy ][ $term_parent ][ $term_name ]
|
1224 |
-
|
1225 |
// WordPress encodes special characters, e.g., "&" as HTML entities in term names
|
1226 |
$term_name = _wp_specialchars( $term_name );
|
1227 |
|
1228 |
-
// Is this term
|
1229 |
-
if ( isset(
|
1230 |
-
return
|
1231 |
}
|
1232 |
|
1233 |
// Is this term already assigned to the item?
|
1234 |
if ( is_array( $post_terms ) ) {
|
1235 |
$term_id = 0;
|
1236 |
foreach( $post_terms as $post_term ) {
|
1237 |
-
|
1238 |
if ( $term_name == $post_term->name && $term_parent == $post_term->parent ) {
|
1239 |
$term_id = $post_term->term_id;
|
1240 |
}
|
@@ -1249,20 +1324,20 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1249 |
if ( 0 === $term_parent ) {
|
1250 |
$post_term = get_term_by( 'name', $term_name, $taxonomy ); // Consider get_terms() for identical names
|
1251 |
if ( false !== $post_term ) {
|
1252 |
-
|
1253 |
return $post_term->term_id;
|
1254 |
}
|
1255 |
} else {
|
1256 |
$post_term = term_exists( $term_name, $taxonomy, $term_parent );
|
1257 |
if ( $post_term !== 0 && $post_term !== NULL ) {
|
1258 |
-
|
1259 |
return absint( $post_term['term_id'] );
|
1260 |
}
|
1261 |
}
|
1262 |
|
1263 |
$post_term = wp_insert_term( $term_name, $taxonomy, array( 'parent' => $term_parent ) );
|
1264 |
if ( ( ! is_wp_error( $post_term ) ) && isset( $post_term['term_id'] ) ) {
|
1265 |
-
|
1266 |
return $post_term['term_id'];
|
1267 |
}
|
1268 |
|
@@ -1289,9 +1364,7 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1289 |
|
1290 |
$image_metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
|
1291 |
|
1292 |
-
|
1293 |
-
* Make the PDF/XMP metadata available as EXIF values so simple rules like "EXIF:Keywords" will work
|
1294 |
-
*/
|
1295 |
if ( empty( $image_metadata['mla_exif_metadata'] ) ) {
|
1296 |
if ( ! empty( $image_metadata['mla_xmp_metadata'] ) ) {
|
1297 |
$image_metadata['mla_exif_metadata'] = $image_metadata['mla_xmp_metadata'];
|
@@ -1314,6 +1387,7 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1314 |
|
1315 |
if ( $update_all || ( 'iptc_exif_standard_mapping' == $category ) ) {
|
1316 |
foreach ( $settings['standard'] as $setting_key => $setting_value ) {
|
|
|
1317 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_standard_mapping', $attachment_metadata );
|
1318 |
if ( NULL === $setting_value ) {
|
1319 |
continue;
|
@@ -1413,6 +1487,18 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1413 |
$updates[ $setting_key ] = $new_text;
|
1414 |
}
|
1415 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1416 |
default:
|
1417 |
// ignore anything else
|
1418 |
} // $setting_key
|
@@ -1429,11 +1515,10 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1429 |
continue;
|
1430 |
}
|
1431 |
|
1432 |
-
|
1433 |
-
* Convert checkbox value(s)
|
1434 |
-
*/
|
1435 |
$hierarchical = $setting_value['hierarchical'] = (boolean) $setting_value['hierarchical'];
|
1436 |
|
|
|
1437 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_taxonomy_mapping', $attachment_metadata );
|
1438 |
if ( NULL === $setting_value ) {
|
1439 |
continue;
|
@@ -1611,6 +1696,7 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1611 |
$setting_value['no_null'] = isset( $setting_value['no_null'] );
|
1612 |
|
1613 |
$setting_name = $setting_value['name'];
|
|
|
1614 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
|
1615 |
if ( NULL === $setting_value ) {
|
1616 |
continue;
|
@@ -1782,7 +1868,7 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1782 |
'name' => 'mla_filter_term',
|
1783 |
'id' => 'name',
|
1784 |
'class' => 'postform',
|
1785 |
-
'selected' => ( 0 == $selection) ? -1 : $selection,
|
1786 |
'hierarchical' => true,
|
1787 |
'pad_counts' => false,
|
1788 |
'taxonomy' => $taxonomy,
|
@@ -1796,7 +1882,8 @@ return "MLAOptions::mla_custom_field_option_handler( $action, $key ) deprecated.
|
|
1796 |
|
1797 |
$dropdown_options = substr( $dropdown, strpos( $dropdown, ' >' ) + 2 );
|
1798 |
$dropdown_options = substr( $dropdown_options, 0, strpos( $dropdown_options, '</select>' ) );
|
1799 |
-
$dropdown_options = str_replace( "value='-1'
|
|
|
1800 |
|
1801 |
return $dropdown_options;
|
1802 |
} // mla_compose_parent_option_list
|
502 |
return '<br>' . sprintf( __( '%1$s: Custom %2$s unknown action "%3$s"', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), $key, $action ) . "\r\n";
|
503 |
}
|
504 |
} // mla_search_option_handler
|
505 |
+
|
506 |
+
/**
|
507 |
+
* Render and manage Entries per page screen option for Media/Assistant admin submenu table
|
508 |
+
*
|
509 |
+
* @since 2.71
|
510 |
+
*
|
511 |
+
* @param string 'render', 'update', 'delete', or 'reset'
|
512 |
+
* @param string option name; 'mla_entries_per_page'
|
513 |
+
* @param array option parameters
|
514 |
+
* @param array Optional. null (default) for 'render' else option data, e.g., $_REQUEST
|
515 |
+
*
|
516 |
+
* @return string HTML table row markup for 'render' else message(s) reflecting the results of the operation.
|
517 |
+
*/
|
518 |
+
public static function mla_entries_per_page_handler( $action, $key, $value, $args = NULL ) {
|
519 |
+
MLAOptions::_load_option_templates();
|
520 |
+
|
521 |
+
$key = MLA_OPTION_PREFIX . $key;
|
522 |
+
|
523 |
+
switch ( $action ) {
|
524 |
+
case 'render':
|
525 |
+
$current_value = get_user_option( $key );
|
526 |
+
|
527 |
+
if ( false === $current_value ) {
|
528 |
+
$current_value = get_option( 'posts_per_page', $value['std'] );
|
529 |
+
}
|
530 |
+
|
531 |
+
$option_values = array(
|
532 |
+
'key' => $key,
|
533 |
+
'value' => $value['name'],
|
534 |
+
'help' => $value['help'],
|
535 |
+
'size' => $value['size'],
|
536 |
+
'text' => $current_value,
|
537 |
+
);
|
538 |
+
|
539 |
+
return MLAData::mla_parse_template( MLAOptions::$mla_option_templates['text'], $option_values );
|
540 |
+
case 'update':
|
541 |
+
$user_id = get_current_user_id();
|
542 |
+
$new_value = isset( $args[ $key ] ) ? $args[ $key ] : get_option( 'posts_per_page', $value['std'] );
|
543 |
+
|
544 |
+
$result = update_user_option( $user_id, $key, $new_value, true );
|
545 |
+
|
546 |
+
/* translators: 1: option name, e.g., taxonomy_support */
|
547 |
+
return '<br>' . sprintf( __( 'Update custom %1$s', 'media-library-assistant' ), $key ) . "\r\n";
|
548 |
+
case 'delete':
|
549 |
+
case 'reset':
|
550 |
+
$user_id = get_current_user_id();
|
551 |
+
delete_user_option( $user_id, $key, true );
|
552 |
+
|
553 |
+
/* translators: 1: option name, e.g., taxonomy_support */
|
554 |
+
return '<br>' . sprintf( __( 'Reset custom %1$s', 'media-library-assistant' ), $key ) . "\r\n";
|
555 |
+
default:
|
556 |
+
/* translators: 1: ERROR tag 2: option name 3: action, e.g., update, delete, reset */
|
557 |
+
return '<br>' . sprintf( __( '%1$s: Custom %2$s unknown action "%3$s"', 'media-library-assistant' ), __( 'ERROR', 'media-library-assistant' ), $key, $action ) . "\r\n";
|
558 |
+
}
|
559 |
+
} // mla_entries_per_page_handler
|
560 |
+
|
561 |
/**
|
562 |
* Examine or alter the filename before the file is made permanent
|
563 |
*
|
843 |
*/
|
844 |
$setting_value['no_null'] = isset( $setting_value['no_null'] ) && ( false !== $setting_value['no_null'] );
|
845 |
|
846 |
+
$setting_value['key'] = $setting_key;
|
847 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post_id, $category, $attachment_metadata );
|
848 |
if ( NULL === $setting_value ) {
|
849 |
continue;
|
1264 |
$current_values = MLACore::mla_get_option( 'custom_field_mapping' );
|
1265 |
} // mla_custom_field_option_handler
|
1266 |
|
1267 |
+
/**
|
1268 |
+
* Term ID cache for (hierarchical) taxonomy mapping rules
|
1269 |
+
*
|
1270 |
+
* Locates term name within the hierarchy.
|
1271 |
+
*
|
1272 |
+
* @since 2.71
|
1273 |
+
*
|
1274 |
+
* @access public
|
1275 |
+
* @var array $mla_term_cache {
|
1276 |
+
* @type array $$taxonomy {
|
1277 |
+
* @type array $$term_parent {
|
1278 |
+
* @type array $$term_name {
|
1279 |
+
* @type integer $term_id Term ID within the specific taxonomy and parent term.
|
1280 |
+
* }
|
1281 |
+
* }
|
1282 |
+
* }
|
1283 |
+
* }
|
1284 |
+
*/
|
1285 |
+
public static $mla_term_cache = array(); // [ $taxonomy ][ $term_parent ][ $term_name ] => $term_id
|
1286 |
+
|
1287 |
/**
|
1288 |
* Build and search a cache of taxonomy and term name to term ID mappings
|
1289 |
*
|
1297 |
* @return integer term_id for the term name
|
1298 |
*/
|
1299 |
private static function _get_term_id( $term_name, $term_parent, $taxonomy, &$post_terms ) {
|
|
|
|
|
1300 |
// WordPress encodes special characters, e.g., "&" as HTML entities in term names
|
1301 |
$term_name = _wp_specialchars( $term_name );
|
1302 |
|
1303 |
+
// Is this term already in the cache?
|
1304 |
+
if ( isset( MLAOptions::$mla_term_cache[ $taxonomy ] ) && isset( MLAOptions::$mla_term_cache[ $taxonomy ][ $term_parent ] ) && isset( MLAOptions::$mla_term_cache[ $taxonomy ][ $term_parent ][ $term_name ] ) ) {
|
1305 |
+
return MLAOptions::$mla_term_cache[ $taxonomy ][ $term_parent ][ $term_name ];
|
1306 |
}
|
1307 |
|
1308 |
// Is this term already assigned to the item?
|
1309 |
if ( is_array( $post_terms ) ) {
|
1310 |
$term_id = 0;
|
1311 |
foreach( $post_terms as $post_term ) {
|
1312 |
+
MLAOptions::$mla_term_cache[ $taxonomy ][ $post_term->parent ][ $post_term->name ] = $post_term->term_id;
|
1313 |
if ( $term_name == $post_term->name && $term_parent == $post_term->parent ) {
|
1314 |
$term_id = $post_term->term_id;
|
1315 |
}
|
1324 |
if ( 0 === $term_parent ) {
|
1325 |
$post_term = get_term_by( 'name', $term_name, $taxonomy ); // Consider get_terms() for identical names
|
1326 |
if ( false !== $post_term ) {
|
1327 |
+
MLAOptions::$mla_term_cache[ $taxonomy ][ $term_parent ][ $term_name ] = $post_term->term_id;
|
1328 |
return $post_term->term_id;
|
1329 |
}
|
1330 |
} else {
|
1331 |
$post_term = term_exists( $term_name, $taxonomy, $term_parent );
|
1332 |
if ( $post_term !== 0 && $post_term !== NULL ) {
|
1333 |
+
MLAOptions::$mla_term_cache[ $taxonomy ][ $term_parent ][ $term_name ] = absint( $post_term['term_id'] );
|
1334 |
return absint( $post_term['term_id'] );
|
1335 |
}
|
1336 |
}
|
1337 |
|
1338 |
$post_term = wp_insert_term( $term_name, $taxonomy, array( 'parent' => $term_parent ) );
|
1339 |
if ( ( ! is_wp_error( $post_term ) ) && isset( $post_term['term_id'] ) ) {
|
1340 |
+
MLAOptions::$mla_term_cache[ $taxonomy ][ $term_parent ][ $term_name ] = $post_term['term_id'];
|
1341 |
return $post_term['term_id'];
|
1342 |
}
|
1343 |
|
1364 |
|
1365 |
$image_metadata = MLAData::mla_fetch_attachment_image_metadata( $post->ID );
|
1366 |
|
1367 |
+
// Make the PDF/XMP metadata available as EXIF values so simple rules like "EXIF:Keywords" will work
|
|
|
|
|
1368 |
if ( empty( $image_metadata['mla_exif_metadata'] ) ) {
|
1369 |
if ( ! empty( $image_metadata['mla_xmp_metadata'] ) ) {
|
1370 |
$image_metadata['mla_exif_metadata'] = $image_metadata['mla_xmp_metadata'];
|
1387 |
|
1388 |
if ( $update_all || ( 'iptc_exif_standard_mapping' == $category ) ) {
|
1389 |
foreach ( $settings['standard'] as $setting_key => $setting_value ) {
|
1390 |
+
$setting_value['key'] = $setting_key;
|
1391 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_standard_mapping', $attachment_metadata );
|
1392 |
if ( NULL === $setting_value ) {
|
1393 |
continue;
|
1487 |
$updates[ $setting_key ] = $new_text;
|
1488 |
}
|
1489 |
break;
|
1490 |
+
case 'post_date':
|
1491 |
+
if ( empty( $post->post_date ) || !$keep_existing ) {
|
1492 |
+
// strtotime() will "Parse about any English textual datetime description into a Unix timestamp"
|
1493 |
+
$timestamp = strtotime( $new_text );
|
1494 |
+
if( false !== $timestamp ) {
|
1495 |
+
// date() "Returns a string formatted according to the format string using the integer timestamp"
|
1496 |
+
$new_text = date( 'Y-m-d H:i:s', $timestamp );
|
1497 |
+
$updates[ $setting_key ] = $new_text;
|
1498 |
+
$updates['post_date_gmt'] = get_gmt_from_date( $new_text );
|
1499 |
+
}
|
1500 |
+
}
|
1501 |
+
break;
|
1502 |
default:
|
1503 |
// ignore anything else
|
1504 |
} // $setting_key
|
1515 |
continue;
|
1516 |
}
|
1517 |
|
1518 |
+
// Convert checkbox value(s)
|
|
|
|
|
1519 |
$hierarchical = $setting_value['hierarchical'] = (boolean) $setting_value['hierarchical'];
|
1520 |
|
1521 |
+
$setting_value['key'] = $setting_key;
|
1522 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_taxonomy_mapping', $attachment_metadata );
|
1523 |
if ( NULL === $setting_value ) {
|
1524 |
continue;
|
1696 |
$setting_value['no_null'] = isset( $setting_value['no_null'] );
|
1697 |
|
1698 |
$setting_name = $setting_value['name'];
|
1699 |
+
$setting_value['key'] = $setting_key;
|
1700 |
$setting_value = apply_filters( 'mla_mapping_rule', $setting_value, $post->ID, 'iptc_exif_custom_mapping', $attachment_metadata );
|
1701 |
if ( NULL === $setting_value ) {
|
1702 |
continue;
|
1868 |
'name' => 'mla_filter_term',
|
1869 |
'id' => 'name',
|
1870 |
'class' => 'postform',
|
1871 |
+
'selected' => ( 0 == $selection ) ? -1 : $selection,
|
1872 |
'hierarchical' => true,
|
1873 |
'pad_counts' => false,
|
1874 |
'taxonomy' => $taxonomy,
|
1882 |
|
1883 |
$dropdown_options = substr( $dropdown, strpos( $dropdown, ' >' ) + 2 );
|
1884 |
$dropdown_options = substr( $dropdown_options, 0, strpos( $dropdown_options, '</select>' ) );
|
1885 |
+
$dropdown_options = str_replace( "value='-1'", 'value="0"', $dropdown_options );
|
1886 |
+
$dropdown_options = str_replace( 'value="-1"', 'value="0"', $dropdown_options );
|
1887 |
|
1888 |
return $dropdown_options;
|
1889 |
} // mla_compose_parent_option_list
|
includes/class-mla-settings-custom-fields-tab.php
CHANGED
@@ -227,7 +227,7 @@ class MLASettings_CustomFields {
|
|
227 |
* @return string Message(s) reflecting the results of the operation
|
228 |
*/
|
229 |
private static function _add_custom_field_rule() {
|
230 |
-
$mla_custom_field = isset( $_REQUEST['mla_custom_field'] ) ? $_REQUEST['mla_custom_field'] : array();
|
231 |
|
232 |
// Validate new rule name
|
233 |
if ( !empty( $mla_custom_field['new_field'] ) ) {
|
@@ -1341,7 +1341,7 @@ class MLA_Custom_Fields_List_Table extends WP_List_Table {
|
|
1341 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
1342 |
}
|
1343 |
|
1344 |
-
$actions['edit'] = '<a href="' . add_query_arg( $view_args,
|
1345 |
|
1346 |
if ( !$item->read_only ) {
|
1347 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
@@ -1349,10 +1349,10 @@ class MLA_Custom_Fields_List_Table extends WP_List_Table {
|
|
1349 |
$actions['execute hide-if-no-js'] = '<a class="execute" id="' .
|
1350 |
MLACore::MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP . '[' . $item->post_ID . ']" href="#" title="' . __( 'Map All Attachments', 'media-library-assistant' ) . '">' . __( 'Execute', 'media-library-assistant' ) . '</a>';
|
1351 |
|
1352 |
-
$actions['purge'] = '<a class="purge"' . ' href="' . add_query_arg( $view_args,
|
1353 |
}
|
1354 |
|
1355 |
-
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args,
|
1356 |
|
1357 |
return $actions;
|
1358 |
}
|
227 |
* @return string Message(s) reflecting the results of the operation
|
228 |
*/
|
229 |
private static function _add_custom_field_rule() {
|
230 |
+
$mla_custom_field = isset( $_REQUEST['mla_custom_field'] ) ? stripslashes_deep( $_REQUEST['mla_custom_field'] ) : array();
|
231 |
|
232 |
// Validate new rule name
|
233 |
if ( !empty( $mla_custom_field['new_field'] ) ) {
|
1341 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
1342 |
}
|
1343 |
|
1344 |
+
$actions['edit'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
|
1345 |
|
1346 |
if ( !$item->read_only ) {
|
1347 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
1349 |
$actions['execute hide-if-no-js'] = '<a class="execute" id="' .
|
1350 |
MLACore::MLA_ADMIN_SINGLE_CUSTOM_FIELD_MAP . '[' . $item->post_ID . ']" href="#" title="' . __( 'Map All Attachments', 'media-library-assistant' ) . '">' . __( 'Execute', 'media-library-assistant' ) . '</a>';
|
1351 |
|
1352 |
+
$actions['purge'] = '<a class="purge"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_CUSTOM_FIELD_PURGE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Purge custom field values', 'media-library-assistant' ) . '">' . __( 'Purge Values', 'media-library-assistant' ) . '</a>';
|
1353 |
}
|
1354 |
|
1355 |
+
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
|
1356 |
|
1357 |
return $actions;
|
1358 |
}
|
includes/class-mla-settings-documentation-tab.php
CHANGED
@@ -174,7 +174,7 @@ class MLASettings_Documentation {
|
|
174 |
|
175 |
$page_content['body'] = MLAData::mla_parse_template( $page_template_array['before-example-table'], $page_values );
|
176 |
|
177 |
-
//
|
178 |
ob_start();
|
179 |
$MLAListExampleTable->display();
|
180 |
$page_content['body'] .= ob_get_contents();
|
@@ -194,9 +194,7 @@ class MLASettings_Documentation {
|
|
194 |
* @return array 'message' => status/error messages, 'body' => tab content
|
195 |
*/
|
196 |
public static function mla_compose_documentation_tab( ) {
|
197 |
-
|
198 |
-
* Display or Cancel the Example Plugins submenu, if requested
|
199 |
-
*/
|
200 |
if ( !empty( $_REQUEST['mla-example-search'] ) ) {
|
201 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
202 |
$page_content = self::_compose_example_tab();
|
@@ -217,9 +215,7 @@ class MLASettings_Documentation {
|
|
217 |
);
|
218 |
}
|
219 |
|
220 |
-
|
221 |
-
* Process bulk actions that affect an array of items
|
222 |
-
*/
|
223 |
$bulk_action = MLASettings::mla_current_bulk_action();
|
224 |
if ( $bulk_action && ( $bulk_action != 'none' ) ) {
|
225 |
$bulk_message = '';
|
@@ -251,9 +247,7 @@ class MLASettings_Documentation {
|
|
251 |
$page_content['message'] = $bulk_message;
|
252 |
} // $bulk_action
|
253 |
|
254 |
-
|
255 |
-
* Process row-level actions that affect a single item
|
256 |
-
*/
|
257 |
if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
|
258 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
259 |
$action_content = array( 'message' => '' );
|
@@ -298,13 +292,10 @@ class MLASettings_Documentation {
|
|
298 |
return '';
|
299 |
}
|
300 |
|
301 |
-
|
302 |
-
* Display the Documentation tab
|
303 |
-
*/
|
304 |
$page_values = array(
|
305 |
-
'example_url' =>
|
306 |
'translate_url' => MLA_PLUGIN_URL . 'languages/MLA Internationalization Guide.pdf',
|
307 |
-
// 'phpDocs_url' => MLA_PLUGIN_URL . 'phpDocs/index.html',
|
308 |
'phpDocs_url' => 'http://fairtradejudaica.org/wp-content/uploads/' . 'phpDocs/index.html',
|
309 |
);
|
310 |
|
@@ -637,11 +628,11 @@ class MLA_Example_List_Table extends WP_List_Table {
|
|
637 |
|
638 |
if ( empty( $item->installed_version ) ) {
|
639 |
if ( current_user_can( 'install_plugins' ) ) {
|
640 |
-
$actions['install'] = '<a href="' . add_query_arg( $view_args,
|
641 |
}
|
642 |
} else {
|
643 |
if ( current_user_can( 'update_plugins' ) ) {
|
644 |
-
$actions['update'] = '<a href="' . add_query_arg( $view_args,
|
645 |
}
|
646 |
}
|
647 |
|
@@ -651,10 +642,10 @@ class MLA_Example_List_Table extends WP_List_Table {
|
|
651 |
'mla_download_file' => urlencode( MLA_PLUGIN_PATH . 'examples/plugins/' . $item->file ),
|
652 |
'mla_download_type' => 'text/plain'
|
653 |
);
|
654 |
-
$actions['download'] = '<a href="' . add_query_arg( $args,
|
655 |
}
|
656 |
|
657 |
-
$actions['view'] = '<a href="' . add_query_arg( $view_args,
|
658 |
|
659 |
return $actions;
|
660 |
}
|
@@ -798,7 +789,7 @@ class MLA_Example_List_Table extends WP_List_Table {
|
|
798 |
/*
|
799 |
* Remember the view filters
|
800 |
*/
|
801 |
-
$base_url =
|
802 |
|
803 |
if ( isset( $_REQUEST['s'] ) ) {
|
804 |
$base_url = add_query_arg( array( 's' => $_REQUEST['s'] ), $base_url );
|
174 |
|
175 |
$page_content['body'] = MLAData::mla_parse_template( $page_template_array['before-example-table'], $page_values );
|
176 |
|
177 |
+
// Now we can render the completed list table
|
178 |
ob_start();
|
179 |
$MLAListExampleTable->display();
|
180 |
$page_content['body'] .= ob_get_contents();
|
194 |
* @return array 'message' => status/error messages, 'body' => tab content
|
195 |
*/
|
196 |
public static function mla_compose_documentation_tab( ) {
|
197 |
+
// Display or Cancel the Example Plugins submenu, if requested
|
|
|
|
|
198 |
if ( !empty( $_REQUEST['mla-example-search'] ) ) {
|
199 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
200 |
$page_content = self::_compose_example_tab();
|
215 |
);
|
216 |
}
|
217 |
|
218 |
+
// Process bulk actions that affect an array of items
|
|
|
|
|
219 |
$bulk_action = MLASettings::mla_current_bulk_action();
|
220 |
if ( $bulk_action && ( $bulk_action != 'none' ) ) {
|
221 |
$bulk_message = '';
|
247 |
$page_content['message'] = $bulk_message;
|
248 |
} // $bulk_action
|
249 |
|
250 |
+
// Process row-level actions that affect a single item
|
|
|
|
|
251 |
if ( !empty( $_REQUEST['mla_admin_action'] ) ) {
|
252 |
check_admin_referer( MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
253 |
$action_content = array( 'message' => '' );
|
292 |
return '';
|
293 |
}
|
294 |
|
295 |
+
// Display the Documentation tab
|
|
|
|
|
296 |
$page_values = array(
|
297 |
+
'example_url' => MLACore::mla_nonce_url( '?page=mla-settings-menu-documentation&mla_tab=documentation&mla-example-search=Search', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ),
|
298 |
'translate_url' => MLA_PLUGIN_URL . 'languages/MLA Internationalization Guide.pdf',
|
|
|
299 |
'phpDocs_url' => 'http://fairtradejudaica.org/wp-content/uploads/' . 'phpDocs/index.html',
|
300 |
);
|
301 |
|
628 |
|
629 |
if ( empty( $item->installed_version ) ) {
|
630 |
if ( current_user_can( 'install_plugins' ) ) {
|
631 |
+
$actions['install'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_INSTALL, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Install this plugin', 'media-library-assistant' ) . '">' . __( 'Install', 'media-library-assistant' ) . '</a>';
|
632 |
}
|
633 |
} else {
|
634 |
if ( current_user_can( 'update_plugins' ) ) {
|
635 |
+
$actions['update'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_UPDATE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Update this plugin', 'media-library-assistant' ) . '">' . __( 'Update', 'media-library-assistant' ) . '</a>';
|
636 |
}
|
637 |
}
|
638 |
|
642 |
'mla_download_file' => urlencode( MLA_PLUGIN_PATH . 'examples/plugins/' . $item->file ),
|
643 |
'mla_download_type' => 'text/plain'
|
644 |
);
|
645 |
+
$actions['download'] = '<a href="' . add_query_arg( $args, MLACore::mla_nonce_url( 'upload.php', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' “' . esc_attr( $item->file ) . '”">' . __( 'Download', 'media-library-assistant' ) . '</a>';
|
646 |
}
|
647 |
|
648 |
+
$actions['view'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'View this item', 'media-library-assistant' ) . '">' . __( 'View', 'media-library-assistant' ) . '</a>';
|
649 |
|
650 |
return $actions;
|
651 |
}
|
789 |
/*
|
790 |
* Remember the view filters
|
791 |
*/
|
792 |
+
$base_url = MLACore::mla_nonce_url( 'options-general.php?page=' . MLACoreOptions::MLA_SETTINGS_SLUG . '-documentation&mla_tab=documentation&mla-example-search=Search', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
793 |
|
794 |
if ( isset( $_REQUEST['s'] ) ) {
|
795 |
$base_url = add_query_arg( array( 's' => $_REQUEST['s'] ), $base_url );
|
includes/class-mla-settings-iptc-exif-tab.php
CHANGED
@@ -230,7 +230,7 @@ class MLASettings_IPTCEXIF {
|
|
230 |
* @return string Message(s) reflecting the results of the operation
|
231 |
*/
|
232 |
private static function _add_iptc_exif_rule() {
|
233 |
-
$mla_iptc_exif_rule = isset( $_REQUEST['mla_iptc_exif_rule'] ) ? $_REQUEST['mla_iptc_exif_rule'] : array();
|
234 |
|
235 |
// Validate new rule name
|
236 |
if ( !empty( $mla_iptc_exif_rule['new_field'] ) ) {
|
@@ -334,12 +334,11 @@ class MLASettings_IPTCEXIF {
|
|
334 |
'option' => $mla_iptc_exif_rule['option'],
|
335 |
'no_null' => $mla_iptc_exif_rule['no_null'],
|
336 |
'delimiters' => $mla_iptc_exif_rule['delimiters'],
|
337 |
-
'parent' => !empty( $mla_iptc_exif_rule['parent'] ) && ( '
|
338 |
'active' => $mla_iptc_exif_rule['active'],
|
339 |
'read_only' => false,
|
340 |
'changed' => true,
|
341 |
'deleted' => false,
|
342 |
-
|
343 |
);
|
344 |
|
345 |
if ( empty( $error_message ) ) {
|
@@ -466,7 +465,7 @@ class MLASettings_IPTCEXIF {
|
|
466 |
'EXIF/Template Value' => __( 'EXIF/Template Value', 'media-library-assistant' ),
|
467 |
'exif_size' => MLACoreOptions::MLA_EXIF_SIZE,
|
468 |
'exif_text' => esc_attr( $item['exif_value'] ),
|
469 |
-
'Enter EXIF/Template' => __( 'EXIF element name or Content Template', 'media-library-assistant' ),
|
470 |
'Priority' => __( 'Priority', 'media-library-assistant' ),
|
471 |
'iptc_selected' => '', // Set below
|
472 |
'IPTC' => __( 'IPTC', 'media-library-assistant' ),
|
@@ -1420,7 +1419,7 @@ class MLA_IPTC_EXIF_List_Table extends WP_List_Table {
|
|
1420 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
1421 |
}
|
1422 |
|
1423 |
-
$actions['edit'] = '<a href="' . add_query_arg( $view_args,
|
1424 |
|
1425 |
if ( !$item->read_only ) {
|
1426 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
@@ -1429,11 +1428,11 @@ class MLA_IPTC_EXIF_List_Table extends WP_List_Table {
|
|
1429 |
MLACore::MLA_ADMIN_SINGLE_MAP . '[' . $item->post_ID . ']" href="#" title="' . __( 'Map All Attachments', 'media-library-assistant' ) . '">' . __( 'Execute', 'media-library-assistant' ) . '</a>';
|
1430 |
|
1431 |
if ( 'custom' === $item->type ) {
|
1432 |
-
$actions['purge'] = '<a class="purge"' . ' href="' . add_query_arg( $view_args,
|
1433 |
}
|
1434 |
}
|
1435 |
|
1436 |
-
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args,
|
1437 |
|
1438 |
return $actions;
|
1439 |
}
|
@@ -2097,7 +2096,7 @@ class MLA_IPTC_EXIF_Query {
|
|
2097 |
'keep_existing' => true,
|
2098 |
'delimiters' => '',
|
2099 |
'parent' => 0,
|
2100 |
-
'active' =>
|
2101 |
) );
|
2102 |
}
|
2103 |
|
230 |
* @return string Message(s) reflecting the results of the operation
|
231 |
*/
|
232 |
private static function _add_iptc_exif_rule() {
|
233 |
+
$mla_iptc_exif_rule = isset( $_REQUEST['mla_iptc_exif_rule'] ) ? stripslashes_deep( $_REQUEST['mla_iptc_exif_rule'] ) : array();
|
234 |
|
235 |
// Validate new rule name
|
236 |
if ( !empty( $mla_iptc_exif_rule['new_field'] ) ) {
|
334 |
'option' => $mla_iptc_exif_rule['option'],
|
335 |
'no_null' => $mla_iptc_exif_rule['no_null'],
|
336 |
'delimiters' => $mla_iptc_exif_rule['delimiters'],
|
337 |
+
'parent' => !empty( $mla_iptc_exif_rule['parent'] ) && ( '0' !== $mla_iptc_exif_rule['parent'] ) ? absint( $mla_iptc_exif_rule['parent'] ) : 0,
|
338 |
'active' => $mla_iptc_exif_rule['active'],
|
339 |
'read_only' => false,
|
340 |
'changed' => true,
|
341 |
'deleted' => false,
|
|
|
342 |
);
|
343 |
|
344 |
if ( empty( $error_message ) ) {
|
465 |
'EXIF/Template Value' => __( 'EXIF/Template Value', 'media-library-assistant' ),
|
466 |
'exif_size' => MLACoreOptions::MLA_EXIF_SIZE,
|
467 |
'exif_text' => esc_attr( $item['exif_value'] ),
|
468 |
+
'Enter EXIF/Template' => __( 'EXIF element name or Content Template', 'media-library-assistant' ) . __( ' (starting with "template:")', 'media-library-assistant' ),
|
469 |
'Priority' => __( 'Priority', 'media-library-assistant' ),
|
470 |
'iptc_selected' => '', // Set below
|
471 |
'IPTC' => __( 'IPTC', 'media-library-assistant' ),
|
1419 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
1420 |
}
|
1421 |
|
1422 |
+
$actions['edit'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
|
1423 |
|
1424 |
if ( !$item->read_only ) {
|
1425 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
1428 |
MLACore::MLA_ADMIN_SINGLE_MAP . '[' . $item->post_ID . ']" href="#" title="' . __( 'Map All Attachments', 'media-library-assistant' ) . '">' . __( 'Execute', 'media-library-assistant' ) . '</a>';
|
1429 |
|
1430 |
if ( 'custom' === $item->type ) {
|
1431 |
+
$actions['purge'] = '<a class="purge"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_PURGE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Purge IPTC EXIF values', 'media-library-assistant' ) . '">' . __( 'Purge Values', 'media-library-assistant' ) . '</a>';
|
1432 |
}
|
1433 |
}
|
1434 |
|
1435 |
+
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
|
1436 |
|
1437 |
return $actions;
|
1438 |
}
|
2096 |
'keep_existing' => true,
|
2097 |
'delimiters' => '',
|
2098 |
'parent' => 0,
|
2099 |
+
'active' => false,
|
2100 |
) );
|
2101 |
}
|
2102 |
|
includes/class-mla-settings-shortcodes-tab.php
CHANGED
@@ -457,7 +457,7 @@ class MLASettings_Shortcodes {
|
|
457 |
'mla_tab' => 'shortcodes',
|
458 |
'mla_item_ID' => $item['post_ID']
|
459 |
);
|
460 |
-
$copy_href = add_query_arg( $view_args,
|
461 |
|
462 |
$page_values = array(
|
463 |
'Edit Template' => $item['default'] ? __( 'View Template', 'media-library-assistant' ) : __( 'Edit Template', 'media-library-assistant' ),
|
@@ -1066,15 +1066,15 @@ class MLA_Template_List_Table extends WP_List_Table {
|
|
1066 |
}
|
1067 |
|
1068 |
if ( $item->default ) {
|
1069 |
-
$actions['view'] = '<a href="' . add_query_arg( $view_args,
|
1070 |
} else {
|
1071 |
-
$actions['edit'] = '<a href="' . add_query_arg( $view_args,
|
1072 |
}
|
1073 |
|
1074 |
-
$actions['copy'] = '<a href="' . add_query_arg( $view_args,
|
1075 |
|
1076 |
if ( ! $item->default ) {
|
1077 |
-
$actions['delete'] = '<a class="delete-tag" href="' . add_query_arg( $view_args,
|
1078 |
}
|
1079 |
|
1080 |
return $actions;
|
@@ -1228,7 +1228,7 @@ class MLA_Template_List_Table extends WP_List_Table {
|
|
1228 |
/*
|
1229 |
* Remember the view filters
|
1230 |
*/
|
1231 |
-
$base_url =
|
1232 |
|
1233 |
if ( isset( $_REQUEST['s'] ) ) {
|
1234 |
$base_url = add_query_arg( array( 's' => $_REQUEST['s'] ), $base_url );
|
457 |
'mla_tab' => 'shortcodes',
|
458 |
'mla_item_ID' => $item['post_ID']
|
459 |
);
|
460 |
+
$copy_href = add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_COPY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) );
|
461 |
|
462 |
$page_values = array(
|
463 |
'Edit Template' => $item['default'] ? __( 'View Template', 'media-library-assistant' ) : __( 'Edit Template', 'media-library-assistant' ),
|
1066 |
}
|
1067 |
|
1068 |
if ( $item->default ) {
|
1069 |
+
$actions['view'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'View this item', 'media-library-assistant' ) . '">' . __( 'View', 'media-library-assistant' ) . '</a>';
|
1070 |
} else {
|
1071 |
+
$actions['edit'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
|
1072 |
}
|
1073 |
|
1074 |
+
$actions['copy'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_COPY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Make a copy', 'media-library-assistant' ) . '">' . __( 'Copy', 'media-library-assistant' ) . '</a>';
|
1075 |
|
1076 |
if ( ! $item->default ) {
|
1077 |
+
$actions['delete'] = '<a class="delete-tag" href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
|
1078 |
}
|
1079 |
|
1080 |
return $actions;
|
1228 |
/*
|
1229 |
* Remember the view filters
|
1230 |
*/
|
1231 |
+
$base_url = MLACore::mla_nonce_url( 'options-general.php?page=' . MLACoreOptions::MLA_SETTINGS_SLUG . '-shortcodes&mla_tab=shortcodes', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME );
|
1232 |
|
1233 |
if ( isset( $_REQUEST['s'] ) ) {
|
1234 |
$base_url = add_query_arg( array( 's' => $_REQUEST['s'] ), $base_url );
|
includes/class-mla-settings-upload-tab.php
CHANGED
@@ -542,7 +542,7 @@ class MLASettings_Upload {
|
|
542 |
'Description' => __( 'Description', 'media-library-assistant' ),
|
543 |
'The description can' => __( 'The description can contain any documentation or notes you need to understand or use the item.', 'media-library-assistant' ),
|
544 |
'Add Upload MIME' => __( 'Add Upload MIME Type', 'media-library-assistant' ),
|
545 |
-
'search_url' =>
|
546 |
'Search Known Types' => __( 'Search Known Types', 'media-library-assistant' ),
|
547 |
'colspan' => $MLAListUploadTable->get_column_count(),
|
548 |
'Quick Edit' => __( '<strong>Quick Edit</strong>', 'media-library-assistant' ),
|
@@ -920,15 +920,15 @@ class MLA_Upload_List_Table extends WP_List_Table {
|
|
920 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
921 |
}
|
922 |
|
923 |
-
$actions['edit'] = '<a href="' . add_query_arg( $view_args,
|
924 |
|
925 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
926 |
|
927 |
if ( 'custom' == $item->source ) {
|
928 |
if ( empty( $item->standard_source ) ) {
|
929 |
-
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args,
|
930 |
} else {
|
931 |
-
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args,
|
932 |
}
|
933 |
}
|
934 |
|
@@ -1466,7 +1466,7 @@ class MLA_Upload_Optional_List_Table extends WP_List_Table {
|
|
1466 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
1467 |
}
|
1468 |
|
1469 |
-
$actions['select'] = '<a href="' . add_query_arg( $view_args,
|
1470 |
|
1471 |
return $actions;
|
1472 |
}
|
542 |
'Description' => __( 'Description', 'media-library-assistant' ),
|
543 |
'The description can' => __( 'The description can contain any documentation or notes you need to understand or use the item.', 'media-library-assistant' ),
|
544 |
'Add Upload MIME' => __( 'Add Upload MIME Type', 'media-library-assistant' ),
|
545 |
+
'search_url' => MLACore::mla_nonce_url( '?page=mla-settings-menu-upload&mla_tab=upload&mla-optional-uploads-search=Search', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ),
|
546 |
'Search Known Types' => __( 'Search Known Types', 'media-library-assistant' ),
|
547 |
'colspan' => $MLAListUploadTable->get_column_count(),
|
548 |
'Quick Edit' => __( '<strong>Quick Edit</strong>', 'media-library-assistant' ),
|
920 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
921 |
}
|
922 |
|
923 |
+
$actions['edit'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
|
924 |
|
925 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
926 |
|
927 |
if ( 'custom' == $item->source ) {
|
928 |
if ( empty( $item->standard_source ) ) {
|
929 |
+
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
|
930 |
} else {
|
931 |
+
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Revert to standard item', 'media-library-assistant' ) . '">' . __( 'Revert to Standard', 'media-library-assistant' ) . '</a>';
|
932 |
}
|
933 |
}
|
934 |
|
1466 |
$view_args['orderby'] = $_REQUEST['orderby'];
|
1467 |
}
|
1468 |
|
1469 |
+
$actions['select'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_UPDATE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Select this entry', 'media-library-assistant' ) . '">' . __( 'Select', 'media-library-assistant' ) . '</a>';
|
1470 |
|
1471 |
return $actions;
|
1472 |
}
|
includes/class-mla-settings-view-tab.php
CHANGED
@@ -717,15 +717,15 @@ class MLA_View_List_Table extends WP_List_Table {
|
|
717 |
$custom_types = array ();
|
718 |
}
|
719 |
|
720 |
-
$actions['edit'] = '<a href="' . add_query_arg( $view_args,
|
721 |
|
722 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
723 |
|
724 |
if ( isset( $custom_types[ $item->slug ] ) ) {
|
725 |
if ( isset( $mla_types[ $item->slug ] ) ) {
|
726 |
-
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args,
|
727 |
} else {
|
728 |
-
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args,
|
729 |
}
|
730 |
} // custom type
|
731 |
|
717 |
$custom_types = array ();
|
718 |
}
|
719 |
|
720 |
+
$actions['edit'] = '<a href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_EDIT_DISPLAY, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Edit this item', 'media-library-assistant' ) . '">' . __( 'Edit', 'media-library-assistant' ) . '</a>';
|
721 |
|
722 |
$actions['inline hide-if-no-js'] = '<a class="editinline" href="#" title="' . __( 'Edit this item inline', 'media-library-assistant' ) . '">' . __( 'Quick Edit', 'media-library-assistant' ) . '</a>';
|
723 |
|
724 |
if ( isset( $custom_types[ $item->slug ] ) ) {
|
725 |
if ( isset( $mla_types[ $item->slug ] ) ) {
|
726 |
+
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Revert to standard item', 'media-library-assistant' ) . '">' . __( 'Revert to Standard', 'media-library-assistant' ) . '</a>';
|
727 |
} else {
|
728 |
+
$actions['delete'] = '<a class="delete-tag"' . ' href="' . add_query_arg( $view_args, MLACore::mla_nonce_url( '?mla_admin_action=' . MLACore::MLA_ADMIN_SINGLE_DELETE, MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Delete this item Permanently', 'media-library-assistant' ) . '">' . __( 'Delete Permanently', 'media-library-assistant' ) . '</a>';
|
729 |
}
|
730 |
} // custom type
|
731 |
|
includes/class-mla-settings.php
CHANGED
@@ -650,6 +650,8 @@ class MLASettings {
|
|
650 |
*/
|
651 |
public static function mla_add_plugin_settings_link_filter( $links, $file ) {
|
652 |
if ( $file == 'media-library-assistant/index.php' && current_user_can( 'manage_options' ) ) {
|
|
|
|
|
653 |
$settings_link = sprintf( '<a href="%s">%s</a>', admin_url( 'options-general.php?page=' . MLACoreOptions::MLA_SETTINGS_SLUG . '-general' ), __( 'Settings', 'media-library-assistant' ) );
|
654 |
array_unshift( $links, $settings_link );
|
655 |
}
|
@@ -1385,10 +1387,9 @@ class MLASettings {
|
|
1385 |
if ( $error_log_exists ) {
|
1386 |
$args = array(
|
1387 |
'page' => MLACore::ADMIN_PAGE_SLUG,
|
1388 |
-
'
|
1389 |
-
'mla_download_type' => 'text/plain'
|
1390 |
);
|
1391 |
-
$download_link = '<a class="button-secondary" href="' . add_query_arg( $args,
|
1392 |
} else {
|
1393 |
$download_link = '';
|
1394 |
}
|
@@ -1398,7 +1399,7 @@ class MLASettings {
|
|
1398 |
'mla_tab' => 'debug',
|
1399 |
'mla_reset_log' => 'true'
|
1400 |
);
|
1401 |
-
$reset_link = '<a class="button-secondary" href="' . add_query_arg( $args,
|
1402 |
}
|
1403 |
|
1404 |
$settings_list = self::_compose_settings_row( 'Display Limit', $display_limit );
|
650 |
*/
|
651 |
public static function mla_add_plugin_settings_link_filter( $links, $file ) {
|
652 |
if ( $file == 'media-library-assistant/index.php' && current_user_can( 'manage_options' ) ) {
|
653 |
+
$settings_link = sprintf( '<a href="%s">%s</a>', admin_url( 'options-general.php?page=' . MLACoreOptions::MLA_SETTINGS_SLUG . '-documentation&mla_tab=documentation' ), __( 'Guide', 'media-library-assistant' ) );
|
654 |
+
array_unshift( $links, $settings_link );
|
655 |
$settings_link = sprintf( '<a href="%s">%s</a>', admin_url( 'options-general.php?page=' . MLACoreOptions::MLA_SETTINGS_SLUG . '-general' ), __( 'Settings', 'media-library-assistant' ) );
|
656 |
array_unshift( $links, $settings_link );
|
657 |
}
|
1387 |
if ( $error_log_exists ) {
|
1388 |
$args = array(
|
1389 |
'page' => MLACore::ADMIN_PAGE_SLUG,
|
1390 |
+
'mla_download_error_log' => 'true',
|
|
|
1391 |
);
|
1392 |
+
$download_link = '<a class="button-secondary" href="' . add_query_arg( $args, MLACore::mla_nonce_url( 'upload.php', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Download', 'media-library-assistant' ) . ' “' . __( 'Error Log', 'media-library-assistant' ) . '”">' . __( 'Download', 'media-library-assistant' ) . '</a>';
|
1393 |
} else {
|
1394 |
$download_link = '';
|
1395 |
}
|
1399 |
'mla_tab' => 'debug',
|
1400 |
'mla_reset_log' => 'true'
|
1401 |
);
|
1402 |
+
$reset_link = '<a class="button-secondary" href="' . add_query_arg( $args, MLACore::mla_nonce_url( 'options-general.php', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) ) . '" title="' . __( 'Reset', 'media-library-assistant' ) . ' “' . __( 'Error Log', 'media-library-assistant' ) . '”">' . __( 'Reset', 'media-library-assistant' ) . '</a>';
|
1403 |
}
|
1404 |
|
1405 |
$settings_list = self::_compose_settings_row( 'Display Limit', $display_limit );
|
includes/class-mla-shortcode-support.php
CHANGED
@@ -242,7 +242,7 @@ class MLAShortcode_Support {
|
|
242 |
* Look for parameters in an enclosing shortcode
|
243 |
*/
|
244 |
if ( ! ( empty( $content ) || isset( $attr['mla_alt_shortcode'] ) ) ) {
|
245 |
-
$content = str_replace( array( '‘', '’', '”', '″', '<br />', '<p>', '</p>', "\r", "\n" ), array( '\'', '\'', '"', '"', ' ', ' ', ' ', ' ', ' ' ), $content );
|
246 |
$new_attr = shortcode_parse_atts( $content );
|
247 |
if ( is_array( $new_attr ) ) {
|
248 |
$attr = array_merge( $attr, $new_attr );
|
@@ -1047,7 +1047,7 @@ class MLAShortcode_Support {
|
|
1047 |
$item_values['path'] = '';
|
1048 |
$item_values['file'] = '';
|
1049 |
$item_values['description'] = wptexturize( $attachment->post_content );
|
1050 |
-
$item_values['file_url'] = wp_get_attachment_url( $attachment->ID );
|
1051 |
$item_values['author_id'] = $attachment->post_author;
|
1052 |
$item_values['author'] = '';
|
1053 |
$item_values['caption'] = '';
|
@@ -1344,7 +1344,7 @@ class MLAShortcode_Support {
|
|
1344 |
}
|
1345 |
|
1346 |
$item_values['downloadlink_url'] = add_query_arg( $args, MLA_PLUGIN_URL . 'includes/mla-file-downloader.php' );
|
1347 |
-
$item_values['downloadlink'] = preg_replace( '
|
1348 |
|
1349 |
// AJAX-based Named Transfer link
|
1350 |
$args = array(
|
@@ -1358,7 +1358,7 @@ class MLAShortcode_Support {
|
|
1358 |
}
|
1359 |
|
1360 |
$item_values['transferlink_url'] = add_query_arg( $args, admin_url( 'admin-ajax.php' ) );
|
1361 |
-
$item_values['transferlink'] = preg_replace( '
|
1362 |
} else {
|
1363 |
$item_values['downloadlink_url'] = $item_values['filelink_url'];
|
1364 |
$item_values['downloadlink'] = $item_values['filelink'];
|
@@ -1571,7 +1571,7 @@ class MLAShortcode_Support {
|
|
1571 |
/*
|
1572 |
* For efficiency, image streaming is done outside WordPress
|
1573 |
*/
|
1574 |
-
$icon_url = add_query_arg( $args,
|
1575 |
}
|
1576 |
}
|
1577 |
|
@@ -4107,7 +4107,6 @@ class MLAShortcode_Support {
|
|
4107 |
}
|
4108 |
|
4109 |
$markup_values['http_host'] = $_SERVER['HTTP_HOST'];
|
4110 |
-
|
4111 |
if ( 0 < $new_page ) {
|
4112 |
$new_uri = remove_query_arg( $mla_page_parameter, $_SERVER['REQUEST_URI'] );
|
4113 |
$markup_values['request_uri'] = add_query_arg( array( $mla_page_parameter => $new_page ), $new_uri );
|
242 |
* Look for parameters in an enclosing shortcode
|
243 |
*/
|
244 |
if ( ! ( empty( $content ) || isset( $attr['mla_alt_shortcode'] ) ) ) {
|
245 |
+
$content = str_replace( array( '&', '‘', '’', '”', '″', '<br />', '<p>', '</p>', "\r", "\n" ), array( '&', '\'', '\'', '"', '"', ' ', ' ', ' ', ' ', ' ' ), $content );
|
246 |
$new_attr = shortcode_parse_atts( $content );
|
247 |
if ( is_array( $new_attr ) ) {
|
248 |
$attr = array_merge( $attr, $new_attr );
|
1047 |
$item_values['path'] = '';
|
1048 |
$item_values['file'] = '';
|
1049 |
$item_values['description'] = wptexturize( $attachment->post_content );
|
1050 |
+
$item_values['file_url'] = wp_get_attachment_url( $attachment->ID );
|
1051 |
$item_values['author_id'] = $attachment->post_author;
|
1052 |
$item_values['author'] = '';
|
1053 |
$item_values['caption'] = '';
|
1344 |
}
|
1345 |
|
1346 |
$item_values['downloadlink_url'] = add_query_arg( $args, MLA_PLUGIN_URL . 'includes/mla-file-downloader.php' );
|
1347 |
+
$item_values['downloadlink'] = preg_replace( '"' . $matches[0][0] . '"', sprintf( 'href=\'%1$s\'', $item_values['downloadlink_url'] ), $item_values['filelink'] );
|
1348 |
|
1349 |
// AJAX-based Named Transfer link
|
1350 |
$args = array(
|
1358 |
}
|
1359 |
|
1360 |
$item_values['transferlink_url'] = add_query_arg( $args, admin_url( 'admin-ajax.php' ) );
|
1361 |
+
$item_values['transferlink'] = preg_replace( '"' . $matches[0][0] . '"', sprintf( 'href=\'%1$s\'', $item_values['transferlink_url'] ), $item_values['filelink'] );
|
1362 |
} else {
|
1363 |
$item_values['downloadlink_url'] = $item_values['filelink_url'];
|
1364 |
$item_values['downloadlink'] = $item_values['filelink'];
|
1571 |
/*
|
1572 |
* For efficiency, image streaming is done outside WordPress
|
1573 |
*/
|
1574 |
+
$icon_url = add_query_arg( $args, MLACore::mla_nonce_url( MLA_PLUGIN_URL . 'includes/mla-stream-image.php', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) );
|
1575 |
}
|
1576 |
}
|
1577 |
|
4107 |
}
|
4108 |
|
4109 |
$markup_values['http_host'] = $_SERVER['HTTP_HOST'];
|
|
|
4110 |
if ( 0 < $new_page ) {
|
4111 |
$new_uri = remove_query_arg( $mla_page_parameter, $_SERVER['REQUEST_URI'] );
|
4112 |
$markup_values['request_uri'] = add_query_arg( array( $mla_page_parameter => $new_page ), $new_uri );
|
includes/class-mla-thumbnail-generation.php
CHANGED
@@ -205,7 +205,7 @@ class MLA_Thumbnail {
|
|
205 |
} // mla_list_table_begin_bulk_action
|
206 |
|
207 |
/**
|
208 |
-
*
|
209 |
*
|
210 |
* @since 2.54
|
211 |
*
|
@@ -214,10 +214,17 @@ class MLA_Thumbnail {
|
|
214 |
*/
|
215 |
public static function upload_dir( $uploads ) {
|
216 |
$subdir = self::$bulk_action_options['item_subdir'];
|
217 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
$uploads['path'] .= $subdir;
|
219 |
$uploads['url'] .= $subdir;
|
220 |
-
$uploads['subdir']
|
221 |
}
|
222 |
|
223 |
return $uploads;
|
@@ -236,6 +243,7 @@ class MLA_Thumbnail {
|
|
236 |
* @return boolean true, to bypass PHP error handler
|
237 |
*/
|
238 |
public static function unlink_error_handler( $type, $string, $file, $line ) {
|
|
|
239 |
// Don't execute PHP internal error handler
|
240 |
return true;
|
241 |
}
|
@@ -324,12 +332,15 @@ class MLA_Thumbnail {
|
|
324 |
add_filter( 'upload_dir', 'MLA_Thumbnail::upload_dir', 10, 1 );
|
325 |
$results = wp_handle_sideload( $args, $overrides );
|
326 |
remove_filter( 'upload_dir', 'MLA_Thumbnail::upload_dir', 10 );
|
|
|
327 |
if ( ! empty( $results['error'] ) ) {
|
328 |
return $results['error'];
|
329 |
}
|
330 |
|
331 |
-
$
|
|
|
332 |
if ( is_wp_error( $editor ) ) {
|
|
|
333 |
return implode( ',', $editor->get_error_messages() );
|
334 |
}
|
335 |
|
@@ -343,6 +354,7 @@ class MLA_Thumbnail {
|
|
343 |
|
344 |
// Update the metadata for the original (PDF) attachment.
|
345 |
$item_data['sizes'] = $results;
|
|
|
346 |
wp_update_attachment_metadata( $post_id, $item_data );
|
347 |
|
348 |
return true;
|
205 |
} // mla_list_table_begin_bulk_action
|
206 |
|
207 |
/**
|
208 |
+
* Adjust wp_upload_dir results to match the original PDF location
|
209 |
*
|
210 |
* @since 2.54
|
211 |
*
|
214 |
*/
|
215 |
public static function upload_dir( $uploads ) {
|
216 |
$subdir = self::$bulk_action_options['item_subdir'];
|
217 |
+
if ( $subdir !== $uploads['subdir'] ) {
|
218 |
+
// Remove the old subdir, if present
|
219 |
+
if ( !empty( $uploads['subdir'] ) ) {
|
220 |
+
$uploads['path'] = substr( $uploads['path'], 0, strpos( $uploads['path'], $uploads['subdir'] ) );
|
221 |
+
$uploads['url'] = substr( $uploads['url'], 0, strpos( $uploads['url'], $uploads['subdir'] ) );
|
222 |
+
}
|
223 |
+
|
224 |
+
// Add the new subdir
|
225 |
$uploads['path'] .= $subdir;
|
226 |
$uploads['url'] .= $subdir;
|
227 |
+
$uploads['subdir'] = $subdir;
|
228 |
}
|
229 |
|
230 |
return $uploads;
|
243 |
* @return boolean true, to bypass PHP error handler
|
244 |
*/
|
245 |
public static function unlink_error_handler( $type, $string, $file, $line ) {
|
246 |
+
MLACore::mla_debug_add( __LINE__ . " MLA_Thumbnail::unlink_error_handler( $type, $string, $file, $line )", MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL );
|
247 |
// Don't execute PHP internal error handler
|
248 |
return true;
|
249 |
}
|
332 |
add_filter( 'upload_dir', 'MLA_Thumbnail::upload_dir', 10, 1 );
|
333 |
$results = wp_handle_sideload( $args, $overrides );
|
334 |
remove_filter( 'upload_dir', 'MLA_Thumbnail::upload_dir', 10 );
|
335 |
+
MLACore::mla_debug_add( __LINE__ . " MLA_Thumbnail::_generate_wordpress_thumbnail( $post_id, $file ) sideload results = " . var_export( $results, true ), MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL );
|
336 |
if ( ! empty( $results['error'] ) ) {
|
337 |
return $results['error'];
|
338 |
}
|
339 |
|
340 |
+
$editor_args = isset( $results['type'] ) ? array( 'mime_type' => $results['type'] ) : array();
|
341 |
+
$editor = wp_get_image_editor( $results['file'], $editor_args );
|
342 |
if ( is_wp_error( $editor ) ) {
|
343 |
+
MLACore::mla_debug_add( __LINE__ . " MLA_Thumbnail::_generate_wordpress_thumbnail editor = " . var_export( $editor, true ), MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL );
|
344 |
return implode( ',', $editor->get_error_messages() );
|
345 |
}
|
346 |
|
354 |
|
355 |
// Update the metadata for the original (PDF) attachment.
|
356 |
$item_data['sizes'] = $results;
|
357 |
+
MLACore::mla_debug_add( __LINE__ . " MLA_Thumbnail::_generate_wordpress_thumbnail item_data = " . var_export( $item_data, true ), MLACore::MLA_DEBUG_CATEGORY_THUMBNAIL );
|
358 |
wp_update_attachment_metadata( $post_id, $item_data );
|
359 |
|
360 |
return true;
|
includes/class-mla-wpml-support.php
CHANGED
@@ -2081,12 +2081,49 @@ class MLA_WPML_Table {
|
|
2081 |
if ( isset( $_REQUEST['lang'] ) ) {
|
2082 |
$submenu_arguments['lang'] = $_REQUEST['lang'];
|
2083 |
} else {
|
2084 |
-
$submenu_arguments['lang'] =
|
2085 |
}
|
2086 |
|
2087 |
return $submenu_arguments;
|
2088 |
}
|
2089 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2090 |
/**
|
2091 |
* Filter the MLA_List_Table columns
|
2092 |
*
|
@@ -2107,19 +2144,7 @@ class MLA_WPML_Table {
|
|
2107 |
if ( is_null( self::$language_columns ) && $sitepress->is_translated_post_type( 'attachment' ) ) {
|
2108 |
// Build language management columns
|
2109 |
$show_language = 'checked' == MLACore::mla_get_option( 'language_column', false, false, MLA_WPML::$mla_language_option_definitions );
|
2110 |
-
|
2111 |
-
// $current_language is item-specific, $table_laguage is for the entire table
|
2112 |
-
$current_language = $sitepress->get_current_language();
|
2113 |
-
$table_language = $current_language;
|
2114 |
-
if ( ! empty( $_SERVER[ 'HTTP_REFERER' ] ) ) {
|
2115 |
-
$query_string = parse_url( $_SERVER[ 'HTTP_REFERER' ], PHP_URL_QUERY );
|
2116 |
-
$query = array();
|
2117 |
-
parse_str( strval( $query_string ), $query );
|
2118 |
-
if ( !empty( $query['lang'] ) ) {
|
2119 |
-
$table_language = $query['lang'];
|
2120 |
-
}
|
2121 |
-
}
|
2122 |
-
|
2123 |
$languages = $sitepress->get_active_languages();
|
2124 |
$view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
|
2125 |
if ( 1 < count( $languages ) && $view_status != 'trash' ) {
|
@@ -2189,7 +2214,7 @@ class MLA_WPML_Table {
|
|
2189 |
public static function mla_list_table_add_icl_styles() {
|
2190 |
global $sitepress;
|
2191 |
|
2192 |
-
$current_language =
|
2193 |
$languages = count( $sitepress->get_active_languages() );
|
2194 |
$view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
|
2195 |
|
@@ -2226,19 +2251,11 @@ class MLA_WPML_Table {
|
|
2226 |
$content = $sitepress->get_display_language_name( $item_language, $display_language );
|
2227 |
} elseif ('icl_translations' == $column_name ) {
|
2228 |
if ( is_null( $languages ) ) {
|
|
|
2229 |
$default_language = $sitepress->get_default_language();
|
2230 |
$current_language = $sitepress->get_current_language();
|
2231 |
-
$
|
2232 |
-
|
2233 |
-
$table_language = $current_language;
|
2234 |
-
if ( ! empty( $_SERVER[ 'HTTP_REFERER' ] ) ) {
|
2235 |
-
$query_string = parse_url( $_SERVER[ 'HTTP_REFERER' ], PHP_URL_QUERY );
|
2236 |
-
$query = array();
|
2237 |
-
parse_str( strval( $query_string ), $query );
|
2238 |
-
if ( !empty( $query['lang'] ) ) {
|
2239 |
-
$table_language = $query['lang'];
|
2240 |
-
}
|
2241 |
-
}
|
2242 |
}
|
2243 |
|
2244 |
$trid = $sitepress->get_element_trid( $item->ID, 'post_attachment' );
|
@@ -2278,7 +2295,7 @@ class MLA_WPML_Table {
|
|
2278 |
}
|
2279 |
|
2280 |
$args = array ( 'page' => MLACore::ADMIN_PAGE_SLUG, 'mla_admin_action' => 'wpml_create_translation', 'mla_item_ID' => $item->ID, 'mla_parent_ID' => $item->post_parent, 'lang' => $language['code'] );
|
2281 |
-
$link = add_query_arg( $args,
|
2282 |
}
|
2283 |
|
2284 |
$link = apply_filters( 'wpml_link_to_translation', $link, false, $language['code'], $trid );
|
2081 |
if ( isset( $_REQUEST['lang'] ) ) {
|
2082 |
$submenu_arguments['lang'] = $_REQUEST['lang'];
|
2083 |
} else {
|
2084 |
+
$submenu_arguments['lang'] = self::mla_get_table_language();
|
2085 |
}
|
2086 |
|
2087 |
return $submenu_arguments;
|
2088 |
}
|
2089 |
|
2090 |
+
/**
|
2091 |
+
* Get the table-level language code
|
2092 |
+
*
|
2093 |
+
* This function is used for column-level operations, because
|
2094 |
+
* $sitepress->get_current_language() is item-specific.
|
2095 |
+
*
|
2096 |
+
* @since 2.71
|
2097 |
+
*
|
2098 |
+
* @return string table-level language code
|
2099 |
+
*/
|
2100 |
+
private static function mla_get_table_language() {
|
2101 |
+
global $sitepress;
|
2102 |
+
|
2103 |
+
if ( !empty( $_REQUEST['lang'] ) ) {
|
2104 |
+
$table_language = $_REQUEST['lang'];
|
2105 |
+
} else {
|
2106 |
+
if ( empty( $table_language ) && ( ! empty( $_SERVER[ 'HTTP_REFERER' ] ) ) ) {
|
2107 |
+
$query_string = parse_url( $_SERVER[ 'HTTP_REFERER' ], PHP_URL_QUERY );
|
2108 |
+
$query = array();
|
2109 |
+
parse_str( strval( $query_string ), $query );
|
2110 |
+
if ( !empty( $query['lang'] ) ) {
|
2111 |
+
$table_language = $query['lang'];
|
2112 |
+
}
|
2113 |
+
}
|
2114 |
+
|
2115 |
+
if ( empty( $table_language ) && method_exists( $sitepress, 'get_admin_language_cookie' ) ) {
|
2116 |
+
$table_language = $sitepress->get_admin_language_cookie();
|
2117 |
+
}
|
2118 |
+
|
2119 |
+
if ( empty( $table_language ) ) {
|
2120 |
+
$table_language = $sitepress->get_default_language();
|
2121 |
+
}
|
2122 |
+
}
|
2123 |
+
|
2124 |
+
return $table_language;
|
2125 |
+
}
|
2126 |
+
|
2127 |
/**
|
2128 |
* Filter the MLA_List_Table columns
|
2129 |
*
|
2144 |
if ( is_null( self::$language_columns ) && $sitepress->is_translated_post_type( 'attachment' ) ) {
|
2145 |
// Build language management columns
|
2146 |
$show_language = 'checked' == MLACore::mla_get_option( 'language_column', false, false, MLA_WPML::$mla_language_option_definitions );
|
2147 |
+
$table_language = self::mla_get_table_language();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2148 |
$languages = $sitepress->get_active_languages();
|
2149 |
$view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
|
2150 |
if ( 1 < count( $languages ) && $view_status != 'trash' ) {
|
2214 |
public static function mla_list_table_add_icl_styles() {
|
2215 |
global $sitepress;
|
2216 |
|
2217 |
+
$current_language = self::mla_get_table_language();
|
2218 |
$languages = count( $sitepress->get_active_languages() );
|
2219 |
$view_status = isset( $_REQUEST['status'] ) ? $_REQUEST['status'] : '';
|
2220 |
|
2251 |
$content = $sitepress->get_display_language_name( $item_language, $display_language );
|
2252 |
} elseif ('icl_translations' == $column_name ) {
|
2253 |
if ( is_null( $languages ) ) {
|
2254 |
+
$languages = $sitepress->get_active_languages();
|
2255 |
$default_language = $sitepress->get_default_language();
|
2256 |
$current_language = $sitepress->get_current_language();
|
2257 |
+
// $current_language is item-specific, $table_language is for the entire table
|
2258 |
+
$table_language = self::mla_get_table_language();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2259 |
}
|
2260 |
|
2261 |
$trid = $sitepress->get_element_trid( $item->ID, 'post_attachment' );
|
2295 |
}
|
2296 |
|
2297 |
$args = array ( 'page' => MLACore::ADMIN_PAGE_SLUG, 'mla_admin_action' => 'wpml_create_translation', 'mla_item_ID' => $item->ID, 'mla_parent_ID' => $item->post_parent, 'lang' => $language['code'] );
|
2298 |
+
$link = add_query_arg( $args, MLACore::mla_nonce_url( 'upload.php', MLACore::MLA_ADMIN_NONCE_ACTION, MLACore::MLA_ADMIN_NONCE_NAME ) );
|
2299 |
}
|
2300 |
|
2301 |
$link = apply_filters( 'wpml_link_to_translation', $link, false, $language['code'], $trid );
|
includes/mla-plugin-loader.php
CHANGED
@@ -94,9 +94,9 @@ if ( ! empty( $mla_plugin_loader_error_messages ) ) {
|
|
94 |
}
|
95 |
|
96 |
if( defined('DOING_AJAX') && DOING_AJAX ) {
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-ajax.php' );
|
101 |
add_action( 'init', 'MLA_Ajax::initialize', 0x7FFFFFFF );
|
102 |
|
94 |
}
|
95 |
|
96 |
if( defined('DOING_AJAX') && DOING_AJAX ) {
|
97 |
+
//error_log( __LINE__ . " mla-plugin-loader.php DOING_AJAX \$_REQUEST = " . var_export( $_REQUEST, true ), 0 );
|
98 |
+
|
99 |
+
// Ajax handlers
|
100 |
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-ajax.php' );
|
101 |
add_action( 'init', 'MLA_Ajax::initialize', 0x7FFFFFFF );
|
102 |
|
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.
|
10 |
*/
|
11 |
|
12 |
/*
|
@@ -16,10 +16,10 @@ Description: Enhances the Media Library; powerful [mla_gallery] [mla_tag_cloud]
|
|
16 |
Author: David Lingren, Fair Trade Judaica
|
17 |
Text Domain: media-library-assistant
|
18 |
Domain Path: /languages
|
19 |
-
Version: 2.
|
20 |
Author URI: http://fairtradejudaica.org/our-story/staff/
|
21 |
|
22 |
-
Copyright 2011-
|
23 |
|
24 |
This program is free software; you can redistribute it and/or modify
|
25 |
it under the terms of the GNU General Public License as published by
|
6 |
* will the rest of the plugin be loaded and run.
|
7 |
*
|
8 |
* @package Media Library Assistant
|
9 |
+
* @version 2.72
|
10 |
*/
|
11 |
|
12 |
/*
|
16 |
Author: David Lingren, Fair Trade Judaica
|
17 |
Text Domain: media-library-assistant
|
18 |
Domain Path: /languages
|
19 |
+
Version: 2.72
|
20 |
Author URI: http://fairtradejudaica.org/our-story/staff/
|
21 |
|
22 |
+
Copyright 2011-2018 David Lingren
|
23 |
|
24 |
This program is free software; you can redistribute it and/or modify
|
25 |
it under the terms of the GNU General Public License as published by
|
js/mla-edit-media-scripts.js
CHANGED
@@ -22,6 +22,11 @@ var jQuery,
|
|
22 |
|
23 |
// The mlaEditAttachment functions are adapted from wp-admin/js/post.js
|
24 |
mla.mlaEditAttachment = {
|
|
|
|
|
|
|
|
|
|
|
25 |
init : function(){
|
26 |
$( '#mla_set_parent' ).on( 'click', function(){
|
27 |
return mla.mlaEditAttachment.setParentOpen();
|
@@ -110,6 +115,62 @@ var jQuery,
|
|
110 |
return false;
|
111 |
});
|
112 |
}); // .categorydiv.each,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
}, // function init
|
114 |
|
115 |
setParentOpen : function() {
|
@@ -144,6 +205,53 @@ var jQuery,
|
|
144 |
}
|
145 |
|
146 |
$( '#mla-set-parent-submit' ).off( 'click' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
}; // mla.mlaEditAttachment
|
149 |
|
22 |
|
23 |
// The mlaEditAttachment functions are adapted from wp-admin/js/post.js
|
24 |
mla.mlaEditAttachment = {
|
25 |
+
$uploaddiv : null,
|
26 |
+
uploadtimestamp : '',
|
27 |
+
$modifydiv : null,
|
28 |
+
modifytimestamp : '',
|
29 |
+
|
30 |
init : function(){
|
31 |
$( '#mla_set_parent' ).on( 'click', function(){
|
32 |
return mla.mlaEditAttachment.setParentOpen();
|
115 |
return false;
|
116 |
});
|
117 |
}); // .categorydiv.each,
|
118 |
+
|
119 |
+
/*
|
120 |
+
* Save Post box (#submitdiv), for Uploaded on and Last modified dates
|
121 |
+
*/
|
122 |
+
if ( $('#submitdiv').length ) {
|
123 |
+
mla.mlaEditAttachment.uploadtimestamp = $('#upload-timestamp').html();
|
124 |
+
mla.mlaEditAttachment.$uploaddiv = $('#timestampdiv');
|
125 |
+
//mla.mlaEditAttachment.modifytimestamp = $('#modify-timestamp').html();
|
126 |
+
//mla.mlaEditAttachment.$modifydiv = $('#modifytimestampdiv');
|
127 |
+
|
128 |
+
// Edit Uploaded on click.
|
129 |
+
mla.mlaEditAttachment.$uploaddiv.siblings('a.edit-timestamp').click( function( event ) {
|
130 |
+
if ( mla.mlaEditAttachment.$uploaddiv.is( ':hidden' ) ) {
|
131 |
+
mla.mlaEditAttachment.$uploaddiv.slideDown( 'fast', function() {
|
132 |
+
$( 'input, select', mla.mlaEditAttachment.$uploaddiv.find( '.timestamp-wrap' ) ).first().focus();
|
133 |
+
} );
|
134 |
+
$(this).hide();
|
135 |
+
}
|
136 |
+
event.preventDefault();
|
137 |
+
});
|
138 |
+
|
139 |
+
// Cancel editing the Uploaded on time and hide the settings.
|
140 |
+
mla.mlaEditAttachment.$uploaddiv.find('.cancel-timestamp').click( function( event ) {
|
141 |
+
mla.mlaEditAttachment.$uploaddiv.slideUp('fast').siblings('a.edit-timestamp').show().focus();
|
142 |
+
$( '#mm', mla.mlaEditAttachment.$uploaddiv ).val($( '#hidden_mm', mla.mlaEditAttachment.$uploaddiv ).val());
|
143 |
+
$( '#jj', mla.mlaEditAttachment.$uploaddiv ).val($( '#hidden_jj', mla.mlaEditAttachment.$uploaddiv ).val());
|
144 |
+
$( '#aa', mla.mlaEditAttachment.$uploaddiv ).val($( '#hidden_aa', mla.mlaEditAttachment.$uploaddiv ).val());
|
145 |
+
$( '#hh', mla.mlaEditAttachment.$uploaddiv ).val($( '#hidden_hh', mla.mlaEditAttachment.$uploaddiv ).val());
|
146 |
+
$( '#mn', mla.mlaEditAttachment.$uploaddiv ).val($( '#hidden_mn', mla.mlaEditAttachment.$uploaddiv ).val());
|
147 |
+
mla.mlaEditAttachment.updateText( mla.mlaEditAttachment.$uploaddiv, mla.mlaEditAttachment.uploadtimestamp, '#upload-timestamp' );
|
148 |
+
event.preventDefault();
|
149 |
+
});
|
150 |
+
|
151 |
+
// Save the changed Uploaded on timestamp.
|
152 |
+
mla.mlaEditAttachment.$uploaddiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
|
153 |
+
if ( mla.mlaEditAttachment.updateText( mla.mlaEditAttachment.$uploaddiv, mla.mlaEditAttachment.uploadtimestamp, '#upload-timestamp' ) ) {
|
154 |
+
mla.mlaEditAttachment.$uploaddiv.slideUp('fast');
|
155 |
+
mla.mlaEditAttachment.$uploaddiv.siblings('a.edit-timestamp').show().focus();
|
156 |
+
}
|
157 |
+
event.preventDefault();
|
158 |
+
});
|
159 |
+
|
160 |
+
// Cancel submit when an invalid Uploaded on timestamp has been selected.
|
161 |
+
$('#post').on( 'submit', function( event ) {
|
162 |
+
if ( ! mla.mlaEditAttachment.updateText( mla.mlaEditAttachment.$uploaddiv, mla.mlaEditAttachment.uploadtimestamp, '#upload-timestamp' ) ) {
|
163 |
+
event.preventDefault();
|
164 |
+
mla.mlaEditAttachment.$uploaddiv.show();
|
165 |
+
|
166 |
+
if ( wp.autosave ) {
|
167 |
+
wp.autosave.enableButtons();
|
168 |
+
}
|
169 |
+
|
170 |
+
$( '#publishing-action .spinner' ).removeClass( 'is-active' );
|
171 |
+
}
|
172 |
+
});
|
173 |
+
} // $('#submitdiv').length
|
174 |
}, // function init
|
175 |
|
176 |
setParentOpen : function() {
|
205 |
}
|
206 |
|
207 |
$( '#mla-set-parent-submit' ).off( 'click' );
|
208 |
+
},
|
209 |
+
|
210 |
+
/**
|
211 |
+
* Make sure all Uploaded on or Last Modified labels represent the current settings.
|
212 |
+
*
|
213 |
+
* @returns {boolean} False when an invalid timestamp has been selected, otherwise True.
|
214 |
+
*/
|
215 |
+
updateText : function( $div, stamp, stampdiv ) {
|
216 |
+
|
217 |
+
if ( ! $div.length )
|
218 |
+
return true;
|
219 |
+
|
220 |
+
var attemptedDate, originalDate, currentDate,
|
221 |
+
aa = $( '#aa', $div ).val(), mm = $( '#mm', $div ).val(), jj = $( '#jj', $div ).val(),
|
222 |
+
hh = $( '#hh', $div ).val(), mn = $( '#mn', $div ).val();
|
223 |
+
|
224 |
+
attemptedDate = new Date( aa, mm - 1, jj, hh, mn );
|
225 |
+
originalDate = new Date( $( '#hidden_aa', $div ).val(), $( '#hidden_mm', $div ).val() -1, $( '#hidden_jj', $div ).val(), $( '#hidden_hh', $div ).val(), $( '#hidden_mn', $div ).val() );
|
226 |
+
currentDate = new Date( $( '#cur_aa', $div ).val(), $( '#cur_mm', $div ).val() -1, $( '#cur_jj', $div ).val(), $( '#cur_hh', $div ).val(), $( '#cur_mn', $div ).val() );
|
227 |
+
|
228 |
+
// Catch unexpected date problems.
|
229 |
+
if ( attemptedDate.getFullYear() != aa || (1 + attemptedDate.getMonth()) != mm || attemptedDate.getDate() != jj || attemptedDate.getMinutes() != mn ) {
|
230 |
+
$div.find('.timestamp-wrap').addClass('form-invalid');
|
231 |
+
return false;
|
232 |
+
} else {
|
233 |
+
$div.find('.timestamp-wrap').removeClass('form-invalid');
|
234 |
+
}
|
235 |
+
|
236 |
+
// If the date is the same, set it to trigger update events.
|
237 |
+
if ( originalDate.toUTCString() == attemptedDate.toUTCString() ) {
|
238 |
+
// Re-set to the current value.
|
239 |
+
$( stampdiv ).html( stamp );
|
240 |
+
} else {
|
241 |
+
label = '#upload-timestamp' == stampdiv ? mla.settings.uploadLabel : mla.settings.modifyLabel;
|
242 |
+
$( stampdiv ).html(
|
243 |
+
label + '<b>' +
|
244 |
+
postL10n.dateFormat
|
245 |
+
.replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) )
|
246 |
+
.replace( '%2$s', parseInt( jj, 10 ) )
|
247 |
+
.replace( '%3$s', aa )
|
248 |
+
.replace( '%4$s', ( '00' + hh ).slice( -2 ) )
|
249 |
+
.replace( '%5$s', ( '00' + mn ).slice( -2 ) ) +
|
250 |
+
'</b> '
|
251 |
+
);
|
252 |
+
}
|
253 |
+
|
254 |
+
return true;
|
255 |
}
|
256 |
}; // mla.mlaEditAttachment
|
257 |
|
js/mla-edit-media-scripts.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var jQuery,mla_edit_media_vars,mla={settings:{},utility:{},setParent:null,mlaEditAttachment:null};(function(a){mla.settings=typeof mla_edit_media_vars==="undefined"?{}:mla_edit_media_vars;mla_edit_media_vars=void 0;mla.mlaEditAttachment={init:function(){a("#mla_set_parent").on("click",function(){return mla.mlaEditAttachment.setParentOpen()});a(".categorydiv").each(function(){var e=a(this).attr("id"),d,b,c;d=e.split("-");d.shift();b=d.join("-");c=b+"_tab";if(b=="category"){c="cats"}a.extend(a.expr[":"],{matchTerms:function(h,g,f,j){return(h.textContent||h.innerText||"").toLowerCase().indexOf((f[3]||"").toLowerCase())>=0}});a("#search-"+b).keypress(function(f){if(13===f.keyCode){f.preventDefault();a("#search-"+b).val("");a("#"+b+"-searcher").addClass("wp-hidden-children");a("#"+b+"checklist li").show();a("#"+b+"checklist-pop li").show();return}});a("#search-"+b).keyup(function(h){var j,i,k,g,f;if(13===h.keyCode){h.preventDefault();a("#"+b+"-search-toggle").focus();return}j=a("#search-"+b).val();i=a("#"+b+"checklist li");k=a("#"+b+"checklist-pop li");if(0<j.length){i.hide();k.hide()}else{i.show();k.show()}g=a("#"+b+"checklist label:matchTerms('"+j+"')");g.closest("li").find("li").andSelf().show();g.parents("#"+b+"checklist li").show();f=a("#"+b+"checklist-pop label:matchTerms('"+j+"')");f.closest("li").find("li").andSelf().show();f.parents("#"+b+"checklist li").show()});a("#"+b+"-search-toggle").click(function(){a("#"+b+"-adder ").addClass("wp-hidden-children");a("#"+b+"-searcher").toggleClass("wp-hidden-children");a('a[href="#'+b+'-all"]',"#"+b+"-tabs").click();a("#"+b+"checklist li").show();a("#"+b+"checklist-pop li").show();if(false===a("#"+b+"-searcher").hasClass("wp-hidden-children")){a("#search-"+b).val("").removeClass("form-input-tip");a("#search-"+b).focus()}return false});a("#"+b+"-add-toggle").click(function(){a("#"+b+"-searcher").addClass("wp-hidden-children");return false})})},setParentOpen:function(){var d,b,c;d=a("#mla_post_parent").val()||"";b=a("#post_ID").val()||"";c=a("#title").val()||"";mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(e){e.preventDefault();mla.mlaEditAttachment.setParentSave();return false})},setParentSave:function(){var d=a("#mla-set-parent-response-div input:checked").closest("tr"),f,c,b,e;if(d.length){f=a(":radio",d).val()||"";c=a("label",d).html()||"";b=a("#mla_post_parent").clone(true).val(f);e=a("#mla_parent_info").clone(true).val(c);a("#mla_post_parent").replaceWith(b);a("#mla_parent_info").replaceWith(e);mla.setParent.close()}a("#mla-set-parent-submit").off("click")}};a(document).ready(function(){mla.mlaEditAttachment.init()})})(jQuery);
|
1 |
+
var jQuery,mla_edit_media_vars,mla={settings:{},utility:{},setParent:null,mlaEditAttachment:null};(function(a){mla.settings=typeof mla_edit_media_vars==="undefined"?{}:mla_edit_media_vars;mla_edit_media_vars=void 0;mla.mlaEditAttachment={$uploaddiv:null,uploadtimestamp:"",$modifydiv:null,modifytimestamp:"",init:function(){a("#mla_set_parent").on("click",function(){return mla.mlaEditAttachment.setParentOpen()});a(".categorydiv").each(function(){var e=a(this).attr("id"),d,b,c;d=e.split("-");d.shift();b=d.join("-");c=b+"_tab";if(b=="category"){c="cats"}a.extend(a.expr[":"],{matchTerms:function(h,g,f,j){return(h.textContent||h.innerText||"").toLowerCase().indexOf((f[3]||"").toLowerCase())>=0}});a("#search-"+b).keypress(function(f){if(13===f.keyCode){f.preventDefault();a("#search-"+b).val("");a("#"+b+"-searcher").addClass("wp-hidden-children");a("#"+b+"checklist li").show();a("#"+b+"checklist-pop li").show();return}});a("#search-"+b).keyup(function(h){var j,i,k,g,f;if(13===h.keyCode){h.preventDefault();a("#"+b+"-search-toggle").focus();return}j=a("#search-"+b).val();i=a("#"+b+"checklist li");k=a("#"+b+"checklist-pop li");if(0<j.length){i.hide();k.hide()}else{i.show();k.show()}g=a("#"+b+"checklist label:matchTerms('"+j+"')");g.closest("li").find("li").andSelf().show();g.parents("#"+b+"checklist li").show();f=a("#"+b+"checklist-pop label:matchTerms('"+j+"')");f.closest("li").find("li").andSelf().show();f.parents("#"+b+"checklist li").show()});a("#"+b+"-search-toggle").click(function(){a("#"+b+"-adder ").addClass("wp-hidden-children");a("#"+b+"-searcher").toggleClass("wp-hidden-children");a('a[href="#'+b+'-all"]',"#"+b+"-tabs").click();a("#"+b+"checklist li").show();a("#"+b+"checklist-pop li").show();if(false===a("#"+b+"-searcher").hasClass("wp-hidden-children")){a("#search-"+b).val("").removeClass("form-input-tip");a("#search-"+b).focus()}return false});a("#"+b+"-add-toggle").click(function(){a("#"+b+"-searcher").addClass("wp-hidden-children");return false})});if(a("#submitdiv").length){mla.mlaEditAttachment.uploadtimestamp=a("#upload-timestamp").html();mla.mlaEditAttachment.$uploaddiv=a("#timestampdiv");mla.mlaEditAttachment.$uploaddiv.siblings("a.edit-timestamp").click(function(b){if(mla.mlaEditAttachment.$uploaddiv.is(":hidden")){mla.mlaEditAttachment.$uploaddiv.slideDown("fast",function(){a("input, select",mla.mlaEditAttachment.$uploaddiv.find(".timestamp-wrap")).first().focus()});a(this).hide()}b.preventDefault()});mla.mlaEditAttachment.$uploaddiv.find(".cancel-timestamp").click(function(b){mla.mlaEditAttachment.$uploaddiv.slideUp("fast").siblings("a.edit-timestamp").show().focus();a("#mm",mla.mlaEditAttachment.$uploaddiv).val(a("#hidden_mm",mla.mlaEditAttachment.$uploaddiv).val());a("#jj",mla.mlaEditAttachment.$uploaddiv).val(a("#hidden_jj",mla.mlaEditAttachment.$uploaddiv).val());a("#aa",mla.mlaEditAttachment.$uploaddiv).val(a("#hidden_aa",mla.mlaEditAttachment.$uploaddiv).val());a("#hh",mla.mlaEditAttachment.$uploaddiv).val(a("#hidden_hh",mla.mlaEditAttachment.$uploaddiv).val());a("#mn",mla.mlaEditAttachment.$uploaddiv).val(a("#hidden_mn",mla.mlaEditAttachment.$uploaddiv).val());mla.mlaEditAttachment.updateText(mla.mlaEditAttachment.$uploaddiv,mla.mlaEditAttachment.uploadtimestamp,"#upload-timestamp");b.preventDefault()});mla.mlaEditAttachment.$uploaddiv.find(".save-timestamp").click(function(b){if(mla.mlaEditAttachment.updateText(mla.mlaEditAttachment.$uploaddiv,mla.mlaEditAttachment.uploadtimestamp,"#upload-timestamp")){mla.mlaEditAttachment.$uploaddiv.slideUp("fast");mla.mlaEditAttachment.$uploaddiv.siblings("a.edit-timestamp").show().focus()}b.preventDefault()});a("#post").on("submit",function(b){if(!mla.mlaEditAttachment.updateText(mla.mlaEditAttachment.$uploaddiv,mla.mlaEditAttachment.uploadtimestamp,"#upload-timestamp")){b.preventDefault();mla.mlaEditAttachment.$uploaddiv.show();if(wp.autosave){wp.autosave.enableButtons()}a("#publishing-action .spinner").removeClass("is-active")}})}},setParentOpen:function(){var d,b,c;d=a("#mla_post_parent").val()||"";b=a("#post_ID").val()||"";c=a("#title").val()||"";mla.setParent.open(d,b,c);a("#mla-set-parent-submit").on("click",function(e){e.preventDefault();mla.mlaEditAttachment.setParentSave();return false})},setParentSave:function(){var d=a("#mla-set-parent-response-div input:checked").closest("tr"),f,c,b,e;if(d.length){f=a(":radio",d).val()||"";c=a("label",d).html()||"";b=a("#mla_post_parent").clone(true).val(f);e=a("#mla_parent_info").clone(true).val(c);a("#mla_post_parent").replaceWith(b);a("#mla_parent_info").replaceWith(e);mla.setParent.close()}a("#mla-set-parent-submit").off("click")},updateText:function(k,c,h){if(!k.length){return true}var j,l,d,b=a("#aa",k).val(),g=a("#mm",k).val(),i=a("#jj",k).val(),f=a("#hh",k).val(),e=a("#mn",k).val();j=new Date(b,g-1,i,f,e);l=new Date(a("#hidden_aa",k).val(),a("#hidden_mm",k).val()-1,a("#hidden_jj",k).val(),a("#hidden_hh",k).val(),a("#hidden_mn",k).val());d=new Date(a("#cur_aa",k).val(),a("#cur_mm",k).val()-1,a("#cur_jj",k).val(),a("#cur_hh",k).val(),a("#cur_mn",k).val());if(j.getFullYear()!=b||(1+j.getMonth())!=g||j.getDate()!=i||j.getMinutes()!=e){k.find(".timestamp-wrap").addClass("form-invalid");return false}else{k.find(".timestamp-wrap").removeClass("form-invalid")}if(l.toUTCString()==j.toUTCString()){a(h).html(c)}else{label="#upload-timestamp"==h?mla.settings.uploadLabel:mla.settings.modifyLabel;a(h).html(label+"<b>"+postL10n.dateFormat.replace("%1$s",a('option[value="'+g+'"]',"#mm").attr("data-text")).replace("%2$s",parseInt(i,10)).replace("%3$s",b).replace("%4$s",("00"+f).slice(-2)).replace("%5$s",("00"+e).slice(-2))+"</b> ")}return true}};a(document).ready(function(){mla.mlaEditAttachment.init()})})(jQuery);
|
languages/media-library-assistant-en_US - References.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Media Library Assistant\n"
|
5 |
-
"POT-Creation-Date:
|
6 |
"PO-Revision-Date: 2015-08-21 21:38-0800\n"
|
7 |
"Last-Translator: David Lingren <david@fairtradejudaica.org>\n"
|
8 |
"Language-Team: David Lingren <david@fairtradejudaica.org>\n"
|
@@ -20,128 +20,204 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-1: tests\n"
|
21 |
"X-Poedit-SearchPath-2: index.php\n"
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
#: includes/class-mla-admin-columns-support-deprecated.php:33
|
24 |
-
#: includes/class-mla-admin-columns-support.php:
|
25 |
#: includes/class-mla-core-options.php:553 includes/class-mla-settings.php:429
|
26 |
-
#: includes/class-mla-settings.php:
|
27 |
#: index.php:48
|
28 |
msgid "Media Library Assistant"
|
29 |
msgstr ""
|
30 |
|
31 |
#: includes/class-mla-admin-columns-support-deprecated.php:34
|
32 |
-
#: includes/class-mla-admin-columns-support.php:
|
33 |
#: includes/class-mla-core-options.php:562
|
34 |
msgid "Assistant"
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: includes/class-mla-ajax.php:
|
38 |
-
#: includes/class-mla-data.php:
|
39 |
-
#: includes/class-mla-main.php:
|
40 |
-
#: includes/class-mla-objects.php:
|
41 |
#: includes/mla-main-search-box-template.php:47
|
42 |
#: includes/mla-media-modal-js-template.php:40
|
43 |
msgid "Title"
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: includes/class-mla-ajax.php:
|
47 |
-
#: includes/class-mla-thumbnail-generation.php:
|
48 |
msgid "Type"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: includes/class-mla-ajax.php:
|
52 |
msgid "Date"
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: includes/class-mla-ajax.php:
|
56 |
#: includes/class-mla-settings-custom-fields-tab.php:503
|
57 |
#: includes/class-mla-settings-custom-fields-tab.php:803
|
58 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
59 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
60 |
#: includes/class-mla-settings-upload-tab.php:552
|
61 |
msgid "Status"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: includes/class-mla-ajax.php:
|
65 |
-
#: includes/class-mla-list-table.php:
|
66 |
#: includes/class-mla-polylang-support.php:363
|
67 |
#: includes/class-mla-thumbnail-generation.php:97
|
68 |
msgid "(no title)"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: includes/class-mla-ajax.php:
|
72 |
msgid "Published"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: includes/class-mla-ajax.php:
|
76 |
-
#: includes/class-mla-list-table.php:631
|
77 |
-
msgid "Scheduled"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: includes/class-mla-ajax.php:254
|
81 |
msgid "Pending Review"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: includes/class-mla-ajax.php:
|
85 |
-
#: includes/class-mla-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
#: includes/class-mla-ajax.php:267 includes/class-mla-list-table.php:1439
|
90 |
-
#: includes/class-mla-list-table.php:1468
|
91 |
-
#: includes/class-mla-list-table.php:1532
|
92 |
-
msgid "Y/m/d"
|
93 |
-
msgstr ""
|
94 |
-
|
95 |
-
#: includes/class-mla-ajax.php:296 includes/class-mla-ajax.php:303
|
96 |
-
#: includes/class-mla-ajax.php:312 includes/class-mla-core.php:805
|
97 |
-
#: includes/class-mla-core.php:823 includes/class-mla-core.php:1231
|
98 |
-
#: includes/class-mla-core.php:1237 includes/class-mla-core.php:1241
|
99 |
#: includes/class-mla-data-pdf.php:216 includes/class-mla-data-pdf.php:517
|
100 |
#: includes/class-mla-data-pdf.php:519 includes/class-mla-data-pdf.php:565
|
101 |
-
#: includes/class-mla-data-pdf.php:749 includes/class-mla-data-query.php:
|
102 |
#: includes/class-mla-data.php:50 includes/class-mla-data.php:108
|
103 |
#: includes/class-mla-data.php:196 includes/class-mla-data.php:242
|
104 |
#: includes/class-mla-data.php:345 includes/class-mla-data.php:501
|
105 |
-
#: includes/class-mla-data.php:564 includes/class-mla-data.php:
|
106 |
-
#: includes/class-mla-data.php:
|
107 |
-
#: includes/class-mla-data.php:
|
108 |
-
#: includes/class-mla-data.php:
|
109 |
-
#: includes/class-mla-data.php:
|
110 |
-
#: includes/class-mla-data.php:
|
111 |
-
#: includes/class-mla-data.php:
|
112 |
-
#: includes/class-mla-data.php:
|
113 |
-
#: includes/class-mla-data.php:
|
114 |
-
#: includes/class-mla-edit-media.php:
|
115 |
-
#: includes/class-mla-main.php:
|
116 |
-
#: includes/class-mla-main.php:
|
117 |
-
#: includes/class-mla-main.php:
|
118 |
-
#: includes/class-mla-main.php:
|
119 |
-
#: includes/class-mla-main.php:
|
120 |
-
#: includes/class-mla-main.php:
|
121 |
-
#: includes/class-mla-main.php:
|
122 |
-
#: includes/class-mla-main.php:
|
123 |
-
#: includes/class-mla-main.php:
|
124 |
-
#: includes/class-mla-main.php:
|
125 |
-
#: includes/class-mla-
|
126 |
-
#: includes/class-mla-mime-types.php:
|
127 |
-
#: includes/class-mla-mime-types.php:
|
128 |
-
#: includes/class-mla-mime-types.php:
|
129 |
-
#: includes/class-mla-mime-types.php:
|
130 |
-
#: includes/class-mla-mime-types.php:
|
131 |
-
#: includes/class-mla-mime-types.php:
|
132 |
-
#: includes/class-mla-mime-types.php:
|
133 |
-
#: includes/class-mla-mime-types.php:
|
134 |
-
#: includes/class-mla-mime-types.php:
|
135 |
-
#: includes/class-mla-mime-types.php:
|
136 |
-
#: includes/class-mla-mime-types.php:
|
137 |
-
#: includes/class-mla-mime-types.php:
|
138 |
-
#: includes/class-mla-mime-types.php:
|
139 |
-
#: includes/class-mla-mime-types.php:
|
140 |
-
#: includes/class-mla-mime-types.php:
|
141 |
-
#: includes/class-mla-mime-types.php:
|
|
|
142 |
#: includes/class-mla-options.php:217 includes/class-mla-options.php:421
|
143 |
-
#: includes/class-mla-options.php:502 includes/class-mla-options.php:
|
144 |
-
#: includes/class-mla-options.php:
|
|
|
145 |
#: includes/class-mla-settings-custom-fields-tab.php:173
|
146 |
#: includes/class-mla-settings-custom-fields-tab.php:238
|
147 |
#: includes/class-mla-settings-custom-fields-tab.php:242
|
@@ -157,22 +233,22 @@ msgstr ""
|
|
157 |
#: includes/class-mla-settings-custom-fields-tab.php:956
|
158 |
#: includes/class-mla-settings-custom-fields-tab.php:2029
|
159 |
#: includes/class-mla-settings-documentation-tab.php:97
|
160 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
161 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
162 |
#: includes/class-mla-settings-iptc-exif-tab.php:175
|
163 |
#: includes/class-mla-settings-iptc-exif-tab.php:241
|
164 |
#: includes/class-mla-settings-iptc-exif-tab.php:245
|
165 |
#: includes/class-mla-settings-iptc-exif-tab.php:280
|
166 |
#: includes/class-mla-settings-iptc-exif-tab.php:308
|
167 |
#: includes/class-mla-settings-iptc-exif-tab.php:312
|
168 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
169 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
170 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
171 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
172 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
173 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
174 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
175 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
176 |
#: includes/class-mla-settings-shortcodes-tab.php:79
|
177 |
#: includes/class-mla-settings-shortcodes-tab.php:90
|
178 |
#: includes/class-mla-settings-shortcodes-tab.php:94
|
@@ -193,35 +269,35 @@ msgstr ""
|
|
193 |
#: includes/class-mla-settings-view-tab.php:275
|
194 |
#: includes/class-mla-settings-view-tab.php:433
|
195 |
#: includes/class-mla-settings-view-tab.php:447
|
196 |
-
#: includes/class-mla-settings.php:589 includes/class-mla-settings.php:
|
197 |
-
#: includes/class-mla-settings.php:
|
198 |
-
#: includes/class-mla-settings.php:
|
199 |
-
#: includes/class-mla-settings.php:
|
200 |
-
#: includes/class-mla-settings.php:
|
201 |
-
#: includes/class-mla-settings.php:
|
202 |
-
#: includes/class-mla-settings.php:
|
203 |
-
#: includes/class-mla-settings.php:
|
204 |
-
#: includes/class-mla-settings.php:
|
205 |
#: includes/class-mla-shortcode-support.php:2059
|
206 |
#: includes/class-mla-shortcode-support.php:2150
|
207 |
#: includes/class-mla-shortcode-support.php:3416
|
208 |
#: includes/class-mla-shortcode-support.php:3543
|
209 |
#: includes/class-mla-shortcode-support.php:3575
|
210 |
-
#: includes/class-mla-shortcode-support.php:
|
211 |
-
#: includes/class-mla-shortcode-support.php:
|
212 |
-
#: includes/class-mla-shortcode-support.php:
|
213 |
-
#: includes/class-mla-thumbnail-generation.php:416
|
214 |
#: includes/class-mla-thumbnail-generation.php:428
|
215 |
#: includes/class-mla-thumbnail-generation.php:440
|
216 |
-
#: includes/class-mla-thumbnail-generation.php:
|
|
|
217 |
msgid "ERROR"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: includes/class-mla-ajax.php:
|
221 |
msgid "No post ID found"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: includes/class-mla-ajax.php:
|
225 |
#: includes/class-mla-polylang-support.php:260
|
226 |
msgid "You are not allowed to edit this Attachment."
|
227 |
msgstr ""
|
@@ -242,7 +318,7 @@ msgstr ""
|
|
242 |
msgid "Check this option to add support for Attachment Tags."
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: includes/class-mla-core-options.php:424 includes/class-mla-settings.php:
|
246 |
msgid "Where-used Reporting"
|
247 |
msgstr ""
|
248 |
|
@@ -259,7 +335,7 @@ msgid "Where-used database access tuning"
|
|
259 |
msgstr ""
|
260 |
|
261 |
#: includes/class-mla-core-options.php:442
|
262 |
-
#: includes/class-mla-edit-media.php:
|
263 |
msgid "Featured in"
|
264 |
msgstr ""
|
265 |
|
@@ -268,23 +344,12 @@ msgstr ""
|
|
268 |
msgid "Enabled"
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: includes/class-mla-core-options.php:447
|
272 |
-
#: includes/class-mla-core-options.php:457
|
273 |
-
#: includes/class-mla-core-options.php:467
|
274 |
-
#: includes/class-mla-core-options.php:477
|
275 |
-
#: includes/class-mla-list-table.php:1136
|
276 |
-
#: includes/class-mla-list-table.php:1181
|
277 |
-
#: includes/class-mla-list-table.php:1231
|
278 |
-
#: includes/class-mla-list-table.php:1276
|
279 |
-
msgid "Disabled"
|
280 |
-
msgstr ""
|
281 |
-
|
282 |
#: includes/class-mla-core-options.php:448
|
283 |
msgid "Search database posts and pages for Featured Image attachments."
|
284 |
msgstr ""
|
285 |
|
286 |
#: includes/class-mla-core-options.php:452
|
287 |
-
#: includes/class-mla-edit-media.php:
|
288 |
msgid "Inserted in"
|
289 |
msgstr ""
|
290 |
|
@@ -300,8 +365,8 @@ msgid ""
|
|
300 |
msgstr ""
|
301 |
|
302 |
#: includes/class-mla-core-options.php:462
|
303 |
-
#: includes/class-mla-edit-media.php:
|
304 |
-
#: includes/class-mla-settings.php:
|
305 |
msgid "Gallery in"
|
306 |
msgstr ""
|
307 |
|
@@ -311,9 +376,9 @@ msgid "Dynamic"
|
|
311 |
msgstr ""
|
312 |
|
313 |
#: includes/class-mla-core-options.php:467
|
314 |
-
#: includes/class-mla-core-options.php:477 includes/class-mla-main.php:
|
315 |
#: includes/class-mla-settings-custom-fields-tab.php:733
|
316 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
317 |
msgid "Refresh"
|
318 |
msgstr ""
|
319 |
|
@@ -330,8 +395,8 @@ msgid ""
|
|
330 |
msgstr ""
|
331 |
|
332 |
#: includes/class-mla-core-options.php:472
|
333 |
-
#: includes/class-mla-edit-media.php:
|
334 |
-
#: includes/class-mla-settings.php:
|
335 |
msgid "MLA Gallery in"
|
336 |
msgstr ""
|
337 |
|
@@ -343,7 +408,7 @@ msgid ""
|
|
343 |
"Cached."
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: includes/class-mla-core-options.php:482 includes/class-mla-settings.php:
|
347 |
msgid "Taxonomy Support"
|
348 |
msgstr ""
|
349 |
|
@@ -386,14 +451,14 @@ msgid ""
|
|
386 |
msgstr ""
|
387 |
|
388 |
#: includes/class-mla-core-options.php:506
|
389 |
-
#: includes/class-mla-core-options.php:
|
390 |
-
#: includes/class-mla-settings.php:
|
391 |
msgid "For complete documentation"
|
392 |
msgstr ""
|
393 |
|
394 |
#: includes/class-mla-core-options.php:506
|
395 |
-
#: includes/class-mla-core-options.php:
|
396 |
-
#: includes/class-mla-settings.php:
|
397 |
msgid "click here"
|
398 |
msgstr ""
|
399 |
|
@@ -491,15 +556,6 @@ msgstr ""
|
|
491 |
msgid "Order By"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: includes/class-mla-core-options.php:603
|
495 |
-
#: includes/class-mla-core-options.php:847
|
496 |
-
#: includes/class-mla-core-options.php:878
|
497 |
-
#: includes/class-mla-core-options.php:892
|
498 |
-
#: includes/class-mla-list-table.php:486 includes/class-mla-list-table.php:1389
|
499 |
-
#: includes/class-mla-settings-shortcodes-tab.php:629
|
500 |
-
msgid "None"
|
501 |
-
msgstr ""
|
502 |
-
|
503 |
#: includes/class-mla-core-options.php:603
|
504 |
msgid "ID/Parent"
|
505 |
msgstr ""
|
@@ -521,247 +577,255 @@ msgid "Descending"
|
|
521 |
msgstr ""
|
522 |
|
523 |
#: includes/class-mla-core-options.php:614
|
524 |
-
#: includes/class-mla-core-options.php:
|
525 |
msgid "Choose the sort order."
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: includes/class-mla-core-options.php:618
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
msgid "Views Width"
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: includes/class-mla-core-options.php:
|
533 |
msgid "Enter the width for the views list, in pixels (px) or percent (%)"
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: includes/class-mla-core-options.php:
|
537 |
msgid "Icon Size"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: includes/class-mla-core-options.php:
|
541 |
msgid "Enter the size of the thumbnail/icon images, in pixels"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: includes/class-mla-core-options.php:
|
545 |
msgid "Show Primary Column File Name"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: includes/class-mla-core-options.php:
|
549 |
msgid ""
|
550 |
"Check/uncheck this option to show/omit the file name from the primary column."
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: includes/class-mla-core-options.php:
|
554 |
msgid "QuickTags editor for bulk description"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: includes/class-mla-core-options.php:
|
558 |
msgid ""
|
559 |
"Check this option to use the QuickTags editor for the Description field in "
|
560 |
"the Bulk Edit area."
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: includes/class-mla-core-options.php:
|
564 |
msgid "Bulk Chunk Size"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: includes/class-mla-core-options.php:
|
568 |
msgid "Enter the size of the Bulk Edit and Map All processing chunks"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: includes/class-mla-core-options.php:
|
572 |
msgid "Taxonomy Filter parameters"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: includes/class-mla-core-options.php:
|
576 |
msgid "Maximum Depth"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: includes/class-mla-core-options.php:
|
580 |
msgid ""
|
581 |
"Enter the number of levels displayed for hierarchial taxonomies; enter zero "
|
582 |
"for no limit."
|
583 |
msgstr ""
|
584 |
|
585 |
-
#: includes/class-mla-core-options.php:
|
586 |
msgid "Include Children"
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: includes/class-mla-core-options.php:
|
590 |
msgid ""
|
591 |
"Check/uncheck this option to include/exclude children for hierarchical "
|
592 |
"taxonomies."
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: includes/class-mla-core-options.php:
|
596 |
msgid "Search Media Defaults"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: includes/class-mla-core-options.php:
|
600 |
msgid "Display Search Controls"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: includes/class-mla-core-options.php:
|
604 |
-
#: includes/class-mla-core-options.php:
|
605 |
msgid ""
|
606 |
"Check/uncheck this option to display/hide the and/or connector and search "
|
607 |
"fields controls."
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: includes/class-mla-core-options.php:
|
611 |
msgid ""
|
612 |
"Use these controls to set defaults for the and/or connector and search "
|
613 |
"fields controls.<br>These defaults will be used for the Search Media boxes "
|
614 |
"on both the Media/Assistant submenu<br>and the Media Manager Modal Window."
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: includes/class-mla-core-options.php:
|
618 |
msgid "Media/Edit Media Enhancements"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: includes/class-mla-core-options.php:
|
622 |
msgid "Enable "enhanced checklist" taxonomies"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: includes/class-mla-core-options.php:
|
626 |
msgid ""
|
627 |
"Check this option to enable the \"? Search\" feature for hierarchical "
|
628 |
"taxonomies, e.g., Att. Categories.<br> This option also enables "
|
629 |
"the \"checklist-style\" support for flat taxonomies, e.g., Att. Tags."
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: includes/class-mla-core-options.php:
|
633 |
msgid "Enable Edit Media additional meta boxes"
|
634 |
msgstr ""
|
635 |
|
636 |
-
#: includes/class-mla-core-options.php:
|
637 |
msgid ""
|
638 |
"Check this option to add \"Parent Info\", \"Menu Order\", \"Attachment "
|
639 |
"Metadata\" and four \"where-used\" meta boxes to the Edit Media screen."
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: includes/class-mla-core-options.php:
|
643 |
msgid "You can also use Filters to customize the meta boxes."
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: includes/class-mla-core-options.php:
|
647 |
msgid "Media/Add New Enhancements"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: includes/class-mla-core-options.php:
|
651 |
msgid "Enable "bulk edit" area"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: includes/class-mla-core-options.php:
|
655 |
msgid ""
|
656 |
"Check this option to enable the \"Bulk Edit area\" feature on the Media/Add "
|
657 |
"New screen."
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: includes/class-mla-core-options.php:
|
661 |
msgid ""bulk edit" area on top"
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: includes/class-mla-core-options.php:
|
665 |
msgid ""
|
666 |
"Check this option to move the \"Bulk Edit area\" to the top of the Media/Add "
|
667 |
"New screen."
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: includes/class-mla-core-options.php:
|
671 |
msgid ""bulk edit" area initially open"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: includes/class-mla-core-options.php:
|
675 |
msgid ""
|
676 |
"Check this option to automatically open the \"Bulk Edit area\" when the "
|
677 |
"Media/Add New screen is displayed."
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: includes/class-mla-core-options.php:
|
681 |
msgid "Media Manager/Media Grid Enhancements"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: includes/class-mla-core-options.php:
|
685 |
msgid "Enable Media Grid Enhancements"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: includes/class-mla-core-options.php:
|
689 |
msgid ""
|
690 |
"Check/uncheck this option to enable/disable Media Library Grid View "
|
691 |
"Enhancements."
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: includes/class-mla-core-options.php:
|
695 |
msgid "Enable Media Manager Enhancements"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: includes/class-mla-core-options.php:
|
699 |
msgid ""
|
700 |
"Check/uncheck this option to enable/disable Media Manager Modal Window "
|
701 |
"Enhancements."
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: includes/class-mla-core-options.php:
|
705 |
msgid "Media Manager Enhanced MIME Type filter"
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: includes/class-mla-core-options.php:
|
709 |
msgid ""
|
710 |
"Check this option to filter by more MIME Types, e.g., text, applications."
|
711 |
msgstr ""
|
712 |
|
713 |
-
#: includes/class-mla-core-options.php:
|
714 |
msgid "Media Manager Month and Year filter"
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: includes/class-mla-core-options.php:
|
718 |
msgid "Check this option to filter by month and year uploaded."
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: includes/class-mla-core-options.php:
|
722 |
msgid "Media Manager Category/Tag filter"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: includes/class-mla-core-options.php:
|
726 |
msgid "Check this option to filter by taxonomy terms."
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: includes/class-mla-core-options.php:
|
730 |
msgid "Media Manager Terms Search popup"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: includes/class-mla-core-options.php:
|
734 |
msgid "Check this option to enable the \"Terms Search\" popup window."
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: includes/class-mla-core-options.php:
|
738 |
msgid "Media Manager Enhanced Search Media box"
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: includes/class-mla-core-options.php:
|
742 |
msgid "Check this option to enable search box enhancements."
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: includes/class-mla-core-options.php:
|
746 |
msgid "Media Manager Enhanced Search Media Controls"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: includes/class-mla-core-options.php:
|
750 |
msgid "Media Manager Checklist meta boxes"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: includes/class-mla-core-options.php:
|
754 |
msgid ""
|
755 |
"Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
|
756 |
"DETAILS\" pane.<br> This option is for any taxonomy that uses a "
|
757 |
"<strong>\"checklist-style\"</strong> meta box."
|
758 |
msgstr ""
|
759 |
|
760 |
-
#: includes/class-mla-core-options.php:
|
761 |
msgid "Media Manager Flat meta boxes"
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: includes/class-mla-core-options.php:
|
765 |
msgid ""
|
766 |
"Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
|
767 |
"DETAILS\" pane.<br> This option is for <strong>flat taxonomies</"
|
@@ -769,211 +833,211 @@ msgid ""
|
|
769 |
"style\" meta box."
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: includes/class-mla-core-options.php:
|
773 |
msgid "Media Manager auto-fill meta boxes"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: includes/class-mla-core-options.php:
|
777 |
msgid ""
|
778 |
"Check this option to automatically fill MLA-enhanced meta boxes in the "
|
779 |
"\"ATTACHMENT DETAILS\" pane<br> when the item is selected."
|
780 |
msgstr ""
|
781 |
|
782 |
-
#: includes/class-mla-core-options.php:
|
783 |
msgid "Media Manager Order By"
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: includes/class-mla-core-options.php:
|
787 |
-
#: includes/class-mla-core-options.php:
|
788 |
-
#: includes/class-mla-core-options.php:
|
789 |
-
#: includes/class-mla-core-options.php:
|
790 |
-
#: includes/class-mla-core-options.php:
|
791 |
msgid "Media Manager Default"
|
792 |
msgstr ""
|
793 |
|
794 |
-
#: includes/class-mla-core-options.php:
|
795 |
msgid "Title/Name"
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: includes/class-mla-core-options.php:
|
799 |
msgid ""
|
800 |
"If you want to override the Media Manager default,<br> select a "
|
801 |
"column for the sort order of the Media Library listing."
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: includes/class-mla-core-options.php:
|
805 |
msgid "Media Manager Order"
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: includes/class-mla-core-options.php:
|
809 |
msgid "Attachment Display Settings"
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: includes/class-mla-core-options.php:
|
813 |
msgid "Media Manager Apply Display Settings"
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: includes/class-mla-core-options.php:
|
817 |
msgid ""
|
818 |
"Check this option to always start with the Attachment Display Settings set "
|
819 |
"here,<br> overriding browser-/cookie-based defaults."
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: includes/class-mla-core-options.php:
|
823 |
-
#: includes/class-mla-core-options.php:
|
824 |
msgid "Alignment"
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: includes/class-mla-core-options.php:
|
828 |
-
#: includes/class-mla-core-options.php:
|
829 |
-
#: includes/class-mla-core-options.php:
|
830 |
#, php-format
|
831 |
msgid ""
|
832 |
"Select a value for the default %1$s option in the Attachment Display "
|
833 |
"Settings."
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: includes/class-mla-core-options.php:
|
837 |
msgid "Left"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: includes/class-mla-core-options.php:
|
841 |
msgid "Center"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: includes/class-mla-core-options.php:
|
845 |
msgid "Right"
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: includes/class-mla-core-options.php:
|
849 |
-
#: includes/class-mla-core-options.php:
|
850 |
msgid "Link To"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: includes/class-mla-core-options.php:
|
854 |
msgid "Media File"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: includes/class-mla-core-options.php:
|
858 |
msgid "Attachment Page"
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: includes/class-mla-core-options.php:
|
862 |
msgid "Custom URL"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: includes/class-mla-core-options.php:
|
866 |
-
#: includes/class-mla-core-options.php:
|
867 |
msgid "Size"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: includes/class-mla-core-options.php:
|
871 |
-
#: includes/class-mla-thumbnail-generation.php:
|
872 |
-
#: includes/class-mla-thumbnail-generation.php:
|
873 |
msgid "Thumbnail"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: includes/class-mla-core-options.php:
|
877 |
msgid "Medium"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: includes/class-mla-core-options.php:
|
881 |
msgid "Large"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: includes/class-mla-core-options.php:
|
885 |
msgid "Full Size"
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: includes/class-mla-core-options.php:
|
889 |
msgid "Uninstall (Delete) Plugin Settings"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: includes/class-mla-core-options.php:
|
893 |
msgid "Delete Option Settings"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: includes/class-mla-core-options.php:
|
897 |
msgid ""
|
898 |
"Check this option to remove all MLA option settings from the database when "
|
899 |
"the plugin is deleted.<br> <strong>You can make a backup copy</"
|
900 |
"strong> of your settings below by clicking \""
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: includes/class-mla-core-options.php:
|
904 |
msgid "Export ALL Settings"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: includes/class-mla-core-options.php:
|
908 |
msgid "Delete Option Settings Backups"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: includes/class-mla-core-options.php:
|
912 |
msgid ""
|
913 |
"Check this option to remove the <code>/wp-content/mla-backup</code> "
|
914 |
"directory and its contents when the plugin is deleted."
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: includes/class-mla-core-options.php:
|
918 |
msgid "Default [mla_gallery] Templates and Settings"
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: includes/class-mla-core-options.php:
|
922 |
-
#: includes/class-mla-core-options.php:
|
923 |
-
#: includes/class-mla-core-options.php:
|
924 |
-
#: includes/class-mla-core-options.php:
|
925 |
msgid "Style Template"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#: includes/class-mla-core-options.php:
|
929 |
-
#: includes/class-mla-core-options.php:
|
930 |
-
#: includes/class-mla-core-options.php:
|
931 |
-
#: includes/class-mla-core-options.php:
|
932 |
#, php-format
|
933 |
msgid "Select the default %1$s for your %2$s shortcodes."
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: includes/class-mla-core-options.php:
|
937 |
-
#: includes/class-mla-core-options.php:
|
938 |
msgid "Markup Template"
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: includes/class-mla-core-options.php:
|
942 |
-
#: includes/class-mla-core-options.php:
|
943 |
#: includes/class-mla-settings-shortcodes-tab.php:85
|
944 |
msgid "markup template"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: includes/class-mla-core-options.php:
|
948 |
-
#: includes/class-mla-core-options.php:
|
949 |
msgid "Default columns"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: includes/class-mla-core-options.php:
|
953 |
msgid ""
|
954 |
"Enter the number of [mla_tag_cloud] columns; must be a positive integer."
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: includes/class-mla-core-options.php:
|
958 |
-
#: includes/class-mla-core-options.php:
|
959 |
msgid "Default mla_margin"
|
960 |
msgstr ""
|
961 |
|
962 |
-
#: includes/class-mla-core-options.php:
|
963 |
-
#: includes/class-mla-core-options.php:
|
964 |
msgid ""
|
965 |
"Enter the CSS \"margin\" property value, in length (px, em, pt, etc.), "
|
966 |
"percent (%), \"auto\" or \"inherit\".<br> Enter \"none\" to "
|
967 |
"remove the property entirely."
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: includes/class-mla-core-options.php:
|
971 |
-
#: includes/class-mla-core-options.php:
|
972 |
msgid "Default mla_itemwidth"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: includes/class-mla-core-options.php:
|
976 |
-
#: includes/class-mla-core-options.php:
|
977 |
msgid ""
|
978 |
"Enter the CSS \"width\" property value, in length (px, em, pt, etc.), "
|
979 |
"percent (%), \"auto\" or \"inherit\".<br> Enter \"calculate"
|
@@ -983,19 +1047,19 @@ msgid ""
|
|
983 |
"the property entirely."
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: includes/class-mla-core-options.php:
|
987 |
msgid "Enter the number of [mla_gallery] columns; must be a positive integer."
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: includes/class-mla-core-options.php:
|
991 |
msgid "Thumbnail Substitution Support, mla_viewer"
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: includes/class-mla-core-options.php:
|
995 |
msgid "Enable thumbnail substitution"
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: includes/class-mla-core-options.php:
|
999 |
msgid ""
|
1000 |
"Check this option to allow the \"mla_viewer\" to generate thumbnail images "
|
1001 |
"for PDF documents. Thumbnails are generated dynamically, each time the item "
|
@@ -1004,32 +1068,32 @@ msgid ""
|
|
1004 |
"strong>"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: includes/class-mla-core-options.php:
|
1008 |
msgid "Enable Featured Images"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: includes/class-mla-core-options.php:
|
1012 |
msgid ""
|
1013 |
"Check this option to extend Featured Image support to all Media Library "
|
1014 |
"items. The Featured Image can be used as a thumbnail image for the item in "
|
1015 |
"an [mla_gallery] display."
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: includes/class-mla-core-options.php:
|
1019 |
msgid "Enable Featured Image Generation"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: includes/class-mla-core-options.php:
|
1023 |
msgid ""
|
1024 |
"Check this option to enable the \"Thumbnail\" generation action in the Media/"
|
1025 |
"Assistant submenu Bulk Actions dropdown."
|
1026 |
msgstr ""
|
1027 |
|
1028 |
-
#: includes/class-mla-core-options.php:
|
1029 |
msgid "Enable explicit Ghostscript check"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#: includes/class-mla-core-options.php:
|
1033 |
msgid ""
|
1034 |
"Check this option to enable the explicit check for Ghostscript support "
|
1035 |
"required for thumbnail generation. If your Ghostscript software is in a non-"
|
@@ -1038,37 +1102,37 @@ msgid ""
|
|
1038 |
"leave this option checked unless you know it is safe to turn it off."
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: includes/class-mla-core-options.php:
|
1042 |
msgid "Ghostscript path"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: includes/class-mla-core-options.php:
|
1046 |
msgid ""
|
1047 |
"If your “gs” executable is in a non-standard location, enter the "
|
1048 |
"full path and filename here, e.g., “/usr/bin/gs”. It will "
|
1049 |
"override the search for Ghostscript in other places."
|
1050 |
msgstr ""
|
1051 |
|
1052 |
-
#: includes/class-mla-core-options.php:
|
1053 |
msgid "Enable custom field mapping"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
-
#: includes/class-mla-core-options.php:
|
1057 |
-
#: includes/class-mla-core-options.php:
|
1058 |
-
#: includes/class-mla-core-options.php:
|
1059 |
-
#: includes/class-mla-core-options.php:
|
1060 |
msgid "See Help menu."
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: includes/class-mla-core-options.php:
|
1064 |
msgid "Enable custom field mapping when adding new media"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: includes/class-mla-core-options.php:
|
1068 |
msgid "Enable custom field mapping when updating media metadata"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: includes/class-mla-core-options.php:
|
1072 |
msgid ""
|
1073 |
"Update the custom field mapping values above, then click Save Changes to "
|
1074 |
"make the updates permanent.<br>You can also make temporary updates and click "
|
@@ -1076,33 +1140,33 @@ msgid ""
|
|
1076 |
"saving any rule changes."
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: includes/class-mla-core-options.php:
|
1080 |
msgid "Enable IPTC/EXIF Mapping"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: includes/class-mla-core-options.php:
|
1084 |
msgid "Enable IPTC/EXIF Mapping when adding new media"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: includes/class-mla-core-options.php:
|
1088 |
msgid ""
|
1089 |
"Check this option to enable mapping when uploading new media (attachments)."
|
1090 |
"<br> Does NOT affect the operation of the \"Map\" buttons on the "
|
1091 |
"bulk edit, single edit and settings screens."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: includes/class-mla-core-options.php:
|
1095 |
msgid "Enable IPTC/EXIF Mapping when updating media metadata"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: includes/class-mla-core-options.php:
|
1099 |
msgid ""
|
1100 |
"Check this option to enable mapping when media (attachments) metadata is "
|
1101 |
"regenerated,<br> e.g., when the Media/Edit Media \"Edit Image\" "
|
1102 |
"functions are used."
|
1103 |
msgstr ""
|
1104 |
|
1105 |
-
#: includes/class-mla-core-options.php:
|
1106 |
msgid ""
|
1107 |
"Update the standard field mapping values above, then click <strong>Save "
|
1108 |
"Changes</strong> to make the updates permanent.<br>You can also make "
|
@@ -1111,13 +1175,13 @@ msgid ""
|
|
1111 |
"changes."
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: includes/class-mla-core-options.php:
|
1115 |
msgid ""
|
1116 |
"Update the taxonomy term mapping values above, then click <strong>Save "
|
1117 |
"Changes</strong> or <strong>Map All Attachments, Taxonomy Terms Now</strong>."
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: includes/class-mla-core-options.php:
|
1121 |
msgid ""
|
1122 |
"<strong>Update</strong> individual custom field mapping values above, or "
|
1123 |
"make several updates and click <strong>Save Changes</strong> below to apply "
|
@@ -1128,33 +1192,33 @@ msgid ""
|
|
1128 |
"changes."
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: includes/class-mla-core-options.php:
|
1132 |
msgid "IPTC/EXIF Mapping help"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: includes/class-mla-core-options.php:
|
1136 |
-
#: includes/class-mla-edit-media.php:
|
1137 |
msgid "Name/Slug"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
-
#: includes/class-mla-core-options.php:
|
1141 |
-
#: includes/class-mla-edit-media.php:
|
1142 |
-
#: includes/class-mla-main.php:
|
1143 |
#: includes/mla-main-search-box-template.php:51
|
1144 |
#: includes/mla-media-modal-js-template.php:48
|
1145 |
msgid "ALT Text"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: includes/class-mla-core-options.php:
|
1149 |
-
#: includes/class-mla-edit-media.php:
|
1150 |
#: includes/class-mla-options.php:462
|
1151 |
#: includes/mla-main-search-box-template.php:53
|
1152 |
#: includes/mla-media-modal-js-template.php:53
|
1153 |
msgid "Caption"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
-
#: includes/class-mla-core-options.php:
|
1157 |
-
#: includes/class-mla-edit-media.php:
|
1158 |
#: includes/class-mla-options.php:465
|
1159 |
#: includes/class-mla-settings-upload-tab.php:174
|
1160 |
#: includes/class-mla-settings-upload-tab.php:542
|
@@ -1171,266 +1235,268 @@ msgstr ""
|
|
1171 |
msgid "Description"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
-
#: includes/class-mla-core-options.php:1218
|
|
|
|
|
|
|
|
|
|
|
|
|
1175 |
msgid "Enable View and Post MIME Type Support"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#: includes/class-mla-core-options.php:
|
1179 |
msgid ""
|
1180 |
"Check/uncheck this option to enable/disable Post MIME Type Support, then "
|
1181 |
"click <strong>Save Changes</strong> to record the new setting."
|
1182 |
msgstr ""
|
1183 |
|
1184 |
-
#: includes/class-mla-core-options.php:
|
1185 |
msgid "Post MIME Types help."
|
1186 |
msgstr ""
|
1187 |
|
1188 |
-
#: includes/class-mla-core-options.php:
|
1189 |
-
#: includes/class-mla-mime-types.php:
|
1190 |
#: includes/class-mla-settings-custom-fields-tab.php:2454
|
1191 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
1192 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1193 |
#: includes/class-mla-settings-shortcodes-tab.php:1970
|
1194 |
msgctxt "table_view_singular"
|
1195 |
msgid "All"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: includes/class-mla-core-options.php:
|
1199 |
-
#: includes/class-mla-mime-types.php:
|
1200 |
#: includes/class-mla-settings-custom-fields-tab.php:2455
|
1201 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
1202 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1203 |
#: includes/class-mla-settings-shortcodes-tab.php:1971
|
1204 |
msgctxt "table_view_plural"
|
1205 |
msgid "All"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: includes/class-mla-core-options.php:
|
1209 |
-
#: includes/class-mla-core-options.php:
|
1210 |
-
#: includes/class-mla-core-options.php:
|
1211 |
-
#: includes/class-mla-core-options.php:
|
1212 |
msgctxt "post_mime_types_description"
|
1213 |
msgid "Built-in view"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: includes/class-mla-core-options.php:
|
1217 |
msgctxt "table_view_singular"
|
1218 |
msgid "Image"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: includes/class-mla-core-options.php:
|
1222 |
msgctxt "table_view_plural"
|
1223 |
msgid "Images"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
-
#: includes/class-mla-core-options.php:
|
1227 |
msgctxt "post_mime_types_description"
|
1228 |
msgid "All image subtypes"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
-
#: includes/class-mla-core-options.php:
|
1232 |
msgctxt "table_view_singular"
|
1233 |
msgid "Audio"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: includes/class-mla-core-options.php:
|
1237 |
msgctxt "table_view_plural"
|
1238 |
msgid "Audio"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
-
#: includes/class-mla-core-options.php:
|
1242 |
msgctxt "post_mime_types_description"
|
1243 |
msgid "All audio subtypes"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: includes/class-mla-core-options.php:
|
1247 |
msgctxt "table_view_singular"
|
1248 |
msgid "Video"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
-
#: includes/class-mla-core-options.php:
|
1252 |
msgctxt "table_view_plural"
|
1253 |
msgid "Video"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: includes/class-mla-core-options.php:
|
1257 |
msgctxt "post_mime_types_description"
|
1258 |
msgid "All video subtypes"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
-
#: includes/class-mla-core-options.php:
|
1262 |
msgctxt "table_view_singular"
|
1263 |
msgid "Text"
|
1264 |
msgstr ""
|
1265 |
|
1266 |
-
#: includes/class-mla-core-options.php:
|
1267 |
msgctxt "table_view_plural"
|
1268 |
msgid "Text"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: includes/class-mla-core-options.php:
|
1272 |
msgctxt "post_mime_types_description"
|
1273 |
msgid "All text subtypes"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: includes/class-mla-core-options.php:
|
1277 |
msgctxt "table_view_singular"
|
1278 |
msgid "Application"
|
1279 |
msgstr ""
|
1280 |
|
1281 |
-
#: includes/class-mla-core-options.php:
|
1282 |
msgctxt "table_view_plural"
|
1283 |
msgid "Applications"
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#: includes/class-mla-core-options.php:
|
1287 |
msgctxt "post_mime_types_description"
|
1288 |
msgid "All application subtypes"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
-
#: includes/class-mla-core-options.php:
|
1292 |
-
#: includes/class-mla-list-table.php:1545
|
1293 |
-
msgctxt "table_view_singular"
|
1294 |
-
msgid "Unattached"
|
1295 |
-
msgstr ""
|
1296 |
-
|
1297 |
-
#: includes/class-mla-core-options.php:1288
|
1298 |
msgctxt "table_view_plural"
|
1299 |
msgid "Unattached"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
-
#: includes/class-mla-core-options.php:
|
1303 |
msgctxt "table_view_singular"
|
1304 |
msgid "Attached"
|
1305 |
msgstr ""
|
1306 |
|
1307 |
-
#: includes/class-mla-core-options.php:
|
1308 |
msgctxt "table_view_plural"
|
1309 |
msgid "Attached"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: includes/class-mla-core-options.php:
|
1313 |
msgctxt "table_view_singular"
|
1314 |
msgid "Trash"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: includes/class-mla-core-options.php:
|
1318 |
msgctxt "table_view_plural"
|
1319 |
msgid "Trash"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#: includes/class-mla-core-options.php:
|
1323 |
msgid "Enable Upload MIME Type Support"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#: includes/class-mla-core-options.php:
|
1327 |
msgid ""
|
1328 |
"Check/uncheck this option to enable/disable Upload MIME Type Support, then "
|
1329 |
"click <strong>Save Changes</strong> to record the new setting."
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: includes/class-mla-core-options.php:
|
1333 |
msgid "Upload MIME Types help."
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: includes/class-mla-core-options.php:
|
1337 |
msgid "Enable MLA File Type Icons Support"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: includes/class-mla-core-options.php:
|
1341 |
msgid ""
|
1342 |
"Check/uncheck this option to enable/disable MLA File Type Icons Support, "
|
1343 |
"then click <strong>Save Changes</strong> to record the new setting."
|
1344 |
msgstr ""
|
1345 |
|
1346 |
-
#: includes/class-mla-core-options.php:
|
1347 |
msgid "Display Limit"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
-
#: includes/class-mla-core-options.php:
|
1351 |
msgid ""
|
1352 |
"Enter the maximum number of debug log characters to display; enter zero or "
|
1353 |
"leave blank for no limit."
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: includes/class-mla-core-options.php:
|
1357 |
msgid "Debug File"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: includes/class-mla-core-options.php:
|
1361 |
msgid ""
|
1362 |
"Enter the name of an alternate, MLA-specific debug log file; leave blank to "
|
1363 |
-
"use the PHP error_log
|
|
|
|
|
1364 |
msgstr ""
|
1365 |
|
1366 |
-
#: includes/class-mla-core-options.php:
|
1367 |
msgid "Replace PHP error_log file"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
-
#: includes/class-mla-core-options.php:
|
1371 |
msgid ""
|
1372 |
"Check this option to replace the PHP error_log file with the MLA Debug File."
|
1373 |
"<br> allows capture of PHP messages in the MLA Debug File."
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: includes/class-mla-core-options.php:
|
1377 |
msgid "PHP Reporting"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: includes/class-mla-core-options.php:
|
1381 |
msgid ""
|
1382 |
"Enter a numeric error_reporting value, e.g., 0x7FFF or 32767; leave blank to "
|
1383 |
"use the existing PHP error_reporting value."
|
1384 |
msgstr ""
|
1385 |
|
1386 |
-
#: includes/class-mla-core-options.php:
|
1387 |
msgid "MLA Reporting"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
-
#: includes/class-mla-core-options.php:
|
1391 |
msgid ""
|
1392 |
"Enter a numeric MLA_DEBUG_LEVEL value, e.g., 0x0003 or 3; leave blank to use "
|
1393 |
"the existing MLA_DEBUG_LEVEL value."
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: includes/class-mla-core.php:
|
1397 |
#, php-format
|
1398 |
msgctxt "error_log"
|
1399 |
msgid "%1$s: mla_load_template file \"%2$s\" not found."
|
1400 |
msgstr ""
|
1401 |
|
1402 |
-
#: includes/class-mla-core.php:
|
1403 |
#, php-format
|
1404 |
msgctxt "error_log"
|
1405 |
msgid "%1$s: mla_load_template file \"%2$s\" bad source type \"%3$s\"."
|
1406 |
msgstr ""
|
1407 |
|
1408 |
-
#: includes/class-mla-core.php:
|
1409 |
#, php-format
|
1410 |
msgid "%1$s: Bad specification part \"%2$s\""
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: includes/class-mla-core.php:
|
1414 |
#, php-format
|
1415 |
msgid "%1$s: Bad specification option \"%2$s\""
|
1416 |
msgstr ""
|
1417 |
|
1418 |
-
#: includes/class-mla-core.php:
|
1419 |
#, php-format
|
1420 |
msgid "%1$s: Bad specification prefix \"%2$s\""
|
1421 |
msgstr ""
|
1422 |
|
1423 |
-
#: includes/class-mla-core.php:
|
1424 |
msgid "Most Used"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: includes/class-mla-core.php:
|
1428 |
#, php-format
|
1429 |
msgid "+ %s"
|
1430 |
msgstr ""
|
1431 |
|
1432 |
-
#: includes/class-mla-core.php:
|
1433 |
-
#: includes/class-mla-media-modal.php:
|
1434 |
#: includes/mla-media-modal-js-template.php:28
|
1435 |
#: includes/mla-media-modal-js-template.php:75
|
1436 |
msgid "Search"
|
@@ -1483,8 +1549,8 @@ msgstr ""
|
|
1483 |
|
1484 |
#: includes/class-mla-data-query.php:294
|
1485 |
#: includes/class-mla-settings-custom-fields-tab.php:1202
|
1486 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
1487 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1488 |
#: includes/class-mla-settings-shortcodes-tab.php:950
|
1489 |
msgctxt "list_table_column"
|
1490 |
msgid "Name"
|
@@ -1530,16 +1596,16 @@ msgctxt "list_table_column"
|
|
1530 |
msgid "Caption"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#: includes/class-mla-data-query.php:303 includes/class-mla-mime-types.php:
|
1534 |
-
#: includes/class-mla-mime-types.php:
|
1535 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
1536 |
#: includes/class-mla-settings-shortcodes-tab.php:953
|
1537 |
msgctxt "list_table_column"
|
1538 |
msgid "Description"
|
1539 |
msgstr ""
|
1540 |
|
1541 |
-
#: includes/class-mla-data-query.php:304 includes/class-mla-mime-types.php:
|
1542 |
-
#: includes/class-mla-mime-types.php:
|
1543 |
msgctxt "list_table_column"
|
1544 |
msgid "MIME Type"
|
1545 |
msgstr ""
|
@@ -1574,19 +1640,19 @@ msgctxt "list_table_column"
|
|
1574 |
msgid "Attached to"
|
1575 |
msgstr ""
|
1576 |
|
1577 |
-
#: includes/class-mla-data-query.php:
|
1578 |
-
#: includes/class-mla-main.php:
|
1579 |
-
#: includes/class-mla-media-modal.php:
|
1580 |
-
#: includes/class-mla-mime-types.php:
|
1581 |
-
#: includes/class-mla-mime-types.php:
|
1582 |
#: includes/class-mla-settings-custom-fields-tab.php:552
|
1583 |
#: includes/class-mla-settings-custom-fields-tab.php:718
|
1584 |
#: includes/class-mla-settings-custom-fields-tab.php:2029
|
1585 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
1586 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
1587 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1588 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1589 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1590 |
#: includes/class-mla-settings-shortcodes-tab.php:503
|
1591 |
#: includes/class-mla-settings-shortcodes-tab.php:1627
|
1592 |
#: includes/class-mla-settings-upload-tab.php:301
|
@@ -1596,101 +1662,95 @@ msgctxt "error_log"
|
|
1596 |
msgid "%1$s: %2$s non-array \"%3$s\""
|
1597 |
msgstr ""
|
1598 |
|
1599 |
-
#: includes/class-mla-data-query.php:
|
1600 |
#, php-format
|
1601 |
msgctxt "error_log"
|
1602 |
msgid "%1$s: _execute_list_table_query $wp_filter = \"%2$s\"."
|
1603 |
msgstr ""
|
1604 |
|
1605 |
-
#: includes/class-mla-data-query.php:
|
1606 |
-
#: includes/class-mla-data-query.php:
|
1607 |
-
#: includes/class-mla-data-query.php:
|
1608 |
-
#: includes/class-mla-data-query.php:
|
1609 |
-
#: includes/class-mla-data-query.php:
|
1610 |
-
#: includes/class-mla-data-query.php:
|
1611 |
-
#: includes/class-mla-data-query.php:
|
1612 |
-
#: includes/class-mla-data-query.php:
|
1613 |
-
#: includes/class-mla-data-query.php:
|
1614 |
msgid "DEBUG"
|
1615 |
msgstr ""
|
1616 |
|
1617 |
-
#: includes/class-mla-data-query.php:
|
1618 |
#, php-format
|
1619 |
msgctxt "error_log"
|
1620 |
msgid "%1$s: _execute_list_table_query WP_Query = \"%2$s\"."
|
1621 |
msgstr ""
|
1622 |
|
1623 |
-
#: includes/class-mla-data-query.php:
|
1624 |
#, php-format
|
1625 |
msgctxt "error_log"
|
1626 |
msgid "%1$s: _execute_list_table_query SQL_request = \"%2$s\"."
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#: includes/class-mla-data-query.php:
|
1630 |
#, php-format
|
1631 |
msgctxt "error_log"
|
1632 |
msgid "%1$s: mla_query_posts_search_filter = \"%2$s\"."
|
1633 |
msgstr ""
|
1634 |
|
1635 |
-
#: includes/class-mla-data-query.php:
|
1636 |
#, php-format
|
1637 |
msgctxt "error_log"
|
1638 |
msgid "%1$s: mla_query_posts_where_filter = \"%2$s\"."
|
1639 |
msgstr ""
|
1640 |
|
1641 |
-
#: includes/class-mla-data-query.php:
|
1642 |
#, php-format
|
1643 |
msgctxt "error_log"
|
1644 |
msgid "%1$s: mla_query_posts_join_filter = \"%2$s\"."
|
1645 |
msgstr ""
|
1646 |
|
1647 |
-
#: includes/class-mla-data-query.php:
|
1648 |
#, php-format
|
1649 |
msgctxt "error_log"
|
1650 |
msgid "%1$s: mla_query_posts_orderby_filter = \"%2$s\"."
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#: includes/class-mla-data-query.php:
|
1654 |
#, php-format
|
1655 |
msgctxt "error_log"
|
1656 |
msgid "%1$s: mla_query_posts_clauses_filter = \"%2$s\"."
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: includes/class-mla-data-query.php:
|
1660 |
#, php-format
|
1661 |
msgctxt "error_log"
|
1662 |
msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#: includes/class-mla-data-references.php:
|
1666 |
-
#: includes/class-mla-data-references.php:
|
1667 |
-
#: includes/class-mla-
|
1668 |
-
|
1669 |
-
msgstr ""
|
1670 |
-
|
1671 |
-
#: includes/class-mla-data-references.php:327
|
1672 |
-
#: includes/class-mla-data-references.php:670
|
1673 |
-
#: includes/class-mla-data-source.php:688
|
1674 |
-
#: includes/class-mla-data-source.php:689
|
1675 |
msgid "ORPHAN"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
-
#: includes/class-mla-data-references.php:
|
1679 |
-
#: includes/class-mla-data-references.php:
|
1680 |
msgid "UNUSED"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
-
#: includes/class-mla-data-references.php:
|
1684 |
-
#: includes/class-mla-data-references.php:
|
1685 |
msgid "UNATTACHED"
|
1686 |
msgstr ""
|
1687 |
|
1688 |
-
#: includes/class-mla-data-references.php:
|
1689 |
-
#: includes/class-mla-data-references.php:
|
1690 |
msgid "INVALID PARENT"
|
1691 |
msgstr ""
|
1692 |
|
1693 |
-
#: includes/class-mla-data-references.php:
|
1694 |
#, php-format
|
1695 |
msgid "(%1$s) %2$s (ID %3$d) query \"%4$s\" failed, returning \"%5$s\""
|
1696 |
msgstr ""
|
@@ -1737,7 +1797,7 @@ msgctxt "error_log"
|
|
1737 |
msgid "%1$s: _evaluate_template_node unknown type \"%2$s\"."
|
1738 |
msgstr ""
|
1739 |
|
1740 |
-
#: includes/class-mla-data.php:
|
1741 |
#, php-format
|
1742 |
msgctxt "error_log"
|
1743 |
msgid ""
|
@@ -1745,34 +1805,34 @@ msgid ""
|
|
1745 |
"\"."
|
1746 |
msgstr ""
|
1747 |
|
1748 |
-
#: includes/class-mla-data.php:
|
1749 |
#, php-format
|
1750 |
msgctxt "error_log"
|
1751 |
msgid "%1$s: mla_get_attachment_by_id(%2$d) not found."
|
1752 |
msgstr ""
|
1753 |
|
1754 |
-
#: includes/class-mla-data.php:
|
1755 |
#, php-format
|
1756 |
msgctxt "error_log"
|
1757 |
msgid "%1$s: mla_get_attachment_by_id(%2$d) wrong post_type \"%3$s\"."
|
1758 |
msgstr ""
|
1759 |
|
1760 |
-
#: includes/class-mla-data.php:
|
1761 |
msgctxt "error_log"
|
1762 |
msgid "mla_parse_xmp_metadata xml_parse_into_struct failed."
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: includes/class-mla-data.php:
|
1766 |
msgctxt "error_log"
|
1767 |
msgid "mla_parse_xmp_metadata set option failed."
|
1768 |
msgstr ""
|
1769 |
|
1770 |
-
#: includes/class-mla-data.php:
|
1771 |
#: includes/class-mla-settings-custom-fields-tab.php:810
|
1772 |
#: includes/class-mla-settings-custom-fields-tab.php:1515
|
1773 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1774 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1775 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1776 |
#: includes/class-mla-settings-view-tab.php:398
|
1777 |
#: includes/class-mla-settings-view-tab.php:799
|
1778 |
#: includes/class-mla-settings-view-tab.php:815
|
@@ -1780,12 +1840,12 @@ msgstr ""
|
|
1780 |
msgid "Yes"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
-
#: includes/class-mla-data.php:
|
1784 |
#: includes/class-mla-settings-custom-fields-tab.php:811
|
1785 |
#: includes/class-mla-settings-custom-fields-tab.php:1517
|
1786 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1787 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1788 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1789 |
#: includes/class-mla-settings-view-tab.php:397
|
1790 |
#: includes/class-mla-settings-view-tab.php:801
|
1791 |
#: includes/class-mla-settings-view-tab.php:817
|
@@ -1793,166 +1853,167 @@ msgstr ""
|
|
1793 |
msgid "No"
|
1794 |
msgstr ""
|
1795 |
|
1796 |
-
#: includes/class-mla-data.php:
|
1797 |
#, php-format
|
1798 |
msgid "Deleting %1$s"
|
1799 |
msgstr ""
|
1800 |
|
1801 |
-
#: includes/class-mla-data.php:
|
1802 |
#, php-format
|
1803 |
msgid "%1$s: meta:%2$s not found"
|
1804 |
msgstr ""
|
1805 |
|
1806 |
-
#: includes/class-mla-data.php:
|
1807 |
-
#: includes/class-mla-data.php:
|
1808 |
#, php-format
|
1809 |
msgid "Adding %1$s = %2$s"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
-
#: includes/class-mla-data.php:
|
1813 |
#, php-format
|
1814 |
msgid "%1$s: Adding meta:%2$s; not found"
|
1815 |
msgstr ""
|
1816 |
|
1817 |
-
#: includes/class-mla-data.php:
|
1818 |
#, php-format
|
1819 |
msgid "Deleting Null meta:%1$s"
|
1820 |
msgstr ""
|
1821 |
|
1822 |
-
#: includes/class-mla-data.php:
|
1823 |
-
#: includes/class-mla-data.php:
|
1824 |
-
#: includes/class-mla-data.php:
|
1825 |
-
#: includes/class-mla-data.php:
|
1826 |
-
#: includes/class-mla-data.php:
|
1827 |
-
#: includes/class-mla-data.php:
|
1828 |
-
#: includes/class-mla-
|
1829 |
-
#: includes/class-mla-mime-types.php:
|
|
|
1830 |
#, php-format
|
1831 |
msgid "Changing %1$s from \"%2$s\" to \"%3$s\""
|
1832 |
msgstr ""
|
1833 |
|
1834 |
-
#: includes/class-mla-data.php:
|
1835 |
#, php-format
|
1836 |
msgid "%1$s: Changing meta:%2$s; not found"
|
1837 |
msgstr ""
|
1838 |
|
1839 |
-
#: includes/class-mla-data.php:
|
1840 |
#, php-format
|
1841 |
msgid "Deleting old %1$s values"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
-
#: includes/class-mla-data.php:
|
1845 |
#, php-format
|
1846 |
msgid "Changing %1$s from \"%2$s\" to \"%3$s\"; %4$d updates"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
-
#: includes/class-mla-data.php:
|
1850 |
msgid "Could not retrieve Attachment."
|
1851 |
msgstr ""
|
1852 |
|
1853 |
-
#: includes/class-mla-data.php:
|
1854 |
#, php-format
|
1855 |
msgid "%1$s: Could not change Name/Slug \"%2$s\"; name already exists"
|
1856 |
msgstr ""
|
1857 |
|
1858 |
-
#: includes/class-mla-data.php:
|
1859 |
#, php-format
|
1860 |
msgid "Deleting ALT Text, was \"%1$s\""
|
1861 |
msgstr ""
|
1862 |
|
1863 |
-
#: includes/class-mla-data.php:
|
1864 |
#, php-format
|
1865 |
msgid "%1$s: Could not delete ALT Text, remains \"%2$s\""
|
1866 |
msgstr ""
|
1867 |
|
1868 |
-
#: includes/class-mla-data.php:
|
1869 |
#, php-format
|
1870 |
msgid "%1$s: Could not change ALT Text from \"%2$s\" to \"%3$s\""
|
1871 |
msgstr ""
|
1872 |
|
1873 |
-
#: includes/class-mla-data.php:
|
1874 |
-
#: includes/class-mla-list-table.php:
|
1875 |
-
#: includes/class-mla-list-table.php:
|
1876 |
-
#: includes/class-mla-list-table.php:
|
1877 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1878 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
1879 |
msgid "Parent"
|
1880 |
msgstr ""
|
1881 |
|
1882 |
-
#: includes/class-mla-data.php:
|
1883 |
-
#: includes/class-mla-edit-media.php:
|
1884 |
#: includes/class-mla-settings-view-tab.php:130
|
1885 |
#: includes/class-mla-settings-view-tab.php:386
|
1886 |
msgid "Menu Order"
|
1887 |
msgstr ""
|
1888 |
|
1889 |
-
#: includes/class-mla-data.php:
|
1890 |
-
#: includes/class-mla-list-table.php:
|
1891 |
-
#: includes/class-mla-list-table.php:
|
1892 |
-
#: includes/class-mla-main.php:
|
1893 |
msgid "Author"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
-
#: includes/class-mla-data.php:
|
1897 |
-
#: includes/class-mla-main.php:
|
1898 |
msgid "Comments"
|
1899 |
msgstr ""
|
1900 |
|
1901 |
-
#: includes/class-mla-data.php:
|
1902 |
-
#: includes/class-mla-main.php:
|
1903 |
msgid "Pings"
|
1904 |
msgstr ""
|
1905 |
|
1906 |
-
#: includes/class-mla-data.php:
|
1907 |
#, php-format
|
1908 |
msgid "You cannot assign \"%1$s\" terms"
|
1909 |
msgstr ""
|
1910 |
|
1911 |
-
#: includes/class-mla-data.php:
|
1912 |
msgctxt "tag delimiter"
|
1913 |
msgid ","
|
1914 |
msgstr ""
|
1915 |
|
1916 |
-
#: includes/class-mla-data.php:
|
1917 |
msgid "Adding"
|
1918 |
msgstr ""
|
1919 |
|
1920 |
-
#: includes/class-mla-data.php:
|
1921 |
msgid "Removing"
|
1922 |
msgstr ""
|
1923 |
|
1924 |
-
#: includes/class-mla-data.php:
|
1925 |
msgid "Replacing"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
-
#: includes/class-mla-data.php:
|
1929 |
msgid "Ignoring"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
-
#: includes/class-mla-data.php:
|
1933 |
#, php-format
|
1934 |
msgid "%1$s \"%2$s\" terms"
|
1935 |
msgstr ""
|
1936 |
|
1937 |
-
#: includes/class-mla-data.php:
|
1938 |
#, php-format
|
1939 |
msgid "Item %1$d, no changes detected."
|
1940 |
msgstr ""
|
1941 |
|
1942 |
-
#: includes/class-mla-data.php:
|
1943 |
#, php-format
|
1944 |
msgid "Item %1$d updated."
|
1945 |
msgstr ""
|
1946 |
|
1947 |
-
#: includes/class-mla-data.php:
|
1948 |
#, php-format
|
1949 |
msgid "%1$s: Item %2$d update failed."
|
1950 |
msgstr ""
|
1951 |
|
1952 |
#: includes/class-mla-edit-media.php:133 includes/class-mla-edit-media.php:184
|
1953 |
-
#: includes/class-mla-edit-media.php:237 includes/class-mla-main.php:
|
1954 |
-
#: includes/class-mla-main.php:
|
1955 |
-
#: includes/class-mla-media-modal.php:
|
1956 |
#: includes/class-mla-polylang-support.php:367
|
1957 |
#: includes/class-mla-settings-custom-fields-tab.php:59
|
1958 |
#: includes/class-mla-settings-custom-fields-tab.php:94
|
@@ -1969,7 +2030,7 @@ msgstr ""
|
|
1969 |
msgid "Upload New Media items"
|
1970 |
msgstr ""
|
1971 |
|
1972 |
-
#: includes/class-mla-edit-media.php:180 includes/class-mla-edit-media.php:
|
1973 |
msgid "Open Bulk Edit area"
|
1974 |
msgstr ""
|
1975 |
|
@@ -1978,200 +2039,275 @@ msgid "Close Bulk Edit area"
|
|
1978 |
msgstr ""
|
1979 |
|
1980 |
#: includes/class-mla-edit-media.php:185 includes/class-mla-edit-media.php:239
|
1981 |
-
#: includes/class-mla-main.php:
|
1982 |
msgid "An ajax.fail error has occurred. Please reload the page and try again."
|
1983 |
msgstr ""
|
1984 |
|
1985 |
#: includes/class-mla-edit-media.php:186 includes/class-mla-edit-media.php:240
|
1986 |
-
#: includes/class-mla-main.php:
|
1987 |
msgid "An ajax.done error has occurred. Please reload the page and try again."
|
1988 |
msgstr ""
|
1989 |
|
1990 |
-
#: includes/class-mla-edit-media.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1991 |
msgid "more"
|
1992 |
msgstr ""
|
1993 |
|
1994 |
-
#: includes/class-mla-edit-media.php:
|
1995 |
msgid "less"
|
1996 |
msgstr ""
|
1997 |
|
1998 |
-
#: includes/class-mla-edit-media.php:
|
1999 |
-
#: includes/class-mla-main.php:
|
2000 |
msgid "Add"
|
2001 |
msgstr ""
|
2002 |
|
2003 |
-
#: includes/class-mla-edit-media.php:
|
2004 |
-
#: includes/class-mla-main.php:
|
2005 |
msgid "Remove"
|
2006 |
msgstr ""
|
2007 |
|
2008 |
-
#: includes/class-mla-edit-media.php:
|
2009 |
-
#: includes/class-mla-main.php:
|
2010 |
#: includes/class-mla-settings-custom-fields-tab.php:481
|
2011 |
#: includes/class-mla-settings-custom-fields-tab.php:781
|
2012 |
#: includes/class-mla-settings-custom-fields-tab.php:1501
|
2013 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2014 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2015 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2016 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2017 |
msgid "Replace"
|
2018 |
msgstr ""
|
2019 |
|
2020 |
-
#: includes/class-mla-edit-media.php:
|
2021 |
msgid ""
|
2022 |
"IMPORTANT: Make your entries BEFORE uploading new items. Pull down the Help "
|
2023 |
"menu for more information."
|
2024 |
msgstr ""
|
2025 |
|
2026 |
-
#: includes/class-mla-edit-media.php:
|
2027 |
-
#: includes/class-mla-settings.php:
|
2028 |
msgid "Reset"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
-
#: includes/class-mla-edit-media.php:
|
2032 |
-
#: includes/class-mla-main.php:
|
2033 |
#: includes/class-mla-settings-custom-fields-tab.php:809
|
2034 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2035 |
#: includes/class-mla-settings-upload-tab.php:122
|
2036 |
#: includes/class-mla-settings-upload-tab.php:553
|
2037 |
#: includes/class-mla-settings-view-tab.php:396
|
2038 |
msgid "No Change"
|
2039 |
msgstr ""
|
2040 |
|
2041 |
-
#: includes/class-mla-edit-media.php:
|
2042 |
msgid "Allow"
|
2043 |
msgstr ""
|
2044 |
|
2045 |
-
#: includes/class-mla-edit-media.php:
|
2046 |
msgid "Do not allow"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
-
#: includes/class-mla-edit-media.php:
|
2050 |
-
#: includes/class-mla-list-table.php:
|
2051 |
msgid "Parent ID"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
-
#: includes/class-mla-edit-media.php:
|
2055 |
-
#: includes/class-mla-main.php:
|
2056 |
#: includes/class-mla-settings-upload-tab.php:1469
|
2057 |
msgid "Select"
|
2058 |
msgstr ""
|
2059 |
|
2060 |
-
#: includes/class-mla-edit-media.php:
|
2061 |
msgid "Custom field mapping updated."
|
2062 |
msgstr ""
|
2063 |
|
2064 |
-
#: includes/class-mla-edit-media.php:
|
2065 |
msgid "IPTC/EXIF mapping updated."
|
2066 |
msgstr ""
|
2067 |
|
2068 |
-
#: includes/class-mla-edit-media.php:
|
2069 |
msgid "Custom field mapping is disabled."
|
2070 |
msgstr ""
|
2071 |
|
2072 |
-
#: includes/class-mla-edit-media.php:
|
2073 |
msgid "IPTC/EXIF mapping is disabled."
|
2074 |
msgstr ""
|
2075 |
|
2076 |
-
#: includes/class-mla-edit-media.php:
|
2077 |
-
msgid "
|
2078 |
msgstr ""
|
2079 |
|
2080 |
-
#: includes/class-mla-edit-media.php:
|
2081 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2082 |
msgstr ""
|
2083 |
|
2084 |
-
#: includes/class-mla-edit-media.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2085 |
msgid "Map Custom Field metadata for this item"
|
2086 |
msgstr ""
|
2087 |
|
2088 |
-
#: includes/class-mla-edit-media.php:
|
2089 |
-
#: includes/class-mla-main.php:
|
2090 |
msgid "Map Custom Field metadata"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
-
#: includes/class-mla-edit-media.php:
|
2094 |
msgid "Map IPTC/EXIF metadata for this item"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
-
#: includes/class-mla-edit-media.php:
|
2098 |
-
#: includes/class-mla-main.php:
|
2099 |
msgid "Map IPTC/EXIF metadata"
|
2100 |
msgstr ""
|
2101 |
|
2102 |
-
#: includes/class-mla-edit-media.php:
|
2103 |
msgid "Parent Info"
|
2104 |
msgstr ""
|
2105 |
|
2106 |
-
#: includes/class-mla-edit-media.php:
|
2107 |
msgid "Attachment Metadata"
|
2108 |
msgstr ""
|
2109 |
|
2110 |
-
#: includes/class-mla-edit-media.php:
|
2111 |
-
#: includes/class-mla-main.php:
|
2112 |
#, php-format
|
2113 |
msgctxt "error_log"
|
2114 |
msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
-
#: includes/class-mla-edit-media.php:
|
2118 |
-
msgctxt "post state"
|
2119 |
-
msgid "Pending"
|
2120 |
-
msgstr ""
|
2121 |
-
|
2122 |
-
#: includes/class-mla-edit-media.php:849
|
2123 |
msgid "Post Parent"
|
2124 |
msgstr ""
|
2125 |
|
2126 |
-
#: includes/class-mla-edit-media.php:
|
2127 |
msgid "Select Parent"
|
2128 |
msgstr ""
|
2129 |
|
2130 |
-
#: includes/class-mla-edit-media.php:917 includes/class-mla-edit-media.php:955
|
2131 |
-
#: includes/class-mla-edit-media.php:991 includes/class-mla-edit-media.php:1026
|
2132 |
-
#: includes/class-mla-list-table.php:1154
|
2133 |
-
#: includes/class-mla-list-table.php:1203
|
2134 |
-
#: includes/class-mla-list-table.php:1249
|
2135 |
-
#: includes/class-mla-list-table.php:1294
|
2136 |
-
msgid "PARENT"
|
2137 |
-
msgstr ""
|
2138 |
-
|
2139 |
#: includes/class-mla-list-table.php:181 includes/class-mla-list-table.php:217
|
2140 |
msgid "All"
|
2141 |
msgstr ""
|
2142 |
|
2143 |
-
#: includes/class-mla-list-table.php:
|
2144 |
msgctxt "show_option_none"
|
2145 |
msgid "No"
|
2146 |
msgstr ""
|
2147 |
|
2148 |
-
#: includes/class-mla-list-table.php:
|
2149 |
#: includes/class-mla-settings-custom-fields-tab.php:997
|
2150 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2151 |
#: includes/class-mla-settings-upload-tab.php:647
|
2152 |
#: includes/class-mla-settings-view-tab.php:490
|
2153 |
msgid "List View"
|
2154 |
msgstr ""
|
2155 |
|
2156 |
-
#: includes/class-mla-list-table.php:
|
2157 |
-
#: includes/class-mla-list-table.php:
|
2158 |
-
#: includes/class-mla-list-table.php:
|
2159 |
-
#: includes/class-mla-list-table.php:
|
2160 |
-
#: includes/class-mla-list-table.php:
|
2161 |
-
#: includes/class-mla-list-table.php:
|
2162 |
-
#: includes/class-mla-list-table.php:
|
2163 |
msgid "Filter by"
|
2164 |
msgstr ""
|
2165 |
|
2166 |
-
#: includes/class-mla-list-table.php:
|
2167 |
#: includes/class-mla-media-modal-ajax.php:490
|
2168 |
msgid "Not Supported"
|
2169 |
msgstr ""
|
2170 |
|
2171 |
-
#: includes/class-mla-list-table.php:
|
2172 |
#: includes/class-mla-settings-custom-fields-tab.php:1291
|
2173 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2174 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2175 |
#: includes/class-mla-settings-shortcodes-tab.php:1023
|
2176 |
#: includes/class-mla-settings-upload-tab.php:858
|
2177 |
#: includes/class-mla-settings-upload-tab.php:1416
|
@@ -2180,92 +2316,67 @@ msgstr ""
|
|
2180 |
msgid "column_default: %1$s, %2$s"
|
2181 |
msgstr ""
|
2182 |
|
2183 |
-
#: includes/class-mla-list-table.php:
|
2184 |
-
#: includes/class-mla-list-table.php:987 includes/class-mla-list-table.php:1159
|
2185 |
-
#: includes/class-mla-list-table.php:1208
|
2186 |
-
#: includes/class-mla-list-table.php:1254
|
2187 |
-
#: includes/class-mla-list-table.php:1299
|
2188 |
-
#: includes/class-mla-list-table.php:1521
|
2189 |
-
#: includes/class-mla-list-table.php:1847
|
2190 |
-
#: includes/class-mla-polylang-support.php:366
|
2191 |
-
#: includes/class-mla-settings-custom-fields-tab.php:1344
|
2192 |
-
#: includes/class-mla-settings-custom-fields-tab.php:1683
|
2193 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:1423
|
2194 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:1790
|
2195 |
-
#: includes/class-mla-settings-shortcodes-tab.php:1071
|
2196 |
-
#: includes/class-mla-settings-upload-tab.php:923
|
2197 |
-
#: includes/class-mla-settings-upload-tab.php:1212
|
2198 |
-
#: includes/class-mla-settings-view-tab.php:720
|
2199 |
-
#: includes/class-mla-settings-view-tab.php:922
|
2200 |
-
msgid "Edit"
|
2201 |
-
msgstr ""
|
2202 |
-
|
2203 |
-
#: includes/class-mla-list-table.php:637
|
2204 |
-
#: includes/class-mla-thumbnail-generation.php:633
|
2205 |
-
msgid "Trash"
|
2206 |
-
msgstr ""
|
2207 |
-
|
2208 |
-
#: includes/class-mla-list-table.php:727
|
2209 |
msgid "Restore this item from the Trash"
|
2210 |
msgstr ""
|
2211 |
|
2212 |
-
#: includes/class-mla-list-table.php:
|
2213 |
msgid "Restore"
|
2214 |
msgstr ""
|
2215 |
|
2216 |
-
#: includes/class-mla-list-table.php:
|
2217 |
#: includes/class-mla-settings-custom-fields-tab.php:1344
|
2218 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2219 |
#: includes/class-mla-settings-shortcodes-tab.php:1071
|
2220 |
#: includes/class-mla-settings-upload-tab.php:923
|
2221 |
#: includes/class-mla-settings-view-tab.php:720
|
2222 |
msgid "Edit this item"
|
2223 |
msgstr ""
|
2224 |
|
2225 |
-
#: includes/class-mla-list-table.php:
|
2226 |
#: includes/class-mla-settings-custom-fields-tab.php:1347
|
2227 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2228 |
#: includes/class-mla-settings-upload-tab.php:925
|
2229 |
#: includes/class-mla-settings-view-tab.php:722
|
2230 |
msgid "Edit this item inline"
|
2231 |
msgstr ""
|
2232 |
|
2233 |
-
#: includes/class-mla-list-table.php:
|
2234 |
-
#: includes/class-mla-options.php:
|
2235 |
#: includes/class-mla-settings-custom-fields-tab.php:472
|
2236 |
#: includes/class-mla-settings-custom-fields-tab.php:772
|
2237 |
#: includes/class-mla-settings-custom-fields-tab.php:1347
|
2238 |
#: includes/class-mla-settings-custom-fields-tab.php:1457
|
2239 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2240 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2241 |
#: includes/class-mla-settings-upload-tab.php:925
|
2242 |
#: includes/class-mla-settings-view-tab.php:722
|
2243 |
msgid "Quick Edit"
|
2244 |
msgstr ""
|
2245 |
|
2246 |
-
#: includes/class-mla-list-table.php:
|
2247 |
msgid "Move this item to the Trash"
|
2248 |
msgstr ""
|
2249 |
|
2250 |
-
#: includes/class-mla-list-table.php:
|
2251 |
msgid "Move to Trash"
|
2252 |
msgstr ""
|
2253 |
|
2254 |
-
#: includes/class-mla-list-table.php:
|
2255 |
#: includes/class-mla-settings-custom-fields-tab.php:1355
|
2256 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2257 |
#: includes/class-mla-settings-shortcodes-tab.php:1077
|
2258 |
#: includes/class-mla-settings-upload-tab.php:929
|
2259 |
#: includes/class-mla-settings-view-tab.php:728
|
2260 |
msgid "Delete this item Permanently"
|
2261 |
msgstr ""
|
2262 |
|
2263 |
-
#: includes/class-mla-list-table.php:
|
2264 |
-
#: includes/class-mla-list-table.php:
|
2265 |
#: includes/class-mla-settings-custom-fields-tab.php:1355
|
2266 |
#: includes/class-mla-settings-custom-fields-tab.php:1684
|
2267 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2268 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2269 |
#: includes/class-mla-settings-shortcodes-tab.php:1077
|
2270 |
#: includes/class-mla-settings-upload-tab.php:929
|
2271 |
#: includes/class-mla-settings-view-tab.php:728
|
@@ -2273,96 +2384,92 @@ msgstr ""
|
|
2273 |
msgid "Delete Permanently"
|
2274 |
msgstr ""
|
2275 |
|
2276 |
-
#: includes/class-mla-list-table.php:
|
2277 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2278 |
-
#: includes/class-mla-settings.php:
|
2279 |
msgid "Download"
|
2280 |
msgstr ""
|
2281 |
|
2282 |
-
#: includes/class-mla-list-table.php:
|
2283 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2284 |
#: includes/class-mla-settings-shortcodes-tab.php:1069
|
2285 |
#: includes/class-mla-settings-view-tab.php:374
|
2286 |
msgid "View"
|
2287 |
msgstr ""
|
2288 |
|
2289 |
-
#: includes/class-mla-list-table.php:
|
2290 |
msgid "File name"
|
2291 |
msgstr ""
|
2292 |
|
2293 |
-
#: includes/class-mla-list-table.php:
|
2294 |
msgid "(no title: bad ID)"
|
2295 |
msgstr ""
|
2296 |
|
2297 |
-
#: includes/class-mla-list-table.php:
|
2298 |
#: includes/class-mla-settings-upload-tab.php:167
|
2299 |
#: includes/class-mla-settings-upload-tab.php:536
|
2300 |
msgid "MIME Type"
|
2301 |
msgstr ""
|
2302 |
|
2303 |
-
#: includes/class-mla-list-table.php:
|
2304 |
msgid "Base File"
|
2305 |
msgstr ""
|
2306 |
|
2307 |
-
#: includes/class-mla-list-table.php:
|
2308 |
-
#: includes/class-mla-list-table.php:
|
2309 |
msgid "Unpublished"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
-
#: includes/class-mla-list-table.php:
|
2313 |
-
#: includes/class-mla-list-table.php:
|
2314 |
#, php-format
|
2315 |
msgid "%1$s from now"
|
2316 |
msgstr ""
|
2317 |
|
2318 |
-
#: includes/class-mla-list-table.php:
|
2319 |
-
#: includes/class-mla-list-table.php:
|
2320 |
#, php-format
|
2321 |
msgid "%1$s ago"
|
2322 |
msgstr ""
|
2323 |
|
2324 |
-
#: includes/class-mla-list-table.php:
|
2325 |
-
msgid "(Private post)"
|
2326 |
-
msgstr ""
|
2327 |
-
|
2328 |
-
#: includes/class-mla-list-table.php:1549
|
2329 |
msgid "Set Parent"
|
2330 |
msgstr ""
|
2331 |
|
2332 |
-
#: includes/class-mla-list-table.php:
|
2333 |
msgctxt "uploaded files"
|
2334 |
msgid "All"
|
2335 |
msgid_plural "All"
|
2336 |
msgstr[0] ""
|
2337 |
msgstr[1] ""
|
2338 |
|
2339 |
-
#: includes/class-mla-list-table.php:
|
2340 |
#: includes/class-mla-settings-custom-fields-tab.php:1749
|
2341 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2342 |
#: includes/class-mla-settings-shortcodes-tab.php:1345
|
2343 |
msgid "Filter"
|
2344 |
msgstr ""
|
2345 |
|
2346 |
-
#: includes/class-mla-list-table.php:
|
2347 |
#: includes/mla-media-modal-js-template.php:72
|
2348 |
msgid "Terms Search"
|
2349 |
msgstr ""
|
2350 |
|
2351 |
-
#: includes/class-mla-list-table.php:
|
2352 |
-
#: includes/class-mla-polylang-support.php:
|
2353 |
-
#: includes/class-mla-thumbnail-generation.php:
|
2354 |
msgid "Clear Filter-by"
|
2355 |
msgstr ""
|
2356 |
|
2357 |
-
#: includes/class-mla-list-table.php:
|
2358 |
msgid "Empty Trash"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
-
#: includes/class-mla-main.php:
|
2362 |
msgid "Error while saving the changes."
|
2363 |
msgstr ""
|
2364 |
|
2365 |
-
#: includes/class-mla-main.php:
|
2366 |
#: includes/class-mla-settings-custom-fields-tab.php:57
|
2367 |
#: includes/class-mla-settings-custom-fields-tab.php:92
|
2368 |
#: includes/class-mla-settings-iptc-exif-tab.php:57
|
@@ -2372,77 +2479,85 @@ msgstr ""
|
|
2372 |
msgid "Remove From Bulk Edit"
|
2373 |
msgstr ""
|
2374 |
|
2375 |
-
#: includes/class-mla-main.php:
|
2376 |
msgid "Bulk Edit items"
|
2377 |
msgstr ""
|
2378 |
|
2379 |
-
#: includes/class-mla-main.php:
|
2380 |
#: includes/class-mla-settings-custom-fields-tab.php:63
|
2381 |
#: includes/class-mla-settings-iptc-exif-tab.php:63
|
2382 |
msgid "Waiting"
|
2383 |
msgstr ""
|
2384 |
|
2385 |
-
#: includes/class-mla-main.php:
|
2386 |
#: includes/class-mla-settings-custom-fields-tab.php:65
|
2387 |
#: includes/class-mla-settings-iptc-exif-tab.php:65
|
2388 |
msgid "Complete"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
-
#: includes/class-mla-main.php:
|
2392 |
#: includes/class-mla-settings-custom-fields-tab.php:66
|
2393 |
#: includes/class-mla-settings-iptc-exif-tab.php:66
|
2394 |
msgid "Unchanged"
|
2395 |
msgstr ""
|
2396 |
|
2397 |
-
#: includes/class-mla-main.php:
|
2398 |
#: includes/class-mla-settings-custom-fields-tab.php:67
|
2399 |
#: includes/class-mla-settings-iptc-exif-tab.php:67
|
2400 |
msgid "Succeeded"
|
2401 |
msgstr ""
|
2402 |
|
2403 |
-
#: includes/class-mla-main.php:
|
2404 |
#: includes/class-mla-settings-custom-fields-tab.php:68
|
2405 |
#: includes/class-mla-settings-iptc-exif-tab.php:68
|
2406 |
msgid "Failed"
|
2407 |
msgstr ""
|
2408 |
|
2409 |
-
#: includes/class-mla-main.php:
|
2410 |
msgid "CANCELED"
|
2411 |
msgstr ""
|
2412 |
|
2413 |
-
#: includes/class-mla-main.php:
|
2414 |
#, php-format
|
2415 |
msgid "Item permanently deleted."
|
2416 |
msgid_plural "%d items permanently deleted."
|
2417 |
msgstr[0] ""
|
2418 |
msgstr[1] ""
|
2419 |
|
2420 |
-
#: includes/class-mla-main.php:
|
2421 |
#, php-format
|
2422 |
msgid "Item %1$d moved to Trash."
|
2423 |
msgstr ""
|
2424 |
|
2425 |
-
#: includes/class-mla-main.php:
|
2426 |
-
msgid "
|
|
|
|
|
|
|
|
|
2427 |
msgstr ""
|
2428 |
|
2429 |
-
#: includes/class-mla-main.php:
|
|
|
|
|
|
|
|
|
2430 |
msgid "You are not allowed to edit Attachment: "
|
2431 |
msgstr ""
|
2432 |
|
2433 |
-
#: includes/class-mla-main.php:
|
2434 |
#, php-format
|
2435 |
msgid "%1$s: Unknown bulk action %2$s"
|
2436 |
msgstr ""
|
2437 |
|
2438 |
-
#: includes/class-mla-main.php:
|
2439 |
msgid "no changes detected"
|
2440 |
msgstr ""
|
2441 |
|
2442 |
-
#: includes/class-mla-main.php:
|
2443 |
#: includes/class-mla-settings-custom-fields-tab.php:607
|
2444 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2445 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2446 |
#: includes/class-mla-settings-shortcodes-tab.php:564
|
2447 |
#: includes/class-mla-settings-upload-tab.php:411
|
2448 |
#: includes/class-mla-settings-view-tab.php:254
|
@@ -2450,11 +2565,11 @@ msgstr ""
|
|
2450 |
msgid "Bulk Action %1$s - no items selected."
|
2451 |
msgstr ""
|
2452 |
|
2453 |
-
#: includes/class-mla-main.php:
|
2454 |
msgid "You do not have permission to manage attachments."
|
2455 |
msgstr ""
|
2456 |
|
2457 |
-
#: includes/class-mla-main.php:
|
2458 |
#, php-format
|
2459 |
msgctxt "deleted items"
|
2460 |
msgid "%s item deleted."
|
@@ -2462,18 +2577,18 @@ msgid_plural "%s items deleted."
|
|
2462 |
msgstr[0] ""
|
2463 |
msgstr[1] ""
|
2464 |
|
2465 |
-
#: includes/class-mla-main.php:
|
2466 |
msgid "No items deleted."
|
2467 |
msgstr ""
|
2468 |
|
2469 |
-
#: includes/class-mla-main.php:
|
2470 |
msgid "Empty Terms Search; ignored"
|
2471 |
msgstr ""
|
2472 |
|
2473 |
-
#: includes/class-mla-main.php:
|
2474 |
#: includes/class-mla-settings-custom-fields-tab.php:634
|
2475 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2476 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2477 |
#: includes/class-mla-settings-shortcodes-tab.php:593
|
2478 |
#: includes/class-mla-settings-upload-tab.php:450
|
2479 |
#: includes/class-mla-settings-view-tab.php:291
|
@@ -2481,26 +2596,26 @@ msgstr ""
|
|
2481 |
msgid "Unknown mla_admin_action - \"%1$s\""
|
2482 |
msgstr ""
|
2483 |
|
2484 |
-
#: includes/class-mla-main.php:
|
2485 |
msgid "term search results for"
|
2486 |
msgstr ""
|
2487 |
|
2488 |
-
#: includes/class-mla-main.php:
|
2489 |
msgid "post/parent results for"
|
2490 |
msgstr ""
|
2491 |
|
2492 |
-
#: includes/class-mla-main.php:
|
2493 |
msgid "search results for"
|
2494 |
msgstr ""
|
2495 |
|
2496 |
-
#: includes/class-mla-main.php:
|
2497 |
-
#: includes/class-mla-main.php:
|
2498 |
#: includes/class-mla-settings-custom-fields-tab.php:511
|
2499 |
#: includes/class-mla-settings-custom-fields-tab.php:813
|
2500 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2501 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2502 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2503 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2504 |
#: includes/class-mla-settings-shortcodes-tab.php:479
|
2505 |
#: includes/class-mla-settings-upload-tab.php:176
|
2506 |
#: includes/class-mla-settings-upload-tab.php:550
|
@@ -2509,86 +2624,66 @@ msgstr ""
|
|
2509 |
msgid "Update"
|
2510 |
msgstr ""
|
2511 |
|
2512 |
-
#: includes/class-mla-main.php:
|
2513 |
msgid "All Post Types"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
-
#: includes/class-mla-main.php:
|
2517 |
msgid "For"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
-
#: includes/class-mla-main.php:
|
2521 |
#: includes/class-mla-shortcode-support.php:1036
|
2522 |
msgid "Unattached"
|
2523 |
msgstr ""
|
2524 |
|
2525 |
-
#: includes/class-mla-main.php:
|
2526 |
-
#: includes/class-mla-polylang-support.php:2043
|
2527 |
-
#: includes/class-mla-settings-custom-fields-tab.php:509
|
2528 |
-
#: includes/class-mla-settings-custom-fields-tab.php:730
|
2529 |
-
#: includes/class-mla-settings-custom-fields-tab.php:812
|
2530 |
-
#: includes/class-mla-settings-documentation-tab.php:167
|
2531 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:518
|
2532 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:812
|
2533 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:896
|
2534 |
-
#: includes/class-mla-settings-shortcodes-tab.php:405
|
2535 |
-
#: includes/class-mla-settings-shortcodes-tab.php:476
|
2536 |
-
#: includes/class-mla-settings-upload-tab.php:177
|
2537 |
-
#: includes/class-mla-settings-upload-tab.php:251
|
2538 |
-
#: includes/class-mla-settings-upload-tab.php:549
|
2539 |
-
#: includes/class-mla-settings-view-tab.php:135
|
2540 |
-
#: includes/class-mla-settings-view-tab.php:393
|
2541 |
-
#: includes/class-mla-thumbnail-generation.php:639
|
2542 |
-
msgid "Cancel"
|
2543 |
-
msgstr ""
|
2544 |
-
|
2545 |
-
#: includes/class-mla-main.php:2059 includes/class-mla-options.php:1140
|
2546 |
#: includes/class-mla-settings-custom-fields-tab.php:475
|
2547 |
#: includes/class-mla-settings-custom-fields-tab.php:775
|
2548 |
#: includes/class-mla-settings-custom-fields-tab.php:1461
|
2549 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2550 |
#: includes/class-mla-settings-upload-tab.php:551
|
2551 |
#: includes/class-mla-settings-view-tab.php:395
|
2552 |
msgid "Bulk Edit"
|
2553 |
msgstr ""
|
2554 |
|
2555 |
-
#: includes/class-mla-main.php:
|
2556 |
msgid "In-process"
|
2557 |
msgstr ""
|
2558 |
|
2559 |
-
#: includes/class-mla-main.php:
|
2560 |
msgid "You are not allowed to delete this item."
|
2561 |
msgstr ""
|
2562 |
|
2563 |
-
#: includes/class-mla-main.php:
|
2564 |
#, php-format
|
2565 |
msgid "%1$s: Item %2$d could NOT be deleted."
|
2566 |
msgstr ""
|
2567 |
|
2568 |
-
#: includes/class-mla-main.php:
|
2569 |
#, php-format
|
2570 |
msgid "Item %1$d permanently deleted."
|
2571 |
msgstr ""
|
2572 |
|
2573 |
-
#: includes/class-mla-main.php:
|
2574 |
msgid "You are not allowed to move this item out of the Trash."
|
2575 |
msgstr ""
|
2576 |
|
2577 |
-
#: includes/class-mla-main.php:
|
2578 |
#, php-format
|
2579 |
msgid "%1$s: Item %2$d could NOT be restored from Trash."
|
2580 |
msgstr ""
|
2581 |
|
2582 |
-
#: includes/class-mla-main.php:
|
2583 |
#, php-format
|
2584 |
msgid "Item %1$d restored from Trash."
|
2585 |
msgstr ""
|
2586 |
|
2587 |
-
#: includes/class-mla-main.php:
|
2588 |
msgid "You are not allowed to move this item to the Trash."
|
2589 |
msgstr ""
|
2590 |
|
2591 |
-
#: includes/class-mla-main.php:
|
2592 |
#, php-format
|
2593 |
msgid "%1$s: Item %2$d could NOT be moved to Trash."
|
2594 |
msgstr ""
|
@@ -2606,7 +2701,7 @@ msgid "Tags"
|
|
2606 |
msgstr ""
|
2607 |
|
2608 |
#: includes/class-mla-media-modal-ajax.php:452
|
2609 |
-
#: includes/class-mla-objects.php:50 includes/class-mla-objects.php:
|
2610 |
#: includes/class-mla-settings-upload-tab.php:532
|
2611 |
#: includes/class-mla-settings-view-tab.php:374
|
2612 |
#, php-format
|
@@ -2617,330 +2712,330 @@ msgstr ""
|
|
2617 |
msgid "Choose from the most used tags"
|
2618 |
msgstr ""
|
2619 |
|
2620 |
-
#: includes/class-mla-media-modal.php:
|
2621 |
msgid "Show all dates"
|
2622 |
msgstr ""
|
2623 |
|
2624 |
-
#: includes/class-mla-media-modal.php:
|
2625 |
#, php-format
|
2626 |
msgid "%1$s %2$d"
|
2627 |
msgstr ""
|
2628 |
|
2629 |
-
#: includes/class-mla-media-modal.php:
|
2630 |
msgid "Search Box"
|
2631 |
msgstr ""
|
2632 |
|
2633 |
-
#: includes/class-mla-media-modal.php:
|
2634 |
msgid "Loading..."
|
2635 |
msgstr ""
|
2636 |
|
2637 |
-
#: includes/class-mla-media-modal.php:
|
2638 |
-
#: includes/class-mla-media-modal.php:
|
2639 |
msgid "Search Terms"
|
2640 |
msgstr ""
|
2641 |
|
2642 |
-
#: includes/class-mla-media-modal.php:
|
2643 |
msgid "There are no taxonomies to search"
|
2644 |
msgstr ""
|
2645 |
|
2646 |
-
#: includes/class-mla-media-modal.php:
|
2647 |
msgid "All phrases"
|
2648 |
msgstr ""
|
2649 |
|
2650 |
-
#: includes/class-mla-media-modal.php:
|
2651 |
msgid "Any phrase"
|
2652 |
msgstr ""
|
2653 |
|
2654 |
-
#: includes/class-mla-media-modal.php:
|
2655 |
msgid "All terms"
|
2656 |
msgstr ""
|
2657 |
|
2658 |
-
#: includes/class-mla-media-modal.php:
|
2659 |
msgid "Any term"
|
2660 |
msgstr ""
|
2661 |
|
2662 |
-
#: includes/class-mla-media-modal.php:
|
2663 |
msgid "Exact"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
-
#: includes/class-mla-mime-types.php:
|
2667 |
msgctxt "post_mime_types"
|
2668 |
msgid "Manage"
|
2669 |
msgstr ""
|
2670 |
|
2671 |
-
#: includes/class-mla-mime-types.php:
|
2672 |
msgctxt "list_table_column"
|
2673 |
msgid "Extension"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
-
#: includes/class-mla-mime-types.php:
|
2677 |
msgctxt "list_table_column"
|
2678 |
msgid "Icon Type"
|
2679 |
msgstr ""
|
2680 |
|
2681 |
-
#: includes/class-mla-mime-types.php:
|
2682 |
#: includes/class-mla-settings-custom-fields-tab.php:1204
|
2683 |
msgctxt "list_table_column"
|
2684 |
msgid "Source"
|
2685 |
msgstr ""
|
2686 |
|
2687 |
-
#: includes/class-mla-mime-types.php:
|
2688 |
#: includes/class-mla-settings-custom-fields-tab.php:1207
|
2689 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2690 |
msgctxt "list_table_column"
|
2691 |
msgid "Status"
|
2692 |
msgstr ""
|
2693 |
|
2694 |
-
#: includes/class-mla-mime-types.php:
|
2695 |
msgctxt "list_table_column"
|
2696 |
msgid "WordPress Type"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
-
#: includes/class-mla-mime-types.php:
|
2700 |
msgctxt "list_table_column"
|
2701 |
msgid "MLA Type"
|
2702 |
msgstr ""
|
2703 |
|
2704 |
-
#: includes/class-mla-mime-types.php:
|
2705 |
msgctxt "list_table_column"
|
2706 |
msgid "Std. Source"
|
2707 |
msgstr ""
|
2708 |
|
2709 |
-
#: includes/class-mla-mime-types.php:
|
2710 |
msgctxt "list_table_column"
|
2711 |
msgid "Std. Icon Type"
|
2712 |
msgstr ""
|
2713 |
|
2714 |
-
#: includes/class-mla-mime-types.php:
|
2715 |
msgctxt "list_table_column"
|
2716 |
msgid "Slug"
|
2717 |
msgstr ""
|
2718 |
|
2719 |
-
#: includes/class-mla-mime-types.php:
|
2720 |
msgctxt "list_table_column"
|
2721 |
msgid "Specification"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
-
#: includes/class-mla-mime-types.php:
|
2725 |
msgctxt "list_table_column"
|
2726 |
msgid "Post Mime"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
-
#: includes/class-mla-mime-types.php:
|
2730 |
msgctxt "list_table_column"
|
2731 |
msgid "Table View"
|
2732 |
msgstr ""
|
2733 |
|
2734 |
-
#: includes/class-mla-mime-types.php:
|
2735 |
msgctxt "list_table_column"
|
2736 |
msgid "Singular Name"
|
2737 |
msgstr ""
|
2738 |
|
2739 |
-
#: includes/class-mla-mime-types.php:
|
2740 |
msgctxt "list_table_column"
|
2741 |
msgid "Plural Name"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
-
#: includes/class-mla-mime-types.php:
|
2745 |
msgctxt "list_table_column"
|
2746 |
msgid "Order"
|
2747 |
msgstr ""
|
2748 |
|
2749 |
-
#: includes/class-mla-mime-types.php:
|
2750 |
msgctxt "post_mime_types_description"
|
2751 |
msgid "Copied from previous filter/plugin"
|
2752 |
msgstr ""
|
2753 |
|
2754 |
-
#: includes/class-mla-mime-types.php:
|
2755 |
-
#: includes/class-mla-mime-types.php:
|
2756 |
msgid "Ignoring specification for Post MIME Type; using slug"
|
2757 |
msgstr ""
|
2758 |
|
2759 |
-
#: includes/class-mla-mime-types.php:
|
2760 |
-
#: includes/class-mla-mime-types.php:
|
2761 |
#, php-format
|
2762 |
msgid "<br>Changing %1$s \"%2$s\" to valid value \"%3$s\""
|
2763 |
msgstr ""
|
2764 |
|
2765 |
-
#: includes/class-mla-mime-types.php:
|
2766 |
-
#: includes/class-mla-mime-types.php:
|
2767 |
-
#: includes/class-mla-mime-types.php:
|
2768 |
#: includes/class-mla-settings-view-tab.php:119
|
2769 |
#: includes/class-mla-settings-view-tab.php:375
|
2770 |
msgid "Slug"
|
2771 |
msgstr ""
|
2772 |
|
2773 |
-
#: includes/class-mla-mime-types.php:
|
2774 |
-
#: includes/class-mla-mime-types.php:
|
2775 |
#, php-format
|
2776 |
msgid "%1$s: Could not add Slug \"%2$s\"; value already exists"
|
2777 |
msgstr ""
|
2778 |
|
2779 |
-
#: includes/class-mla-mime-types.php:
|
2780 |
#, php-format
|
2781 |
msgid "Edit view \"%1$s\"; added"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
-
#: includes/class-mla-mime-types.php:
|
2785 |
-
#: includes/class-mla-mime-types.php:
|
2786 |
#, php-format
|
2787 |
msgid "<br>Changing new %1$s \"%2$s\" to valid value \"%3$s\""
|
2788 |
msgstr ""
|
2789 |
|
2790 |
-
#: includes/class-mla-mime-types.php:
|
2791 |
#, php-format
|
2792 |
msgid "Edit view \"%1$s\"; no changes detected"
|
2793 |
msgstr ""
|
2794 |
|
2795 |
-
#: includes/class-mla-mime-types.php:
|
2796 |
#, php-format
|
2797 |
msgid "Edit view \"%1$s\"; updated"
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: includes/class-mla-mime-types.php:
|
2801 |
#, php-format
|
2802 |
msgid "View \"%1$s\" reverted to standard"
|
2803 |
msgstr ""
|
2804 |
|
2805 |
-
#: includes/class-mla-mime-types.php:
|
2806 |
#, php-format
|
2807 |
msgid "View \"%1$s\" deleted"
|
2808 |
msgstr ""
|
2809 |
|
2810 |
-
#: includes/class-mla-mime-types.php:
|
2811 |
#, php-format
|
2812 |
msgid "%1$s: Did not find view \"%2$s\""
|
2813 |
msgstr ""
|
2814 |
|
2815 |
-
#: includes/class-mla-mime-types.php:
|
2816 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2817 |
msgctxt "table_view_singular"
|
2818 |
msgid "Active"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
-
#: includes/class-mla-mime-types.php:
|
2822 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2823 |
msgctxt "table_view_plural"
|
2824 |
msgid "Active"
|
2825 |
msgstr ""
|
2826 |
|
2827 |
-
#: includes/class-mla-mime-types.php:
|
2828 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2829 |
msgctxt "table_view_singular"
|
2830 |
msgid "Inactive"
|
2831 |
msgstr ""
|
2832 |
|
2833 |
-
#: includes/class-mla-mime-types.php:
|
2834 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
2835 |
msgctxt "table_view_plural"
|
2836 |
msgid "Inactive"
|
2837 |
msgstr ""
|
2838 |
|
2839 |
-
#: includes/class-mla-mime-types.php:
|
2840 |
msgctxt "table_view_singular"
|
2841 |
msgid "WordPress"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
-
#: includes/class-mla-mime-types.php:
|
2845 |
msgctxt "table_view_plural"
|
2846 |
msgid "WordPress"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
-
#: includes/class-mla-mime-types.php:
|
2850 |
msgctxt "table_view_singular"
|
2851 |
msgid "MLA"
|
2852 |
msgstr ""
|
2853 |
|
2854 |
-
#: includes/class-mla-mime-types.php:
|
2855 |
msgctxt "table_view_plural"
|
2856 |
msgid "MLA"
|
2857 |
msgstr ""
|
2858 |
|
2859 |
-
#: includes/class-mla-mime-types.php:
|
2860 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2861 |
msgctxt "table_view_singular"
|
2862 |
msgid "Custom"
|
2863 |
msgstr ""
|
2864 |
|
2865 |
-
#: includes/class-mla-mime-types.php:
|
2866 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
2867 |
msgctxt "table_view_plural"
|
2868 |
msgid "Custom"
|
2869 |
msgstr ""
|
2870 |
|
2871 |
-
#: includes/class-mla-mime-types.php:
|
2872 |
msgid "icon"
|
2873 |
msgstr ""
|
2874 |
|
2875 |
-
#: includes/class-mla-mime-types.php:
|
2876 |
-
#: includes/class-mla-mime-types.php:
|
2877 |
msgid "Cannot load Upload MIME Types"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
-
#: includes/class-mla-mime-types.php:
|
2881 |
msgid "Extension is required"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
-
#: includes/class-mla-mime-types.php:
|
2885 |
-
#: includes/class-mla-mime-types.php:
|
2886 |
-
#: includes/class-mla-mime-types.php:
|
2887 |
#: includes/class-mla-settings-upload-tab.php:165
|
2888 |
#: includes/class-mla-settings-upload-tab.php:534
|
2889 |
msgid "Extension"
|
2890 |
msgstr ""
|
2891 |
|
2892 |
-
#: includes/class-mla-mime-types.php:
|
2893 |
#, php-format
|
2894 |
msgid "%1$s: Could not add extension \"%2$s\"; value already exists"
|
2895 |
msgstr ""
|
2896 |
|
2897 |
-
#: includes/class-mla-mime-types.php:
|
2898 |
msgid "MIME type is required"
|
2899 |
msgstr ""
|
2900 |
|
2901 |
-
#: includes/class-mla-mime-types.php:
|
2902 |
-
#: includes/class-mla-mime-types.php:
|
2903 |
#, php-format
|
2904 |
msgid "%1$s: Bad MIME type; try \"%2$s\""
|
2905 |
msgstr ""
|
2906 |
|
2907 |
-
#: includes/class-mla-mime-types.php:
|
2908 |
#, php-format
|
2909 |
msgid "Upload MIME Type \"%1$s\"; added"
|
2910 |
msgstr ""
|
2911 |
|
2912 |
-
#: includes/class-mla-mime-types.php:
|
2913 |
-
#: includes/class-mla-mime-types.php:
|
2914 |
-
#: includes/class-mla-mime-types.php:
|
2915 |
msgid "Cannot update Upload MIME Types"
|
2916 |
msgstr ""
|
2917 |
|
2918 |
-
#: includes/class-mla-mime-types.php:
|
2919 |
#, php-format
|
2920 |
msgid "%1$s: Could not add new extension \"%2$s\"; value already exists"
|
2921 |
msgstr ""
|
2922 |
|
2923 |
-
#: includes/class-mla-mime-types.php:
|
2924 |
#, php-format
|
2925 |
msgid "Edit type \"%1$s\"; no changes detected"
|
2926 |
msgstr ""
|
2927 |
|
2928 |
-
#: includes/class-mla-mime-types.php:
|
2929 |
#, php-format
|
2930 |
msgid "Edit type \"%1$s\"; updated"
|
2931 |
msgstr ""
|
2932 |
|
2933 |
-
#: includes/class-mla-mime-types.php:
|
2934 |
#, php-format
|
2935 |
msgid "Upload MIME Type \"%1$s\"; reverted to standard"
|
2936 |
msgstr ""
|
2937 |
|
2938 |
-
#: includes/class-mla-mime-types.php:
|
2939 |
#, php-format
|
2940 |
msgid "Upload MIME Type \"%1$s\"; deleted"
|
2941 |
msgstr ""
|
2942 |
|
2943 |
-
#: includes/class-mla-mime-types.php:
|
2944 |
#, php-format
|
2945 |
msgid "%1$s: Did not find Upload type \"%2$s\""
|
2946 |
msgstr ""
|
@@ -2983,41 +3078,41 @@ msgstr ""
|
|
2983 |
msgid "New Att. Category Name"
|
2984 |
msgstr ""
|
2985 |
|
2986 |
-
#: includes/class-mla-objects.php:
|
2987 |
msgctxt "taxonomy_name_plural"
|
2988 |
msgid "Att. Tags"
|
2989 |
msgstr ""
|
2990 |
|
2991 |
-
#: includes/class-mla-objects.php:
|
2992 |
msgctxt "taxonomy_name_singular"
|
2993 |
msgid "Att. Tag"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
-
#: includes/class-mla-objects.php:
|
2997 |
msgid "Search Att. Tags"
|
2998 |
msgstr ""
|
2999 |
|
3000 |
-
#: includes/class-mla-objects.php:
|
3001 |
msgid "All Att. Tags"
|
3002 |
msgstr ""
|
3003 |
|
3004 |
-
#: includes/class-mla-objects.php:
|
3005 |
msgid "Parent Att. Tag"
|
3006 |
msgstr ""
|
3007 |
|
3008 |
-
#: includes/class-mla-objects.php:
|
3009 |
msgid "Edit Att. Tag"
|
3010 |
msgstr ""
|
3011 |
|
3012 |
-
#: includes/class-mla-objects.php:
|
3013 |
msgid "Update Att. Tag"
|
3014 |
msgstr ""
|
3015 |
|
3016 |
-
#: includes/class-mla-objects.php:
|
3017 |
msgid "Att. Tag"
|
3018 |
msgstr ""
|
3019 |
|
3020 |
-
#: includes/class-mla-objects.php:
|
3021 |
msgid "New Att. Tag Name"
|
3022 |
msgstr ""
|
3023 |
|
@@ -3025,30 +3120,30 @@ msgstr ""
|
|
3025 |
msgid "Attachments"
|
3026 |
msgstr ""
|
3027 |
|
3028 |
-
#: includes/class-mla-objects.php:
|
3029 |
#, php-format
|
3030 |
msgctxt "error_log"
|
3031 |
msgid ""
|
3032 |
"%1$s: mla_taxonomy_column_filter( \"%2$s\" ) - get_term failed: \"%3$s\""
|
3033 |
msgstr ""
|
3034 |
|
3035 |
-
#: includes/class-mla-objects.php:
|
3036 |
msgid "click to search"
|
3037 |
msgstr ""
|
3038 |
|
3039 |
-
#: includes/class-mla-objects.php:
|
3040 |
msgid "Shortcode(s), HTML and/or Plain Text"
|
3041 |
msgstr ""
|
3042 |
|
3043 |
-
#: includes/class-mla-objects.php:
|
3044 |
msgid "MLA Text"
|
3045 |
msgstr ""
|
3046 |
|
3047 |
-
#: includes/class-mla-objects.php:
|
3048 |
msgid "Automatically add paragraphs"
|
3049 |
msgstr ""
|
3050 |
|
3051 |
-
#: includes/class-mla-objects.php:
|
3052 |
msgid "Add .textwidget div tags"
|
3053 |
msgstr ""
|
3054 |
|
@@ -3061,7 +3156,7 @@ msgid "tpls/mla-option-templates.tpl not found"
|
|
3061 |
msgstr ""
|
3062 |
|
3063 |
#: includes/class-mla-options.php:217 includes/class-mla-options.php:421
|
3064 |
-
#: includes/class-mla-options.php:502
|
3065 |
#, php-format
|
3066 |
msgid "%1$s: Custom %2$s unknown action \"%3$s\""
|
3067 |
msgstr ""
|
@@ -3124,11 +3219,13 @@ msgid "Checked On Top ignored; %1$s not supported."
|
|
3124 |
msgstr ""
|
3125 |
|
3126 |
#: includes/class-mla-options.php:411 includes/class-mla-options.php:492
|
|
|
3127 |
#, php-format
|
3128 |
msgid "Update custom %1$s"
|
3129 |
msgstr ""
|
3130 |
|
3131 |
#: includes/class-mla-options.php:418 includes/class-mla-options.php:499
|
|
|
3132 |
#, php-format
|
3133 |
msgid "Reset custom %1$s"
|
3134 |
msgstr ""
|
@@ -3148,8 +3245,8 @@ msgstr ""
|
|
3148 |
#: includes/class-mla-options.php:456
|
3149 |
#: includes/class-mla-settings-custom-fields-tab.php:455
|
3150 |
#: includes/class-mla-settings-custom-fields-tab.php:759
|
3151 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3152 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3153 |
#: includes/class-mla-settings-shortcodes-tab.php:401
|
3154 |
#: includes/class-mla-settings-shortcodes-tab.php:472
|
3155 |
#: includes/mla-main-search-box-template.php:49
|
@@ -3169,171 +3266,171 @@ msgstr ""
|
|
3169 |
msgid "Terms"
|
3170 |
msgstr ""
|
3171 |
|
3172 |
-
#: includes/class-mla-options.php:
|
3173 |
-
#: includes/class-mla-options.php:
|
3174 |
#: includes/class-mla-settings-upload-tab.php:128
|
3175 |
msgid "None (select a value)"
|
3176 |
msgstr ""
|
3177 |
|
3178 |
-
#: includes/class-mla-options.php:
|
3179 |
msgid "Metadata (see below)"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
-
#: includes/class-mla-options.php:
|
3183 |
msgid "Template (see below)"
|
3184 |
msgstr ""
|
3185 |
|
3186 |
-
#: includes/class-mla-options.php:
|
3187 |
#, php-format
|
3188 |
msgid "%1$s: New field %2$s already exists."
|
3189 |
msgstr ""
|
3190 |
|
3191 |
-
#: includes/class-mla-options.php:
|
3192 |
#, php-format
|
3193 |
msgid "Adding new field %1$s."
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#: includes/class-mla-options.php:
|
3197 |
#, php-format
|
3198 |
msgid "Adding new rule for %1$s."
|
3199 |
msgstr ""
|
3200 |
|
3201 |
-
#: includes/class-mla-options.php:
|
3202 |
-
#: includes/class-mla-options.php:
|
3203 |
#, php-format
|
3204 |
msgid "Deleting rule for %1$s."
|
3205 |
msgstr ""
|
3206 |
|
3207 |
-
#: includes/class-mla-options.php:
|
3208 |
-
#: includes/class-mla-options.php:
|
3209 |
-
#: includes/class-mla-options.php:
|
3210 |
-
#: includes/class-mla-options.php:
|
3211 |
-
#: includes/class-mla-options.php:
|
3212 |
-
#: includes/class-mla-options.php:
|
3213 |
-
#: includes/class-mla-options.php:
|
3214 |
-
#: includes/class-mla-options.php:
|
3215 |
#, php-format
|
3216 |
msgid "%1$s changing %2$s from %3$s to %4$s."
|
3217 |
msgstr ""
|
3218 |
|
3219 |
-
#: includes/class-mla-options.php:
|
3220 |
#: includes/class-mla-settings-custom-fields-tab.php:463
|
3221 |
#: includes/class-mla-settings-custom-fields-tab.php:763
|
3222 |
msgid "Data Source"
|
3223 |
msgstr ""
|
3224 |
|
3225 |
-
#: includes/class-mla-options.php:
|
3226 |
-
#: includes/class-mla-options.php:
|
3227 |
msgid "Replace to Keep"
|
3228 |
msgstr ""
|
3229 |
|
3230 |
-
#: includes/class-mla-options.php:
|
3231 |
-
#: includes/class-mla-options.php:
|
3232 |
msgid "Keep to Replace"
|
3233 |
msgstr ""
|
3234 |
|
3235 |
-
#: includes/class-mla-options.php:
|
3236 |
-
#: includes/class-mla-options.php:
|
3237 |
-
#: includes/class-mla-options.php:
|
3238 |
-
#: includes/class-mla-options.php:
|
3239 |
-
#: includes/class-mla-options.php:
|
3240 |
-
#: includes/class-mla-options.php:
|
3241 |
#, php-format
|
3242 |
msgid "%1$s changing %2$s value from %3$s."
|
3243 |
msgstr ""
|
3244 |
|
3245 |
-
#: includes/class-mla-options.php:
|
3246 |
-
#: includes/class-mla-options.php:
|
3247 |
#: includes/class-mla-settings-custom-fields-tab.php:477
|
3248 |
#: includes/class-mla-settings-custom-fields-tab.php:777
|
3249 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3250 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3251 |
msgid "Existing Text"
|
3252 |
msgstr ""
|
3253 |
|
3254 |
-
#: includes/class-mla-options.php:
|
3255 |
#: includes/class-mla-settings-custom-fields-tab.php:482
|
3256 |
#: includes/class-mla-settings-custom-fields-tab.php:782
|
3257 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3258 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3259 |
msgid "Format"
|
3260 |
msgstr ""
|
3261 |
|
3262 |
-
#: includes/class-mla-options.php:
|
3263 |
-
#: includes/class-mla-options.php:
|
3264 |
-
#: includes/class-mla-options.php:
|
3265 |
msgid "unchecked to checked"
|
3266 |
msgstr ""
|
3267 |
|
3268 |
-
#: includes/class-mla-options.php:
|
3269 |
-
#: includes/class-mla-options.php:
|
3270 |
-
#: includes/class-mla-options.php:
|
3271 |
msgid "checked to unchecked"
|
3272 |
msgstr ""
|
3273 |
|
3274 |
-
#: includes/class-mla-options.php:
|
3275 |
#: includes/class-mla-settings-custom-fields-tab.php:469
|
3276 |
#: includes/class-mla-settings-custom-fields-tab.php:769
|
3277 |
#: includes/class-mla-settings-custom-fields-tab.php:1453
|
3278 |
msgid "MLA Column"
|
3279 |
msgstr ""
|
3280 |
|
3281 |
-
#: includes/class-mla-options.php:
|
3282 |
msgid "Metavalue name"
|
3283 |
msgstr ""
|
3284 |
|
3285 |
-
#: includes/class-mla-options.php:
|
3286 |
#: includes/class-mla-settings-custom-fields-tab.php:489
|
3287 |
#: includes/class-mla-settings-custom-fields-tab.php:789
|
3288 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3289 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3290 |
msgid "Option"
|
3291 |
msgstr ""
|
3292 |
|
3293 |
-
#: includes/class-mla-options.php:
|
3294 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3295 |
msgid "Delete NULL values"
|
3296 |
msgstr ""
|
3297 |
|
3298 |
-
#: includes/class-mla-options.php:
|
3299 |
#, php-format
|
3300 |
msgid "%1$s: No old values for %2$s."
|
3301 |
msgstr ""
|
3302 |
|
3303 |
-
#: includes/class-mla-options.php:
|
3304 |
msgid "Field Title"
|
3305 |
msgstr ""
|
3306 |
|
3307 |
-
#: includes/class-mla-options.php:
|
3308 |
-
#: includes/class-mla-options.php:
|
3309 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3310 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3311 |
msgid "IPTC Value"
|
3312 |
msgstr ""
|
3313 |
|
3314 |
-
#: includes/class-mla-options.php:
|
3315 |
-
#: includes/class-mla-options.php:
|
3316 |
msgid "EXIF Value"
|
3317 |
msgstr ""
|
3318 |
|
3319 |
-
#: includes/class-mla-options.php:
|
3320 |
-
#: includes/class-mla-options.php:
|
3321 |
msgid "EXIF to IPTC"
|
3322 |
msgstr ""
|
3323 |
|
3324 |
-
#: includes/class-mla-options.php:
|
3325 |
-
#: includes/class-mla-options.php:
|
3326 |
msgid "IPTC to EXIF"
|
3327 |
msgstr ""
|
3328 |
|
3329 |
-
#: includes/class-mla-options.php:
|
3330 |
-
#: includes/class-mla-options.php:
|
3331 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3332 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3333 |
msgid "Priority"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
-
#: includes/class-mla-options.php:
|
3337 |
msgid "Delimiter(s)"
|
3338 |
msgstr ""
|
3339 |
|
@@ -3357,147 +3454,147 @@ msgstr ""
|
|
3357 |
msgid "Add new"
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: includes/class-mla-polylang-support.php:
|
3361 |
-
#: includes/class-mla-polylang-support.php:
|
3362 |
msgid "Bulk Translations"
|
3363 |
msgstr ""
|
3364 |
|
3365 |
-
#: includes/class-mla-polylang-support.php:
|
3366 |
msgid "Translate"
|
3367 |
msgstr ""
|
3368 |
|
3369 |
-
#: includes/class-mla-polylang-support.php:
|
3370 |
msgid "All Languages"
|
3371 |
msgstr ""
|
3372 |
|
3373 |
-
#: includes/class-mla-polylang-support.php:
|
3374 |
-
#: includes/class-mla-polylang-support.php:
|
3375 |
-
#: includes/class-mla-polylang-support.php:
|
3376 |
msgid "Quick Translate"
|
3377 |
msgstr ""
|
3378 |
|
3379 |
-
#: includes/class-mla-polylang-support.php:
|
3380 |
msgid "Set Language"
|
3381 |
msgstr ""
|
3382 |
|
3383 |
-
#: includes/class-mla-polylang-support.php:
|
3384 |
-
#: includes/class-mla-polylang-support.php:
|
3385 |
msgid "Bulk Translate"
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: includes/class-mla-polylang-support.php:
|
3389 |
msgid "Add or Modify Translation"
|
3390 |
msgstr ""
|
3391 |
|
3392 |
-
#: includes/class-mla-polylang-support.php:
|
3393 |
-
#: includes/class-mla-polylang-support.php:
|
3394 |
-
#: includes/class-mla-polylang-support.php:
|
3395 |
-
#: includes/class-mla-polylang-support.php:
|
3396 |
#: includes/class-mla-wpml-support.php:1584
|
3397 |
#: includes/class-mla-wpml-support.php:1674
|
3398 |
-
#: includes/class-mla-wpml-support.php:
|
3399 |
msgid "Language"
|
3400 |
msgstr ""
|
3401 |
|
3402 |
-
#: includes/class-mla-polylang-support.php:
|
3403 |
-
#: includes/class-mla-thumbnail-generation.php:
|
3404 |
msgid "Options"
|
3405 |
msgstr ""
|
3406 |
|
3407 |
-
#: includes/class-mla-polylang-support.php:
|
3408 |
msgid "Translate this item inline"
|
3409 |
msgstr ""
|
3410 |
|
3411 |
-
#: includes/class-mla-polylang-support.php:
|
3412 |
-
#: includes/class-mla-polylang-support.php:
|
3413 |
#: includes/class-mla-wpml-support.php:1619
|
3414 |
#: includes/class-mla-wpml-support.php:1722
|
3415 |
msgid "Media/Assistant submenu table"
|
3416 |
msgstr ""
|
3417 |
|
3418 |
-
#: includes/class-mla-polylang-support.php:
|
3419 |
#: includes/class-mla-wpml-support.php:1624
|
3420 |
msgid "Language Column"
|
3421 |
msgstr ""
|
3422 |
|
3423 |
-
#: includes/class-mla-polylang-support.php:
|
3424 |
#: includes/class-mla-wpml-support.php:1627
|
3425 |
msgid ""
|
3426 |
"Check this option to add a Language column to the Media/Assistant submenu "
|
3427 |
"table."
|
3428 |
msgstr ""
|
3429 |
|
3430 |
-
#: includes/class-mla-polylang-support.php:
|
3431 |
#: includes/class-mla-wpml-support.php:1631
|
3432 |
msgid "Translations Column"
|
3433 |
msgstr ""
|
3434 |
|
3435 |
-
#: includes/class-mla-polylang-support.php:
|
3436 |
#: includes/class-mla-wpml-support.php:1634
|
3437 |
msgid ""
|
3438 |
"Check this option to add a Translation Status column to the Media/Assistant "
|
3439 |
"submenu table."
|
3440 |
msgstr ""
|
3441 |
|
3442 |
-
#: includes/class-mla-polylang-support.php:
|
3443 |
msgid ""
|
3444 |
"Check this option to add a Quick Translate rollover action to the Media/"
|
3445 |
"Assistant submenu table."
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: includes/class-mla-polylang-support.php:
|
3449 |
msgid ""
|
3450 |
"Check this option to add \"Translate\" to the \"Bulk Actions\" control on "
|
3451 |
"the Media/Assistant submenu table."
|
3452 |
msgstr ""
|
3453 |
|
3454 |
-
#: includes/class-mla-polylang-support.php:
|
3455 |
-
#: includes/class-mla-polylang-support.php:
|
3456 |
#: includes/class-mla-wpml-support.php:1638
|
3457 |
#: includes/class-mla-wpml-support.php:1722
|
3458 |
msgid "Term Management"
|
3459 |
msgstr ""
|
3460 |
|
3461 |
-
#: includes/class-mla-polylang-support.php:
|
3462 |
#: includes/class-mla-wpml-support.php:1643
|
3463 |
msgid "Term Assignment"
|
3464 |
msgstr ""
|
3465 |
|
3466 |
-
#: includes/class-mla-polylang-support.php:
|
3467 |
#: includes/class-mla-wpml-support.php:1646
|
3468 |
msgid ""
|
3469 |
"Check this option to assign language-specific terms when items are updated."
|
3470 |
msgstr ""
|
3471 |
|
3472 |
-
#: includes/class-mla-polylang-support.php:
|
3473 |
#: includes/class-mla-wpml-support.php:1650
|
3474 |
msgid "Term Synchronization"
|
3475 |
msgstr ""
|
3476 |
|
3477 |
-
#: includes/class-mla-polylang-support.php:
|
3478 |
#: includes/class-mla-wpml-support.php:1653
|
3479 |
msgid ""
|
3480 |
"Check this option to synchronize common terms among all item translations."
|
3481 |
msgstr ""
|
3482 |
|
3483 |
-
#: includes/class-mla-polylang-support.php:
|
3484 |
#: includes/class-mla-wpml-support.php:1657
|
3485 |
msgid "Term Mapping Replication"
|
3486 |
msgstr ""
|
3487 |
|
3488 |
-
#: includes/class-mla-polylang-support.php:
|
3489 |
#: includes/class-mla-wpml-support.php:1660
|
3490 |
msgid ""
|
3491 |
"When mapping IPTC/EXIF metadata to taxonomy terms, make them available in "
|
3492 |
"all languages."
|
3493 |
msgstr ""
|
3494 |
|
3495 |
-
#: includes/class-mla-polylang-support.php:
|
3496 |
#: includes/class-mla-wpml-support.php:1720
|
3497 |
msgid "Language Options"
|
3498 |
msgstr ""
|
3499 |
|
3500 |
-
#: includes/class-mla-polylang-support.php:
|
3501 |
#, php-format
|
3502 |
msgid ""
|
3503 |
"In this tab you can find a number of options for controlling Polylang-"
|
@@ -3506,7 +3603,7 @@ msgid ""
|
|
3506 |
"make."
|
3507 |
msgstr ""
|
3508 |
|
3509 |
-
#: includes/class-mla-polylang-support.php:
|
3510 |
#: includes/class-mla-wpml-support.php:1724
|
3511 |
#, php-format
|
3512 |
msgid ""
|
@@ -3514,57 +3611,57 @@ msgid ""
|
|
3514 |
"section of the Documentation."
|
3515 |
msgstr ""
|
3516 |
|
3517 |
-
#: includes/class-mla-polylang-support.php:
|
3518 |
#: includes/class-mla-wpml-support.php:1724
|
3519 |
msgid "Language Options documentation"
|
3520 |
msgstr ""
|
3521 |
|
3522 |
-
#: includes/class-mla-polylang-support.php:
|
3523 |
#: includes/class-mla-wpml-support.php:1724
|
3524 |
msgid "WPML & Polylang Multilingual Support; the MLA Language Tab"
|
3525 |
msgstr ""
|
3526 |
|
3527 |
-
#: includes/class-mla-polylang-support.php:
|
3528 |
#: includes/class-mla-settings-custom-fields-tab.php:657
|
3529 |
#: includes/class-mla-settings-custom-fields-tab.php:756
|
3530 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3531 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3532 |
#: includes/class-mla-settings-shortcodes-tab.php:713
|
3533 |
#: includes/class-mla-settings-upload-tab.php:480
|
3534 |
#: includes/class-mla-settings-upload-tab.php:530
|
3535 |
#: includes/class-mla-settings-view-tab.php:320
|
3536 |
#: includes/class-mla-settings-view-tab.php:372
|
3537 |
-
#: includes/class-mla-settings.php:
|
3538 |
-
#: includes/class-mla-settings.php:
|
3539 |
#: includes/class-mla-wpml-support.php:1727
|
3540 |
msgid "Save Changes"
|
3541 |
msgstr ""
|
3542 |
|
3543 |
-
#: includes/class-mla-polylang-support.php:
|
3544 |
#: includes/class-mla-wpml-support.php:1728
|
3545 |
msgid "Delete Language options and restore default settings"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: includes/class-mla-polylang-support.php:
|
3549 |
-
#: includes/class-mla-settings.php:
|
3550 |
#: includes/class-mla-wpml-support.php:1731
|
3551 |
msgid "Go to Top"
|
3552 |
msgstr ""
|
3553 |
|
3554 |
-
#: includes/class-mla-polylang-support.php:
|
3555 |
#: includes/class-mla-wpml-support.php:1768
|
3556 |
msgid "Language settings saved."
|
3557 |
msgstr ""
|
3558 |
|
3559 |
-
#: includes/class-mla-polylang-support.php:
|
3560 |
-
#: includes/class-mla-settings.php:
|
3561 |
#: includes/class-mla-wpml-support.php:1799
|
3562 |
#, php-format
|
3563 |
msgctxt "message_list"
|
3564 |
msgid "delete_option \"%1$s\""
|
3565 |
msgstr ""
|
3566 |
|
3567 |
-
#: includes/class-mla-polylang-support.php:
|
3568 |
#: includes/class-mla-wpml-support.php:1807
|
3569 |
msgid "Language settings reset to default values."
|
3570 |
msgstr ""
|
@@ -3670,58 +3767,58 @@ msgstr ""
|
|
3670 |
#: includes/class-mla-settings-custom-fields-tab.php:341
|
3671 |
#: includes/class-mla-settings-custom-fields-tab.php:425
|
3672 |
#: includes/class-mla-settings-custom-fields-tab.php:956
|
3673 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3674 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3675 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3676 |
msgid ": Rule update failed"
|
3677 |
msgstr ""
|
3678 |
|
3679 |
#: includes/class-mla-settings-custom-fields-tab.php:346
|
3680 |
#: includes/class-mla-settings-custom-fields-tab.php:428
|
3681 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3682 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3683 |
msgid "Rule updated"
|
3684 |
msgstr ""
|
3685 |
|
3686 |
#: includes/class-mla-settings-custom-fields-tab.php:370
|
3687 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3688 |
#, php-format
|
3689 |
msgid "Custom Field Rule \"%1$s\" deleted."
|
3690 |
msgstr ""
|
3691 |
|
3692 |
#: includes/class-mla-settings-custom-fields-tab.php:449
|
3693 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3694 |
msgid "Edit Rule"
|
3695 |
msgstr ""
|
3696 |
|
3697 |
#: includes/class-mla-settings-custom-fields-tab.php:458
|
3698 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3699 |
msgid ""
|
3700 |
"This is the name of the custom field to which the rule applies.<br>Only one "
|
3701 |
"rule is allowed for each custom field."
|
3702 |
msgstr ""
|
3703 |
|
3704 |
#: includes/class-mla-settings-custom-fields-tab.php:459
|
3705 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3706 |
msgid "Change Name"
|
3707 |
msgstr ""
|
3708 |
|
3709 |
#: includes/class-mla-settings-custom-fields-tab.php:460
|
3710 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3711 |
msgid "Cancel Name Change"
|
3712 |
msgstr ""
|
3713 |
|
3714 |
#: includes/class-mla-settings-custom-fields-tab.php:461
|
3715 |
#: includes/class-mla-settings-custom-fields-tab.php:761
|
3716 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3717 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3718 |
msgid "Enter new field"
|
3719 |
msgstr ""
|
3720 |
|
3721 |
#: includes/class-mla-settings-custom-fields-tab.php:462
|
3722 |
#: includes/class-mla-settings-custom-fields-tab.php:762
|
3723 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3724 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3725 |
msgid "Cancel new field"
|
3726 |
msgstr ""
|
3727 |
|
@@ -3753,80 +3850,80 @@ msgstr ""
|
|
3753 |
#: includes/class-mla-settings-custom-fields-tab.php:479
|
3754 |
#: includes/class-mla-settings-custom-fields-tab.php:779
|
3755 |
#: includes/class-mla-settings-custom-fields-tab.php:1499
|
3756 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3757 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3758 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3759 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3760 |
-
#: includes/class-mla-thumbnail-generation.php:
|
3761 |
msgid "Keep"
|
3762 |
msgstr ""
|
3763 |
|
3764 |
#: includes/class-mla-settings-custom-fields-tab.php:484
|
3765 |
#: includes/class-mla-settings-custom-fields-tab.php:784
|
3766 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3767 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3768 |
msgid "Native"
|
3769 |
msgstr ""
|
3770 |
|
3771 |
#: includes/class-mla-settings-custom-fields-tab.php:486
|
3772 |
#: includes/class-mla-settings-custom-fields-tab.php:786
|
3773 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3774 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3775 |
msgid "Commas"
|
3776 |
msgstr ""
|
3777 |
|
3778 |
#: includes/class-mla-settings-custom-fields-tab.php:488
|
3779 |
#: includes/class-mla-settings-custom-fields-tab.php:788
|
3780 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3781 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3782 |
msgid "Raw"
|
3783 |
msgstr ""
|
3784 |
|
3785 |
#: includes/class-mla-settings-custom-fields-tab.php:491
|
3786 |
#: includes/class-mla-settings-custom-fields-tab.php:791
|
3787 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3788 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3789 |
msgid "Text"
|
3790 |
msgstr ""
|
3791 |
|
3792 |
#: includes/class-mla-settings-custom-fields-tab.php:493
|
3793 |
#: includes/class-mla-settings-custom-fields-tab.php:793
|
3794 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3795 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3796 |
msgid "Single"
|
3797 |
msgstr ""
|
3798 |
|
3799 |
#: includes/class-mla-settings-custom-fields-tab.php:495
|
3800 |
#: includes/class-mla-settings-custom-fields-tab.php:795
|
3801 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3802 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3803 |
msgid "Export"
|
3804 |
msgstr ""
|
3805 |
|
3806 |
#: includes/class-mla-settings-custom-fields-tab.php:497
|
3807 |
#: includes/class-mla-settings-custom-fields-tab.php:797
|
3808 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3809 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3810 |
msgid "Array"
|
3811 |
msgstr ""
|
3812 |
|
3813 |
#: includes/class-mla-settings-custom-fields-tab.php:499
|
3814 |
#: includes/class-mla-settings-custom-fields-tab.php:799
|
3815 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3816 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3817 |
msgid "Multi"
|
3818 |
msgstr ""
|
3819 |
|
3820 |
#: includes/class-mla-settings-custom-fields-tab.php:501
|
3821 |
#: includes/class-mla-settings-custom-fields-tab.php:801
|
3822 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3823 |
msgid "Delete NULL Values"
|
3824 |
msgstr ""
|
3825 |
|
3826 |
#: includes/class-mla-settings-custom-fields-tab.php:502
|
3827 |
#: includes/class-mla-settings-custom-fields-tab.php:802
|
3828 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3829 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3830 |
msgid "Do not store empty custom field values"
|
3831 |
msgstr ""
|
3832 |
|
@@ -3834,12 +3931,12 @@ msgstr ""
|
|
3834 |
#: includes/class-mla-settings-custom-fields-tab.php:805
|
3835 |
#: includes/class-mla-settings-custom-fields-tab.php:1483
|
3836 |
#: includes/class-mla-settings-custom-fields-tab.php:1706
|
3837 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
3838 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3839 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3840 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3841 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3842 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3843 |
#: includes/class-mla-settings-upload-tab.php:554
|
3844 |
#: includes/class-mla-settings-upload-tab.php:1036
|
3845 |
msgid "Active"
|
@@ -3849,12 +3946,12 @@ msgstr ""
|
|
3849 |
#: includes/class-mla-settings-custom-fields-tab.php:807
|
3850 |
#: includes/class-mla-settings-custom-fields-tab.php:1485
|
3851 |
#: includes/class-mla-settings-custom-fields-tab.php:1709
|
3852 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
3853 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3854 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3855 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3856 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3857 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3858 |
#: includes/class-mla-settings-upload-tab.php:172
|
3859 |
#: includes/class-mla-settings-upload-tab.php:540
|
3860 |
#: includes/class-mla-settings-upload-tab.php:1034
|
@@ -3862,7 +3959,7 @@ msgid "Inactive"
|
|
3862 |
msgstr ""
|
3863 |
|
3864 |
#: includes/class-mla-settings-custom-fields-tab.php:534
|
3865 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3866 |
#, php-format
|
3867 |
msgid "Custom Field Rule \"%1$s\": %2$s"
|
3868 |
msgstr ""
|
@@ -3873,9 +3970,9 @@ msgstr ""
|
|
3873 |
|
3874 |
#: includes/class-mla-settings-custom-fields-tab.php:583
|
3875 |
#: includes/class-mla-settings-custom-fields-tab.php:611
|
3876 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
3877 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3878 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3879 |
#: includes/class-mla-settings-shortcodes-tab.php:552
|
3880 |
#: includes/class-mla-settings-upload-tab.php:400
|
3881 |
#: includes/class-mla-settings-view-tab.php:244
|
@@ -3892,43 +3989,43 @@ msgid "Custom Field Mapping Progress"
|
|
3892 |
msgstr ""
|
3893 |
|
3894 |
#: includes/class-mla-settings-custom-fields-tab.php:724
|
3895 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3896 |
msgid "DO NOT DO THE FOLLOWING (they will cause mapping to fail)"
|
3897 |
msgstr ""
|
3898 |
|
3899 |
#: includes/class-mla-settings-custom-fields-tab.php:725
|
3900 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3901 |
msgid "Close the window"
|
3902 |
msgstr ""
|
3903 |
|
3904 |
#: includes/class-mla-settings-custom-fields-tab.php:726
|
3905 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3906 |
msgid "Reload the page"
|
3907 |
msgstr ""
|
3908 |
|
3909 |
#: includes/class-mla-settings-custom-fields-tab.php:727
|
3910 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3911 |
msgid "Click the browser’s Stop, Back or forward buttons"
|
3912 |
msgstr ""
|
3913 |
|
3914 |
#: includes/class-mla-settings-custom-fields-tab.php:728
|
3915 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3916 |
msgid "Progress"
|
3917 |
msgstr ""
|
3918 |
|
3919 |
#: includes/class-mla-settings-custom-fields-tab.php:729
|
3920 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3921 |
msgid "Pause"
|
3922 |
msgstr ""
|
3923 |
|
3924 |
#: includes/class-mla-settings-custom-fields-tab.php:731
|
3925 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3926 |
msgid "Resume"
|
3927 |
msgstr ""
|
3928 |
|
3929 |
#: includes/class-mla-settings-custom-fields-tab.php:732
|
3930 |
#: includes/class-mla-settings-documentation-tab.php:107
|
3931 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3932 |
#: includes/class-mla-settings-shortcodes-tab.php:476
|
3933 |
#: includes/class-mla-template-support.php:160
|
3934 |
#: includes/class-mla-template-support.php:166
|
@@ -3953,7 +4050,7 @@ msgid ""
|
|
3953 |
msgstr ""
|
3954 |
|
3955 |
#: includes/class-mla-settings-custom-fields-tab.php:745
|
3956 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3957 |
msgid ""
|
3958 |
"You can find more information about using the controls in this tab to define "
|
3959 |
"mapping rules and apply them by clicking the \"Help\" control in the upper-"
|
@@ -3961,54 +4058,54 @@ msgid ""
|
|
3961 |
msgstr ""
|
3962 |
|
3963 |
#: includes/class-mla-settings-custom-fields-tab.php:750
|
3964 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3965 |
#: includes/class-mla-settings-shortcodes-tab.php:711
|
3966 |
msgid "Search results for"
|
3967 |
msgstr ""
|
3968 |
|
3969 |
#: includes/class-mla-settings-custom-fields-tab.php:752
|
3970 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3971 |
msgid "Search Rules Text"
|
3972 |
msgstr ""
|
3973 |
|
3974 |
#: includes/class-mla-settings-custom-fields-tab.php:754
|
3975 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3976 |
msgid "Search Rules"
|
3977 |
msgstr ""
|
3978 |
|
3979 |
#: includes/class-mla-settings-custom-fields-tab.php:757
|
3980 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3981 |
msgid "Execute All Rules"
|
3982 |
msgstr ""
|
3983 |
|
3984 |
#: includes/class-mla-settings-custom-fields-tab.php:758
|
3985 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3986 |
msgid "Add New Custom Field Rule"
|
3987 |
msgstr ""
|
3988 |
|
3989 |
#: includes/class-mla-settings-custom-fields-tab.php:808
|
3990 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3991 |
msgid "Add Rule"
|
3992 |
msgstr ""
|
3993 |
|
3994 |
#: includes/class-mla-settings-custom-fields-tab.php:872
|
3995 |
#: includes/class-mla-settings-custom-fields-tab.php:894
|
3996 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
3997 |
msgid "Nothing to execute"
|
3998 |
msgstr ""
|
3999 |
|
4000 |
#: includes/class-mla-settings-custom-fields-tab.php:928
|
4001 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4002 |
msgid "Rule ID not found"
|
4003 |
msgstr ""
|
4004 |
|
4005 |
#: includes/class-mla-settings-custom-fields-tab.php:932
|
4006 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4007 |
msgid "Rule not found"
|
4008 |
msgstr ""
|
4009 |
|
4010 |
#: includes/class-mla-settings-custom-fields-tab.php:1203
|
4011 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4012 |
msgctxt "list_table_column"
|
4013 |
msgid "Bad Name"
|
4014 |
msgstr ""
|
@@ -4024,38 +4121,38 @@ msgid "Visibility"
|
|
4024 |
msgstr ""
|
4025 |
|
4026 |
#: includes/class-mla-settings-custom-fields-tab.php:1208
|
4027 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4028 |
msgctxt "list_table_column"
|
4029 |
msgid "Existing Text"
|
4030 |
msgstr ""
|
4031 |
|
4032 |
#: includes/class-mla-settings-custom-fields-tab.php:1209
|
4033 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4034 |
msgctxt "list_table_column"
|
4035 |
msgid "Delete NULL"
|
4036 |
msgstr ""
|
4037 |
|
4038 |
#: includes/class-mla-settings-custom-fields-tab.php:1210
|
4039 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4040 |
msgctxt "list_table_column"
|
4041 |
msgid "Format"
|
4042 |
msgstr ""
|
4043 |
|
4044 |
#: includes/class-mla-settings-custom-fields-tab.php:1211
|
4045 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4046 |
msgctxt "list_table_column"
|
4047 |
msgid "Option"
|
4048 |
msgstr ""
|
4049 |
|
4050 |
#: includes/class-mla-settings-custom-fields-tab.php:1350
|
4051 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4052 |
msgid "Map All Attachments"
|
4053 |
msgstr ""
|
4054 |
|
4055 |
#: includes/class-mla-settings-custom-fields-tab.php:1350
|
4056 |
#: includes/class-mla-settings-custom-fields-tab.php:1685
|
4057 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4058 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4059 |
msgid "Execute"
|
4060 |
msgstr ""
|
4061 |
|
@@ -4065,13 +4162,13 @@ msgstr ""
|
|
4065 |
|
4066 |
#: includes/class-mla-settings-custom-fields-tab.php:1352
|
4067 |
#: includes/class-mla-settings-custom-fields-tab.php:1686
|
4068 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4069 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4070 |
msgid "Purge Values"
|
4071 |
msgstr ""
|
4072 |
|
4073 |
#: includes/class-mla-settings-custom-fields-tab.php:1703
|
4074 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4075 |
#: includes/class-mla-settings-shortcodes-tab.php:1299
|
4076 |
msgid "Any Status"
|
4077 |
msgstr ""
|
@@ -4107,27 +4204,27 @@ msgid "Bulk Edit"
|
|
4107 |
msgstr ""
|
4108 |
|
4109 |
#: includes/class-mla-settings-custom-fields-tab.php:2470
|
4110 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4111 |
msgctxt "table_view_singular"
|
4112 |
msgid "Read Only"
|
4113 |
msgstr ""
|
4114 |
|
4115 |
#: includes/class-mla-settings-custom-fields-tab.php:2471
|
4116 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4117 |
msgctxt "table_view_plural"
|
4118 |
msgid "Read Only"
|
4119 |
msgstr ""
|
4120 |
|
4121 |
#: includes/class-mla-settings-documentation-tab.php:82
|
4122 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4123 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4124 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4125 |
#, php-format
|
4126 |
msgid "Example plugin \"%1$s\" not found"
|
4127 |
msgstr ""
|
4128 |
|
4129 |
#: includes/class-mla-settings-documentation-tab.php:97
|
4130 |
-
#: includes/class-mla-settings.php:
|
4131 |
#, php-format
|
4132 |
msgid "%1$s: Reading the %2$s file ( %3$s ) \"%4$s\"."
|
4133 |
msgstr ""
|
@@ -4187,120 +4284,120 @@ msgstr ""
|
|
4187 |
msgid "Searches Name, Description, File Name and Tags"
|
4188 |
msgstr ""
|
4189 |
|
4190 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4191 |
#, php-format
|
4192 |
msgid "Empty mla_item_ID - \"%1$s\""
|
4193 |
msgstr ""
|
4194 |
|
4195 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4196 |
msgctxt "list_table_column"
|
4197 |
msgid "Current Version"
|
4198 |
msgstr ""
|
4199 |
|
4200 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4201 |
msgctxt "list_table_column"
|
4202 |
msgid "Installed Version"
|
4203 |
msgstr ""
|
4204 |
|
4205 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4206 |
msgctxt "list_table_column"
|
4207 |
msgid "File Name"
|
4208 |
msgstr ""
|
4209 |
|
4210 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4211 |
msgctxt "list_table_column"
|
4212 |
msgid "Tags"
|
4213 |
msgstr ""
|
4214 |
|
4215 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4216 |
msgid "Install this plugin"
|
4217 |
msgstr ""
|
4218 |
|
4219 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4220 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4221 |
msgid "Install"
|
4222 |
msgstr ""
|
4223 |
|
4224 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4225 |
msgid "Update this plugin"
|
4226 |
msgstr ""
|
4227 |
|
4228 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4229 |
#: includes/class-mla-settings-shortcodes-tab.php:1069
|
4230 |
msgid "View this item"
|
4231 |
msgstr ""
|
4232 |
|
4233 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4234 |
#, php-format
|
4235 |
msgid "Example plugin \"%1$s\" fs_connect failed; no action taken. Error: %2$s"
|
4236 |
msgstr ""
|
4237 |
|
4238 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4239 |
#, php-format
|
4240 |
msgid "Example plugin \"%1$s\" fs_connect failed; no action taken"
|
4241 |
msgstr ""
|
4242 |
|
4243 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4244 |
#, php-format
|
4245 |
msgid ""
|
4246 |
"Example plugin \"%1$s\" install_package failed; no action taken. Error: %2$s"
|
4247 |
msgstr ""
|
4248 |
|
4249 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4250 |
#, php-format
|
4251 |
msgid "Example plugin \"%1$s\" remove old single file failed."
|
4252 |
msgstr ""
|
4253 |
|
4254 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4255 |
#, php-format
|
4256 |
msgid "Example plugin \"%1$s\" already installed; no action taken"
|
4257 |
msgstr ""
|
4258 |
|
4259 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4260 |
#, php-format
|
4261 |
msgid "Example plugin \"%1$s\" installed"
|
4262 |
msgstr ""
|
4263 |
|
4264 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4265 |
#, php-format
|
4266 |
msgid "Example plugin \"%1$s\" not installed; no action taken"
|
4267 |
msgstr ""
|
4268 |
|
4269 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4270 |
#, php-format
|
4271 |
msgid "Example plugin \"%1$s\" updated"
|
4272 |
msgstr ""
|
4273 |
|
4274 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4275 |
msgid "Network"
|
4276 |
msgstr ""
|
4277 |
|
4278 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4279 |
msgctxt "table_view_singular"
|
4280 |
msgid "Installed"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4284 |
msgctxt "table_view_plural"
|
4285 |
msgid "Installed"
|
4286 |
msgstr ""
|
4287 |
|
4288 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4289 |
msgctxt "table_view_singular"
|
4290 |
msgid "Network"
|
4291 |
msgstr ""
|
4292 |
|
4293 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4294 |
msgctxt "table_view_plural"
|
4295 |
msgid "Network"
|
4296 |
msgstr ""
|
4297 |
|
4298 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4299 |
msgctxt "table_view_singular"
|
4300 |
msgid "Uninstalled"
|
4301 |
msgstr ""
|
4302 |
|
4303 |
-
#: includes/class-mla-settings-documentation-tab.php:
|
4304 |
msgctxt "table_view_plural"
|
4305 |
msgid "Uninstalled"
|
4306 |
msgstr ""
|
@@ -4317,113 +4414,117 @@ msgstr ""
|
|
4317 |
msgid "updated."
|
4318 |
msgstr ""
|
4319 |
|
4320 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4321 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4322 |
msgid "EXIF/Template Value"
|
4323 |
msgstr ""
|
4324 |
|
4325 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4326 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4327 |
msgid "EXIF element name or Content Template"
|
4328 |
msgstr ""
|
4329 |
|
4330 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4331 |
-
|
4332 |
-
|
|
|
|
|
|
|
|
|
4333 |
msgid "IPTC"
|
4334 |
msgstr ""
|
4335 |
|
4336 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4337 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4338 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4339 |
msgid "EXIF"
|
4340 |
msgstr ""
|
4341 |
|
4342 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4343 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4344 |
msgid "Delimiters"
|
4345 |
msgstr ""
|
4346 |
|
4347 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4348 |
msgid "Standard field mapping"
|
4349 |
msgstr ""
|
4350 |
|
4351 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4352 |
msgid "Taxonomy term mapping"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4356 |
msgid "Custom field mapping"
|
4357 |
msgstr ""
|
4358 |
|
4359 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4360 |
msgid "Edit IPTC EXIF Rule cancelled."
|
4361 |
msgstr ""
|
4362 |
|
4363 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4364 |
msgid "IPTC/EXIF Mapping Support is disabled"
|
4365 |
msgstr ""
|
4366 |
|
4367 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4368 |
msgid "IPTC & EXIF Mapping Progress"
|
4369 |
msgstr ""
|
4370 |
|
4371 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4372 |
msgid "IPTC & EXIF Processing Options"
|
4373 |
msgstr ""
|
4374 |
|
4375 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4376 |
msgid ""
|
4377 |
"In this tab you can define the rules for mapping IPTC (International Press "
|
4378 |
"Telecommunications Council) and EXIF (EXchangeable Image File) metadata to "
|
4379 |
"WordPress standard attachment fields, taxonomy terms and custom fields."
|
4380 |
msgstr ""
|
4381 |
|
4382 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4383 |
msgctxt "list_table_column"
|
4384 |
msgid "IPTC Value"
|
4385 |
msgstr ""
|
4386 |
|
4387 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4388 |
msgctxt "list_table_column"
|
4389 |
msgid "EXIF/Template Value"
|
4390 |
msgstr ""
|
4391 |
|
4392 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4393 |
msgctxt "list_table_column"
|
4394 |
msgid "Priority "
|
4395 |
msgstr ""
|
4396 |
|
4397 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4398 |
msgctxt "list_table_column"
|
4399 |
msgid "Delimiter(s)"
|
4400 |
msgstr ""
|
4401 |
|
4402 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4403 |
msgctxt "list_table_column"
|
4404 |
msgid "Parent"
|
4405 |
msgstr ""
|
4406 |
|
4407 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4408 |
msgid "Purge IPTC EXIF values"
|
4409 |
msgstr ""
|
4410 |
|
4411 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4412 |
msgctxt "table_view_singular"
|
4413 |
msgid "Standard"
|
4414 |
msgstr ""
|
4415 |
|
4416 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4417 |
msgctxt "table_view_plural"
|
4418 |
msgid "Standard"
|
4419 |
msgstr ""
|
4420 |
|
4421 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4422 |
msgctxt "table_view_singular"
|
4423 |
msgid "Taxonomy"
|
4424 |
msgstr ""
|
4425 |
|
4426 |
-
#: includes/class-mla-settings-iptc-exif-tab.php:
|
4427 |
msgctxt "table_view_plural"
|
4428 |
msgid "Taxonomy"
|
4429 |
msgstr ""
|
@@ -4527,7 +4628,7 @@ msgstr ""
|
|
4527 |
|
4528 |
#: includes/class-mla-settings-shortcodes-tab.php:319
|
4529 |
#: includes/class-mla-settings-shortcodes-tab.php:322
|
4530 |
-
#: includes/class-mla-settings.php:
|
4531 |
msgid "Shortcodes"
|
4532 |
msgstr ""
|
4533 |
|
@@ -4673,7 +4774,7 @@ msgid "Markup"
|
|
4673 |
msgstr ""
|
4674 |
|
4675 |
#: includes/class-mla-settings-shortcodes-tab.php:1282
|
4676 |
-
#: includes/class-mla-thumbnail-generation.php:
|
4677 |
msgid "Delete"
|
4678 |
msgstr ""
|
4679 |
|
@@ -5020,8 +5121,8 @@ msgstr ""
|
|
5020 |
msgid "No view slug found"
|
5021 |
msgstr ""
|
5022 |
|
5023 |
-
#: includes/class-mla-settings.php:429 includes/class-mla-settings.php:
|
5024 |
-
#: includes/class-mla-settings.php:
|
5025 |
msgid "Settings"
|
5026 |
msgstr ""
|
5027 |
|
@@ -5049,50 +5150,54 @@ msgstr ""
|
|
5049 |
msgid "Plugins per page"
|
5050 |
msgstr ""
|
5051 |
|
5052 |
-
#: includes/class-mla-settings.php:
|
5053 |
-
|
|
|
|
|
|
|
|
|
5054 |
#, php-format
|
5055 |
msgctxt "error_log"
|
5056 |
msgid "%1$s: %2$s unknown type = \"%3$s\""
|
5057 |
msgstr ""
|
5058 |
|
5059 |
-
#: includes/class-mla-settings.php:
|
5060 |
msgid "Go to Bottom"
|
5061 |
msgstr ""
|
5062 |
|
5063 |
-
#: includes/class-mla-settings.php:
|
5064 |
msgid "General"
|
5065 |
msgstr ""
|
5066 |
|
5067 |
-
#: includes/class-mla-settings.php:
|
5068 |
msgid "Views"
|
5069 |
msgstr ""
|
5070 |
|
5071 |
-
#: includes/class-mla-settings.php:
|
5072 |
msgid "Uploads"
|
5073 |
msgstr ""
|
5074 |
|
5075 |
-
#: includes/class-mla-settings.php:
|
5076 |
msgid "Custom Fields"
|
5077 |
msgstr ""
|
5078 |
|
5079 |
-
#: includes/class-mla-settings.php:
|
5080 |
msgid "IPTC/EXIF"
|
5081 |
msgstr ""
|
5082 |
|
5083 |
-
#: includes/class-mla-settings.php:
|
5084 |
msgid "Documentation"
|
5085 |
msgstr ""
|
5086 |
|
5087 |
-
#: includes/class-mla-settings.php:
|
5088 |
msgid "Debug"
|
5089 |
msgstr ""
|
5090 |
|
5091 |
-
#: includes/class-mla-settings.php:
|
5092 |
msgid "General Processing Options"
|
5093 |
msgstr ""
|
5094 |
|
5095 |
-
#: includes/class-mla-settings.php:
|
5096 |
#, php-format
|
5097 |
msgid ""
|
5098 |
"In this tab you can find a number of options for controlling the "
|
@@ -5101,31 +5206,31 @@ msgid ""
|
|
5101 |
"any changes you make."
|
5102 |
msgstr ""
|
5103 |
|
5104 |
-
#: includes/class-mla-settings.php:
|
5105 |
msgid "Media/Assistant Table Defaults"
|
5106 |
msgstr ""
|
5107 |
|
5108 |
-
#: includes/class-mla-settings.php:
|
5109 |
msgid "Media Manager Enhancements"
|
5110 |
msgstr ""
|
5111 |
|
5112 |
-
#: includes/class-mla-settings.php:
|
5113 |
msgid "Delete General options and restore default settings"
|
5114 |
msgstr ""
|
5115 |
|
5116 |
-
#: includes/class-mla-settings.php:
|
5117 |
msgid "Support Our Work"
|
5118 |
msgstr ""
|
5119 |
|
5120 |
-
#: includes/class-mla-settings.php:
|
5121 |
msgid "Donate to FTJ"
|
5122 |
msgstr ""
|
5123 |
|
5124 |
-
#: includes/class-mla-settings.php:
|
5125 |
msgid "Donate"
|
5126 |
msgstr ""
|
5127 |
|
5128 |
-
#: includes/class-mla-settings.php:
|
5129 |
#, php-format
|
5130 |
msgid ""
|
5131 |
"This plugin was inspired by my work on the WordPress web site for our "
|
@@ -5134,209 +5239,209 @@ msgid ""
|
|
5134 |
"our work. Thank you!"
|
5135 |
msgstr ""
|
5136 |
|
5137 |
-
#: includes/class-mla-settings.php:
|
5138 |
msgid "tax-deductible donation"
|
5139 |
msgstr ""
|
5140 |
|
5141 |
-
#: includes/class-mla-settings.php:
|
5142 |
msgid "enhanced version of the WordPress [gallery] shortcode."
|
5143 |
msgstr ""
|
5144 |
|
5145 |
-
#: includes/class-mla-settings.php:
|
5146 |
msgid "enhanced version of the WordPress Tag Cloud."
|
5147 |
msgstr ""
|
5148 |
|
5149 |
-
#: includes/class-mla-settings.php:
|
5150 |
msgid ""
|
5151 |
"provides flat or hierarchical lists, dropdown controls and checkbox lists of "
|
5152 |
"taxonomy terms."
|
5153 |
msgstr ""
|
5154 |
|
5155 |
-
#: includes/class-mla-settings.php:
|
5156 |
msgid "Shortcodes made available by this plugin"
|
5157 |
msgstr ""
|
5158 |
|
5159 |
-
#: includes/class-mla-settings.php:
|
5160 |
msgid "Debug settings saved."
|
5161 |
msgstr ""
|
5162 |
|
5163 |
-
#: includes/class-mla-settings.php:
|
5164 |
#, php-format
|
5165 |
msgid "%1$s: Reseting the %2$s file ( %3$s ) \"%4$s\"."
|
5166 |
msgstr ""
|
5167 |
|
5168 |
-
#: includes/class-mla-settings.php:
|
5169 |
-
#: includes/class-mla-settings.php:
|
5170 |
-
#: includes/class-mla-settings.php:
|
5171 |
msgid "Error Log"
|
5172 |
msgstr ""
|
5173 |
|
5174 |
-
#: includes/class-mla-settings.php:
|
5175 |
#, php-format
|
5176 |
msgid "Error log file (%1$s) not found; click Reset to create it."
|
5177 |
msgstr ""
|
5178 |
|
5179 |
-
#: includes/class-mla-settings.php:
|
5180 |
msgid "Debug Options"
|
5181 |
msgstr ""
|
5182 |
|
5183 |
-
#: includes/class-mla-settings.php:
|
5184 |
msgid "Debug Settings"
|
5185 |
msgstr ""
|
5186 |
|
5187 |
-
#: includes/class-mla-settings.php:
|
5188 |
#, php-format
|
5189 |
msgid ""
|
5190 |
"You can find more information about the MLA Reporting/MLA_DEBUG_LEVEL values "
|
5191 |
"in the %1$s section of the Documentation tab."
|
5192 |
msgstr ""
|
5193 |
|
5194 |
-
#: includes/class-mla-settings.php:
|
5195 |
msgid "MLA Debug Tab documentation"
|
5196 |
msgstr ""
|
5197 |
|
5198 |
-
#: includes/class-mla-settings.php:
|
5199 |
msgid "MLA Debug Tab"
|
5200 |
msgstr ""
|
5201 |
|
5202 |
-
#: includes/class-mla-settings.php:
|
5203 |
#, php-format
|
5204 |
msgid "Click %1$s to update the %2$s."
|
5205 |
msgstr ""
|
5206 |
|
5207 |
-
#: includes/class-mla-settings.php:
|
5208 |
msgid "You do not have permission to manage plugin settings."
|
5209 |
msgstr ""
|
5210 |
|
5211 |
-
#: includes/class-mla-settings.php:
|
5212 |
msgid "Cannot render content tab"
|
5213 |
msgstr ""
|
5214 |
|
5215 |
-
#: includes/class-mla-settings.php:
|
5216 |
msgid "Unknown content tab"
|
5217 |
msgstr ""
|
5218 |
|
5219 |
-
#: includes/class-mla-settings.php:
|
5220 |
msgid "Dismiss this notice"
|
5221 |
msgstr ""
|
5222 |
|
5223 |
-
#: includes/class-mla-settings.php:
|
5224 |
#, php-format
|
5225 |
msgid "%s attachment"
|
5226 |
msgid_plural "%s attachments"
|
5227 |
msgstr[0] ""
|
5228 |
msgstr[1] ""
|
5229 |
|
5230 |
-
#: includes/class-mla-settings.php:
|
5231 |
#, php-format
|
5232 |
msgid "Deleted custom field value from %1$s."
|
5233 |
msgstr ""
|
5234 |
|
5235 |
-
#: includes/class-mla-settings.php:
|
5236 |
msgid "No attachments contained this custom field."
|
5237 |
msgstr ""
|
5238 |
|
5239 |
-
#: includes/class-mla-settings.php:
|
5240 |
#, php-format
|
5241 |
msgctxt "message_list"
|
5242 |
msgid "%1$s - references updated."
|
5243 |
msgstr ""
|
5244 |
|
5245 |
-
#: includes/class-mla-settings.php:
|
5246 |
msgid "General settings saved."
|
5247 |
msgstr ""
|
5248 |
|
5249 |
-
#: includes/class-mla-settings.php:
|
5250 |
msgid "General settings reset to default values."
|
5251 |
msgstr ""
|
5252 |
|
5253 |
-
#: includes/class-mla-settings.php:
|
5254 |
msgid "select settings"
|
5255 |
msgstr ""
|
5256 |
|
5257 |
-
#: includes/class-mla-settings.php:
|
5258 |
msgid "Import ALL Settings"
|
5259 |
msgstr ""
|
5260 |
|
5261 |
-
#: includes/class-mla-settings.php:
|
5262 |
msgctxt "message_list"
|
5263 |
msgid "exported"
|
5264 |
msgstr ""
|
5265 |
|
5266 |
-
#: includes/class-mla-settings.php:
|
5267 |
msgctxt "message_list"
|
5268 |
msgid "skipped"
|
5269 |
msgstr ""
|
5270 |
|
5271 |
-
#: includes/class-mla-settings.php:
|
5272 |
msgid "ALL settings exported."
|
5273 |
msgstr ""
|
5274 |
|
5275 |
-
#: includes/class-mla-settings.php:
|
5276 |
#, php-format
|
5277 |
msgid "%1$s: The settings directory ( %2$s ) cannot be created."
|
5278 |
msgstr ""
|
5279 |
|
5280 |
-
#: includes/class-mla-settings.php:
|
5281 |
#, php-format
|
5282 |
msgid "%1$s: The settings directory ( %2$s ) is not writable."
|
5283 |
msgstr ""
|
5284 |
|
5285 |
-
#: includes/class-mla-settings.php:
|
5286 |
#, php-format
|
5287 |
msgid "%1$s: The settings file ( %2$s ) could not be opened."
|
5288 |
msgstr ""
|
5289 |
|
5290 |
-
#: includes/class-mla-settings.php:
|
5291 |
#, php-format
|
5292 |
msgctxt "error_log"
|
5293 |
msgid "%1$s: _export_settings $error_info = \"%2$s\"."
|
5294 |
msgstr ""
|
5295 |
|
5296 |
-
#: includes/class-mla-settings.php:
|
5297 |
#, php-format
|
5298 |
msgid "%1$s: Writing the settings file ( %2$s ) \"%3$s\"."
|
5299 |
msgstr ""
|
5300 |
|
5301 |
-
#: includes/class-mla-settings.php:
|
5302 |
#, php-format
|
5303 |
msgid "Settings exported; %1$s settings recorded."
|
5304 |
msgstr ""
|
5305 |
|
5306 |
-
#: includes/class-mla-settings.php:
|
5307 |
msgid "No settings imported."
|
5308 |
msgstr ""
|
5309 |
|
5310 |
-
#: includes/class-mla-settings.php:
|
5311 |
msgid "Please select an import settings file from the dropdown list."
|
5312 |
msgstr ""
|
5313 |
|
5314 |
-
#: includes/class-mla-settings.php:
|
5315 |
msgid "The import settings dropdown selection is missing."
|
5316 |
msgstr ""
|
5317 |
|
5318 |
-
#: includes/class-mla-settings.php:
|
5319 |
#, php-format
|
5320 |
msgctxt "error_log"
|
5321 |
msgid "%1$s: _import_settings $error_info = \"%2$s\"."
|
5322 |
msgstr ""
|
5323 |
|
5324 |
-
#: includes/class-mla-settings.php:
|
5325 |
#, php-format
|
5326 |
msgid "%1$s: Reading the settings file ( %2$s ) \"%3$s\"."
|
5327 |
msgstr ""
|
5328 |
|
5329 |
-
#: includes/class-mla-settings.php:
|
5330 |
msgctxt "message_list"
|
5331 |
msgid "updated"
|
5332 |
msgstr ""
|
5333 |
|
5334 |
-
#: includes/class-mla-settings.php:
|
5335 |
msgctxt "message_list"
|
5336 |
msgid "unchanged"
|
5337 |
msgstr ""
|
5338 |
|
5339 |
-
#: includes/class-mla-settings.php:
|
5340 |
#, php-format
|
5341 |
msgid "Settings imported; %1$s updated, %2$s unchanged."
|
5342 |
msgstr ""
|
@@ -5344,14 +5449,14 @@ msgstr ""
|
|
5344 |
#: includes/class-mla-shortcode-support.php:440
|
5345 |
#: includes/class-mla-shortcode-support.php:1809
|
5346 |
#: includes/class-mla-shortcode-support.php:3893
|
5347 |
-
#: includes/class-mla-shortcode-support.php:
|
5348 |
msgid "Previous"
|
5349 |
msgstr ""
|
5350 |
|
5351 |
#: includes/class-mla-shortcode-support.php:441
|
5352 |
#: includes/class-mla-shortcode-support.php:1810
|
5353 |
#: includes/class-mla-shortcode-support.php:3942
|
5354 |
-
#: includes/class-mla-shortcode-support.php:
|
5355 |
msgid "Next"
|
5356 |
msgstr ""
|
5357 |
|
@@ -5409,73 +5514,73 @@ msgstr ""
|
|
5409 |
msgid "no-terms"
|
5410 |
msgstr ""
|
5411 |
|
5412 |
-
#: includes/class-mla-shortcode-support.php:
|
5413 |
-
#: includes/class-mla-shortcode-support.php:
|
5414 |
-
#: includes/class-mla-shortcode-support.php:
|
5415 |
msgid "Invalid mla_gallery"
|
5416 |
msgstr ""
|
5417 |
|
5418 |
-
#: includes/class-mla-shortcode-support.php:
|
5419 |
msgid "mla_debug query"
|
5420 |
msgstr ""
|
5421 |
|
5422 |
-
#: includes/class-mla-shortcode-support.php:
|
5423 |
msgid "mla_debug request"
|
5424 |
msgstr ""
|
5425 |
|
5426 |
-
#: includes/class-mla-shortcode-support.php:
|
5427 |
msgid "mla_debug query_vars"
|
5428 |
msgstr ""
|
5429 |
|
5430 |
-
#: includes/class-mla-shortcode-support.php:
|
5431 |
msgid "mla_debug post_count"
|
5432 |
msgstr ""
|
5433 |
|
5434 |
-
#: includes/class-mla-shortcode-support.php:
|
5435 |
msgid "mla_debug WHERE filter"
|
5436 |
msgstr ""
|
5437 |
|
5438 |
-
#: includes/class-mla-shortcode-support.php:
|
5439 |
msgid "mla_debug modified WHERE filter"
|
5440 |
msgstr ""
|
5441 |
|
5442 |
-
#: includes/class-mla-shortcode-support.php:
|
5443 |
msgid "mla_debug ORDER BY filter, incoming"
|
5444 |
msgstr ""
|
5445 |
|
5446 |
-
#: includes/class-mla-shortcode-support.php:
|
5447 |
msgid "Replacement ORDER BY clause"
|
5448 |
msgstr ""
|
5449 |
|
5450 |
-
#: includes/class-mla-shortcode-support.php:
|
5451 |
msgid "mla_debug posts_clauses filter"
|
5452 |
msgstr ""
|
5453 |
|
5454 |
-
#: includes/class-mla-shortcode-support.php:
|
5455 |
msgid "mla_debug posts_clauses_request filter"
|
5456 |
msgstr ""
|
5457 |
|
5458 |
-
#: includes/class-mla-shortcode-support.php:
|
5459 |
msgid "Invalid taxonomy"
|
5460 |
msgstr ""
|
5461 |
|
5462 |
-
#: includes/class-mla-shortcode-support.php:
|
5463 |
msgid "mla_debug query arguments"
|
5464 |
msgstr ""
|
5465 |
|
5466 |
-
#: includes/class-mla-shortcode-support.php:
|
5467 |
msgid "mla_debug last_query"
|
5468 |
msgstr ""
|
5469 |
|
5470 |
-
#: includes/class-mla-shortcode-support.php:
|
5471 |
msgid "mla_debug last_error"
|
5472 |
msgstr ""
|
5473 |
|
5474 |
-
#: includes/class-mla-shortcode-support.php:
|
5475 |
msgid "mla_debug num_rows"
|
5476 |
msgstr ""
|
5477 |
|
5478 |
-
#: includes/class-mla-shortcode-support.php:
|
5479 |
msgid "mla_debug found_rows"
|
5480 |
msgstr ""
|
5481 |
|
@@ -5637,102 +5742,102 @@ msgstr ""
|
|
5637 |
|
5638 |
#: includes/class-mla-thumbnail-generation.php:96
|
5639 |
#: includes/class-mla-thumbnail-generation.php:98
|
5640 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5641 |
msgid "Generate Thumbnails"
|
5642 |
msgstr ""
|
5643 |
|
5644 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5645 |
#, php-format
|
5646 |
msgid "Item %1$d"
|
5647 |
msgstr ""
|
5648 |
|
5649 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5650 |
msgid "has native thumbnail."
|
5651 |
msgstr ""
|
5652 |
|
5653 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5654 |
msgid "Featured Image retained."
|
5655 |
msgstr ""
|
5656 |
|
5657 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5658 |
#, php-format
|
5659 |
msgid "%1$s: %2$sno attached file."
|
5660 |
msgstr ""
|
5661 |
|
5662 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5663 |
msgid "unsupported file type."
|
5664 |
msgstr ""
|
5665 |
|
5666 |
-
#: includes/class-mla-thumbnail-generation.php:428
|
5667 |
#: includes/class-mla-thumbnail-generation.php:440
|
|
|
5668 |
#, php-format
|
5669 |
msgid "%1$s: %2$sthumbnail generation failed"
|
5670 |
msgstr ""
|
5671 |
|
5672 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5673 |
#, php-format
|
5674 |
msgid "%1$sWordPress-style thumbnail generated."
|
5675 |
msgstr ""
|
5676 |
|
5677 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5678 |
#, php-format
|
5679 |
msgid "%1$s: %2$swp_insert_attachment failed."
|
5680 |
msgstr ""
|
5681 |
|
5682 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5683 |
#, php-format
|
5684 |
msgid "%1$sthumbnail generated as new item %2$s."
|
5685 |
msgstr ""
|
5686 |
|
5687 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5688 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5689 |
msgid "Generated Thumbnails"
|
5690 |
msgstr ""
|
5691 |
|
5692 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5693 |
msgid ""
|
5694 |
"Type “WP” generates native WordPress thumbnails without creating "
|
5695 |
"a separate image item."
|
5696 |
msgstr ""
|
5697 |
|
5698 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5699 |
msgid ""
|
5700 |
"Pull down the Help menu and select Thumbnail Generation for setting details"
|
5701 |
msgstr ""
|
5702 |
|
5703 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5704 |
msgid "Width"
|
5705 |
msgstr ""
|
5706 |
|
5707 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5708 |
msgid "Height"
|
5709 |
msgstr ""
|
5710 |
|
5711 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5712 |
msgid "Best Fit"
|
5713 |
msgstr ""
|
5714 |
|
5715 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5716 |
msgid "Page"
|
5717 |
msgstr ""
|
5718 |
|
5719 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5720 |
msgid "Resolution"
|
5721 |
msgstr ""
|
5722 |
|
5723 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5724 |
msgid "Quality"
|
5725 |
msgstr ""
|
5726 |
|
5727 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5728 |
msgid "Existing Items"
|
5729 |
msgstr ""
|
5730 |
|
5731 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5732 |
msgid "Ignore"
|
5733 |
msgstr ""
|
5734 |
|
5735 |
-
#: includes/class-mla-thumbnail-generation.php:
|
5736 |
msgid "Suffix"
|
5737 |
msgstr ""
|
5738 |
|
@@ -5760,13 +5865,13 @@ msgid ""
|
|
5760 |
"\"Save Changes\" at the bottom of the tab to save any changes you make."
|
5761 |
msgstr ""
|
5762 |
|
5763 |
-
#: includes/class-mla-wpml-support.php:
|
5764 |
-
#: includes/class-mla-wpml-support.php:
|
5765 |
#, php-format
|
5766 |
msgid "Edit the %s translation"
|
5767 |
msgstr ""
|
5768 |
|
5769 |
-
#: includes/class-mla-wpml-support.php:
|
5770 |
#, php-format
|
5771 |
msgid "Add translation to %s"
|
5772 |
msgstr ""
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Media Library Assistant\n"
|
5 |
+
"POT-Creation-Date: 2018-03-25 15:55-0700\n"
|
6 |
"PO-Revision-Date: 2015-08-21 21:38-0800\n"
|
7 |
"Last-Translator: David Lingren <david@fairtradejudaica.org>\n"
|
8 |
"Language-Team: David Lingren <david@fairtradejudaica.org>\n"
|
20 |
"X-Poedit-SearchPath-1: tests\n"
|
21 |
"X-Poedit-SearchPath-2: index.php\n"
|
22 |
|
23 |
+
#: includes/class-mla-admin-columns-pro-support.php:178
|
24 |
+
#: includes/class-mla-ajax.php:259 includes/class-mla-edit-media.php:936
|
25 |
+
#: includes/class-mla-list-table.php:632
|
26 |
+
msgid "Draft"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: includes/class-mla-admin-columns-pro-support.php:181
|
30 |
+
#: includes/class-mla-ajax.php:253 includes/class-mla-edit-media.php:930
|
31 |
+
#: includes/class-mla-list-table.php:635
|
32 |
+
msgid "Scheduled"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: includes/class-mla-admin-columns-pro-support.php:184
|
36 |
+
#: includes/class-mla-edit-media.php:933 includes/class-mla-list-table.php:638
|
37 |
+
msgctxt "post state"
|
38 |
+
msgid "Pending"
|
39 |
+
msgstr ""
|
40 |
+
|
41 |
+
#: includes/class-mla-admin-columns-pro-support.php:187
|
42 |
+
#: includes/class-mla-list-table.php:641
|
43 |
+
#: includes/class-mla-thumbnail-generation.php:645
|
44 |
+
msgid "Trash"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: includes/class-mla-admin-columns-pro-support.php:395
|
48 |
+
#: includes/class-mla-data-references.php:310
|
49 |
+
#: includes/class-mla-data-references.php:656
|
50 |
+
#: includes/class-mla-list-table.php:1067
|
51 |
+
msgid "NO REFERENCE TESTS"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: includes/class-mla-admin-columns-pro-support.php:592
|
55 |
+
#: includes/class-mla-admin-columns-pro-support.php:654
|
56 |
+
#: includes/class-mla-admin-columns-pro-support.php:721
|
57 |
+
#: includes/class-mla-admin-columns-pro-support.php:783
|
58 |
+
#: includes/class-mla-core-options.php:447
|
59 |
+
#: includes/class-mla-core-options.php:457
|
60 |
+
#: includes/class-mla-core-options.php:467
|
61 |
+
#: includes/class-mla-core-options.php:477
|
62 |
+
#: includes/class-mla-list-table.php:1147
|
63 |
+
#: includes/class-mla-list-table.php:1192
|
64 |
+
#: includes/class-mla-list-table.php:1242
|
65 |
+
#: includes/class-mla-list-table.php:1287
|
66 |
+
msgid "Disabled"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: includes/class-mla-admin-columns-pro-support.php:611
|
70 |
+
#: includes/class-mla-admin-columns-pro-support.php:677
|
71 |
+
#: includes/class-mla-admin-columns-pro-support.php:740
|
72 |
+
#: includes/class-mla-admin-columns-pro-support.php:802
|
73 |
+
#: includes/class-mla-edit-media.php:1018
|
74 |
+
#: includes/class-mla-edit-media.php:1056
|
75 |
+
#: includes/class-mla-edit-media.php:1092
|
76 |
+
#: includes/class-mla-edit-media.php:1127
|
77 |
+
#: includes/class-mla-list-table.php:1165
|
78 |
+
#: includes/class-mla-list-table.php:1214
|
79 |
+
#: includes/class-mla-list-table.php:1260
|
80 |
+
#: includes/class-mla-list-table.php:1305
|
81 |
+
msgid "PARENT"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: includes/class-mla-admin-columns-pro-support.php:1027
|
85 |
+
#: includes/class-mla-core-options.php:603
|
86 |
+
#: includes/class-mla-core-options.php:860
|
87 |
+
#: includes/class-mla-core-options.php:891
|
88 |
+
#: includes/class-mla-core-options.php:905
|
89 |
+
#: includes/class-mla-list-table.php:490 includes/class-mla-list-table.php:1400
|
90 |
+
#: includes/class-mla-settings-shortcodes-tab.php:629
|
91 |
+
msgid "None"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: includes/class-mla-admin-columns-pro-support.php:1117
|
95 |
+
#: includes/class-mla-list-table.php:1539
|
96 |
+
msgid "(Private post)"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: includes/class-mla-admin-columns-pro-support.php:1121
|
100 |
+
#: includes/class-mla-ajax.php:269 includes/class-mla-list-table.php:1450
|
101 |
+
#: includes/class-mla-list-table.php:1479
|
102 |
+
#: includes/class-mla-list-table.php:1543
|
103 |
+
msgid "Y/m/d"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: includes/class-mla-admin-columns-pro-support.php:1134
|
107 |
+
#: includes/class-mla-core-options.php:1307
|
108 |
+
#: includes/class-mla-list-table.php:1556
|
109 |
+
msgctxt "table_view_singular"
|
110 |
+
msgid "Unattached"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
#: includes/class-mla-admin-columns-support-deprecated.php:33
|
114 |
+
#: includes/class-mla-admin-columns-support.php:28
|
115 |
#: includes/class-mla-core-options.php:553 includes/class-mla-settings.php:429
|
116 |
+
#: includes/class-mla-settings.php:1457 includes/class-mla-settings.php:1477
|
117 |
#: index.php:48
|
118 |
msgid "Media Library Assistant"
|
119 |
msgstr ""
|
120 |
|
121 |
#: includes/class-mla-admin-columns-support-deprecated.php:34
|
122 |
+
#: includes/class-mla-admin-columns-support.php:29
|
123 |
#: includes/class-mla-core-options.php:562
|
124 |
msgid "Assistant"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: includes/class-mla-ajax.php:240 includes/class-mla-core-options.php:1183
|
128 |
+
#: includes/class-mla-data.php:3959 includes/class-mla-edit-media.php:428
|
129 |
+
#: includes/class-mla-main.php:1896 includes/class-mla-main.php:2145
|
130 |
+
#: includes/class-mla-objects.php:348 includes/class-mla-options.php:453
|
131 |
#: includes/mla-main-search-box-template.php:47
|
132 |
#: includes/mla-media-modal-js-template.php:40
|
133 |
msgid "Title"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: includes/class-mla-ajax.php:240 includes/class-mla-main.php:1897
|
137 |
+
#: includes/class-mla-thumbnail-generation.php:637
|
138 |
msgid "Type"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: includes/class-mla-ajax.php:240 includes/class-mla-main.php:1898
|
142 |
msgid "Date"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: includes/class-mla-ajax.php:240 includes/class-mla-main.php:1899
|
146 |
#: includes/class-mla-settings-custom-fields-tab.php:503
|
147 |
#: includes/class-mla-settings-custom-fields-tab.php:803
|
148 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:511
|
149 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:885
|
150 |
#: includes/class-mla-settings-upload-tab.php:552
|
151 |
msgid "Status"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: includes/class-mla-ajax.php:244 includes/class-mla-list-table.php:876
|
155 |
+
#: includes/class-mla-list-table.php:1041 includes/class-mla-main.php:430
|
156 |
#: includes/class-mla-polylang-support.php:363
|
157 |
#: includes/class-mla-thumbnail-generation.php:97
|
158 |
msgid "(no title)"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: includes/class-mla-ajax.php:250
|
162 |
msgid "Published"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: includes/class-mla-ajax.php:256
|
|
|
|
|
|
|
|
|
|
|
166 |
msgid "Pending Review"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: includes/class-mla-ajax.php:298 includes/class-mla-ajax.php:305
|
170 |
+
#: includes/class-mla-ajax.php:314 includes/class-mla-core.php:845
|
171 |
+
#: includes/class-mla-core.php:863 includes/class-mla-core.php:1271
|
172 |
+
#: includes/class-mla-core.php:1277 includes/class-mla-core.php:1281
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
#: includes/class-mla-data-pdf.php:216 includes/class-mla-data-pdf.php:517
|
174 |
#: includes/class-mla-data-pdf.php:519 includes/class-mla-data-pdf.php:565
|
175 |
+
#: includes/class-mla-data-pdf.php:749 includes/class-mla-data-query.php:695
|
176 |
#: includes/class-mla-data.php:50 includes/class-mla-data.php:108
|
177 |
#: includes/class-mla-data.php:196 includes/class-mla-data.php:242
|
178 |
#: includes/class-mla-data.php:345 includes/class-mla-data.php:501
|
179 |
+
#: includes/class-mla-data.php:564 includes/class-mla-data.php:1473
|
180 |
+
#: includes/class-mla-data.php:1671 includes/class-mla-data.php:1677
|
181 |
+
#: includes/class-mla-data.php:2074 includes/class-mla-data.php:2078
|
182 |
+
#: includes/class-mla-data.php:3221 includes/class-mla-data.php:3263
|
183 |
+
#: includes/class-mla-data.php:3307 includes/class-mla-data.php:3687
|
184 |
+
#: includes/class-mla-data.php:3700 includes/class-mla-data.php:3722
|
185 |
+
#: includes/class-mla-data.php:3936 includes/class-mla-data.php:3982
|
186 |
+
#: includes/class-mla-data.php:4015 includes/class-mla-data.php:4031
|
187 |
+
#: includes/class-mla-data.php:4284 includes/class-mla-edit-media.php:318
|
188 |
+
#: includes/class-mla-edit-media.php:842 includes/class-mla-edit-media.php:884
|
189 |
+
#: includes/class-mla-main.php:651 includes/class-mla-main.php:783
|
190 |
+
#: includes/class-mla-main.php:785 includes/class-mla-main.php:788
|
191 |
+
#: includes/class-mla-main.php:1190 includes/class-mla-main.php:1246
|
192 |
+
#: includes/class-mla-main.php:1271 includes/class-mla-main.php:1402
|
193 |
+
#: includes/class-mla-main.php:1452 includes/class-mla-main.php:1548
|
194 |
+
#: includes/class-mla-main.php:1577 includes/class-mla-main.php:1715
|
195 |
+
#: includes/class-mla-main.php:1722 includes/class-mla-main.php:1882
|
196 |
+
#: includes/class-mla-main.php:2006 includes/class-mla-main.php:2277
|
197 |
+
#: includes/class-mla-main.php:2285 includes/class-mla-main.php:2309
|
198 |
+
#: includes/class-mla-main.php:2317 includes/class-mla-main.php:2349
|
199 |
+
#: includes/class-mla-main.php:2357 includes/class-mla-media-modal.php:600
|
200 |
+
#: includes/class-mla-mime-types.php:789 includes/class-mla-mime-types.php:1181
|
201 |
+
#: includes/class-mla-mime-types.php:1269
|
202 |
+
#: includes/class-mla-mime-types.php:1415
|
203 |
+
#: includes/class-mla-mime-types.php:1438
|
204 |
+
#: includes/class-mla-mime-types.php:2237
|
205 |
+
#: includes/class-mla-mime-types.php:2248
|
206 |
+
#: includes/class-mla-mime-types.php:2261
|
207 |
+
#: includes/class-mla-mime-types.php:2269
|
208 |
+
#: includes/class-mla-mime-types.php:2274
|
209 |
+
#: includes/class-mla-mime-types.php:2317
|
210 |
+
#: includes/class-mla-mime-types.php:2336
|
211 |
+
#: includes/class-mla-mime-types.php:2387
|
212 |
+
#: includes/class-mla-mime-types.php:2421
|
213 |
+
#: includes/class-mla-mime-types.php:2506
|
214 |
+
#: includes/class-mla-mime-types.php:2585
|
215 |
+
#: includes/class-mla-mime-types.php:2594
|
216 |
+
#: includes/class-mla-mime-types.php:2626 includes/class-mla-objects.php:245
|
217 |
#: includes/class-mla-options.php:217 includes/class-mla-options.php:421
|
218 |
+
#: includes/class-mla-options.php:502 includes/class-mla-options.php:557
|
219 |
+
#: includes/class-mla-options.php:1072 includes/class-mla-options.php:1913
|
220 |
+
#: includes/class-mla-options.php:2139
|
221 |
#: includes/class-mla-settings-custom-fields-tab.php:173
|
222 |
#: includes/class-mla-settings-custom-fields-tab.php:238
|
223 |
#: includes/class-mla-settings-custom-fields-tab.php:242
|
233 |
#: includes/class-mla-settings-custom-fields-tab.php:956
|
234 |
#: includes/class-mla-settings-custom-fields-tab.php:2029
|
235 |
#: includes/class-mla-settings-documentation-tab.php:97
|
236 |
+
#: includes/class-mla-settings-documentation-tab.php:291
|
237 |
+
#: includes/class-mla-settings-documentation-tab.php:1260
|
238 |
#: includes/class-mla-settings-iptc-exif-tab.php:175
|
239 |
#: includes/class-mla-settings-iptc-exif-tab.php:241
|
240 |
#: includes/class-mla-settings-iptc-exif-tab.php:245
|
241 |
#: includes/class-mla-settings-iptc-exif-tab.php:280
|
242 |
#: includes/class-mla-settings-iptc-exif-tab.php:308
|
243 |
#: includes/class-mla-settings-iptc-exif-tab.php:312
|
244 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:346
|
245 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:422
|
246 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:631
|
247 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:799
|
248 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1000
|
249 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1004
|
250 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1028
|
251 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2259
|
252 |
#: includes/class-mla-settings-shortcodes-tab.php:79
|
253 |
#: includes/class-mla-settings-shortcodes-tab.php:90
|
254 |
#: includes/class-mla-settings-shortcodes-tab.php:94
|
269 |
#: includes/class-mla-settings-view-tab.php:275
|
270 |
#: includes/class-mla-settings-view-tab.php:433
|
271 |
#: includes/class-mla-settings-view-tab.php:447
|
272 |
+
#: includes/class-mla-settings.php:589 includes/class-mla-settings.php:727
|
273 |
+
#: includes/class-mla-settings.php:764 includes/class-mla-settings.php:904
|
274 |
+
#: includes/class-mla-settings.php:1318 includes/class-mla-settings.php:1369
|
275 |
+
#: includes/class-mla-settings.php:1457 includes/class-mla-settings.php:1490
|
276 |
+
#: includes/class-mla-settings.php:1493 includes/class-mla-settings.php:1497
|
277 |
+
#: includes/class-mla-settings.php:1790 includes/class-mla-settings.php:1794
|
278 |
+
#: includes/class-mla-settings.php:1805 includes/class-mla-settings.php:1812
|
279 |
+
#: includes/class-mla-settings.php:1821 includes/class-mla-settings.php:1858
|
280 |
+
#: includes/class-mla-settings.php:1866 includes/class-mla-settings.php:1875
|
281 |
#: includes/class-mla-shortcode-support.php:2059
|
282 |
#: includes/class-mla-shortcode-support.php:2150
|
283 |
#: includes/class-mla-shortcode-support.php:3416
|
284 |
#: includes/class-mla-shortcode-support.php:3543
|
285 |
#: includes/class-mla-shortcode-support.php:3575
|
286 |
+
#: includes/class-mla-shortcode-support.php:4609
|
287 |
+
#: includes/class-mla-shortcode-support.php:5013
|
288 |
+
#: includes/class-mla-shortcode-support.php:5050
|
|
|
289 |
#: includes/class-mla-thumbnail-generation.php:428
|
290 |
#: includes/class-mla-thumbnail-generation.php:440
|
291 |
+
#: includes/class-mla-thumbnail-generation.php:452
|
292 |
+
#: includes/class-mla-thumbnail-generation.php:496
|
293 |
msgid "ERROR"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: includes/class-mla-ajax.php:298 includes/class-mla-main.php:1715
|
297 |
msgid "No post ID found"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: includes/class-mla-ajax.php:305 includes/class-mla-main.php:1722
|
301 |
#: includes/class-mla-polylang-support.php:260
|
302 |
msgid "You are not allowed to edit this Attachment."
|
303 |
msgstr ""
|
318 |
msgid "Check this option to add support for Attachment Tags."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: includes/class-mla-core-options.php:424 includes/class-mla-settings.php:1062
|
322 |
msgid "Where-used Reporting"
|
323 |
msgstr ""
|
324 |
|
335 |
msgstr ""
|
336 |
|
337 |
#: includes/class-mla-core-options.php:442
|
338 |
+
#: includes/class-mla-edit-media.php:777 includes/class-mla-edit-media.php:1029
|
339 |
msgid "Featured in"
|
340 |
msgstr ""
|
341 |
|
344 |
msgid "Enabled"
|
345 |
msgstr ""
|
346 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
#: includes/class-mla-core-options.php:448
|
348 |
msgid "Search database posts and pages for Featured Image attachments."
|
349 |
msgstr ""
|
350 |
|
351 |
#: includes/class-mla-core-options.php:452
|
352 |
+
#: includes/class-mla-edit-media.php:781 includes/class-mla-edit-media.php:1068
|
353 |
msgid "Inserted in"
|
354 |
msgstr ""
|
355 |
|
365 |
msgstr ""
|
366 |
|
367 |
#: includes/class-mla-core-options.php:462
|
368 |
+
#: includes/class-mla-edit-media.php:785 includes/class-mla-edit-media.php:1103
|
369 |
+
#: includes/class-mla-settings.php:1571
|
370 |
msgid "Gallery in"
|
371 |
msgstr ""
|
372 |
|
376 |
msgstr ""
|
377 |
|
378 |
#: includes/class-mla-core-options.php:467
|
379 |
+
#: includes/class-mla-core-options.php:477 includes/class-mla-main.php:2180
|
380 |
#: includes/class-mla-settings-custom-fields-tab.php:733
|
381 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:814
|
382 |
msgid "Refresh"
|
383 |
msgstr ""
|
384 |
|
395 |
msgstr ""
|
396 |
|
397 |
#: includes/class-mla-core-options.php:472
|
398 |
+
#: includes/class-mla-edit-media.php:789 includes/class-mla-edit-media.php:1138
|
399 |
+
#: includes/class-mla-settings.php:1581
|
400 |
msgid "MLA Gallery in"
|
401 |
msgstr ""
|
402 |
|
408 |
"Cached."
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: includes/class-mla-core-options.php:482 includes/class-mla-settings.php:1062
|
412 |
msgid "Taxonomy Support"
|
413 |
msgstr ""
|
414 |
|
451 |
msgstr ""
|
452 |
|
453 |
#: includes/class-mla-core-options.php:506
|
454 |
+
#: includes/class-mla-core-options.php:742 includes/class-mla-settings.php:1093
|
455 |
+
#: includes/class-mla-settings.php:1094 includes/class-mla-settings.php:1095
|
456 |
msgid "For complete documentation"
|
457 |
msgstr ""
|
458 |
|
459 |
#: includes/class-mla-core-options.php:506
|
460 |
+
#: includes/class-mla-core-options.php:742 includes/class-mla-settings.php:1093
|
461 |
+
#: includes/class-mla-settings.php:1094 includes/class-mla-settings.php:1095
|
462 |
msgid "click here"
|
463 |
msgstr ""
|
464 |
|
556 |
msgid "Order By"
|
557 |
msgstr ""
|
558 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
559 |
#: includes/class-mla-core-options.php:603
|
560 |
msgid "ID/Parent"
|
561 |
msgstr ""
|
577 |
msgstr ""
|
578 |
|
579 |
#: includes/class-mla-core-options.php:614
|
580 |
+
#: includes/class-mla-core-options.php:870
|
581 |
msgid "Choose the sort order."
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: includes/class-mla-core-options.php:618 includes/class-mla-main.php:572
|
585 |
+
msgid "Entries per page"
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: includes/class-mla-core-options.php:622
|
589 |
+
msgid "Enter the number of Media/Assistant submenu table items per page."
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: includes/class-mla-core-options.php:631
|
593 |
msgid "Views Width"
|
594 |
msgstr ""
|
595 |
|
596 |
+
#: includes/class-mla-core-options.php:636
|
597 |
msgid "Enter the width for the views list, in pixels (px) or percent (%)"
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: includes/class-mla-core-options.php:640
|
601 |
msgid "Icon Size"
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: includes/class-mla-core-options.php:645
|
605 |
msgid "Enter the size of the thumbnail/icon images, in pixels"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: includes/class-mla-core-options.php:649
|
609 |
msgid "Show Primary Column File Name"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: includes/class-mla-core-options.php:653
|
613 |
msgid ""
|
614 |
"Check/uncheck this option to show/omit the file name from the primary column."
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: includes/class-mla-core-options.php:657
|
618 |
msgid "QuickTags editor for bulk description"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: includes/class-mla-core-options.php:661
|
622 |
msgid ""
|
623 |
"Check this option to use the QuickTags editor for the Description field in "
|
624 |
"the Bulk Edit area."
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: includes/class-mla-core-options.php:665
|
628 |
msgid "Bulk Chunk Size"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: includes/class-mla-core-options.php:670
|
632 |
msgid "Enter the size of the Bulk Edit and Map All processing chunks"
|
633 |
msgstr ""
|
634 |
|
635 |
+
#: includes/class-mla-core-options.php:674
|
636 |
msgid "Taxonomy Filter parameters"
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: includes/class-mla-core-options.php:679
|
640 |
msgid "Maximum Depth"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: includes/class-mla-core-options.php:684
|
644 |
msgid ""
|
645 |
"Enter the number of levels displayed for hierarchial taxonomies; enter zero "
|
646 |
"for no limit."
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: includes/class-mla-core-options.php:688
|
650 |
msgid "Include Children"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: includes/class-mla-core-options.php:692
|
654 |
msgid ""
|
655 |
"Check/uncheck this option to include/exclude children for hierarchical "
|
656 |
"taxonomies."
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: includes/class-mla-core-options.php:696
|
660 |
msgid "Search Media Defaults"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: includes/class-mla-core-options.php:701
|
664 |
msgid "Display Search Controls"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: includes/class-mla-core-options.php:705
|
668 |
+
#: includes/class-mla-core-options.php:831
|
669 |
msgid ""
|
670 |
"Check/uncheck this option to display/hide the and/or connector and search "
|
671 |
"fields controls."
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: includes/class-mla-core-options.php:709
|
675 |
msgid ""
|
676 |
"Use these controls to set defaults for the and/or connector and search "
|
677 |
"fields controls.<br>These defaults will be used for the Search Media boxes "
|
678 |
"on both the Media/Assistant submenu<br>and the Media Manager Modal Window."
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: includes/class-mla-core-options.php:723
|
682 |
msgid "Media/Edit Media Enhancements"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: includes/class-mla-core-options.php:728
|
686 |
msgid "Enable "enhanced checklist" taxonomies"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: includes/class-mla-core-options.php:732
|
690 |
msgid ""
|
691 |
"Check this option to enable the \"? Search\" feature for hierarchical "
|
692 |
"taxonomies, e.g., Att. Categories.<br> This option also enables "
|
693 |
"the \"checklist-style\" support for flat taxonomies, e.g., Att. Tags."
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: includes/class-mla-core-options.php:736
|
697 |
msgid "Enable Edit Media additional meta boxes"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: includes/class-mla-core-options.php:740
|
701 |
msgid ""
|
702 |
"Check this option to add \"Parent Info\", \"Menu Order\", \"Attachment "
|
703 |
"Metadata\" and four \"where-used\" meta boxes to the Edit Media screen."
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: includes/class-mla-core-options.php:741
|
707 |
msgid "You can also use Filters to customize the meta boxes."
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: includes/class-mla-core-options.php:746
|
711 |
msgid "Media/Add New Enhancements"
|
712 |
msgstr ""
|
713 |
|
714 |
+
#: includes/class-mla-core-options.php:751
|
715 |
msgid "Enable "bulk edit" area"
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: includes/class-mla-core-options.php:755
|
719 |
msgid ""
|
720 |
"Check this option to enable the \"Bulk Edit area\" feature on the Media/Add "
|
721 |
"New screen."
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: includes/class-mla-core-options.php:759
|
725 |
msgid ""bulk edit" area on top"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: includes/class-mla-core-options.php:763
|
729 |
msgid ""
|
730 |
"Check this option to move the \"Bulk Edit area\" to the top of the Media/Add "
|
731 |
"New screen."
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: includes/class-mla-core-options.php:767
|
735 |
msgid ""bulk edit" area initially open"
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: includes/class-mla-core-options.php:770
|
739 |
msgid ""
|
740 |
"Check this option to automatically open the \"Bulk Edit area\" when the "
|
741 |
"Media/Add New screen is displayed."
|
742 |
msgstr ""
|
743 |
|
744 |
+
#: includes/class-mla-core-options.php:774
|
745 |
msgid "Media Manager/Media Grid Enhancements"
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: includes/class-mla-core-options.php:779
|
749 |
msgid "Enable Media Grid Enhancements"
|
750 |
msgstr ""
|
751 |
|
752 |
+
#: includes/class-mla-core-options.php:782
|
753 |
msgid ""
|
754 |
"Check/uncheck this option to enable/disable Media Library Grid View "
|
755 |
"Enhancements."
|
756 |
msgstr ""
|
757 |
|
758 |
+
#: includes/class-mla-core-options.php:786
|
759 |
msgid "Enable Media Manager Enhancements"
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: includes/class-mla-core-options.php:789
|
763 |
msgid ""
|
764 |
"Check/uncheck this option to enable/disable Media Manager Modal Window "
|
765 |
"Enhancements."
|
766 |
msgstr ""
|
767 |
|
768 |
+
#: includes/class-mla-core-options.php:793
|
769 |
msgid "Media Manager Enhanced MIME Type filter"
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: includes/class-mla-core-options.php:796
|
773 |
msgid ""
|
774 |
"Check this option to filter by more MIME Types, e.g., text, applications."
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: includes/class-mla-core-options.php:800
|
778 |
msgid "Media Manager Month and Year filter"
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: includes/class-mla-core-options.php:803
|
782 |
msgid "Check this option to filter by month and year uploaded."
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: includes/class-mla-core-options.php:807
|
786 |
msgid "Media Manager Category/Tag filter"
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: includes/class-mla-core-options.php:810
|
790 |
msgid "Check this option to filter by taxonomy terms."
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: includes/class-mla-core-options.php:814
|
794 |
msgid "Media Manager Terms Search popup"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: includes/class-mla-core-options.php:817
|
798 |
msgid "Check this option to enable the \"Terms Search\" popup window."
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: includes/class-mla-core-options.php:821
|
802 |
msgid "Media Manager Enhanced Search Media box"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: includes/class-mla-core-options.php:824
|
806 |
msgid "Check this option to enable search box enhancements."
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: includes/class-mla-core-options.php:828
|
810 |
msgid "Media Manager Enhanced Search Media Controls"
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: includes/class-mla-core-options.php:835
|
814 |
msgid "Media Manager Checklist meta boxes"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: includes/class-mla-core-options.php:838
|
818 |
msgid ""
|
819 |
"Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
|
820 |
"DETAILS\" pane.<br> This option is for any taxonomy that uses a "
|
821 |
"<strong>\"checklist-style\"</strong> meta box."
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: includes/class-mla-core-options.php:842
|
825 |
msgid "Media Manager Flat meta boxes"
|
826 |
msgstr ""
|
827 |
|
828 |
+
#: includes/class-mla-core-options.php:845
|
829 |
msgid ""
|
830 |
"Check this option to enable MLA-enhanced meta boxes in the \"ATTACHMENT "
|
831 |
"DETAILS\" pane.<br> This option is for <strong>flat taxonomies</"
|
833 |
"style\" meta box."
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: includes/class-mla-core-options.php:849
|
837 |
msgid "Media Manager auto-fill meta boxes"
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: includes/class-mla-core-options.php:852
|
841 |
msgid ""
|
842 |
"Check this option to automatically fill MLA-enhanced meta boxes in the "
|
843 |
"\"ATTACHMENT DETAILS\" pane<br> when the item is selected."
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: includes/class-mla-core-options.php:856
|
847 |
msgid "Media Manager Order By"
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: includes/class-mla-core-options.php:860
|
851 |
+
#: includes/class-mla-core-options.php:869
|
852 |
+
#: includes/class-mla-core-options.php:891
|
853 |
+
#: includes/class-mla-core-options.php:905
|
854 |
+
#: includes/class-mla-core-options.php:919 includes/class-mla-settings.php:1144
|
855 |
msgid "Media Manager Default"
|
856 |
msgstr ""
|
857 |
|
858 |
+
#: includes/class-mla-core-options.php:860
|
859 |
msgid "Title/Name"
|
860 |
msgstr ""
|
861 |
|
862 |
+
#: includes/class-mla-core-options.php:861
|
863 |
msgid ""
|
864 |
"If you want to override the Media Manager default,<br> select a "
|
865 |
"column for the sort order of the Media Library listing."
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: includes/class-mla-core-options.php:865
|
869 |
msgid "Media Manager Order"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: includes/class-mla-core-options.php:874
|
873 |
msgid "Attachment Display Settings"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: includes/class-mla-core-options.php:879
|
877 |
msgid "Media Manager Apply Display Settings"
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: includes/class-mla-core-options.php:882
|
881 |
msgid ""
|
882 |
"Check this option to always start with the Attachment Display Settings set "
|
883 |
"here,<br> overriding browser-/cookie-based defaults."
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: includes/class-mla-core-options.php:886
|
887 |
+
#: includes/class-mla-core-options.php:888
|
888 |
msgid "Alignment"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: includes/class-mla-core-options.php:888
|
892 |
+
#: includes/class-mla-core-options.php:902
|
893 |
+
#: includes/class-mla-core-options.php:916
|
894 |
#, php-format
|
895 |
msgid ""
|
896 |
"Select a value for the default %1$s option in the Attachment Display "
|
897 |
"Settings."
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: includes/class-mla-core-options.php:891
|
901 |
msgid "Left"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: includes/class-mla-core-options.php:891
|
905 |
msgid "Center"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: includes/class-mla-core-options.php:891
|
909 |
msgid "Right"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: includes/class-mla-core-options.php:900
|
913 |
+
#: includes/class-mla-core-options.php:902
|
914 |
msgid "Link To"
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: includes/class-mla-core-options.php:905
|
918 |
msgid "Media File"
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: includes/class-mla-core-options.php:905
|
922 |
msgid "Attachment Page"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: includes/class-mla-core-options.php:905
|
926 |
msgid "Custom URL"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: includes/class-mla-core-options.php:914
|
930 |
+
#: includes/class-mla-core-options.php:916
|
931 |
msgid "Size"
|
932 |
msgstr ""
|
933 |
|
934 |
+
#: includes/class-mla-core-options.php:919
|
935 |
+
#: includes/class-mla-thumbnail-generation.php:582
|
936 |
+
#: includes/class-mla-thumbnail-generation.php:648
|
937 |
msgid "Thumbnail"
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: includes/class-mla-core-options.php:919
|
941 |
msgid "Medium"
|
942 |
msgstr ""
|
943 |
|
944 |
+
#: includes/class-mla-core-options.php:919
|
945 |
msgid "Large"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: includes/class-mla-core-options.php:919
|
949 |
msgid "Full Size"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: includes/class-mla-core-options.php:928
|
953 |
msgid "Uninstall (Delete) Plugin Settings"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: includes/class-mla-core-options.php:933
|
957 |
msgid "Delete Option Settings"
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: includes/class-mla-core-options.php:936
|
961 |
msgid ""
|
962 |
"Check this option to remove all MLA option settings from the database when "
|
963 |
"the plugin is deleted.<br> <strong>You can make a backup copy</"
|
964 |
"strong> of your settings below by clicking \""
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: includes/class-mla-core-options.php:936 includes/class-mla-settings.php:1064
|
968 |
msgid "Export ALL Settings"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: includes/class-mla-core-options.php:940
|
972 |
msgid "Delete Option Settings Backups"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: includes/class-mla-core-options.php:943
|
976 |
msgid ""
|
977 |
"Check this option to remove the <code>/wp-content/mla-backup</code> "
|
978 |
"directory and its contents when the plugin is deleted."
|
979 |
msgstr ""
|
980 |
|
981 |
+
#: includes/class-mla-core-options.php:947
|
982 |
msgid "Default [mla_gallery] Templates and Settings"
|
983 |
msgstr ""
|
984 |
|
985 |
+
#: includes/class-mla-core-options.php:952
|
986 |
+
#: includes/class-mla-core-options.php:958
|
987 |
+
#: includes/class-mla-core-options.php:996
|
988 |
+
#: includes/class-mla-core-options.php:1002
|
989 |
msgid "Style Template"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: includes/class-mla-core-options.php:958
|
993 |
+
#: includes/class-mla-core-options.php:968
|
994 |
+
#: includes/class-mla-core-options.php:1002
|
995 |
+
#: includes/class-mla-core-options.php:1012
|
996 |
#, php-format
|
997 |
msgid "Select the default %1$s for your %2$s shortcodes."
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: includes/class-mla-core-options.php:962
|
1001 |
+
#: includes/class-mla-core-options.php:1006
|
1002 |
msgid "Markup Template"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: includes/class-mla-core-options.php:968
|
1006 |
+
#: includes/class-mla-core-options.php:1012
|
1007 |
#: includes/class-mla-settings-shortcodes-tab.php:85
|
1008 |
msgid "markup template"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: includes/class-mla-core-options.php:972
|
1012 |
+
#: includes/class-mla-core-options.php:1016
|
1013 |
msgid "Default columns"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: includes/class-mla-core-options.php:976
|
1017 |
msgid ""
|
1018 |
"Enter the number of [mla_tag_cloud] columns; must be a positive integer."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: includes/class-mla-core-options.php:980
|
1022 |
+
#: includes/class-mla-core-options.php:1024
|
1023 |
msgid "Default mla_margin"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
+
#: includes/class-mla-core-options.php:984
|
1027 |
+
#: includes/class-mla-core-options.php:1028
|
1028 |
msgid ""
|
1029 |
"Enter the CSS \"margin\" property value, in length (px, em, pt, etc.), "
|
1030 |
"percent (%), \"auto\" or \"inherit\".<br> Enter \"none\" to "
|
1031 |
"remove the property entirely."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: includes/class-mla-core-options.php:988
|
1035 |
+
#: includes/class-mla-core-options.php:1032
|
1036 |
msgid "Default mla_itemwidth"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
+
#: includes/class-mla-core-options.php:992
|
1040 |
+
#: includes/class-mla-core-options.php:1036
|
1041 |
msgid ""
|
1042 |
"Enter the CSS \"width\" property value, in length (px, em, pt, etc.), "
|
1043 |
"percent (%), \"auto\" or \"inherit\".<br> Enter \"calculate"
|
1047 |
"the property entirely."
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: includes/class-mla-core-options.php:1020
|
1051 |
msgid "Enter the number of [mla_gallery] columns; must be a positive integer."
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: includes/class-mla-core-options.php:1040
|
1055 |
msgid "Thumbnail Substitution Support, mla_viewer"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: includes/class-mla-core-options.php:1045
|
1059 |
msgid "Enable thumbnail substitution"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: includes/class-mla-core-options.php:1048
|
1063 |
msgid ""
|
1064 |
"Check this option to allow the \"mla_viewer\" to generate thumbnail images "
|
1065 |
"for PDF documents. Thumbnails are generated dynamically, each time the item "
|
1068 |
"strong>"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: includes/class-mla-core-options.php:1052
|
1072 |
msgid "Enable Featured Images"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: includes/class-mla-core-options.php:1055
|
1076 |
msgid ""
|
1077 |
"Check this option to extend Featured Image support to all Media Library "
|
1078 |
"items. The Featured Image can be used as a thumbnail image for the item in "
|
1079 |
"an [mla_gallery] display."
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: includes/class-mla-core-options.php:1059
|
1083 |
msgid "Enable Featured Image Generation"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: includes/class-mla-core-options.php:1062
|
1087 |
msgid ""
|
1088 |
"Check this option to enable the \"Thumbnail\" generation action in the Media/"
|
1089 |
"Assistant submenu Bulk Actions dropdown."
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: includes/class-mla-core-options.php:1066
|
1093 |
msgid "Enable explicit Ghostscript check"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: includes/class-mla-core-options.php:1069
|
1097 |
msgid ""
|
1098 |
"Check this option to enable the explicit check for Ghostscript support "
|
1099 |
"required for thumbnail generation. If your Ghostscript software is in a non-"
|
1102 |
"leave this option checked unless you know it is safe to turn it off."
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: includes/class-mla-core-options.php:1073
|
1106 |
msgid "Ghostscript path"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: includes/class-mla-core-options.php:1077
|
1110 |
msgid ""
|
1111 |
"If your “gs” executable is in a non-standard location, enter the "
|
1112 |
"full path and filename here, e.g., “/usr/bin/gs”. It will "
|
1113 |
"override the search for Ghostscript in other places."
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: includes/class-mla-core-options.php:1097
|
1117 |
msgid "Enable custom field mapping"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: includes/class-mla-core-options.php:1100
|
1121 |
+
#: includes/class-mla-core-options.php:1107
|
1122 |
+
#: includes/class-mla-core-options.php:1114
|
1123 |
+
#: includes/class-mla-core-options.php:1131
|
1124 |
msgid "See Help menu."
|
1125 |
msgstr ""
|
1126 |
|
1127 |
+
#: includes/class-mla-core-options.php:1104
|
1128 |
msgid "Enable custom field mapping when adding new media"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
+
#: includes/class-mla-core-options.php:1111
|
1132 |
msgid "Enable custom field mapping when updating media metadata"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
+
#: includes/class-mla-core-options.php:1118
|
1136 |
msgid ""
|
1137 |
"Update the custom field mapping values above, then click Save Changes to "
|
1138 |
"make the updates permanent.<br>You can also make temporary updates and click "
|
1140 |
"saving any rule changes."
|
1141 |
msgstr ""
|
1142 |
|
1143 |
+
#: includes/class-mla-core-options.php:1128
|
1144 |
msgid "Enable IPTC/EXIF Mapping"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
+
#: includes/class-mla-core-options.php:1135
|
1148 |
msgid "Enable IPTC/EXIF Mapping when adding new media"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: includes/class-mla-core-options.php:1138
|
1152 |
msgid ""
|
1153 |
"Check this option to enable mapping when uploading new media (attachments)."
|
1154 |
"<br> Does NOT affect the operation of the \"Map\" buttons on the "
|
1155 |
"bulk edit, single edit and settings screens."
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: includes/class-mla-core-options.php:1142
|
1159 |
msgid "Enable IPTC/EXIF Mapping when updating media metadata"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: includes/class-mla-core-options.php:1145
|
1163 |
msgid ""
|
1164 |
"Check this option to enable mapping when media (attachments) metadata is "
|
1165 |
"regenerated,<br> e.g., when the Media/Edit Media \"Edit Image\" "
|
1166 |
"functions are used."
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: includes/class-mla-core-options.php:1149
|
1170 |
msgid ""
|
1171 |
"Update the standard field mapping values above, then click <strong>Save "
|
1172 |
"Changes</strong> to make the updates permanent.<br>You can also make "
|
1175 |
"changes."
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: includes/class-mla-core-options.php:1159
|
1179 |
msgid ""
|
1180 |
"Update the taxonomy term mapping values above, then click <strong>Save "
|
1181 |
"Changes</strong> or <strong>Map All Attachments, Taxonomy Terms Now</strong>."
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: includes/class-mla-core-options.php:1169
|
1185 |
msgid ""
|
1186 |
"<strong>Update</strong> individual custom field mapping values above, or "
|
1187 |
"make several updates and click <strong>Save Changes</strong> below to apply "
|
1192 |
"changes."
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: includes/class-mla-core-options.php:1179
|
1196 |
msgid "IPTC/EXIF Mapping help"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: includes/class-mla-core-options.php:1190 includes/class-mla-data.php:3985
|
1200 |
+
#: includes/class-mla-edit-media.php:429 includes/class-mla-main.php:2146
|
1201 |
msgid "Name/Slug"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
+
#: includes/class-mla-core-options.php:1197 includes/class-mla-data.php:4028
|
1205 |
+
#: includes/class-mla-edit-media.php:432 includes/class-mla-list-table.php:1342
|
1206 |
+
#: includes/class-mla-main.php:2150 includes/class-mla-options.php:459
|
1207 |
#: includes/mla-main-search-box-template.php:51
|
1208 |
#: includes/mla-media-modal-js-template.php:48
|
1209 |
msgid "ALT Text"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: includes/class-mla-core-options.php:1204 includes/class-mla-data.php:4041
|
1213 |
+
#: includes/class-mla-edit-media.php:430 includes/class-mla-main.php:2147
|
1214 |
#: includes/class-mla-options.php:462
|
1215 |
#: includes/mla-main-search-box-template.php:53
|
1216 |
#: includes/mla-media-modal-js-template.php:53
|
1217 |
msgid "Caption"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: includes/class-mla-core-options.php:1211 includes/class-mla-data.php:4050
|
1221 |
+
#: includes/class-mla-edit-media.php:431 includes/class-mla-main.php:2148
|
1222 |
#: includes/class-mla-options.php:465
|
1223 |
#: includes/class-mla-settings-upload-tab.php:174
|
1224 |
#: includes/class-mla-settings-upload-tab.php:542
|
1235 |
msgid "Description"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
+
#: includes/class-mla-core-options.php:1218 includes/class-mla-data.php:4112
|
1239 |
+
#: includes/class-mla-data.php:4121 includes/class-mla-edit-media.php:433
|
1240 |
+
#: includes/class-mla-edit-media.php:627 includes/class-mla-main.php:2152
|
1241 |
+
msgid "Uploaded on"
|
1242 |
+
msgstr ""
|
1243 |
+
|
1244 |
+
#: includes/class-mla-core-options.php:1238
|
1245 |
msgid "Enable View and Post MIME Type Support"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
+
#: includes/class-mla-core-options.php:1241
|
1249 |
msgid ""
|
1250 |
"Check/uncheck this option to enable/disable Post MIME Type Support, then "
|
1251 |
"click <strong>Save Changes</strong> to record the new setting."
|
1252 |
msgstr ""
|
1253 |
|
1254 |
+
#: includes/class-mla-core-options.php:1250
|
1255 |
msgid "Post MIME Types help."
|
1256 |
msgstr ""
|
1257 |
|
1258 |
+
#: includes/class-mla-core-options.php:1253
|
1259 |
+
#: includes/class-mla-mime-types.php:1670
|
1260 |
#: includes/class-mla-settings-custom-fields-tab.php:2454
|
1261 |
+
#: includes/class-mla-settings-documentation-tab.php:1535
|
1262 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2722
|
1263 |
#: includes/class-mla-settings-shortcodes-tab.php:1970
|
1264 |
msgctxt "table_view_singular"
|
1265 |
msgid "All"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
+
#: includes/class-mla-core-options.php:1254
|
1269 |
+
#: includes/class-mla-mime-types.php:1671
|
1270 |
#: includes/class-mla-settings-custom-fields-tab.php:2455
|
1271 |
+
#: includes/class-mla-settings-documentation-tab.php:1536
|
1272 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2723
|
1273 |
#: includes/class-mla-settings-shortcodes-tab.php:1971
|
1274 |
msgctxt "table_view_plural"
|
1275 |
msgid "All"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
+
#: includes/class-mla-core-options.php:1259
|
1279 |
+
#: includes/class-mla-core-options.php:1313
|
1280 |
+
#: includes/class-mla-core-options.php:1322
|
1281 |
+
#: includes/class-mla-core-options.php:1331
|
1282 |
msgctxt "post_mime_types_description"
|
1283 |
msgid "Built-in view"
|
1284 |
msgstr ""
|
1285 |
|
1286 |
+
#: includes/class-mla-core-options.php:1262
|
1287 |
msgctxt "table_view_singular"
|
1288 |
msgid "Image"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: includes/class-mla-core-options.php:1263
|
1292 |
msgctxt "table_view_plural"
|
1293 |
msgid "Images"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: includes/class-mla-core-options.php:1268
|
1297 |
msgctxt "post_mime_types_description"
|
1298 |
msgid "All image subtypes"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: includes/class-mla-core-options.php:1271
|
1302 |
msgctxt "table_view_singular"
|
1303 |
msgid "Audio"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
+
#: includes/class-mla-core-options.php:1272
|
1307 |
msgctxt "table_view_plural"
|
1308 |
msgid "Audio"
|
1309 |
msgstr ""
|
1310 |
|
1311 |
+
#: includes/class-mla-core-options.php:1277
|
1312 |
msgctxt "post_mime_types_description"
|
1313 |
msgid "All audio subtypes"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: includes/class-mla-core-options.php:1280
|
1317 |
msgctxt "table_view_singular"
|
1318 |
msgid "Video"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: includes/class-mla-core-options.php:1281
|
1322 |
msgctxt "table_view_plural"
|
1323 |
msgid "Video"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
+
#: includes/class-mla-core-options.php:1286
|
1327 |
msgctxt "post_mime_types_description"
|
1328 |
msgid "All video subtypes"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
+
#: includes/class-mla-core-options.php:1289
|
1332 |
msgctxt "table_view_singular"
|
1333 |
msgid "Text"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#: includes/class-mla-core-options.php:1290
|
1337 |
msgctxt "table_view_plural"
|
1338 |
msgid "Text"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#: includes/class-mla-core-options.php:1295
|
1342 |
msgctxt "post_mime_types_description"
|
1343 |
msgid "All text subtypes"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
+
#: includes/class-mla-core-options.php:1298
|
1347 |
msgctxt "table_view_singular"
|
1348 |
msgid "Application"
|
1349 |
msgstr ""
|
1350 |
|
1351 |
+
#: includes/class-mla-core-options.php:1299
|
1352 |
msgctxt "table_view_plural"
|
1353 |
msgid "Applications"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
+
#: includes/class-mla-core-options.php:1304
|
1357 |
msgctxt "post_mime_types_description"
|
1358 |
msgid "All application subtypes"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: includes/class-mla-core-options.php:1308
|
|
|
|
|
|
|
|
|
|
|
|
|
1362 |
msgctxt "table_view_plural"
|
1363 |
msgid "Unattached"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
+
#: includes/class-mla-core-options.php:1316
|
1367 |
msgctxt "table_view_singular"
|
1368 |
msgid "Attached"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
+
#: includes/class-mla-core-options.php:1317
|
1372 |
msgctxt "table_view_plural"
|
1373 |
msgid "Attached"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
+
#: includes/class-mla-core-options.php:1325
|
1377 |
msgctxt "table_view_singular"
|
1378 |
msgid "Trash"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: includes/class-mla-core-options.php:1326
|
1382 |
msgctxt "table_view_plural"
|
1383 |
msgid "Trash"
|
1384 |
msgstr ""
|
1385 |
|
1386 |
+
#: includes/class-mla-core-options.php:1337
|
1387 |
msgid "Enable Upload MIME Type Support"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
+
#: includes/class-mla-core-options.php:1340
|
1391 |
msgid ""
|
1392 |
"Check/uncheck this option to enable/disable Upload MIME Type Support, then "
|
1393 |
"click <strong>Save Changes</strong> to record the new setting."
|
1394 |
msgstr ""
|
1395 |
|
1396 |
+
#: includes/class-mla-core-options.php:1349
|
1397 |
msgid "Upload MIME Types help."
|
1398 |
msgstr ""
|
1399 |
|
1400 |
+
#: includes/class-mla-core-options.php:1354
|
1401 |
msgid "Enable MLA File Type Icons Support"
|
1402 |
msgstr ""
|
1403 |
|
1404 |
+
#: includes/class-mla-core-options.php:1357
|
1405 |
msgid ""
|
1406 |
"Check/uncheck this option to enable/disable MLA File Type Icons Support, "
|
1407 |
"then click <strong>Save Changes</strong> to record the new setting."
|
1408 |
msgstr ""
|
1409 |
|
1410 |
+
#: includes/class-mla-core-options.php:1361
|
1411 |
msgid "Display Limit"
|
1412 |
msgstr ""
|
1413 |
|
1414 |
+
#: includes/class-mla-core-options.php:1365
|
1415 |
msgid ""
|
1416 |
"Enter the maximum number of debug log characters to display; enter zero or "
|
1417 |
"leave blank for no limit."
|
1418 |
msgstr ""
|
1419 |
|
1420 |
+
#: includes/class-mla-core-options.php:1369
|
1421 |
msgid "Debug File"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
+
#: includes/class-mla-core-options.php:1373
|
1425 |
msgid ""
|
1426 |
"Enter the name of an alternate, MLA-specific debug log file; leave blank to "
|
1427 |
+
"use the PHP error_log.<br> The WP_CONTENT_DIR value (below) will "
|
1428 |
+
"be prepended to the value here, e.g., enter something like \"/uploads/mla.log"
|
1429 |
+
"\"."
|
1430 |
msgstr ""
|
1431 |
|
1432 |
+
#: includes/class-mla-core-options.php:1377
|
1433 |
msgid "Replace PHP error_log file"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
+
#: includes/class-mla-core-options.php:1380
|
1437 |
msgid ""
|
1438 |
"Check this option to replace the PHP error_log file with the MLA Debug File."
|
1439 |
"<br> allows capture of PHP messages in the MLA Debug File."
|
1440 |
msgstr ""
|
1441 |
|
1442 |
+
#: includes/class-mla-core-options.php:1384
|
1443 |
msgid "PHP Reporting"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
+
#: includes/class-mla-core-options.php:1388
|
1447 |
msgid ""
|
1448 |
"Enter a numeric error_reporting value, e.g., 0x7FFF or 32767; leave blank to "
|
1449 |
"use the existing PHP error_reporting value."
|
1450 |
msgstr ""
|
1451 |
|
1452 |
+
#: includes/class-mla-core-options.php:1392
|
1453 |
msgid "MLA Reporting"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: includes/class-mla-core-options.php:1396
|
1457 |
msgid ""
|
1458 |
"Enter a numeric MLA_DEBUG_LEVEL value, e.g., 0x0003 or 3; leave blank to use "
|
1459 |
"the existing MLA_DEBUG_LEVEL value."
|
1460 |
msgstr ""
|
1461 |
|
1462 |
+
#: includes/class-mla-core.php:845
|
1463 |
#, php-format
|
1464 |
msgctxt "error_log"
|
1465 |
msgid "%1$s: mla_load_template file \"%2$s\" not found."
|
1466 |
msgstr ""
|
1467 |
|
1468 |
+
#: includes/class-mla-core.php:863
|
1469 |
#, php-format
|
1470 |
msgctxt "error_log"
|
1471 |
msgid "%1$s: mla_load_template file \"%2$s\" bad source type \"%3$s\"."
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: includes/class-mla-core.php:1271
|
1475 |
#, php-format
|
1476 |
msgid "%1$s: Bad specification part \"%2$s\""
|
1477 |
msgstr ""
|
1478 |
|
1479 |
+
#: includes/class-mla-core.php:1277
|
1480 |
#, php-format
|
1481 |
msgid "%1$s: Bad specification option \"%2$s\""
|
1482 |
msgstr ""
|
1483 |
|
1484 |
+
#: includes/class-mla-core.php:1281
|
1485 |
#, php-format
|
1486 |
msgid "%1$s: Bad specification prefix \"%2$s\""
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: includes/class-mla-core.php:1381
|
1490 |
msgid "Most Used"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: includes/class-mla-core.php:1410
|
1494 |
#, php-format
|
1495 |
msgid "+ %s"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
+
#: includes/class-mla-core.php:1416 includes/class-mla-main.php:1888
|
1499 |
+
#: includes/class-mla-media-modal.php:630
|
1500 |
#: includes/mla-media-modal-js-template.php:28
|
1501 |
#: includes/mla-media-modal-js-template.php:75
|
1502 |
msgid "Search"
|
1549 |
|
1550 |
#: includes/class-mla-data-query.php:294
|
1551 |
#: includes/class-mla-settings-custom-fields-tab.php:1202
|
1552 |
+
#: includes/class-mla-settings-documentation-tab.php:490
|
1553 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1278
|
1554 |
#: includes/class-mla-settings-shortcodes-tab.php:950
|
1555 |
msgctxt "list_table_column"
|
1556 |
msgid "Name"
|
1596 |
msgid "Caption"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: includes/class-mla-data-query.php:303 includes/class-mla-mime-types.php:599
|
1600 |
+
#: includes/class-mla-mime-types.php:672 includes/class-mla-mime-types.php:751
|
1601 |
+
#: includes/class-mla-settings-documentation-tab.php:493
|
1602 |
#: includes/class-mla-settings-shortcodes-tab.php:953
|
1603 |
msgctxt "list_table_column"
|
1604 |
msgid "Description"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: includes/class-mla-data-query.php:304 includes/class-mla-mime-types.php:591
|
1608 |
+
#: includes/class-mla-mime-types.php:669
|
1609 |
msgctxt "list_table_column"
|
1610 |
msgid "MIME Type"
|
1611 |
msgstr ""
|
1640 |
msgid "Attached to"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
+
#: includes/class-mla-data-query.php:695 includes/class-mla-edit-media.php:318
|
1644 |
+
#: includes/class-mla-main.php:1882 includes/class-mla-main.php:2006
|
1645 |
+
#: includes/class-mla-media-modal.php:600 includes/class-mla-mime-types.php:789
|
1646 |
+
#: includes/class-mla-mime-types.php:1438
|
1647 |
+
#: includes/class-mla-mime-types.php:2626
|
1648 |
#: includes/class-mla-settings-custom-fields-tab.php:552
|
1649 |
#: includes/class-mla-settings-custom-fields-tab.php:718
|
1650 |
#: includes/class-mla-settings-custom-fields-tab.php:2029
|
1651 |
+
#: includes/class-mla-settings-documentation-tab.php:291
|
1652 |
+
#: includes/class-mla-settings-documentation-tab.php:1260
|
1653 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:631
|
1654 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:799
|
1655 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2259
|
1656 |
#: includes/class-mla-settings-shortcodes-tab.php:503
|
1657 |
#: includes/class-mla-settings-shortcodes-tab.php:1627
|
1658 |
#: includes/class-mla-settings-upload-tab.php:301
|
1662 |
msgid "%1$s: %2$s non-array \"%3$s\""
|
1663 |
msgstr ""
|
1664 |
|
1665 |
+
#: includes/class-mla-data-query.php:1166
|
1666 |
#, php-format
|
1667 |
msgctxt "error_log"
|
1668 |
msgid "%1$s: _execute_list_table_query $wp_filter = \"%2$s\"."
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: includes/class-mla-data-query.php:1166
|
1672 |
+
#: includes/class-mla-data-query.php:1181
|
1673 |
+
#: includes/class-mla-data-query.php:1183
|
1674 |
+
#: includes/class-mla-data-query.php:1666
|
1675 |
+
#: includes/class-mla-data-query.php:1738
|
1676 |
+
#: includes/class-mla-data-query.php:1810
|
1677 |
+
#: includes/class-mla-data-query.php:1907
|
1678 |
+
#: includes/class-mla-data-query.php:1999
|
1679 |
+
#: includes/class-mla-data-query.php:2018
|
1680 |
msgid "DEBUG"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: includes/class-mla-data-query.php:1181
|
1684 |
#, php-format
|
1685 |
msgctxt "error_log"
|
1686 |
msgid "%1$s: _execute_list_table_query WP_Query = \"%2$s\"."
|
1687 |
msgstr ""
|
1688 |
|
1689 |
+
#: includes/class-mla-data-query.php:1183
|
1690 |
#, php-format
|
1691 |
msgctxt "error_log"
|
1692 |
msgid "%1$s: _execute_list_table_query SQL_request = \"%2$s\"."
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: includes/class-mla-data-query.php:1666
|
1696 |
#, php-format
|
1697 |
msgctxt "error_log"
|
1698 |
msgid "%1$s: mla_query_posts_search_filter = \"%2$s\"."
|
1699 |
msgstr ""
|
1700 |
|
1701 |
+
#: includes/class-mla-data-query.php:1738
|
1702 |
#, php-format
|
1703 |
msgctxt "error_log"
|
1704 |
msgid "%1$s: mla_query_posts_where_filter = \"%2$s\"."
|
1705 |
msgstr ""
|
1706 |
|
1707 |
+
#: includes/class-mla-data-query.php:1810
|
1708 |
#, php-format
|
1709 |
msgctxt "error_log"
|
1710 |
msgid "%1$s: mla_query_posts_join_filter = \"%2$s\"."
|
1711 |
msgstr ""
|
1712 |
|
1713 |
+
#: includes/class-mla-data-query.php:1907
|
1714 |
#, php-format
|
1715 |
msgctxt "error_log"
|
1716 |
msgid "%1$s: mla_query_posts_orderby_filter = \"%2$s\"."
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: includes/class-mla-data-query.php:1999
|
1720 |
#, php-format
|
1721 |
msgctxt "error_log"
|
1722 |
msgid "%1$s: mla_query_posts_clauses_filter = \"%2$s\"."
|
1723 |
msgstr ""
|
1724 |
|
1725 |
+
#: includes/class-mla-data-query.php:2018
|
1726 |
#, php-format
|
1727 |
msgctxt "error_log"
|
1728 |
msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: includes/class-mla-data-references.php:316
|
1732 |
+
#: includes/class-mla-data-references.php:662
|
1733 |
+
#: includes/class-mla-data-source.php:678
|
1734 |
+
#: includes/class-mla-data-source.php:679
|
|
|
|
|
|
|
|
|
|
|
|
|
1735 |
msgid "ORPHAN"
|
1736 |
msgstr ""
|
1737 |
|
1738 |
+
#: includes/class-mla-data-references.php:320
|
1739 |
+
#: includes/class-mla-data-references.php:666
|
1740 |
msgid "UNUSED"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: includes/class-mla-data-references.php:325
|
1744 |
+
#: includes/class-mla-data-references.php:671
|
1745 |
msgid "UNATTACHED"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
+
#: includes/class-mla-data-references.php:327
|
1749 |
+
#: includes/class-mla-data-references.php:673
|
1750 |
msgid "INVALID PARENT"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
+
#: includes/class-mla-data-references.php:847
|
1754 |
#, php-format
|
1755 |
msgid "(%1$s) %2$s (ID %3$d) query \"%4$s\" failed, returning \"%5$s\""
|
1756 |
msgstr ""
|
1797 |
msgid "%1$s: _evaluate_template_node unknown type \"%2$s\"."
|
1798 |
msgstr ""
|
1799 |
|
1800 |
+
#: includes/class-mla-data.php:1473
|
1801 |
#, php-format
|
1802 |
msgctxt "error_log"
|
1803 |
msgid ""
|
1805 |
"\"."
|
1806 |
msgstr ""
|
1807 |
|
1808 |
+
#: includes/class-mla-data.php:1671
|
1809 |
#, php-format
|
1810 |
msgctxt "error_log"
|
1811 |
msgid "%1$s: mla_get_attachment_by_id(%2$d) not found."
|
1812 |
msgstr ""
|
1813 |
|
1814 |
+
#: includes/class-mla-data.php:1677
|
1815 |
#, php-format
|
1816 |
msgctxt "error_log"
|
1817 |
msgid "%1$s: mla_get_attachment_by_id(%2$d) wrong post_type \"%3$s\"."
|
1818 |
msgstr ""
|
1819 |
|
1820 |
+
#: includes/class-mla-data.php:2074
|
1821 |
msgctxt "error_log"
|
1822 |
msgid "mla_parse_xmp_metadata xml_parse_into_struct failed."
|
1823 |
msgstr ""
|
1824 |
|
1825 |
+
#: includes/class-mla-data.php:2078
|
1826 |
msgctxt "error_log"
|
1827 |
msgid "mla_parse_xmp_metadata set option failed."
|
1828 |
msgstr ""
|
1829 |
|
1830 |
+
#: includes/class-mla-data.php:3434
|
1831 |
#: includes/class-mla-settings-custom-fields-tab.php:810
|
1832 |
#: includes/class-mla-settings-custom-fields-tab.php:1515
|
1833 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:893
|
1834 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1621
|
1835 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2433
|
1836 |
#: includes/class-mla-settings-view-tab.php:398
|
1837 |
#: includes/class-mla-settings-view-tab.php:799
|
1838 |
#: includes/class-mla-settings-view-tab.php:815
|
1840 |
msgid "Yes"
|
1841 |
msgstr ""
|
1842 |
|
1843 |
+
#: includes/class-mla-data.php:3436
|
1844 |
#: includes/class-mla-settings-custom-fields-tab.php:811
|
1845 |
#: includes/class-mla-settings-custom-fields-tab.php:1517
|
1846 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:894
|
1847 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1623
|
1848 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2433
|
1849 |
#: includes/class-mla-settings-view-tab.php:397
|
1850 |
#: includes/class-mla-settings-view-tab.php:801
|
1851 |
#: includes/class-mla-settings-view-tab.php:817
|
1853 |
msgid "No"
|
1854 |
msgstr ""
|
1855 |
|
1856 |
+
#: includes/class-mla-data.php:3684 includes/class-mla-data.php:3801
|
1857 |
#, php-format
|
1858 |
msgid "Deleting %1$s"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: includes/class-mla-data.php:3687
|
1862 |
#, php-format
|
1863 |
msgid "%1$s: meta:%2$s not found"
|
1864 |
msgstr ""
|
1865 |
|
1866 |
+
#: includes/class-mla-data.php:3696 includes/class-mla-data.php:3812
|
1867 |
+
#: includes/class-mla-data.php:3824
|
1868 |
#, php-format
|
1869 |
msgid "Adding %1$s = %2$s"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
+
#: includes/class-mla-data.php:3700
|
1873 |
#, php-format
|
1874 |
msgid "%1$s: Adding meta:%2$s; not found"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
+
#: includes/class-mla-data.php:3707
|
1878 |
#, php-format
|
1879 |
msgid "Deleting Null meta:%1$s"
|
1880 |
msgstr ""
|
1881 |
|
1882 |
+
#: includes/class-mla-data.php:3717 includes/class-mla-data.php:3893
|
1883 |
+
#: includes/class-mla-data.php:3959 includes/class-mla-data.php:3985
|
1884 |
+
#: includes/class-mla-data.php:4028 includes/class-mla-data.php:4041
|
1885 |
+
#: includes/class-mla-data.php:4050 includes/class-mla-data.php:4061
|
1886 |
+
#: includes/class-mla-data.php:4072 includes/class-mla-data.php:4085
|
1887 |
+
#: includes/class-mla-data.php:4094 includes/class-mla-data.php:4103
|
1888 |
+
#: includes/class-mla-data.php:4112 includes/class-mla-data.php:4121
|
1889 |
+
#: includes/class-mla-mime-types.php:1272
|
1890 |
+
#: includes/class-mla-mime-types.php:2390
|
1891 |
#, php-format
|
1892 |
msgid "Changing %1$s from \"%2$s\" to \"%3$s\""
|
1893 |
msgstr ""
|
1894 |
|
1895 |
+
#: includes/class-mla-data.php:3722
|
1896 |
#, php-format
|
1897 |
msgid "%1$s: Changing meta:%2$s; not found"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
+
#: includes/class-mla-data.php:3848
|
1901 |
#, php-format
|
1902 |
msgid "Deleting old %1$s values"
|
1903 |
msgstr ""
|
1904 |
|
1905 |
+
#: includes/class-mla-data.php:3878
|
1906 |
#, php-format
|
1907 |
msgid "Changing %1$s from \"%2$s\" to \"%3$s\"; %4$d updates"
|
1908 |
msgstr ""
|
1909 |
|
1910 |
+
#: includes/class-mla-data.php:3936
|
1911 |
msgid "Could not retrieve Attachment."
|
1912 |
msgstr ""
|
1913 |
|
1914 |
+
#: includes/class-mla-data.php:3982
|
1915 |
#, php-format
|
1916 |
msgid "%1$s: Could not change Name/Slug \"%2$s\"; name already exists"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
+
#: includes/class-mla-data.php:4012
|
1920 |
#, php-format
|
1921 |
msgid "Deleting ALT Text, was \"%1$s\""
|
1922 |
msgstr ""
|
1923 |
|
1924 |
+
#: includes/class-mla-data.php:4015
|
1925 |
#, php-format
|
1926 |
msgid "%1$s: Could not delete ALT Text, remains \"%2$s\""
|
1927 |
msgstr ""
|
1928 |
|
1929 |
+
#: includes/class-mla-data.php:4031
|
1930 |
#, php-format
|
1931 |
msgid "%1$s: Could not change ALT Text from \"%2$s\" to \"%3$s\""
|
1932 |
msgstr ""
|
1933 |
|
1934 |
+
#: includes/class-mla-data.php:4061 includes/class-mla-list-table.php:1044
|
1935 |
+
#: includes/class-mla-list-table.php:1047
|
1936 |
+
#: includes/class-mla-list-table.php:1050
|
1937 |
+
#: includes/class-mla-list-table.php:1118 includes/class-mla-options.php:2083
|
1938 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:484
|
1939 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:863
|
1940 |
msgid "Parent"
|
1941 |
msgstr ""
|
1942 |
|
1943 |
+
#: includes/class-mla-data.php:4072 includes/class-mla-edit-media.php:766
|
1944 |
+
#: includes/class-mla-edit-media.php:971 includes/class-mla-main.php:2155
|
1945 |
#: includes/class-mla-settings-view-tab.php:130
|
1946 |
#: includes/class-mla-settings-view-tab.php:386
|
1947 |
msgid "Menu Order"
|
1948 |
msgstr ""
|
1949 |
|
1950 |
+
#: includes/class-mla-data.php:4085 includes/class-mla-edit-media.php:397
|
1951 |
+
#: includes/class-mla-list-table.php:1498
|
1952 |
+
#: includes/class-mla-list-table.php:1501 includes/class-mla-main.php:2012
|
1953 |
+
#: includes/class-mla-main.php:2114
|
1954 |
msgid "Author"
|
1955 |
msgstr ""
|
1956 |
|
1957 |
+
#: includes/class-mla-data.php:4094 includes/class-mla-edit-media.php:422
|
1958 |
+
#: includes/class-mla-main.php:2167
|
1959 |
msgid "Comments"
|
1960 |
msgstr ""
|
1961 |
|
1962 |
+
#: includes/class-mla-data.php:4103 includes/class-mla-edit-media.php:423
|
1963 |
+
#: includes/class-mla-main.php:2168
|
1964 |
msgid "Pings"
|
1965 |
msgstr ""
|
1966 |
|
1967 |
+
#: includes/class-mla-data.php:4148
|
1968 |
#, php-format
|
1969 |
msgid "You cannot assign \"%1$s\" terms"
|
1970 |
msgstr ""
|
1971 |
|
1972 |
+
#: includes/class-mla-data.php:4160
|
1973 |
msgctxt "tag delimiter"
|
1974 |
msgid ","
|
1975 |
msgstr ""
|
1976 |
|
1977 |
+
#: includes/class-mla-data.php:4193
|
1978 |
msgid "Adding"
|
1979 |
msgstr ""
|
1980 |
|
1981 |
+
#: includes/class-mla-data.php:4198
|
1982 |
msgid "Removing"
|
1983 |
msgstr ""
|
1984 |
|
1985 |
+
#: includes/class-mla-data.php:4207
|
1986 |
msgid "Replacing"
|
1987 |
msgstr ""
|
1988 |
|
1989 |
+
#: includes/class-mla-data.php:4215
|
1990 |
msgid "Ignoring"
|
1991 |
msgstr ""
|
1992 |
|
1993 |
+
#: includes/class-mla-data.php:4228
|
1994 |
#, php-format
|
1995 |
msgid "%1$s \"%2$s\" terms"
|
1996 |
msgstr ""
|
1997 |
|
1998 |
+
#: includes/class-mla-data.php:4240 includes/class-mla-main.php:1256
|
1999 |
#, php-format
|
2000 |
msgid "Item %1$d, no changes detected."
|
2001 |
msgstr ""
|
2002 |
|
2003 |
+
#: includes/class-mla-data.php:4270
|
2004 |
#, php-format
|
2005 |
msgid "Item %1$d updated."
|
2006 |
msgstr ""
|
2007 |
|
2008 |
+
#: includes/class-mla-data.php:4284
|
2009 |
#, php-format
|
2010 |
msgid "%1$s: Item %2$d update failed."
|
2011 |
msgstr ""
|
2012 |
|
2013 |
#: includes/class-mla-edit-media.php:133 includes/class-mla-edit-media.php:184
|
2014 |
+
#: includes/class-mla-edit-media.php:237 includes/class-mla-main.php:439
|
2015 |
+
#: includes/class-mla-main.php:1019 includes/class-mla-main.php:1766
|
2016 |
+
#: includes/class-mla-media-modal.php:259 includes/class-mla-options.php:1586
|
2017 |
#: includes/class-mla-polylang-support.php:367
|
2018 |
#: includes/class-mla-settings-custom-fields-tab.php:59
|
2019 |
#: includes/class-mla-settings-custom-fields-tab.php:94
|
2030 |
msgid "Upload New Media items"
|
2031 |
msgstr ""
|
2032 |
|
2033 |
+
#: includes/class-mla-edit-media.php:180 includes/class-mla-edit-media.php:417
|
2034 |
msgid "Open Bulk Edit area"
|
2035 |
msgstr ""
|
2036 |
|
2039 |
msgstr ""
|
2040 |
|
2041 |
#: includes/class-mla-edit-media.php:185 includes/class-mla-edit-media.php:239
|
2042 |
+
#: includes/class-mla-main.php:426
|
2043 |
msgid "An ajax.fail error has occurred. Please reload the page and try again."
|
2044 |
msgstr ""
|
2045 |
|
2046 |
#: includes/class-mla-edit-media.php:186 includes/class-mla-edit-media.php:240
|
2047 |
+
#: includes/class-mla-main.php:427
|
2048 |
msgid "An ajax.done error has occurred. Please reload the page and try again."
|
2049 |
msgstr ""
|
2050 |
|
2051 |
+
#: includes/class-mla-edit-media.php:241 includes/class-mla-main.php:1968
|
2052 |
+
#, php-format
|
2053 |
+
msgid "Uploaded on: %s"
|
2054 |
+
msgstr ""
|
2055 |
+
|
2056 |
+
#: includes/class-mla-edit-media.php:242 includes/class-mla-edit-media.php:639
|
2057 |
+
msgid "Last modified"
|
2058 |
+
msgstr ""
|
2059 |
+
|
2060 |
+
#: includes/class-mla-edit-media.php:340 includes/class-mla-main.php:2047
|
2061 |
msgid "more"
|
2062 |
msgstr ""
|
2063 |
|
2064 |
+
#: includes/class-mla-edit-media.php:341 includes/class-mla-main.php:2048
|
2065 |
msgid "less"
|
2066 |
msgstr ""
|
2067 |
|
2068 |
+
#: includes/class-mla-edit-media.php:344 includes/class-mla-edit-media.php:375
|
2069 |
+
#: includes/class-mla-main.php:2051 includes/class-mla-main.php:2089
|
2070 |
msgid "Add"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
+
#: includes/class-mla-edit-media.php:345 includes/class-mla-edit-media.php:376
|
2074 |
+
#: includes/class-mla-main.php:2052 includes/class-mla-main.php:2090
|
2075 |
msgid "Remove"
|
2076 |
msgstr ""
|
2077 |
|
2078 |
+
#: includes/class-mla-edit-media.php:346 includes/class-mla-edit-media.php:377
|
2079 |
+
#: includes/class-mla-main.php:2053 includes/class-mla-main.php:2091
|
2080 |
#: includes/class-mla-settings-custom-fields-tab.php:481
|
2081 |
#: includes/class-mla-settings-custom-fields-tab.php:781
|
2082 |
#: includes/class-mla-settings-custom-fields-tab.php:1501
|
2083 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:478
|
2084 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:860
|
2085 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1562
|
2086 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2414
|
2087 |
msgid "Replace"
|
2088 |
msgstr ""
|
2089 |
|
2090 |
+
#: includes/class-mla-edit-media.php:416
|
2091 |
msgid ""
|
2092 |
"IMPORTANT: Make your entries BEFORE uploading new items. Pull down the Help "
|
2093 |
"menu for more information."
|
2094 |
msgstr ""
|
2095 |
|
2096 |
+
#: includes/class-mla-edit-media.php:418 includes/class-mla-main.php:2161
|
2097 |
+
#: includes/class-mla-settings.php:1402
|
2098 |
msgid "Reset"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
+
#: includes/class-mla-edit-media.php:424 includes/class-mla-main.php:2169
|
2102 |
+
#: includes/class-mla-main.php:2225
|
2103 |
#: includes/class-mla-settings-custom-fields-tab.php:809
|
2104 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:892
|
2105 |
#: includes/class-mla-settings-upload-tab.php:122
|
2106 |
#: includes/class-mla-settings-upload-tab.php:553
|
2107 |
#: includes/class-mla-settings-view-tab.php:396
|
2108 |
msgid "No Change"
|
2109 |
msgstr ""
|
2110 |
|
2111 |
+
#: includes/class-mla-edit-media.php:425 includes/class-mla-main.php:2170
|
2112 |
msgid "Allow"
|
2113 |
msgstr ""
|
2114 |
|
2115 |
+
#: includes/class-mla-edit-media.php:426 includes/class-mla-main.php:2171
|
2116 |
msgid "Do not allow"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
+
#: includes/class-mla-edit-media.php:434 includes/class-mla-list-table.php:1044
|
2120 |
+
#: includes/class-mla-list-table.php:1115 includes/class-mla-main.php:2153
|
2121 |
msgid "Parent ID"
|
2122 |
msgstr ""
|
2123 |
|
2124 |
+
#: includes/class-mla-edit-media.php:435 includes/class-mla-edit-media.php:951
|
2125 |
+
#: includes/class-mla-main.php:2154
|
2126 |
#: includes/class-mla-settings-upload-tab.php:1469
|
2127 |
msgid "Select"
|
2128 |
msgstr ""
|
2129 |
|
2130 |
+
#: includes/class-mla-edit-media.php:528
|
2131 |
msgid "Custom field mapping updated."
|
2132 |
msgstr ""
|
2133 |
|
2134 |
+
#: includes/class-mla-edit-media.php:529
|
2135 |
msgid "IPTC/EXIF mapping updated."
|
2136 |
msgstr ""
|
2137 |
|
2138 |
+
#: includes/class-mla-edit-media.php:530
|
2139 |
msgid "Custom field mapping is disabled."
|
2140 |
msgstr ""
|
2141 |
|
2142 |
+
#: includes/class-mla-edit-media.php:531
|
2143 |
msgid "IPTC/EXIF mapping is disabled."
|
2144 |
msgstr ""
|
2145 |
|
2146 |
+
#: includes/class-mla-edit-media.php:566 includes/class-mla-main.php:1952
|
2147 |
+
msgid "Month"
|
2148 |
msgstr ""
|
2149 |
|
2150 |
+
#: includes/class-mla-edit-media.php:572 includes/class-mla-main.php:1958
|
2151 |
+
#, php-format
|
2152 |
+
msgid "%1$s-%2$s"
|
2153 |
+
msgstr ""
|
2154 |
+
|
2155 |
+
#: includes/class-mla-edit-media.php:576 includes/class-mla-main.php:1962
|
2156 |
+
msgid "Day"
|
2157 |
+
msgstr ""
|
2158 |
+
|
2159 |
+
#: includes/class-mla-edit-media.php:577 includes/class-mla-main.php:1963
|
2160 |
+
msgid "Year"
|
2161 |
+
msgstr ""
|
2162 |
+
|
2163 |
+
#: includes/class-mla-edit-media.php:578 includes/class-mla-main.php:1964
|
2164 |
+
msgid "Hour"
|
2165 |
+
msgstr ""
|
2166 |
+
|
2167 |
+
#: includes/class-mla-edit-media.php:579 includes/class-mla-main.php:1965
|
2168 |
+
msgid "Minute"
|
2169 |
+
msgstr ""
|
2170 |
+
|
2171 |
+
#: includes/class-mla-edit-media.php:583 includes/class-mla-main.php:1970
|
2172 |
+
#, php-format
|
2173 |
+
msgid "%1$s %2$s, %3$s @ %4$s:%5$s"
|
2174 |
+
msgstr ""
|
2175 |
+
|
2176 |
+
#: includes/class-mla-edit-media.php:606
|
2177 |
+
msgid "OK"
|
2178 |
msgstr ""
|
2179 |
|
2180 |
+
#: includes/class-mla-edit-media.php:607 includes/class-mla-main.php:1905
|
2181 |
+
#: includes/class-mla-main.php:2160
|
2182 |
+
#: includes/class-mla-polylang-support.php:2054
|
2183 |
+
#: includes/class-mla-settings-custom-fields-tab.php:509
|
2184 |
+
#: includes/class-mla-settings-custom-fields-tab.php:730
|
2185 |
+
#: includes/class-mla-settings-custom-fields-tab.php:812
|
2186 |
+
#: includes/class-mla-settings-documentation-tab.php:167
|
2187 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:517
|
2188 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:811
|
2189 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:895
|
2190 |
+
#: includes/class-mla-settings-shortcodes-tab.php:405
|
2191 |
+
#: includes/class-mla-settings-shortcodes-tab.php:476
|
2192 |
+
#: includes/class-mla-settings-upload-tab.php:177
|
2193 |
+
#: includes/class-mla-settings-upload-tab.php:251
|
2194 |
+
#: includes/class-mla-settings-upload-tab.php:549
|
2195 |
+
#: includes/class-mla-settings-view-tab.php:135
|
2196 |
+
#: includes/class-mla-settings-view-tab.php:393
|
2197 |
+
#: includes/class-mla-thumbnail-generation.php:651
|
2198 |
+
msgid "Cancel"
|
2199 |
+
msgstr ""
|
2200 |
+
|
2201 |
+
#: includes/class-mla-edit-media.php:623
|
2202 |
+
msgid "M j, Y @ H:i"
|
2203 |
+
msgstr ""
|
2204 |
+
|
2205 |
+
#: includes/class-mla-edit-media.php:629 includes/class-mla-list-table.php:616
|
2206 |
+
#: includes/class-mla-list-table.php:744 includes/class-mla-list-table.php:999
|
2207 |
+
#: includes/class-mla-list-table.php:1170
|
2208 |
+
#: includes/class-mla-list-table.php:1219
|
2209 |
+
#: includes/class-mla-list-table.php:1265
|
2210 |
+
#: includes/class-mla-list-table.php:1310
|
2211 |
+
#: includes/class-mla-list-table.php:1532
|
2212 |
+
#: includes/class-mla-list-table.php:1858
|
2213 |
+
#: includes/class-mla-polylang-support.php:366
|
2214 |
+
#: includes/class-mla-settings-custom-fields-tab.php:1344
|
2215 |
+
#: includes/class-mla-settings-custom-fields-tab.php:1683
|
2216 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1422
|
2217 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1789
|
2218 |
+
#: includes/class-mla-settings-shortcodes-tab.php:1071
|
2219 |
+
#: includes/class-mla-settings-upload-tab.php:923
|
2220 |
+
#: includes/class-mla-settings-upload-tab.php:1212
|
2221 |
+
#: includes/class-mla-settings-view-tab.php:720
|
2222 |
+
#: includes/class-mla-settings-view-tab.php:922
|
2223 |
+
msgid "Edit"
|
2224 |
+
msgstr ""
|
2225 |
+
|
2226 |
+
#: includes/class-mla-edit-media.php:630
|
2227 |
+
msgid "Edit upload date and time"
|
2228 |
+
msgstr ""
|
2229 |
+
|
2230 |
+
#: includes/class-mla-edit-media.php:632
|
2231 |
+
msgid "Upload Date and time"
|
2232 |
+
msgstr ""
|
2233 |
+
|
2234 |
+
#: includes/class-mla-edit-media.php:662
|
2235 |
msgid "Map Custom Field metadata for this item"
|
2236 |
msgstr ""
|
2237 |
|
2238 |
+
#: includes/class-mla-edit-media.php:662 includes/class-mla-main.php:1683
|
2239 |
+
#: includes/class-mla-main.php:2176
|
2240 |
msgid "Map Custom Field metadata"
|
2241 |
msgstr ""
|
2242 |
|
2243 |
+
#: includes/class-mla-edit-media.php:666
|
2244 |
msgid "Map IPTC/EXIF metadata for this item"
|
2245 |
msgstr ""
|
2246 |
|
2247 |
+
#: includes/class-mla-edit-media.php:666 includes/class-mla-main.php:1686
|
2248 |
+
#: includes/class-mla-main.php:2174
|
2249 |
msgid "Map IPTC/EXIF metadata"
|
2250 |
msgstr ""
|
2251 |
|
2252 |
+
#: includes/class-mla-edit-media.php:762 includes/class-mla-edit-media.php:952
|
2253 |
msgid "Parent Info"
|
2254 |
msgstr ""
|
2255 |
|
2256 |
+
#: includes/class-mla-edit-media.php:772 includes/class-mla-edit-media.php:995
|
2257 |
msgid "Attachment Metadata"
|
2258 |
msgstr ""
|
2259 |
|
2260 |
+
#: includes/class-mla-edit-media.php:842 includes/class-mla-edit-media.php:884
|
2261 |
+
#: includes/class-mla-main.php:651 includes/class-mla-settings.php:589
|
2262 |
#, php-format
|
2263 |
msgctxt "error_log"
|
2264 |
msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
|
2265 |
msgstr ""
|
2266 |
|
2267 |
+
#: includes/class-mla-edit-media.php:950
|
|
|
|
|
|
|
|
|
|
|
2268 |
msgid "Post Parent"
|
2269 |
msgstr ""
|
2270 |
|
2271 |
+
#: includes/class-mla-edit-media.php:951 includes/class-mla-main.php:1887
|
2272 |
msgid "Select Parent"
|
2273 |
msgstr ""
|
2274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2275 |
#: includes/class-mla-list-table.php:181 includes/class-mla-list-table.php:217
|
2276 |
msgid "All"
|
2277 |
msgstr ""
|
2278 |
|
2279 |
+
#: includes/class-mla-list-table.php:218
|
2280 |
msgctxt "show_option_none"
|
2281 |
msgid "No"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
+
#: includes/class-mla-list-table.php:429
|
2285 |
#: includes/class-mla-settings-custom-fields-tab.php:997
|
2286 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1069
|
2287 |
#: includes/class-mla-settings-upload-tab.php:647
|
2288 |
#: includes/class-mla-settings-view-tab.php:490
|
2289 |
msgid "List View"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
+
#: includes/class-mla-list-table.php:496 includes/class-mla-list-table.php:548
|
2293 |
+
#: includes/class-mla-list-table.php:1044
|
2294 |
+
#: includes/class-mla-list-table.php:1115
|
2295 |
+
#: includes/class-mla-list-table.php:1338
|
2296 |
+
#: includes/class-mla-list-table.php:1382
|
2297 |
+
#: includes/class-mla-list-table.php:1414
|
2298 |
+
#: includes/class-mla-list-table.php:1498
|
2299 |
msgid "Filter by"
|
2300 |
msgstr ""
|
2301 |
|
2302 |
+
#: includes/class-mla-list-table.php:506
|
2303 |
#: includes/class-mla-media-modal-ajax.php:490
|
2304 |
msgid "Not Supported"
|
2305 |
msgstr ""
|
2306 |
|
2307 |
+
#: includes/class-mla-list-table.php:568
|
2308 |
#: includes/class-mla-settings-custom-fields-tab.php:1291
|
2309 |
+
#: includes/class-mla-settings-documentation-tab.php:575
|
2310 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1369
|
2311 |
#: includes/class-mla-settings-shortcodes-tab.php:1023
|
2312 |
#: includes/class-mla-settings-upload-tab.php:858
|
2313 |
#: includes/class-mla-settings-upload-tab.php:1416
|
2316 |
msgid "column_default: %1$s, %2$s"
|
2317 |
msgstr ""
|
2318 |
|
2319 |
+
#: includes/class-mla-list-table.php:731
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2320 |
msgid "Restore this item from the Trash"
|
2321 |
msgstr ""
|
2322 |
|
2323 |
+
#: includes/class-mla-list-table.php:731 includes/class-mla-list-table.php:1855
|
2324 |
msgid "Restore"
|
2325 |
msgstr ""
|
2326 |
|
2327 |
+
#: includes/class-mla-list-table.php:744
|
2328 |
#: includes/class-mla-settings-custom-fields-tab.php:1344
|
2329 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1422
|
2330 |
#: includes/class-mla-settings-shortcodes-tab.php:1071
|
2331 |
#: includes/class-mla-settings-upload-tab.php:923
|
2332 |
#: includes/class-mla-settings-view-tab.php:720
|
2333 |
msgid "Edit this item"
|
2334 |
msgstr ""
|
2335 |
|
2336 |
+
#: includes/class-mla-list-table.php:745
|
2337 |
#: includes/class-mla-settings-custom-fields-tab.php:1347
|
2338 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1425
|
2339 |
#: includes/class-mla-settings-upload-tab.php:925
|
2340 |
#: includes/class-mla-settings-view-tab.php:722
|
2341 |
msgid "Edit this item inline"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
+
#: includes/class-mla-list-table.php:745 includes/class-mla-main.php:2144
|
2345 |
+
#: includes/class-mla-options.php:1183
|
2346 |
#: includes/class-mla-settings-custom-fields-tab.php:472
|
2347 |
#: includes/class-mla-settings-custom-fields-tab.php:772
|
2348 |
#: includes/class-mla-settings-custom-fields-tab.php:1347
|
2349 |
#: includes/class-mla-settings-custom-fields-tab.php:1457
|
2350 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:839
|
2351 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1425
|
2352 |
#: includes/class-mla-settings-upload-tab.php:925
|
2353 |
#: includes/class-mla-settings-view-tab.php:722
|
2354 |
msgid "Quick Edit"
|
2355 |
msgstr ""
|
2356 |
|
2357 |
+
#: includes/class-mla-list-table.php:751
|
2358 |
msgid "Move this item to the Trash"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
+
#: includes/class-mla-list-table.php:751 includes/class-mla-list-table.php:1861
|
2362 |
msgid "Move to Trash"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
+
#: includes/class-mla-list-table.php:756
|
2366 |
#: includes/class-mla-settings-custom-fields-tab.php:1355
|
2367 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1435
|
2368 |
#: includes/class-mla-settings-shortcodes-tab.php:1077
|
2369 |
#: includes/class-mla-settings-upload-tab.php:929
|
2370 |
#: includes/class-mla-settings-view-tab.php:728
|
2371 |
msgid "Delete this item Permanently"
|
2372 |
msgstr ""
|
2373 |
|
2374 |
+
#: includes/class-mla-list-table.php:756 includes/class-mla-list-table.php:1856
|
2375 |
+
#: includes/class-mla-list-table.php:1863
|
2376 |
#: includes/class-mla-settings-custom-fields-tab.php:1355
|
2377 |
#: includes/class-mla-settings-custom-fields-tab.php:1684
|
2378 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1435
|
2379 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1790
|
2380 |
#: includes/class-mla-settings-shortcodes-tab.php:1077
|
2381 |
#: includes/class-mla-settings-upload-tab.php:929
|
2382 |
#: includes/class-mla-settings-view-tab.php:728
|
2384 |
msgid "Delete Permanently"
|
2385 |
msgstr ""
|
2386 |
|
2387 |
+
#: includes/class-mla-list-table.php:764
|
2388 |
+
#: includes/class-mla-settings-documentation-tab.php:645
|
2389 |
+
#: includes/class-mla-settings.php:1392
|
2390 |
msgid "Download"
|
2391 |
msgstr ""
|
2392 |
|
2393 |
+
#: includes/class-mla-list-table.php:766
|
2394 |
+
#: includes/class-mla-settings-documentation-tab.php:648
|
2395 |
#: includes/class-mla-settings-shortcodes-tab.php:1069
|
2396 |
#: includes/class-mla-settings-view-tab.php:374
|
2397 |
msgid "View"
|
2398 |
msgstr ""
|
2399 |
|
2400 |
+
#: includes/class-mla-list-table.php:1015
|
2401 |
msgid "File name"
|
2402 |
msgstr ""
|
2403 |
|
2404 |
+
#: includes/class-mla-list-table.php:1112
|
2405 |
msgid "(no title: bad ID)"
|
2406 |
msgstr ""
|
2407 |
|
2408 |
+
#: includes/class-mla-list-table.php:1385
|
2409 |
#: includes/class-mla-settings-upload-tab.php:167
|
2410 |
#: includes/class-mla-settings-upload-tab.php:536
|
2411 |
msgid "MIME Type"
|
2412 |
msgstr ""
|
2413 |
|
2414 |
+
#: includes/class-mla-list-table.php:1418
|
2415 |
msgid "Base File"
|
2416 |
msgstr ""
|
2417 |
|
2418 |
+
#: includes/class-mla-list-table.php:1434
|
2419 |
+
#: includes/class-mla-list-table.php:1467
|
2420 |
msgid "Unpublished"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
+
#: includes/class-mla-list-table.php:1443
|
2424 |
+
#: includes/class-mla-list-table.php:1474
|
2425 |
#, php-format
|
2426 |
msgid "%1$s from now"
|
2427 |
msgstr ""
|
2428 |
|
2429 |
+
#: includes/class-mla-list-table.php:1446
|
2430 |
+
#: includes/class-mla-list-table.php:1476
|
2431 |
#, php-format
|
2432 |
msgid "%1$s ago"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
+
#: includes/class-mla-list-table.php:1560
|
|
|
|
|
|
|
|
|
2436 |
msgid "Set Parent"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
+
#: includes/class-mla-list-table.php:1710
|
2440 |
msgctxt "uploaded files"
|
2441 |
msgid "All"
|
2442 |
msgid_plural "All"
|
2443 |
msgstr[0] ""
|
2444 |
msgstr[1] ""
|
2445 |
|
2446 |
+
#: includes/class-mla-list-table.php:1955
|
2447 |
#: includes/class-mla-settings-custom-fields-tab.php:1749
|
2448 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1855
|
2449 |
#: includes/class-mla-settings-shortcodes-tab.php:1345
|
2450 |
msgid "Filter"
|
2451 |
msgstr ""
|
2452 |
|
2453 |
+
#: includes/class-mla-list-table.php:1958
|
2454 |
#: includes/mla-media-modal-js-template.php:72
|
2455 |
msgid "Terms Search"
|
2456 |
msgstr ""
|
2457 |
|
2458 |
+
#: includes/class-mla-list-table.php:1963
|
2459 |
+
#: includes/class-mla-polylang-support.php:2061
|
2460 |
+
#: includes/class-mla-thumbnail-generation.php:650
|
2461 |
msgid "Clear Filter-by"
|
2462 |
msgstr ""
|
2463 |
|
2464 |
+
#: includes/class-mla-list-table.php:1966
|
2465 |
msgid "Empty Trash"
|
2466 |
msgstr ""
|
2467 |
|
2468 |
+
#: includes/class-mla-main.php:428
|
2469 |
msgid "Error while saving the changes."
|
2470 |
msgstr ""
|
2471 |
|
2472 |
+
#: includes/class-mla-main.php:429
|
2473 |
#: includes/class-mla-settings-custom-fields-tab.php:57
|
2474 |
#: includes/class-mla-settings-custom-fields-tab.php:92
|
2475 |
#: includes/class-mla-settings-iptc-exif-tab.php:57
|
2479 |
msgid "Remove From Bulk Edit"
|
2480 |
msgstr ""
|
2481 |
|
2482 |
+
#: includes/class-mla-main.php:431
|
2483 |
msgid "Bulk Edit items"
|
2484 |
msgstr ""
|
2485 |
|
2486 |
+
#: includes/class-mla-main.php:432 includes/class-mla-main.php:2177
|
2487 |
#: includes/class-mla-settings-custom-fields-tab.php:63
|
2488 |
#: includes/class-mla-settings-iptc-exif-tab.php:63
|
2489 |
msgid "Waiting"
|
2490 |
msgstr ""
|
2491 |
|
2492 |
+
#: includes/class-mla-main.php:433 includes/class-mla-main.php:2179
|
2493 |
#: includes/class-mla-settings-custom-fields-tab.php:65
|
2494 |
#: includes/class-mla-settings-iptc-exif-tab.php:65
|
2495 |
msgid "Complete"
|
2496 |
msgstr ""
|
2497 |
|
2498 |
+
#: includes/class-mla-main.php:434
|
2499 |
#: includes/class-mla-settings-custom-fields-tab.php:66
|
2500 |
#: includes/class-mla-settings-iptc-exif-tab.php:66
|
2501 |
msgid "Unchanged"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
+
#: includes/class-mla-main.php:435
|
2505 |
#: includes/class-mla-settings-custom-fields-tab.php:67
|
2506 |
#: includes/class-mla-settings-iptc-exif-tab.php:67
|
2507 |
msgid "Succeeded"
|
2508 |
msgstr ""
|
2509 |
|
2510 |
+
#: includes/class-mla-main.php:436
|
2511 |
#: includes/class-mla-settings-custom-fields-tab.php:68
|
2512 |
#: includes/class-mla-settings-iptc-exif-tab.php:68
|
2513 |
msgid "Failed"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: includes/class-mla-main.php:437
|
2517 |
msgid "CANCELED"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: includes/class-mla-main.php:548
|
2521 |
#, php-format
|
2522 |
msgid "Item permanently deleted."
|
2523 |
msgid_plural "%d items permanently deleted."
|
2524 |
msgstr[0] ""
|
2525 |
msgstr[1] ""
|
2526 |
|
2527 |
+
#: includes/class-mla-main.php:553 includes/class-mla-main.php:2364
|
2528 |
#, php-format
|
2529 |
msgid "Item %1$d moved to Trash."
|
2530 |
msgstr ""
|
2531 |
|
2532 |
+
#: includes/class-mla-main.php:783
|
2533 |
+
msgid "download path out of bounds."
|
2534 |
+
msgstr ""
|
2535 |
+
|
2536 |
+
#: includes/class-mla-main.php:785
|
2537 |
+
msgid "download path invalid."
|
2538 |
msgstr ""
|
2539 |
|
2540 |
+
#: includes/class-mla-main.php:788
|
2541 |
+
msgid "download argument(s) not set."
|
2542 |
+
msgstr ""
|
2543 |
+
|
2544 |
+
#: includes/class-mla-main.php:1190
|
2545 |
msgid "You are not allowed to edit Attachment: "
|
2546 |
msgstr ""
|
2547 |
|
2548 |
+
#: includes/class-mla-main.php:1246
|
2549 |
#, php-format
|
2550 |
msgid "%1$s: Unknown bulk action %2$s"
|
2551 |
msgstr ""
|
2552 |
|
2553 |
+
#: includes/class-mla-main.php:1268
|
2554 |
msgid "no changes detected"
|
2555 |
msgstr ""
|
2556 |
|
2557 |
+
#: includes/class-mla-main.php:1315
|
2558 |
#: includes/class-mla-settings-custom-fields-tab.php:607
|
2559 |
+
#: includes/class-mla-settings-documentation-tab.php:243
|
2560 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:686
|
2561 |
#: includes/class-mla-settings-shortcodes-tab.php:564
|
2562 |
#: includes/class-mla-settings-upload-tab.php:411
|
2563 |
#: includes/class-mla-settings-view-tab.php:254
|
2565 |
msgid "Bulk Action %1$s - no items selected."
|
2566 |
msgstr ""
|
2567 |
|
2568 |
+
#: includes/class-mla-main.php:1403
|
2569 |
msgid "You do not have permission to manage attachments."
|
2570 |
msgstr ""
|
2571 |
|
2572 |
+
#: includes/class-mla-main.php:1461
|
2573 |
#, php-format
|
2574 |
msgctxt "deleted items"
|
2575 |
msgid "%s item deleted."
|
2577 |
msgstr[0] ""
|
2578 |
msgstr[1] ""
|
2579 |
|
2580 |
+
#: includes/class-mla-main.php:1463
|
2581 |
msgid "No items deleted."
|
2582 |
msgstr ""
|
2583 |
|
2584 |
+
#: includes/class-mla-main.php:1515
|
2585 |
msgid "Empty Terms Search; ignored"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
+
#: includes/class-mla-main.php:1527
|
2589 |
#: includes/class-mla-settings-custom-fields-tab.php:634
|
2590 |
+
#: includes/class-mla-settings-documentation-tab.php:275
|
2591 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:715
|
2592 |
#: includes/class-mla-settings-shortcodes-tab.php:593
|
2593 |
#: includes/class-mla-settings-upload-tab.php:450
|
2594 |
#: includes/class-mla-settings-view-tab.php:291
|
2596 |
msgid "Unknown mla_admin_action - \"%1$s\""
|
2597 |
msgstr ""
|
2598 |
|
2599 |
+
#: includes/class-mla-main.php:1565
|
2600 |
msgid "term search results for"
|
2601 |
msgstr ""
|
2602 |
|
2603 |
+
#: includes/class-mla-main.php:1568
|
2604 |
msgid "post/parent results for"
|
2605 |
msgstr ""
|
2606 |
|
2607 |
+
#: includes/class-mla-main.php:1570
|
2608 |
msgid "search results for"
|
2609 |
msgstr ""
|
2610 |
|
2611 |
+
#: includes/class-mla-main.php:1689 includes/class-mla-main.php:1909
|
2612 |
+
#: includes/class-mla-main.php:2162
|
2613 |
#: includes/class-mla-settings-custom-fields-tab.php:511
|
2614 |
#: includes/class-mla-settings-custom-fields-tab.php:813
|
2615 |
+
#: includes/class-mla-settings-documentation-tab.php:635
|
2616 |
+
#: includes/class-mla-settings-documentation-tab.php:843
|
2617 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:519
|
2618 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:896
|
2619 |
#: includes/class-mla-settings-shortcodes-tab.php:479
|
2620 |
#: includes/class-mla-settings-upload-tab.php:176
|
2621 |
#: includes/class-mla-settings-upload-tab.php:550
|
2624 |
msgid "Update"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
+
#: includes/class-mla-main.php:1844
|
2628 |
msgid "All Post Types"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
+
#: includes/class-mla-main.php:1890
|
2632 |
msgid "For"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
+
#: includes/class-mla-main.php:1900
|
2636 |
#: includes/class-mla-shortcode-support.php:1036
|
2637 |
msgid "Unattached"
|
2638 |
msgstr ""
|
2639 |
|
2640 |
+
#: includes/class-mla-main.php:2163 includes/class-mla-options.php:1197
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2641 |
#: includes/class-mla-settings-custom-fields-tab.php:475
|
2642 |
#: includes/class-mla-settings-custom-fields-tab.php:775
|
2643 |
#: includes/class-mla-settings-custom-fields-tab.php:1461
|
2644 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:840
|
2645 |
#: includes/class-mla-settings-upload-tab.php:551
|
2646 |
#: includes/class-mla-settings-view-tab.php:395
|
2647 |
msgid "Bulk Edit"
|
2648 |
msgstr ""
|
2649 |
|
2650 |
+
#: includes/class-mla-main.php:2178
|
2651 |
msgid "In-process"
|
2652 |
msgstr ""
|
2653 |
|
2654 |
+
#: includes/class-mla-main.php:2277
|
2655 |
msgid "You are not allowed to delete this item."
|
2656 |
msgstr ""
|
2657 |
|
2658 |
+
#: includes/class-mla-main.php:2285
|
2659 |
#, php-format
|
2660 |
msgid "%1$s: Item %2$d could NOT be deleted."
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: includes/class-mla-main.php:2292
|
2664 |
#, php-format
|
2665 |
msgid "Item %1$d permanently deleted."
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: includes/class-mla-main.php:2309
|
2669 |
msgid "You are not allowed to move this item out of the Trash."
|
2670 |
msgstr ""
|
2671 |
|
2672 |
+
#: includes/class-mla-main.php:2317
|
2673 |
#, php-format
|
2674 |
msgid "%1$s: Item %2$d could NOT be restored from Trash."
|
2675 |
msgstr ""
|
2676 |
|
2677 |
+
#: includes/class-mla-main.php:2332
|
2678 |
#, php-format
|
2679 |
msgid "Item %1$d restored from Trash."
|
2680 |
msgstr ""
|
2681 |
|
2682 |
+
#: includes/class-mla-main.php:2349
|
2683 |
msgid "You are not allowed to move this item to the Trash."
|
2684 |
msgstr ""
|
2685 |
|
2686 |
+
#: includes/class-mla-main.php:2357
|
2687 |
#, php-format
|
2688 |
msgid "%1$s: Item %2$d could NOT be moved to Trash."
|
2689 |
msgstr ""
|
2701 |
msgstr ""
|
2702 |
|
2703 |
#: includes/class-mla-media-modal-ajax.php:452
|
2704 |
+
#: includes/class-mla-objects.php:50 includes/class-mla-objects.php:83
|
2705 |
#: includes/class-mla-settings-upload-tab.php:532
|
2706 |
#: includes/class-mla-settings-view-tab.php:374
|
2707 |
#, php-format
|
2712 |
msgid "Choose from the most used tags"
|
2713 |
msgstr ""
|
2714 |
|
2715 |
+
#: includes/class-mla-media-modal.php:131
|
2716 |
msgid "Show all dates"
|
2717 |
msgstr ""
|
2718 |
|
2719 |
+
#: includes/class-mla-media-modal.php:146
|
2720 |
#, php-format
|
2721 |
msgid "%1$s %2$d"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
+
#: includes/class-mla-media-modal.php:384
|
2725 |
msgid "Search Box"
|
2726 |
msgstr ""
|
2727 |
|
2728 |
+
#: includes/class-mla-media-modal.php:385
|
2729 |
msgid "Loading..."
|
2730 |
msgstr ""
|
2731 |
|
2732 |
+
#: includes/class-mla-media-modal.php:613
|
2733 |
+
#: includes/class-mla-media-modal.php:629
|
2734 |
msgid "Search Terms"
|
2735 |
msgstr ""
|
2736 |
|
2737 |
+
#: includes/class-mla-media-modal.php:614
|
2738 |
msgid "There are no taxonomies to search"
|
2739 |
msgstr ""
|
2740 |
|
2741 |
+
#: includes/class-mla-media-modal.php:632
|
2742 |
msgid "All phrases"
|
2743 |
msgstr ""
|
2744 |
|
2745 |
+
#: includes/class-mla-media-modal.php:634
|
2746 |
msgid "Any phrase"
|
2747 |
msgstr ""
|
2748 |
|
2749 |
+
#: includes/class-mla-media-modal.php:636
|
2750 |
msgid "All terms"
|
2751 |
msgstr ""
|
2752 |
|
2753 |
+
#: includes/class-mla-media-modal.php:638
|
2754 |
msgid "Any term"
|
2755 |
msgstr ""
|
2756 |
|
2757 |
+
#: includes/class-mla-media-modal.php:640
|
2758 |
msgid "Exact"
|
2759 |
msgstr ""
|
2760 |
|
2761 |
+
#: includes/class-mla-mime-types.php:433
|
2762 |
msgctxt "post_mime_types"
|
2763 |
msgid "Manage"
|
2764 |
msgstr ""
|
2765 |
|
2766 |
+
#: includes/class-mla-mime-types.php:590 includes/class-mla-mime-types.php:668
|
2767 |
msgctxt "list_table_column"
|
2768 |
msgid "Extension"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
+
#: includes/class-mla-mime-types.php:592
|
2772 |
msgctxt "list_table_column"
|
2773 |
msgid "Icon Type"
|
2774 |
msgstr ""
|
2775 |
|
2776 |
+
#: includes/class-mla-mime-types.php:593
|
2777 |
#: includes/class-mla-settings-custom-fields-tab.php:1204
|
2778 |
msgctxt "list_table_column"
|
2779 |
msgid "Source"
|
2780 |
msgstr ""
|
2781 |
|
2782 |
+
#: includes/class-mla-mime-types.php:594
|
2783 |
#: includes/class-mla-settings-custom-fields-tab.php:1207
|
2784 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1284
|
2785 |
msgctxt "list_table_column"
|
2786 |
msgid "Status"
|
2787 |
msgstr ""
|
2788 |
|
2789 |
+
#: includes/class-mla-mime-types.php:595 includes/class-mla-mime-types.php:670
|
2790 |
msgctxt "list_table_column"
|
2791 |
msgid "WordPress Type"
|
2792 |
msgstr ""
|
2793 |
|
2794 |
+
#: includes/class-mla-mime-types.php:596 includes/class-mla-mime-types.php:671
|
2795 |
msgctxt "list_table_column"
|
2796 |
msgid "MLA Type"
|
2797 |
msgstr ""
|
2798 |
|
2799 |
+
#: includes/class-mla-mime-types.php:597
|
2800 |
msgctxt "list_table_column"
|
2801 |
msgid "Std. Source"
|
2802 |
msgstr ""
|
2803 |
|
2804 |
+
#: includes/class-mla-mime-types.php:598
|
2805 |
msgctxt "list_table_column"
|
2806 |
msgid "Std. Icon Type"
|
2807 |
msgstr ""
|
2808 |
|
2809 |
+
#: includes/class-mla-mime-types.php:744
|
2810 |
msgctxt "list_table_column"
|
2811 |
msgid "Slug"
|
2812 |
msgstr ""
|
2813 |
|
2814 |
+
#: includes/class-mla-mime-types.php:745
|
2815 |
msgctxt "list_table_column"
|
2816 |
msgid "Specification"
|
2817 |
msgstr ""
|
2818 |
|
2819 |
+
#: includes/class-mla-mime-types.php:746
|
2820 |
msgctxt "list_table_column"
|
2821 |
msgid "Post Mime"
|
2822 |
msgstr ""
|
2823 |
|
2824 |
+
#: includes/class-mla-mime-types.php:747
|
2825 |
msgctxt "list_table_column"
|
2826 |
msgid "Table View"
|
2827 |
msgstr ""
|
2828 |
|
2829 |
+
#: includes/class-mla-mime-types.php:748
|
2830 |
msgctxt "list_table_column"
|
2831 |
msgid "Singular Name"
|
2832 |
msgstr ""
|
2833 |
|
2834 |
+
#: includes/class-mla-mime-types.php:749
|
2835 |
msgctxt "list_table_column"
|
2836 |
msgid "Plural Name"
|
2837 |
msgstr ""
|
2838 |
|
2839 |
+
#: includes/class-mla-mime-types.php:750
|
2840 |
msgctxt "list_table_column"
|
2841 |
msgid "Order"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
+
#: includes/class-mla-mime-types.php:1066
|
2845 |
msgctxt "post_mime_types_description"
|
2846 |
msgid "Copied from previous filter/plugin"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
+
#: includes/class-mla-mime-types.php:1167
|
2850 |
+
#: includes/class-mla-mime-types.php:1284
|
2851 |
msgid "Ignoring specification for Post MIME Type; using slug"
|
2852 |
msgstr ""
|
2853 |
|
2854 |
+
#: includes/class-mla-mime-types.php:1173
|
2855 |
+
#: includes/class-mla-mime-types.php:2253
|
2856 |
#, php-format
|
2857 |
msgid "<br>Changing %1$s \"%2$s\" to valid value \"%3$s\""
|
2858 |
msgstr ""
|
2859 |
|
2860 |
+
#: includes/class-mla-mime-types.php:1173
|
2861 |
+
#: includes/class-mla-mime-types.php:1261
|
2862 |
+
#: includes/class-mla-mime-types.php:1272
|
2863 |
#: includes/class-mla-settings-view-tab.php:119
|
2864 |
#: includes/class-mla-settings-view-tab.php:375
|
2865 |
msgid "Slug"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
+
#: includes/class-mla-mime-types.php:1181
|
2869 |
+
#: includes/class-mla-mime-types.php:1269
|
2870 |
#, php-format
|
2871 |
msgid "%1$s: Could not add Slug \"%2$s\"; value already exists"
|
2872 |
msgstr ""
|
2873 |
|
2874 |
+
#: includes/class-mla-mime-types.php:1216
|
2875 |
#, php-format
|
2876 |
msgid "Edit view \"%1$s\"; added"
|
2877 |
msgstr ""
|
2878 |
|
2879 |
+
#: includes/class-mla-mime-types.php:1261
|
2880 |
+
#: includes/class-mla-mime-types.php:2379
|
2881 |
#, php-format
|
2882 |
msgid "<br>Changing new %1$s \"%2$s\" to valid value \"%3$s\""
|
2883 |
msgstr ""
|
2884 |
|
2885 |
+
#: includes/class-mla-mime-types.php:1314
|
2886 |
#, php-format
|
2887 |
msgid "Edit view \"%1$s\"; no changes detected"
|
2888 |
msgstr ""
|
2889 |
|
2890 |
+
#: includes/class-mla-mime-types.php:1328
|
2891 |
#, php-format
|
2892 |
msgid "Edit view \"%1$s\"; updated"
|
2893 |
msgstr ""
|
2894 |
|
2895 |
+
#: includes/class-mla-mime-types.php:1401
|
2896 |
#, php-format
|
2897 |
msgid "View \"%1$s\" reverted to standard"
|
2898 |
msgstr ""
|
2899 |
|
2900 |
+
#: includes/class-mla-mime-types.php:1407
|
2901 |
#, php-format
|
2902 |
msgid "View \"%1$s\" deleted"
|
2903 |
msgstr ""
|
2904 |
|
2905 |
+
#: includes/class-mla-mime-types.php:1415
|
2906 |
#, php-format
|
2907 |
msgid "%1$s: Did not find view \"%2$s\""
|
2908 |
msgstr ""
|
2909 |
|
2910 |
+
#: includes/class-mla-mime-types.php:1674
|
2911 |
+
#: includes/class-mla-settings-documentation-tab.php:1543
|
2912 |
msgctxt "table_view_singular"
|
2913 |
msgid "Active"
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: includes/class-mla-mime-types.php:1675
|
2917 |
+
#: includes/class-mla-settings-documentation-tab.php:1544
|
2918 |
msgctxt "table_view_plural"
|
2919 |
msgid "Active"
|
2920 |
msgstr ""
|
2921 |
|
2922 |
+
#: includes/class-mla-mime-types.php:1678
|
2923 |
+
#: includes/class-mla-settings-documentation-tab.php:1547
|
2924 |
msgctxt "table_view_singular"
|
2925 |
msgid "Inactive"
|
2926 |
msgstr ""
|
2927 |
|
2928 |
+
#: includes/class-mla-mime-types.php:1679
|
2929 |
+
#: includes/class-mla-settings-documentation-tab.php:1548
|
2930 |
msgctxt "table_view_plural"
|
2931 |
msgid "Inactive"
|
2932 |
msgstr ""
|
2933 |
|
2934 |
+
#: includes/class-mla-mime-types.php:1682
|
2935 |
msgctxt "table_view_singular"
|
2936 |
msgid "WordPress"
|
2937 |
msgstr ""
|
2938 |
|
2939 |
+
#: includes/class-mla-mime-types.php:1683
|
2940 |
msgctxt "table_view_plural"
|
2941 |
msgid "WordPress"
|
2942 |
msgstr ""
|
2943 |
|
2944 |
+
#: includes/class-mla-mime-types.php:1686
|
2945 |
msgctxt "table_view_singular"
|
2946 |
msgid "MLA"
|
2947 |
msgstr ""
|
2948 |
|
2949 |
+
#: includes/class-mla-mime-types.php:1687
|
2950 |
msgctxt "table_view_plural"
|
2951 |
msgid "MLA"
|
2952 |
msgstr ""
|
2953 |
|
2954 |
+
#: includes/class-mla-mime-types.php:1690
|
2955 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2734
|
2956 |
msgctxt "table_view_singular"
|
2957 |
msgid "Custom"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: includes/class-mla-mime-types.php:1691
|
2961 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2735
|
2962 |
msgctxt "table_view_plural"
|
2963 |
msgid "Custom"
|
2964 |
msgstr ""
|
2965 |
|
2966 |
+
#: includes/class-mla-mime-types.php:1946
|
2967 |
msgid "icon"
|
2968 |
msgstr ""
|
2969 |
|
2970 |
+
#: includes/class-mla-mime-types.php:2237
|
2971 |
+
#: includes/class-mla-mime-types.php:2336
|
2972 |
msgid "Cannot load Upload MIME Types"
|
2973 |
msgstr ""
|
2974 |
|
2975 |
+
#: includes/class-mla-mime-types.php:2248
|
2976 |
msgid "Extension is required"
|
2977 |
msgstr ""
|
2978 |
|
2979 |
+
#: includes/class-mla-mime-types.php:2253
|
2980 |
+
#: includes/class-mla-mime-types.php:2379
|
2981 |
+
#: includes/class-mla-mime-types.php:2390
|
2982 |
#: includes/class-mla-settings-upload-tab.php:165
|
2983 |
#: includes/class-mla-settings-upload-tab.php:534
|
2984 |
msgid "Extension"
|
2985 |
msgstr ""
|
2986 |
|
2987 |
+
#: includes/class-mla-mime-types.php:2261
|
2988 |
#, php-format
|
2989 |
msgid "%1$s: Could not add extension \"%2$s\"; value already exists"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
+
#: includes/class-mla-mime-types.php:2269
|
2993 |
msgid "MIME type is required"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
+
#: includes/class-mla-mime-types.php:2274
|
2997 |
+
#: includes/class-mla-mime-types.php:2421
|
2998 |
#, php-format
|
2999 |
msgid "%1$s: Bad MIME type; try \"%2$s\""
|
3000 |
msgstr ""
|
3001 |
|
3002 |
+
#: includes/class-mla-mime-types.php:2311
|
3003 |
#, php-format
|
3004 |
msgid "Upload MIME Type \"%1$s\"; added"
|
3005 |
msgstr ""
|
3006 |
|
3007 |
+
#: includes/class-mla-mime-types.php:2317
|
3008 |
+
#: includes/class-mla-mime-types.php:2506
|
3009 |
+
#: includes/class-mla-mime-types.php:2585
|
3010 |
msgid "Cannot update Upload MIME Types"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
+
#: includes/class-mla-mime-types.php:2387
|
3014 |
#, php-format
|
3015 |
msgid "%1$s: Could not add new extension \"%2$s\"; value already exists"
|
3016 |
msgstr ""
|
3017 |
|
3018 |
+
#: includes/class-mla-mime-types.php:2486
|
3019 |
#, php-format
|
3020 |
msgid "Edit type \"%1$s\"; no changes detected"
|
3021 |
msgstr ""
|
3022 |
|
3023 |
+
#: includes/class-mla-mime-types.php:2500
|
3024 |
#, php-format
|
3025 |
msgid "Edit type \"%1$s\"; updated"
|
3026 |
msgstr ""
|
3027 |
|
3028 |
+
#: includes/class-mla-mime-types.php:2573
|
3029 |
#, php-format
|
3030 |
msgid "Upload MIME Type \"%1$s\"; reverted to standard"
|
3031 |
msgstr ""
|
3032 |
|
3033 |
+
#: includes/class-mla-mime-types.php:2579
|
3034 |
#, php-format
|
3035 |
msgid "Upload MIME Type \"%1$s\"; deleted"
|
3036 |
msgstr ""
|
3037 |
|
3038 |
+
#: includes/class-mla-mime-types.php:2594
|
3039 |
#, php-format
|
3040 |
msgid "%1$s: Did not find Upload type \"%2$s\""
|
3041 |
msgstr ""
|
3078 |
msgid "New Att. Category Name"
|
3079 |
msgstr ""
|
3080 |
|
3081 |
+
#: includes/class-mla-objects.php:74
|
3082 |
msgctxt "taxonomy_name_plural"
|
3083 |
msgid "Att. Tags"
|
3084 |
msgstr ""
|
3085 |
|
3086 |
+
#: includes/class-mla-objects.php:75
|
3087 |
msgctxt "taxonomy_name_singular"
|
3088 |
msgid "Att. Tag"
|
3089 |
msgstr ""
|
3090 |
|
3091 |
+
#: includes/class-mla-objects.php:76
|
3092 |
msgid "Search Att. Tags"
|
3093 |
msgstr ""
|
3094 |
|
3095 |
+
#: includes/class-mla-objects.php:77
|
3096 |
msgid "All Att. Tags"
|
3097 |
msgstr ""
|
3098 |
|
3099 |
+
#: includes/class-mla-objects.php:78 includes/class-mla-objects.php:79
|
3100 |
msgid "Parent Att. Tag"
|
3101 |
msgstr ""
|
3102 |
|
3103 |
+
#: includes/class-mla-objects.php:80
|
3104 |
msgid "Edit Att. Tag"
|
3105 |
msgstr ""
|
3106 |
|
3107 |
+
#: includes/class-mla-objects.php:81
|
3108 |
msgid "Update Att. Tag"
|
3109 |
msgstr ""
|
3110 |
|
3111 |
+
#: includes/class-mla-objects.php:83 includes/class-mla-objects.php:85
|
3112 |
msgid "Att. Tag"
|
3113 |
msgstr ""
|
3114 |
|
3115 |
+
#: includes/class-mla-objects.php:84
|
3116 |
msgid "New Att. Tag Name"
|
3117 |
msgstr ""
|
3118 |
|
3120 |
msgid "Attachments"
|
3121 |
msgstr ""
|
3122 |
|
3123 |
+
#: includes/class-mla-objects.php:245
|
3124 |
#, php-format
|
3125 |
msgctxt "error_log"
|
3126 |
msgid ""
|
3127 |
"%1$s: mla_taxonomy_column_filter( \"%2$s\" ) - get_term failed: \"%3$s\""
|
3128 |
msgstr ""
|
3129 |
|
3130 |
+
#: includes/class-mla-objects.php:269
|
3131 |
msgid "click to search"
|
3132 |
msgstr ""
|
3133 |
|
3134 |
+
#: includes/class-mla-objects.php:301
|
3135 |
msgid "Shortcode(s), HTML and/or Plain Text"
|
3136 |
msgstr ""
|
3137 |
|
3138 |
+
#: includes/class-mla-objects.php:309
|
3139 |
msgid "MLA Text"
|
3140 |
msgstr ""
|
3141 |
|
3142 |
+
#: includes/class-mla-objects.php:353
|
3143 |
msgid "Automatically add paragraphs"
|
3144 |
msgstr ""
|
3145 |
|
3146 |
+
#: includes/class-mla-objects.php:354
|
3147 |
msgid "Add .textwidget div tags"
|
3148 |
msgstr ""
|
3149 |
|
3156 |
msgstr ""
|
3157 |
|
3158 |
#: includes/class-mla-options.php:217 includes/class-mla-options.php:421
|
3159 |
+
#: includes/class-mla-options.php:502 includes/class-mla-options.php:557
|
3160 |
#, php-format
|
3161 |
msgid "%1$s: Custom %2$s unknown action \"%3$s\""
|
3162 |
msgstr ""
|
3219 |
msgstr ""
|
3220 |
|
3221 |
#: includes/class-mla-options.php:411 includes/class-mla-options.php:492
|
3222 |
+
#: includes/class-mla-options.php:547
|
3223 |
#, php-format
|
3224 |
msgid "Update custom %1$s"
|
3225 |
msgstr ""
|
3226 |
|
3227 |
#: includes/class-mla-options.php:418 includes/class-mla-options.php:499
|
3228 |
+
#: includes/class-mla-options.php:554
|
3229 |
#, php-format
|
3230 |
msgid "Reset custom %1$s"
|
3231 |
msgstr ""
|
3245 |
#: includes/class-mla-options.php:456
|
3246 |
#: includes/class-mla-settings-custom-fields-tab.php:455
|
3247 |
#: includes/class-mla-settings-custom-fields-tab.php:759
|
3248 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:455
|
3249 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:841
|
3250 |
#: includes/class-mla-settings-shortcodes-tab.php:401
|
3251 |
#: includes/class-mla-settings-shortcodes-tab.php:472
|
3252 |
#: includes/mla-main-search-box-template.php:49
|
3266 |
msgid "Terms"
|
3267 |
msgstr ""
|
3268 |
|
3269 |
+
#: includes/class-mla-options.php:940 includes/class-mla-options.php:986
|
3270 |
+
#: includes/class-mla-options.php:1826 includes/class-mla-options.php:1857
|
3271 |
#: includes/class-mla-settings-upload-tab.php:128
|
3272 |
msgid "None (select a value)"
|
3273 |
msgstr ""
|
3274 |
|
3275 |
+
#: includes/class-mla-options.php:993
|
3276 |
msgid "Metadata (see below)"
|
3277 |
msgstr ""
|
3278 |
|
3279 |
+
#: includes/class-mla-options.php:1000
|
3280 |
msgid "Template (see below)"
|
3281 |
msgstr ""
|
3282 |
|
3283 |
+
#: includes/class-mla-options.php:1072 includes/class-mla-options.php:2139
|
3284 |
#, php-format
|
3285 |
msgid "%1$s: New field %2$s already exists."
|
3286 |
msgstr ""
|
3287 |
|
3288 |
+
#: includes/class-mla-options.php:1077 includes/class-mla-options.php:2144
|
3289 |
#, php-format
|
3290 |
msgid "Adding new field %1$s."
|
3291 |
msgstr ""
|
3292 |
|
3293 |
+
#: includes/class-mla-options.php:1085 includes/class-mla-options.php:2152
|
3294 |
#, php-format
|
3295 |
msgid "Adding new rule for %1$s."
|
3296 |
msgstr ""
|
3297 |
|
3298 |
+
#: includes/class-mla-options.php:1111 includes/class-mla-options.php:2009
|
3299 |
+
#: includes/class-mla-options.php:2178
|
3300 |
#, php-format
|
3301 |
msgid "Deleting rule for %1$s."
|
3302 |
msgstr ""
|
3303 |
|
3304 |
+
#: includes/class-mla-options.php:1134 includes/class-mla-options.php:1155
|
3305 |
+
#: includes/class-mla-options.php:1205 includes/class-mla-options.php:1212
|
3306 |
+
#: includes/class-mla-options.php:1925 includes/class-mla-options.php:1932
|
3307 |
+
#: includes/class-mla-options.php:1939 includes/class-mla-options.php:2034
|
3308 |
+
#: includes/class-mla-options.php:2041 includes/class-mla-options.php:2076
|
3309 |
+
#: includes/class-mla-options.php:2083 includes/class-mla-options.php:2188
|
3310 |
+
#: includes/class-mla-options.php:2195 includes/class-mla-options.php:2230
|
3311 |
+
#: includes/class-mla-options.php:2237
|
3312 |
#, php-format
|
3313 |
msgid "%1$s changing %2$s from %3$s to %4$s."
|
3314 |
msgstr ""
|
3315 |
|
3316 |
+
#: includes/class-mla-options.php:1134
|
3317 |
#: includes/class-mla-settings-custom-fields-tab.php:463
|
3318 |
#: includes/class-mla-settings-custom-fields-tab.php:763
|
3319 |
msgid "Data Source"
|
3320 |
msgstr ""
|
3321 |
|
3322 |
+
#: includes/class-mla-options.php:1140 includes/class-mla-options.php:1959
|
3323 |
+
#: includes/class-mla-options.php:2061 includes/class-mla-options.php:2215
|
3324 |
msgid "Replace to Keep"
|
3325 |
msgstr ""
|
3326 |
|
3327 |
+
#: includes/class-mla-options.php:1143 includes/class-mla-options.php:1962
|
3328 |
+
#: includes/class-mla-options.php:2064 includes/class-mla-options.php:2218
|
3329 |
msgid "Keep to Replace"
|
3330 |
msgstr ""
|
3331 |
|
3332 |
+
#: includes/class-mla-options.php:1148 includes/class-mla-options.php:1169
|
3333 |
+
#: includes/class-mla-options.php:1183 includes/class-mla-options.php:1197
|
3334 |
+
#: includes/class-mla-options.php:1226 includes/class-mla-options.php:1953
|
3335 |
+
#: includes/class-mla-options.php:1967 includes/class-mla-options.php:2055
|
3336 |
+
#: includes/class-mla-options.php:2069 includes/class-mla-options.php:2209
|
3337 |
+
#: includes/class-mla-options.php:2223 includes/class-mla-options.php:2251
|
3338 |
#, php-format
|
3339 |
msgid "%1$s changing %2$s value from %3$s."
|
3340 |
msgstr ""
|
3341 |
|
3342 |
+
#: includes/class-mla-options.php:1148 includes/class-mla-options.php:1967
|
3343 |
+
#: includes/class-mla-options.php:2069 includes/class-mla-options.php:2223
|
3344 |
#: includes/class-mla-settings-custom-fields-tab.php:477
|
3345 |
#: includes/class-mla-settings-custom-fields-tab.php:777
|
3346 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:474
|
3347 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:856
|
3348 |
msgid "Existing Text"
|
3349 |
msgstr ""
|
3350 |
|
3351 |
+
#: includes/class-mla-options.php:1155 includes/class-mla-options.php:2230
|
3352 |
#: includes/class-mla-settings-custom-fields-tab.php:482
|
3353 |
#: includes/class-mla-settings-custom-fields-tab.php:782
|
3354 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:489
|
3355 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:864
|
3356 |
msgid "Format"
|
3357 |
msgstr ""
|
3358 |
|
3359 |
+
#: includes/class-mla-options.php:1161 includes/class-mla-options.php:1175
|
3360 |
+
#: includes/class-mla-options.php:1189 includes/class-mla-options.php:1218
|
3361 |
+
#: includes/class-mla-options.php:2243
|
3362 |
msgid "unchecked to checked"
|
3363 |
msgstr ""
|
3364 |
|
3365 |
+
#: includes/class-mla-options.php:1164 includes/class-mla-options.php:1178
|
3366 |
+
#: includes/class-mla-options.php:1192 includes/class-mla-options.php:1221
|
3367 |
+
#: includes/class-mla-options.php:2246
|
3368 |
msgid "checked to unchecked"
|
3369 |
msgstr ""
|
3370 |
|
3371 |
+
#: includes/class-mla-options.php:1169
|
3372 |
#: includes/class-mla-settings-custom-fields-tab.php:469
|
3373 |
#: includes/class-mla-settings-custom-fields-tab.php:769
|
3374 |
#: includes/class-mla-settings-custom-fields-tab.php:1453
|
3375 |
msgid "MLA Column"
|
3376 |
msgstr ""
|
3377 |
|
3378 |
+
#: includes/class-mla-options.php:1205
|
3379 |
msgid "Metavalue name"
|
3380 |
msgstr ""
|
3381 |
|
3382 |
+
#: includes/class-mla-options.php:1212 includes/class-mla-options.php:2237
|
3383 |
#: includes/class-mla-settings-custom-fields-tab.php:489
|
3384 |
#: includes/class-mla-settings-custom-fields-tab.php:789
|
3385 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:496
|
3386 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:871
|
3387 |
msgid "Option"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
+
#: includes/class-mla-options.php:1226 includes/class-mla-options.php:2251
|
3391 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:508
|
3392 |
msgid "Delete NULL values"
|
3393 |
msgstr ""
|
3394 |
|
3395 |
+
#: includes/class-mla-options.php:1913
|
3396 |
#, php-format
|
3397 |
msgid "%1$s: No old values for %2$s."
|
3398 |
msgstr ""
|
3399 |
|
3400 |
+
#: includes/class-mla-options.php:1925
|
3401 |
msgid "Field Title"
|
3402 |
msgstr ""
|
3403 |
|
3404 |
+
#: includes/class-mla-options.php:1932 includes/class-mla-options.php:2034
|
3405 |
+
#: includes/class-mla-options.php:2188
|
3406 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:463
|
3407 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:845
|
3408 |
msgid "IPTC Value"
|
3409 |
msgstr ""
|
3410 |
|
3411 |
+
#: includes/class-mla-options.php:1939 includes/class-mla-options.php:2041
|
3412 |
+
#: includes/class-mla-options.php:2195
|
3413 |
msgid "EXIF Value"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
+
#: includes/class-mla-options.php:1945 includes/class-mla-options.php:2047
|
3417 |
+
#: includes/class-mla-options.php:2201
|
3418 |
msgid "EXIF to IPTC"
|
3419 |
msgstr ""
|
3420 |
|
3421 |
+
#: includes/class-mla-options.php:1948 includes/class-mla-options.php:2050
|
3422 |
+
#: includes/class-mla-options.php:2204
|
3423 |
msgid "IPTC to EXIF"
|
3424 |
msgstr ""
|
3425 |
|
3426 |
+
#: includes/class-mla-options.php:1953 includes/class-mla-options.php:2055
|
3427 |
+
#: includes/class-mla-options.php:2209
|
3428 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:469
|
3429 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:851
|
3430 |
msgid "Priority"
|
3431 |
msgstr ""
|
3432 |
|
3433 |
+
#: includes/class-mla-options.php:2076
|
3434 |
msgid "Delimiter(s)"
|
3435 |
msgstr ""
|
3436 |
|
3454 |
msgid "Add new"
|
3455 |
msgstr ""
|
3456 |
|
3457 |
+
#: includes/class-mla-polylang-support.php:1892
|
3458 |
+
#: includes/class-mla-polylang-support.php:2259
|
3459 |
msgid "Bulk Translations"
|
3460 |
msgstr ""
|
3461 |
|
3462 |
+
#: includes/class-mla-polylang-support.php:1916
|
3463 |
msgid "Translate"
|
3464 |
msgstr ""
|
3465 |
|
3466 |
+
#: includes/class-mla-polylang-support.php:2044
|
3467 |
msgid "All Languages"
|
3468 |
msgstr ""
|
3469 |
|
3470 |
+
#: includes/class-mla-polylang-support.php:2051
|
3471 |
+
#: includes/class-mla-polylang-support.php:2324
|
3472 |
+
#: includes/class-mla-polylang-support.php:2484
|
3473 |
msgid "Quick Translate"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
+
#: includes/class-mla-polylang-support.php:2055
|
3477 |
msgid "Set Language"
|
3478 |
msgstr ""
|
3479 |
|
3480 |
+
#: includes/class-mla-polylang-support.php:2056
|
3481 |
+
#: includes/class-mla-polylang-support.php:2491
|
3482 |
msgid "Bulk Translate"
|
3483 |
msgstr ""
|
3484 |
|
3485 |
+
#: includes/class-mla-polylang-support.php:2057
|
3486 |
msgid "Add or Modify Translation"
|
3487 |
msgstr ""
|
3488 |
|
3489 |
+
#: includes/class-mla-polylang-support.php:2058
|
3490 |
+
#: includes/class-mla-polylang-support.php:2115
|
3491 |
+
#: includes/class-mla-polylang-support.php:2428
|
3492 |
+
#: includes/class-mla-polylang-support.php:2543
|
3493 |
#: includes/class-mla-wpml-support.php:1584
|
3494 |
#: includes/class-mla-wpml-support.php:1674
|
3495 |
+
#: includes/class-mla-wpml-support.php:2159
|
3496 |
msgid "Language"
|
3497 |
msgstr ""
|
3498 |
|
3499 |
+
#: includes/class-mla-polylang-support.php:2060
|
3500 |
+
#: includes/class-mla-thumbnail-generation.php:649
|
3501 |
msgid "Options"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
+
#: includes/class-mla-polylang-support.php:2324
|
3505 |
msgid "Translate this item inline"
|
3506 |
msgstr ""
|
3507 |
|
3508 |
+
#: includes/class-mla-polylang-support.php:2465
|
3509 |
+
#: includes/class-mla-polylang-support.php:2570
|
3510 |
#: includes/class-mla-wpml-support.php:1619
|
3511 |
#: includes/class-mla-wpml-support.php:1722
|
3512 |
msgid "Media/Assistant submenu table"
|
3513 |
msgstr ""
|
3514 |
|
3515 |
+
#: includes/class-mla-polylang-support.php:2470
|
3516 |
#: includes/class-mla-wpml-support.php:1624
|
3517 |
msgid "Language Column"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
+
#: includes/class-mla-polylang-support.php:2473
|
3521 |
#: includes/class-mla-wpml-support.php:1627
|
3522 |
msgid ""
|
3523 |
"Check this option to add a Language column to the Media/Assistant submenu "
|
3524 |
"table."
|
3525 |
msgstr ""
|
3526 |
|
3527 |
+
#: includes/class-mla-polylang-support.php:2477
|
3528 |
#: includes/class-mla-wpml-support.php:1631
|
3529 |
msgid "Translations Column"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
+
#: includes/class-mla-polylang-support.php:2480
|
3533 |
#: includes/class-mla-wpml-support.php:1634
|
3534 |
msgid ""
|
3535 |
"Check this option to add a Translation Status column to the Media/Assistant "
|
3536 |
"submenu table."
|
3537 |
msgstr ""
|
3538 |
|
3539 |
+
#: includes/class-mla-polylang-support.php:2487
|
3540 |
msgid ""
|
3541 |
"Check this option to add a Quick Translate rollover action to the Media/"
|
3542 |
"Assistant submenu table."
|
3543 |
msgstr ""
|
3544 |
|
3545 |
+
#: includes/class-mla-polylang-support.php:2494
|
3546 |
msgid ""
|
3547 |
"Check this option to add \"Translate\" to the \"Bulk Actions\" control on "
|
3548 |
"the Media/Assistant submenu table."
|
3549 |
msgstr ""
|
3550 |
|
3551 |
+
#: includes/class-mla-polylang-support.php:2498
|
3552 |
+
#: includes/class-mla-polylang-support.php:2570
|
3553 |
#: includes/class-mla-wpml-support.php:1638
|
3554 |
#: includes/class-mla-wpml-support.php:1722
|
3555 |
msgid "Term Management"
|
3556 |
msgstr ""
|
3557 |
|
3558 |
+
#: includes/class-mla-polylang-support.php:2503
|
3559 |
#: includes/class-mla-wpml-support.php:1643
|
3560 |
msgid "Term Assignment"
|
3561 |
msgstr ""
|
3562 |
|
3563 |
+
#: includes/class-mla-polylang-support.php:2506
|
3564 |
#: includes/class-mla-wpml-support.php:1646
|
3565 |
msgid ""
|
3566 |
"Check this option to assign language-specific terms when items are updated."
|
3567 |
msgstr ""
|
3568 |
|
3569 |
+
#: includes/class-mla-polylang-support.php:2510
|
3570 |
#: includes/class-mla-wpml-support.php:1650
|
3571 |
msgid "Term Synchronization"
|
3572 |
msgstr ""
|
3573 |
|
3574 |
+
#: includes/class-mla-polylang-support.php:2513
|
3575 |
#: includes/class-mla-wpml-support.php:1653
|
3576 |
msgid ""
|
3577 |
"Check this option to synchronize common terms among all item translations."
|
3578 |
msgstr ""
|
3579 |
|
3580 |
+
#: includes/class-mla-polylang-support.php:2517
|
3581 |
#: includes/class-mla-wpml-support.php:1657
|
3582 |
msgid "Term Mapping Replication"
|
3583 |
msgstr ""
|
3584 |
|
3585 |
+
#: includes/class-mla-polylang-support.php:2520
|
3586 |
#: includes/class-mla-wpml-support.php:1660
|
3587 |
msgid ""
|
3588 |
"When mapping IPTC/EXIF metadata to taxonomy terms, make them available in "
|
3589 |
"all languages."
|
3590 |
msgstr ""
|
3591 |
|
3592 |
+
#: includes/class-mla-polylang-support.php:2568
|
3593 |
#: includes/class-mla-wpml-support.php:1720
|
3594 |
msgid "Language Options"
|
3595 |
msgstr ""
|
3596 |
|
3597 |
+
#: includes/class-mla-polylang-support.php:2570
|
3598 |
#, php-format
|
3599 |
msgid ""
|
3600 |
"In this tab you can find a number of options for controlling Polylang-"
|
3603 |
"make."
|
3604 |
msgstr ""
|
3605 |
|
3606 |
+
#: includes/class-mla-polylang-support.php:2572
|
3607 |
#: includes/class-mla-wpml-support.php:1724
|
3608 |
#, php-format
|
3609 |
msgid ""
|
3611 |
"section of the Documentation."
|
3612 |
msgstr ""
|
3613 |
|
3614 |
+
#: includes/class-mla-polylang-support.php:2572
|
3615 |
#: includes/class-mla-wpml-support.php:1724
|
3616 |
msgid "Language Options documentation"
|
3617 |
msgstr ""
|
3618 |
|
3619 |
+
#: includes/class-mla-polylang-support.php:2572
|
3620 |
#: includes/class-mla-wpml-support.php:1724
|
3621 |
msgid "WPML & Polylang Multilingual Support; the MLA Language Tab"
|
3622 |
msgstr ""
|
3623 |
|
3624 |
+
#: includes/class-mla-polylang-support.php:2575
|
3625 |
#: includes/class-mla-settings-custom-fields-tab.php:657
|
3626 |
#: includes/class-mla-settings-custom-fields-tab.php:756
|
3627 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:738
|
3628 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:836
|
3629 |
#: includes/class-mla-settings-shortcodes-tab.php:713
|
3630 |
#: includes/class-mla-settings-upload-tab.php:480
|
3631 |
#: includes/class-mla-settings-upload-tab.php:530
|
3632 |
#: includes/class-mla-settings-view-tab.php:320
|
3633 |
#: includes/class-mla-settings-view-tab.php:372
|
3634 |
+
#: includes/class-mla-settings.php:1063 includes/class-mla-settings.php:1437
|
3635 |
+
#: includes/class-mla-settings.php:1439
|
3636 |
#: includes/class-mla-wpml-support.php:1727
|
3637 |
msgid "Save Changes"
|
3638 |
msgstr ""
|
3639 |
|
3640 |
+
#: includes/class-mla-polylang-support.php:2576
|
3641 |
#: includes/class-mla-wpml-support.php:1728
|
3642 |
msgid "Delete Language options and restore default settings"
|
3643 |
msgstr ""
|
3644 |
|
3645 |
+
#: includes/class-mla-polylang-support.php:2579
|
3646 |
+
#: includes/class-mla-settings.php:801 includes/class-mla-settings.php:1068
|
3647 |
#: includes/class-mla-wpml-support.php:1731
|
3648 |
msgid "Go to Top"
|
3649 |
msgstr ""
|
3650 |
|
3651 |
+
#: includes/class-mla-polylang-support.php:2616
|
3652 |
#: includes/class-mla-wpml-support.php:1768
|
3653 |
msgid "Language settings saved."
|
3654 |
msgstr ""
|
3655 |
|
3656 |
+
#: includes/class-mla-polylang-support.php:2647
|
3657 |
+
#: includes/class-mla-settings.php:1655
|
3658 |
#: includes/class-mla-wpml-support.php:1799
|
3659 |
#, php-format
|
3660 |
msgctxt "message_list"
|
3661 |
msgid "delete_option \"%1$s\""
|
3662 |
msgstr ""
|
3663 |
|
3664 |
+
#: includes/class-mla-polylang-support.php:2655
|
3665 |
#: includes/class-mla-wpml-support.php:1807
|
3666 |
msgid "Language settings reset to default values."
|
3667 |
msgstr ""
|
3767 |
#: includes/class-mla-settings-custom-fields-tab.php:341
|
3768 |
#: includes/class-mla-settings-custom-fields-tab.php:425
|
3769 |
#: includes/class-mla-settings-custom-fields-tab.php:956
|
3770 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:346
|
3771 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:422
|
3772 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1028
|
3773 |
msgid ": Rule update failed"
|
3774 |
msgstr ""
|
3775 |
|
3776 |
#: includes/class-mla-settings-custom-fields-tab.php:346
|
3777 |
#: includes/class-mla-settings-custom-fields-tab.php:428
|
3778 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:351
|
3779 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:425
|
3780 |
msgid "Rule updated"
|
3781 |
msgstr ""
|
3782 |
|
3783 |
#: includes/class-mla-settings-custom-fields-tab.php:370
|
3784 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:375
|
3785 |
#, php-format
|
3786 |
msgid "Custom Field Rule \"%1$s\" deleted."
|
3787 |
msgstr ""
|
3788 |
|
3789 |
#: includes/class-mla-settings-custom-fields-tab.php:449
|
3790 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:446
|
3791 |
msgid "Edit Rule"
|
3792 |
msgstr ""
|
3793 |
|
3794 |
#: includes/class-mla-settings-custom-fields-tab.php:458
|
3795 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:458
|
3796 |
msgid ""
|
3797 |
"This is the name of the custom field to which the rule applies.<br>Only one "
|
3798 |
"rule is allowed for each custom field."
|
3799 |
msgstr ""
|
3800 |
|
3801 |
#: includes/class-mla-settings-custom-fields-tab.php:459
|
3802 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:459
|
3803 |
msgid "Change Name"
|
3804 |
msgstr ""
|
3805 |
|
3806 |
#: includes/class-mla-settings-custom-fields-tab.php:460
|
3807 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:460
|
3808 |
msgid "Cancel Name Change"
|
3809 |
msgstr ""
|
3810 |
|
3811 |
#: includes/class-mla-settings-custom-fields-tab.php:461
|
3812 |
#: includes/class-mla-settings-custom-fields-tab.php:761
|
3813 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:461
|
3814 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:843
|
3815 |
msgid "Enter new field"
|
3816 |
msgstr ""
|
3817 |
|
3818 |
#: includes/class-mla-settings-custom-fields-tab.php:462
|
3819 |
#: includes/class-mla-settings-custom-fields-tab.php:762
|
3820 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:462
|
3821 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:844
|
3822 |
msgid "Cancel new field"
|
3823 |
msgstr ""
|
3824 |
|
3850 |
#: includes/class-mla-settings-custom-fields-tab.php:479
|
3851 |
#: includes/class-mla-settings-custom-fields-tab.php:779
|
3852 |
#: includes/class-mla-settings-custom-fields-tab.php:1499
|
3853 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:476
|
3854 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:858
|
3855 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1560
|
3856 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2414
|
3857 |
+
#: includes/class-mla-thumbnail-generation.php:643
|
3858 |
msgid "Keep"
|
3859 |
msgstr ""
|
3860 |
|
3861 |
#: includes/class-mla-settings-custom-fields-tab.php:484
|
3862 |
#: includes/class-mla-settings-custom-fields-tab.php:784
|
3863 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:491
|
3864 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:866
|
3865 |
msgid "Native"
|
3866 |
msgstr ""
|
3867 |
|
3868 |
#: includes/class-mla-settings-custom-fields-tab.php:486
|
3869 |
#: includes/class-mla-settings-custom-fields-tab.php:786
|
3870 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:493
|
3871 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:868
|
3872 |
msgid "Commas"
|
3873 |
msgstr ""
|
3874 |
|
3875 |
#: includes/class-mla-settings-custom-fields-tab.php:488
|
3876 |
#: includes/class-mla-settings-custom-fields-tab.php:788
|
3877 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:495
|
3878 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:870
|
3879 |
msgid "Raw"
|
3880 |
msgstr ""
|
3881 |
|
3882 |
#: includes/class-mla-settings-custom-fields-tab.php:491
|
3883 |
#: includes/class-mla-settings-custom-fields-tab.php:791
|
3884 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:498
|
3885 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:873
|
3886 |
msgid "Text"
|
3887 |
msgstr ""
|
3888 |
|
3889 |
#: includes/class-mla-settings-custom-fields-tab.php:493
|
3890 |
#: includes/class-mla-settings-custom-fields-tab.php:793
|
3891 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:500
|
3892 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:875
|
3893 |
msgid "Single"
|
3894 |
msgstr ""
|
3895 |
|
3896 |
#: includes/class-mla-settings-custom-fields-tab.php:495
|
3897 |
#: includes/class-mla-settings-custom-fields-tab.php:795
|
3898 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:502
|
3899 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:877
|
3900 |
msgid "Export"
|
3901 |
msgstr ""
|
3902 |
|
3903 |
#: includes/class-mla-settings-custom-fields-tab.php:497
|
3904 |
#: includes/class-mla-settings-custom-fields-tab.php:797
|
3905 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:504
|
3906 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:879
|
3907 |
msgid "Array"
|
3908 |
msgstr ""
|
3909 |
|
3910 |
#: includes/class-mla-settings-custom-fields-tab.php:499
|
3911 |
#: includes/class-mla-settings-custom-fields-tab.php:799
|
3912 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:506
|
3913 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:881
|
3914 |
msgid "Multi"
|
3915 |
msgstr ""
|
3916 |
|
3917 |
#: includes/class-mla-settings-custom-fields-tab.php:501
|
3918 |
#: includes/class-mla-settings-custom-fields-tab.php:801
|
3919 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:883
|
3920 |
msgid "Delete NULL Values"
|
3921 |
msgstr ""
|
3922 |
|
3923 |
#: includes/class-mla-settings-custom-fields-tab.php:502
|
3924 |
#: includes/class-mla-settings-custom-fields-tab.php:802
|
3925 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:509
|
3926 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:884
|
3927 |
msgid "Do not store empty custom field values"
|
3928 |
msgstr ""
|
3929 |
|
3931 |
#: includes/class-mla-settings-custom-fields-tab.php:805
|
3932 |
#: includes/class-mla-settings-custom-fields-tab.php:1483
|
3933 |
#: includes/class-mla-settings-custom-fields-tab.php:1706
|
3934 |
+
#: includes/class-mla-settings-documentation-tab.php:1208
|
3935 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:513
|
3936 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:887
|
3937 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1576
|
3938 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1812
|
3939 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2417
|
3940 |
#: includes/class-mla-settings-upload-tab.php:554
|
3941 |
#: includes/class-mla-settings-upload-tab.php:1036
|
3942 |
msgid "Active"
|
3946 |
#: includes/class-mla-settings-custom-fields-tab.php:807
|
3947 |
#: includes/class-mla-settings-custom-fields-tab.php:1485
|
3948 |
#: includes/class-mla-settings-custom-fields-tab.php:1709
|
3949 |
+
#: includes/class-mla-settings-documentation-tab.php:1210
|
3950 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:515
|
3951 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:889
|
3952 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1578
|
3953 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1815
|
3954 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2417
|
3955 |
#: includes/class-mla-settings-upload-tab.php:172
|
3956 |
#: includes/class-mla-settings-upload-tab.php:540
|
3957 |
#: includes/class-mla-settings-upload-tab.php:1034
|
3959 |
msgstr ""
|
3960 |
|
3961 |
#: includes/class-mla-settings-custom-fields-tab.php:534
|
3962 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:613
|
3963 |
#, php-format
|
3964 |
msgid "Custom Field Rule \"%1$s\": %2$s"
|
3965 |
msgstr ""
|
3970 |
|
3971 |
#: includes/class-mla-settings-custom-fields-tab.php:583
|
3972 |
#: includes/class-mla-settings-custom-fields-tab.php:611
|
3973 |
+
#: includes/class-mla-settings-documentation-tab.php:233
|
3974 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:662
|
3975 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:690
|
3976 |
#: includes/class-mla-settings-shortcodes-tab.php:552
|
3977 |
#: includes/class-mla-settings-upload-tab.php:400
|
3978 |
#: includes/class-mla-settings-view-tab.php:244
|
3989 |
msgstr ""
|
3990 |
|
3991 |
#: includes/class-mla-settings-custom-fields-tab.php:724
|
3992 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:805
|
3993 |
msgid "DO NOT DO THE FOLLOWING (they will cause mapping to fail)"
|
3994 |
msgstr ""
|
3995 |
|
3996 |
#: includes/class-mla-settings-custom-fields-tab.php:725
|
3997 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:806
|
3998 |
msgid "Close the window"
|
3999 |
msgstr ""
|
4000 |
|
4001 |
#: includes/class-mla-settings-custom-fields-tab.php:726
|
4002 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:807
|
4003 |
msgid "Reload the page"
|
4004 |
msgstr ""
|
4005 |
|
4006 |
#: includes/class-mla-settings-custom-fields-tab.php:727
|
4007 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:808
|
4008 |
msgid "Click the browser’s Stop, Back or forward buttons"
|
4009 |
msgstr ""
|
4010 |
|
4011 |
#: includes/class-mla-settings-custom-fields-tab.php:728
|
4012 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:809
|
4013 |
msgid "Progress"
|
4014 |
msgstr ""
|
4015 |
|
4016 |
#: includes/class-mla-settings-custom-fields-tab.php:729
|
4017 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:810
|
4018 |
msgid "Pause"
|
4019 |
msgstr ""
|
4020 |
|
4021 |
#: includes/class-mla-settings-custom-fields-tab.php:731
|
4022 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:812
|
4023 |
msgid "Resume"
|
4024 |
msgstr ""
|
4025 |
|
4026 |
#: includes/class-mla-settings-custom-fields-tab.php:732
|
4027 |
#: includes/class-mla-settings-documentation-tab.php:107
|
4028 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:813
|
4029 |
#: includes/class-mla-settings-shortcodes-tab.php:476
|
4030 |
#: includes/class-mla-template-support.php:160
|
4031 |
#: includes/class-mla-template-support.php:166
|
4050 |
msgstr ""
|
4051 |
|
4052 |
#: includes/class-mla-settings-custom-fields-tab.php:745
|
4053 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:826
|
4054 |
msgid ""
|
4055 |
"You can find more information about using the controls in this tab to define "
|
4056 |
"mapping rules and apply them by clicking the \"Help\" control in the upper-"
|
4058 |
msgstr ""
|
4059 |
|
4060 |
#: includes/class-mla-settings-custom-fields-tab.php:750
|
4061 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:831
|
4062 |
#: includes/class-mla-settings-shortcodes-tab.php:711
|
4063 |
msgid "Search results for"
|
4064 |
msgstr ""
|
4065 |
|
4066 |
#: includes/class-mla-settings-custom-fields-tab.php:752
|
4067 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:832
|
4068 |
msgid "Search Rules Text"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
#: includes/class-mla-settings-custom-fields-tab.php:754
|
4072 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:834
|
4073 |
msgid "Search Rules"
|
4074 |
msgstr ""
|
4075 |
|
4076 |
#: includes/class-mla-settings-custom-fields-tab.php:757
|
4077 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:837
|
4078 |
msgid "Execute All Rules"
|
4079 |
msgstr ""
|
4080 |
|
4081 |
#: includes/class-mla-settings-custom-fields-tab.php:758
|
4082 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:838
|
4083 |
msgid "Add New Custom Field Rule"
|
4084 |
msgstr ""
|
4085 |
|
4086 |
#: includes/class-mla-settings-custom-fields-tab.php:808
|
4087 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:890
|
4088 |
msgid "Add Rule"
|
4089 |
msgstr ""
|
4090 |
|
4091 |
#: includes/class-mla-settings-custom-fields-tab.php:872
|
4092 |
#: includes/class-mla-settings-custom-fields-tab.php:894
|
4093 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:965
|
4094 |
msgid "Nothing to execute"
|
4095 |
msgstr ""
|
4096 |
|
4097 |
#: includes/class-mla-settings-custom-fields-tab.php:928
|
4098 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1000
|
4099 |
msgid "Rule ID not found"
|
4100 |
msgstr ""
|
4101 |
|
4102 |
#: includes/class-mla-settings-custom-fields-tab.php:932
|
4103 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1004
|
4104 |
msgid "Rule not found"
|
4105 |
msgstr ""
|
4106 |
|
4107 |
#: includes/class-mla-settings-custom-fields-tab.php:1203
|
4108 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1279
|
4109 |
msgctxt "list_table_column"
|
4110 |
msgid "Bad Name"
|
4111 |
msgstr ""
|
4121 |
msgstr ""
|
4122 |
|
4123 |
#: includes/class-mla-settings-custom-fields-tab.php:1208
|
4124 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1283
|
4125 |
msgctxt "list_table_column"
|
4126 |
msgid "Existing Text"
|
4127 |
msgstr ""
|
4128 |
|
4129 |
#: includes/class-mla-settings-custom-fields-tab.php:1209
|
4130 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1287
|
4131 |
msgctxt "list_table_column"
|
4132 |
msgid "Delete NULL"
|
4133 |
msgstr ""
|
4134 |
|
4135 |
#: includes/class-mla-settings-custom-fields-tab.php:1210
|
4136 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1288
|
4137 |
msgctxt "list_table_column"
|
4138 |
msgid "Format"
|
4139 |
msgstr ""
|
4140 |
|
4141 |
#: includes/class-mla-settings-custom-fields-tab.php:1211
|
4142 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1289
|
4143 |
msgctxt "list_table_column"
|
4144 |
msgid "Option"
|
4145 |
msgstr ""
|
4146 |
|
4147 |
#: includes/class-mla-settings-custom-fields-tab.php:1350
|
4148 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1428
|
4149 |
msgid "Map All Attachments"
|
4150 |
msgstr ""
|
4151 |
|
4152 |
#: includes/class-mla-settings-custom-fields-tab.php:1350
|
4153 |
#: includes/class-mla-settings-custom-fields-tab.php:1685
|
4154 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1428
|
4155 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1791
|
4156 |
msgid "Execute"
|
4157 |
msgstr ""
|
4158 |
|
4162 |
|
4163 |
#: includes/class-mla-settings-custom-fields-tab.php:1352
|
4164 |
#: includes/class-mla-settings-custom-fields-tab.php:1686
|
4165 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1431
|
4166 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1792
|
4167 |
msgid "Purge Values"
|
4168 |
msgstr ""
|
4169 |
|
4170 |
#: includes/class-mla-settings-custom-fields-tab.php:1703
|
4171 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1809
|
4172 |
#: includes/class-mla-settings-shortcodes-tab.php:1299
|
4173 |
msgid "Any Status"
|
4174 |
msgstr ""
|
4204 |
msgstr ""
|
4205 |
|
4206 |
#: includes/class-mla-settings-custom-fields-tab.php:2470
|
4207 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2738
|
4208 |
msgctxt "table_view_singular"
|
4209 |
msgid "Read Only"
|
4210 |
msgstr ""
|
4211 |
|
4212 |
#: includes/class-mla-settings-custom-fields-tab.php:2471
|
4213 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2739
|
4214 |
msgctxt "table_view_plural"
|
4215 |
msgid "Read Only"
|
4216 |
msgstr ""
|
4217 |
|
4218 |
#: includes/class-mla-settings-documentation-tab.php:82
|
4219 |
+
#: includes/class-mla-settings-documentation-tab.php:935
|
4220 |
+
#: includes/class-mla-settings-documentation-tab.php:1020
|
4221 |
+
#: includes/class-mla-settings-documentation-tab.php:1050
|
4222 |
#, php-format
|
4223 |
msgid "Example plugin \"%1$s\" not found"
|
4224 |
msgstr ""
|
4225 |
|
4226 |
#: includes/class-mla-settings-documentation-tab.php:97
|
4227 |
+
#: includes/class-mla-settings.php:1369
|
4228 |
#, php-format
|
4229 |
msgid "%1$s: Reading the %2$s file ( %3$s ) \"%4$s\"."
|
4230 |
msgstr ""
|
4284 |
msgid "Searches Name, Description, File Name and Tags"
|
4285 |
msgstr ""
|
4286 |
|
4287 |
+
#: includes/class-mla-settings-documentation-tab.php:256
|
4288 |
#, php-format
|
4289 |
msgid "Empty mla_item_ID - \"%1$s\""
|
4290 |
msgstr ""
|
4291 |
|
4292 |
+
#: includes/class-mla-settings-documentation-tab.php:491
|
4293 |
msgctxt "list_table_column"
|
4294 |
msgid "Current Version"
|
4295 |
msgstr ""
|
4296 |
|
4297 |
+
#: includes/class-mla-settings-documentation-tab.php:492
|
4298 |
msgctxt "list_table_column"
|
4299 |
msgid "Installed Version"
|
4300 |
msgstr ""
|
4301 |
|
4302 |
+
#: includes/class-mla-settings-documentation-tab.php:494
|
4303 |
msgctxt "list_table_column"
|
4304 |
msgid "File Name"
|
4305 |
msgstr ""
|
4306 |
|
4307 |
+
#: includes/class-mla-settings-documentation-tab.php:495
|
4308 |
msgctxt "list_table_column"
|
4309 |
msgid "Tags"
|
4310 |
msgstr ""
|
4311 |
|
4312 |
+
#: includes/class-mla-settings-documentation-tab.php:631
|
4313 |
msgid "Install this plugin"
|
4314 |
msgstr ""
|
4315 |
|
4316 |
+
#: includes/class-mla-settings-documentation-tab.php:631
|
4317 |
+
#: includes/class-mla-settings-documentation-tab.php:842
|
4318 |
msgid "Install"
|
4319 |
msgstr ""
|
4320 |
|
4321 |
+
#: includes/class-mla-settings-documentation-tab.php:635
|
4322 |
msgid "Update this plugin"
|
4323 |
msgstr ""
|
4324 |
|
4325 |
+
#: includes/class-mla-settings-documentation-tab.php:648
|
4326 |
#: includes/class-mla-settings-shortcodes-tab.php:1069
|
4327 |
msgid "View this item"
|
4328 |
msgstr ""
|
4329 |
|
4330 |
+
#: includes/class-mla-settings-documentation-tab.php:958
|
4331 |
#, php-format
|
4332 |
msgid "Example plugin \"%1$s\" fs_connect failed; no action taken. Error: %2$s"
|
4333 |
msgstr ""
|
4334 |
|
4335 |
+
#: includes/class-mla-settings-documentation-tab.php:963
|
4336 |
#, php-format
|
4337 |
msgid "Example plugin \"%1$s\" fs_connect failed; no action taken"
|
4338 |
msgstr ""
|
4339 |
|
4340 |
+
#: includes/class-mla-settings-documentation-tab.php:988
|
4341 |
#, php-format
|
4342 |
msgid ""
|
4343 |
"Example plugin \"%1$s\" install_package failed; no action taken. Error: %2$s"
|
4344 |
msgstr ""
|
4345 |
|
4346 |
+
#: includes/class-mla-settings-documentation-tab.php:999
|
4347 |
#, php-format
|
4348 |
msgid "Example plugin \"%1$s\" remove old single file failed."
|
4349 |
msgstr ""
|
4350 |
|
4351 |
+
#: includes/class-mla-settings-documentation-tab.php:1025
|
4352 |
#, php-format
|
4353 |
msgid "Example plugin \"%1$s\" already installed; no action taken"
|
4354 |
msgstr ""
|
4355 |
|
4356 |
+
#: includes/class-mla-settings-documentation-tab.php:1031
|
4357 |
#, php-format
|
4358 |
msgid "Example plugin \"%1$s\" installed"
|
4359 |
msgstr ""
|
4360 |
|
4361 |
+
#: includes/class-mla-settings-documentation-tab.php:1055
|
4362 |
#, php-format
|
4363 |
msgid "Example plugin \"%1$s\" not installed; no action taken"
|
4364 |
msgstr ""
|
4365 |
|
4366 |
+
#: includes/class-mla-settings-documentation-tab.php:1061
|
4367 |
#, php-format
|
4368 |
msgid "Example plugin \"%1$s\" updated"
|
4369 |
msgstr ""
|
4370 |
|
4371 |
+
#: includes/class-mla-settings-documentation-tab.php:1206
|
4372 |
msgid "Network"
|
4373 |
msgstr ""
|
4374 |
|
4375 |
+
#: includes/class-mla-settings-documentation-tab.php:1539
|
4376 |
msgctxt "table_view_singular"
|
4377 |
msgid "Installed"
|
4378 |
msgstr ""
|
4379 |
|
4380 |
+
#: includes/class-mla-settings-documentation-tab.php:1540
|
4381 |
msgctxt "table_view_plural"
|
4382 |
msgid "Installed"
|
4383 |
msgstr ""
|
4384 |
|
4385 |
+
#: includes/class-mla-settings-documentation-tab.php:1551
|
4386 |
msgctxt "table_view_singular"
|
4387 |
msgid "Network"
|
4388 |
msgstr ""
|
4389 |
|
4390 |
+
#: includes/class-mla-settings-documentation-tab.php:1552
|
4391 |
msgctxt "table_view_plural"
|
4392 |
msgid "Network"
|
4393 |
msgstr ""
|
4394 |
|
4395 |
+
#: includes/class-mla-settings-documentation-tab.php:1555
|
4396 |
msgctxt "table_view_singular"
|
4397 |
msgid "Uninstalled"
|
4398 |
msgstr ""
|
4399 |
|
4400 |
+
#: includes/class-mla-settings-documentation-tab.php:1556
|
4401 |
msgctxt "table_view_plural"
|
4402 |
msgid "Uninstalled"
|
4403 |
msgstr ""
|
4414 |
msgid "updated."
|
4415 |
msgstr ""
|
4416 |
|
4417 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:465
|
4418 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:847
|
4419 |
msgid "EXIF/Template Value"
|
4420 |
msgstr ""
|
4421 |
|
4422 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:468
|
4423 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:850
|
4424 |
msgid "EXIF element name or Content Template"
|
4425 |
msgstr ""
|
4426 |
|
4427 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:468
|
4428 |
+
msgid " (starting with \"template:\")"
|
4429 |
+
msgstr ""
|
4430 |
+
|
4431 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:471
|
4432 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:853
|
4433 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1544
|
4434 |
msgid "IPTC"
|
4435 |
msgstr ""
|
4436 |
|
4437 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:473
|
4438 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:855
|
4439 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1547
|
4440 |
msgid "EXIF"
|
4441 |
msgstr ""
|
4442 |
|
4443 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:481
|
4444 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:861
|
4445 |
msgid "Delimiters"
|
4446 |
msgstr ""
|
4447 |
|
4448 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:536
|
4449 |
msgid "Standard field mapping"
|
4450 |
msgstr ""
|
4451 |
|
4452 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:539
|
4453 |
msgid "Taxonomy term mapping"
|
4454 |
msgstr ""
|
4455 |
|
4456 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:554
|
4457 |
msgid "Custom field mapping"
|
4458 |
msgstr ""
|
4459 |
|
4460 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:649
|
4461 |
msgid "Edit IPTC EXIF Rule cancelled."
|
4462 |
msgstr ""
|
4463 |
|
4464 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:735
|
4465 |
msgid "IPTC/EXIF Mapping Support is disabled"
|
4466 |
msgstr ""
|
4467 |
|
4468 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:804
|
4469 |
msgid "IPTC & EXIF Mapping Progress"
|
4470 |
msgstr ""
|
4471 |
|
4472 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:822
|
4473 |
msgid "IPTC & EXIF Processing Options"
|
4474 |
msgstr ""
|
4475 |
|
4476 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:824
|
4477 |
msgid ""
|
4478 |
"In this tab you can define the rules for mapping IPTC (International Press "
|
4479 |
"Telecommunications Council) and EXIF (EXchangeable Image File) metadata to "
|
4480 |
"WordPress standard attachment fields, taxonomy terms and custom fields."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1280
|
4484 |
msgctxt "list_table_column"
|
4485 |
msgid "IPTC Value"
|
4486 |
msgstr ""
|
4487 |
|
4488 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1281
|
4489 |
msgctxt "list_table_column"
|
4490 |
msgid "EXIF/Template Value"
|
4491 |
msgstr ""
|
4492 |
|
4493 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1282
|
4494 |
msgctxt "list_table_column"
|
4495 |
msgid "Priority "
|
4496 |
msgstr ""
|
4497 |
|
4498 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1285
|
4499 |
msgctxt "list_table_column"
|
4500 |
msgid "Delimiter(s)"
|
4501 |
msgstr ""
|
4502 |
|
4503 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1286
|
4504 |
msgctxt "list_table_column"
|
4505 |
msgid "Parent"
|
4506 |
msgstr ""
|
4507 |
|
4508 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:1431
|
4509 |
msgid "Purge IPTC EXIF values"
|
4510 |
msgstr ""
|
4511 |
|
4512 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2726
|
4513 |
msgctxt "table_view_singular"
|
4514 |
msgid "Standard"
|
4515 |
msgstr ""
|
4516 |
|
4517 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2727
|
4518 |
msgctxt "table_view_plural"
|
4519 |
msgid "Standard"
|
4520 |
msgstr ""
|
4521 |
|
4522 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2730
|
4523 |
msgctxt "table_view_singular"
|
4524 |
msgid "Taxonomy"
|
4525 |
msgstr ""
|
4526 |
|
4527 |
+
#: includes/class-mla-settings-iptc-exif-tab.php:2731
|
4528 |
msgctxt "table_view_plural"
|
4529 |
msgid "Taxonomy"
|
4530 |
msgstr ""
|
4628 |
|
4629 |
#: includes/class-mla-settings-shortcodes-tab.php:319
|
4630 |
#: includes/class-mla-settings-shortcodes-tab.php:322
|
4631 |
+
#: includes/class-mla-settings.php:956
|
4632 |
msgid "Shortcodes"
|
4633 |
msgstr ""
|
4634 |
|
4774 |
msgstr ""
|
4775 |
|
4776 |
#: includes/class-mla-settings-shortcodes-tab.php:1282
|
4777 |
+
#: includes/class-mla-thumbnail-generation.php:646
|
4778 |
msgid "Delete"
|
4779 |
msgstr ""
|
4780 |
|
5121 |
msgid "No view slug found"
|
5122 |
msgstr ""
|
5123 |
|
5124 |
+
#: includes/class-mla-settings.php:429 includes/class-mla-settings.php:655
|
5125 |
+
#: includes/class-mla-settings.php:1478
|
5126 |
msgid "Settings"
|
5127 |
msgstr ""
|
5128 |
|
5150 |
msgid "Plugins per page"
|
5151 |
msgstr ""
|
5152 |
|
5153 |
+
#: includes/class-mla-settings.php:653
|
5154 |
+
msgid "Guide"
|
5155 |
+
msgstr ""
|
5156 |
+
|
5157 |
+
#: includes/class-mla-settings.php:727 includes/class-mla-settings.php:764
|
5158 |
+
#: includes/class-mla-settings.php:904
|
5159 |
#, php-format
|
5160 |
msgctxt "error_log"
|
5161 |
msgid "%1$s: %2$s unknown type = \"%3$s\""
|
5162 |
msgstr ""
|
5163 |
|
5164 |
+
#: includes/class-mla-settings.php:802 includes/class-mla-settings.php:1069
|
5165 |
msgid "Go to Bottom"
|
5166 |
msgstr ""
|
5167 |
|
5168 |
+
#: includes/class-mla-settings.php:953
|
5169 |
msgid "General"
|
5170 |
msgstr ""
|
5171 |
|
5172 |
+
#: includes/class-mla-settings.php:954
|
5173 |
msgid "Views"
|
5174 |
msgstr ""
|
5175 |
|
5176 |
+
#: includes/class-mla-settings.php:955
|
5177 |
msgid "Uploads"
|
5178 |
msgstr ""
|
5179 |
|
5180 |
+
#: includes/class-mla-settings.php:957
|
5181 |
msgid "Custom Fields"
|
5182 |
msgstr ""
|
5183 |
|
5184 |
+
#: includes/class-mla-settings.php:958
|
5185 |
msgid "IPTC/EXIF"
|
5186 |
msgstr ""
|
5187 |
|
5188 |
+
#: includes/class-mla-settings.php:959
|
5189 |
msgid "Documentation"
|
5190 |
msgstr ""
|
5191 |
|
5192 |
+
#: includes/class-mla-settings.php:960
|
5193 |
msgid "Debug"
|
5194 |
msgstr ""
|
5195 |
|
5196 |
+
#: includes/class-mla-settings.php:1060
|
5197 |
msgid "General Processing Options"
|
5198 |
msgstr ""
|
5199 |
|
5200 |
+
#: includes/class-mla-settings.php:1062
|
5201 |
#, php-format
|
5202 |
msgid ""
|
5203 |
"In this tab you can find a number of options for controlling the "
|
5206 |
"any changes you make."
|
5207 |
msgstr ""
|
5208 |
|
5209 |
+
#: includes/class-mla-settings.php:1062
|
5210 |
msgid "Media/Assistant Table Defaults"
|
5211 |
msgstr ""
|
5212 |
|
5213 |
+
#: includes/class-mla-settings.php:1062
|
5214 |
msgid "Media Manager Enhancements"
|
5215 |
msgstr ""
|
5216 |
|
5217 |
+
#: includes/class-mla-settings.php:1065
|
5218 |
msgid "Delete General options and restore default settings"
|
5219 |
msgstr ""
|
5220 |
|
5221 |
+
#: includes/class-mla-settings.php:1070 includes/class-mla-settings.php:1470
|
5222 |
msgid "Support Our Work"
|
5223 |
msgstr ""
|
5224 |
|
5225 |
+
#: includes/class-mla-settings.php:1071 includes/class-mla-settings.php:1074
|
5226 |
msgid "Donate to FTJ"
|
5227 |
msgstr ""
|
5228 |
|
5229 |
+
#: includes/class-mla-settings.php:1072 includes/class-mla-settings.php:1471
|
5230 |
msgid "Donate"
|
5231 |
msgstr ""
|
5232 |
|
5233 |
+
#: includes/class-mla-settings.php:1074
|
5234 |
#, php-format
|
5235 |
msgid ""
|
5236 |
"This plugin was inspired by my work on the WordPress web site for our "
|
5239 |
"our work. Thank you!"
|
5240 |
msgstr ""
|
5241 |
|
5242 |
+
#: includes/class-mla-settings.php:1074
|
5243 |
msgid "tax-deductible donation"
|
5244 |
msgstr ""
|
5245 |
|
5246 |
+
#: includes/class-mla-settings.php:1093
|
5247 |
msgid "enhanced version of the WordPress [gallery] shortcode."
|
5248 |
msgstr ""
|
5249 |
|
5250 |
+
#: includes/class-mla-settings.php:1094
|
5251 |
msgid "enhanced version of the WordPress Tag Cloud."
|
5252 |
msgstr ""
|
5253 |
|
5254 |
+
#: includes/class-mla-settings.php:1095
|
5255 |
msgid ""
|
5256 |
"provides flat or hierarchical lists, dropdown controls and checkbox lists of "
|
5257 |
"taxonomy terms."
|
5258 |
msgstr ""
|
5259 |
|
5260 |
+
#: includes/class-mla-settings.php:1107
|
5261 |
msgid "Shortcodes made available by this plugin"
|
5262 |
msgstr ""
|
5263 |
|
5264 |
+
#: includes/class-mla-settings.php:1222
|
5265 |
msgid "Debug settings saved."
|
5266 |
msgstr ""
|
5267 |
|
5268 |
+
#: includes/class-mla-settings.php:1318
|
5269 |
#, php-format
|
5270 |
msgid "%1$s: Reseting the %2$s file ( %3$s ) \"%4$s\"."
|
5271 |
msgstr ""
|
5272 |
|
5273 |
+
#: includes/class-mla-settings.php:1318 includes/class-mla-settings.php:1369
|
5274 |
+
#: includes/class-mla-settings.php:1392 includes/class-mla-settings.php:1402
|
5275 |
+
#: includes/class-mla-settings.php:1428
|
5276 |
msgid "Error Log"
|
5277 |
msgstr ""
|
5278 |
|
5279 |
+
#: includes/class-mla-settings.php:1379
|
5280 |
#, php-format
|
5281 |
msgid "Error log file (%1$s) not found; click Reset to create it."
|
5282 |
msgstr ""
|
5283 |
|
5284 |
+
#: includes/class-mla-settings.php:1423 includes/class-mla-settings.php:1439
|
5285 |
msgid "Debug Options"
|
5286 |
msgstr ""
|
5287 |
|
5288 |
+
#: includes/class-mla-settings.php:1426
|
5289 |
msgid "Debug Settings"
|
5290 |
msgstr ""
|
5291 |
|
5292 |
+
#: includes/class-mla-settings.php:1430
|
5293 |
#, php-format
|
5294 |
msgid ""
|
5295 |
"You can find more information about the MLA Reporting/MLA_DEBUG_LEVEL values "
|
5296 |
"in the %1$s section of the Documentation tab."
|
5297 |
msgstr ""
|
5298 |
|
5299 |
+
#: includes/class-mla-settings.php:1430
|
5300 |
msgid "MLA Debug Tab documentation"
|
5301 |
msgstr ""
|
5302 |
|
5303 |
+
#: includes/class-mla-settings.php:1430
|
5304 |
msgid "MLA Debug Tab"
|
5305 |
msgstr ""
|
5306 |
|
5307 |
+
#: includes/class-mla-settings.php:1439
|
5308 |
#, php-format
|
5309 |
msgid "Click %1$s to update the %2$s."
|
5310 |
msgstr ""
|
5311 |
|
5312 |
+
#: includes/class-mla-settings.php:1458
|
5313 |
msgid "You do not have permission to manage plugin settings."
|
5314 |
msgstr ""
|
5315 |
|
5316 |
+
#: includes/class-mla-settings.php:1490
|
5317 |
msgid "Cannot render content tab"
|
5318 |
msgstr ""
|
5319 |
|
5320 |
+
#: includes/class-mla-settings.php:1493
|
5321 |
msgid "Unknown content tab"
|
5322 |
msgstr ""
|
5323 |
|
5324 |
+
#: includes/class-mla-settings.php:1509
|
5325 |
msgid "Dismiss this notice"
|
5326 |
msgstr ""
|
5327 |
|
5328 |
+
#: includes/class-mla-settings.php:1536
|
5329 |
#, php-format
|
5330 |
msgid "%s attachment"
|
5331 |
msgid_plural "%s attachments"
|
5332 |
msgstr[0] ""
|
5333 |
msgstr[1] ""
|
5334 |
|
5335 |
+
#: includes/class-mla-settings.php:1538
|
5336 |
#, php-format
|
5337 |
msgid "Deleted custom field value from %1$s."
|
5338 |
msgstr ""
|
5339 |
|
5340 |
+
#: includes/class-mla-settings.php:1541
|
5341 |
msgid "No attachments contained this custom field."
|
5342 |
msgstr ""
|
5343 |
|
5344 |
+
#: includes/class-mla-settings.php:1571 includes/class-mla-settings.php:1581
|
5345 |
#, php-format
|
5346 |
msgctxt "message_list"
|
5347 |
msgid "%1$s - references updated."
|
5348 |
msgstr ""
|
5349 |
|
5350 |
+
#: includes/class-mla-settings.php:1624
|
5351 |
msgid "General settings saved."
|
5352 |
msgstr ""
|
5353 |
|
5354 |
+
#: includes/class-mla-settings.php:1663
|
5355 |
msgid "General settings reset to default values."
|
5356 |
msgstr ""
|
5357 |
|
5358 |
+
#: includes/class-mla-settings.php:1705
|
5359 |
msgid "select settings"
|
5360 |
msgstr ""
|
5361 |
|
5362 |
+
#: includes/class-mla-settings.php:1725
|
5363 |
msgid "Import ALL Settings"
|
5364 |
msgstr ""
|
5365 |
|
5366 |
+
#: includes/class-mla-settings.php:1754 includes/class-mla-settings.php:1770
|
5367 |
msgctxt "message_list"
|
5368 |
msgid "exported"
|
5369 |
msgstr ""
|
5370 |
|
5371 |
+
#: includes/class-mla-settings.php:1756 includes/class-mla-settings.php:1772
|
5372 |
msgctxt "message_list"
|
5373 |
msgid "skipped"
|
5374 |
msgstr ""
|
5375 |
|
5376 |
+
#: includes/class-mla-settings.php:1779
|
5377 |
msgid "ALL settings exported."
|
5378 |
msgstr ""
|
5379 |
|
5380 |
+
#: includes/class-mla-settings.php:1790
|
5381 |
#, php-format
|
5382 |
msgid "%1$s: The settings directory ( %2$s ) cannot be created."
|
5383 |
msgstr ""
|
5384 |
|
5385 |
+
#: includes/class-mla-settings.php:1794
|
5386 |
#, php-format
|
5387 |
msgid "%1$s: The settings directory ( %2$s ) is not writable."
|
5388 |
msgstr ""
|
5389 |
|
5390 |
+
#: includes/class-mla-settings.php:1805
|
5391 |
#, php-format
|
5392 |
msgid "%1$s: The settings file ( %2$s ) could not be opened."
|
5393 |
msgstr ""
|
5394 |
|
5395 |
+
#: includes/class-mla-settings.php:1812
|
5396 |
#, php-format
|
5397 |
msgctxt "error_log"
|
5398 |
msgid "%1$s: _export_settings $error_info = \"%2$s\"."
|
5399 |
msgstr ""
|
5400 |
|
5401 |
+
#: includes/class-mla-settings.php:1821
|
5402 |
#, php-format
|
5403 |
msgid "%1$s: Writing the settings file ( %2$s ) \"%3$s\"."
|
5404 |
msgstr ""
|
5405 |
|
5406 |
+
#: includes/class-mla-settings.php:1827
|
5407 |
#, php-format
|
5408 |
msgid "Settings exported; %1$s settings recorded."
|
5409 |
msgstr ""
|
5410 |
|
5411 |
+
#: includes/class-mla-settings.php:1845
|
5412 |
msgid "No settings imported."
|
5413 |
msgstr ""
|
5414 |
|
5415 |
+
#: includes/class-mla-settings.php:1854
|
5416 |
msgid "Please select an import settings file from the dropdown list."
|
5417 |
msgstr ""
|
5418 |
|
5419 |
+
#: includes/class-mla-settings.php:1858
|
5420 |
msgid "The import settings dropdown selection is missing."
|
5421 |
msgstr ""
|
5422 |
|
5423 |
+
#: includes/class-mla-settings.php:1866
|
5424 |
#, php-format
|
5425 |
msgctxt "error_log"
|
5426 |
msgid "%1$s: _import_settings $error_info = \"%2$s\"."
|
5427 |
msgstr ""
|
5428 |
|
5429 |
+
#: includes/class-mla-settings.php:1875
|
5430 |
#, php-format
|
5431 |
msgid "%1$s: Reading the settings file ( %2$s ) \"%3$s\"."
|
5432 |
msgstr ""
|
5433 |
|
5434 |
+
#: includes/class-mla-settings.php:1894 includes/class-mla-settings.php:1910
|
5435 |
msgctxt "message_list"
|
5436 |
msgid "updated"
|
5437 |
msgstr ""
|
5438 |
|
5439 |
+
#: includes/class-mla-settings.php:1897 includes/class-mla-settings.php:1913
|
5440 |
msgctxt "message_list"
|
5441 |
msgid "unchanged"
|
5442 |
msgstr ""
|
5443 |
|
5444 |
+
#: includes/class-mla-settings.php:1918
|
5445 |
#, php-format
|
5446 |
msgid "Settings imported; %1$s updated, %2$s unchanged."
|
5447 |
msgstr ""
|
5449 |
#: includes/class-mla-shortcode-support.php:440
|
5450 |
#: includes/class-mla-shortcode-support.php:1809
|
5451 |
#: includes/class-mla-shortcode-support.php:3893
|
5452 |
+
#: includes/class-mla-shortcode-support.php:4179
|
5453 |
msgid "Previous"
|
5454 |
msgstr ""
|
5455 |
|
5456 |
#: includes/class-mla-shortcode-support.php:441
|
5457 |
#: includes/class-mla-shortcode-support.php:1810
|
5458 |
#: includes/class-mla-shortcode-support.php:3942
|
5459 |
+
#: includes/class-mla-shortcode-support.php:4185
|
5460 |
msgid "Next"
|
5461 |
msgstr ""
|
5462 |
|
5514 |
msgid "no-terms"
|
5515 |
msgstr ""
|
5516 |
|
5517 |
+
#: includes/class-mla-shortcode-support.php:4609
|
5518 |
+
#: includes/class-mla-shortcode-support.php:5013
|
5519 |
+
#: includes/class-mla-shortcode-support.php:5050
|
5520 |
msgid "Invalid mla_gallery"
|
5521 |
msgstr ""
|
5522 |
|
5523 |
+
#: includes/class-mla-shortcode-support.php:5338
|
5524 |
msgid "mla_debug query"
|
5525 |
msgstr ""
|
5526 |
|
5527 |
+
#: includes/class-mla-shortcode-support.php:5339
|
5528 |
msgid "mla_debug request"
|
5529 |
msgstr ""
|
5530 |
|
5531 |
+
#: includes/class-mla-shortcode-support.php:5340
|
5532 |
msgid "mla_debug query_vars"
|
5533 |
msgstr ""
|
5534 |
|
5535 |
+
#: includes/class-mla-shortcode-support.php:5341
|
5536 |
msgid "mla_debug post_count"
|
5537 |
msgstr ""
|
5538 |
|
5539 |
+
#: includes/class-mla-shortcode-support.php:5409
|
5540 |
msgid "mla_debug WHERE filter"
|
5541 |
msgstr ""
|
5542 |
|
5543 |
+
#: includes/class-mla-shortcode-support.php:5433
|
5544 |
msgid "mla_debug modified WHERE filter"
|
5545 |
msgstr ""
|
5546 |
|
5547 |
+
#: includes/class-mla-shortcode-support.php:5456
|
5548 |
msgid "mla_debug ORDER BY filter, incoming"
|
5549 |
msgstr ""
|
5550 |
|
5551 |
+
#: includes/class-mla-shortcode-support.php:5456
|
5552 |
msgid "Replacement ORDER BY clause"
|
5553 |
msgstr ""
|
5554 |
|
5555 |
+
#: includes/class-mla-shortcode-support.php:5479
|
5556 |
msgid "mla_debug posts_clauses filter"
|
5557 |
msgstr ""
|
5558 |
|
5559 |
+
#: includes/class-mla-shortcode-support.php:5497
|
5560 |
msgid "mla_debug posts_clauses_request filter"
|
5561 |
msgstr ""
|
5562 |
|
5563 |
+
#: includes/class-mla-shortcode-support.php:5686
|
5564 |
msgid "Invalid taxonomy"
|
5565 |
msgstr ""
|
5566 |
|
5567 |
+
#: includes/class-mla-shortcode-support.php:5866
|
5568 |
msgid "mla_debug query arguments"
|
5569 |
msgstr ""
|
5570 |
|
5571 |
+
#: includes/class-mla-shortcode-support.php:5867
|
5572 |
msgid "mla_debug last_query"
|
5573 |
msgstr ""
|
5574 |
|
5575 |
+
#: includes/class-mla-shortcode-support.php:5868
|
5576 |
msgid "mla_debug last_error"
|
5577 |
msgstr ""
|
5578 |
|
5579 |
+
#: includes/class-mla-shortcode-support.php:5869
|
5580 |
msgid "mla_debug num_rows"
|
5581 |
msgstr ""
|
5582 |
|
5583 |
+
#: includes/class-mla-shortcode-support.php:5870
|
5584 |
msgid "mla_debug found_rows"
|
5585 |
msgstr ""
|
5586 |
|
5742 |
|
5743 |
#: includes/class-mla-thumbnail-generation.php:96
|
5744 |
#: includes/class-mla-thumbnail-generation.php:98
|
5745 |
+
#: includes/class-mla-thumbnail-generation.php:629
|
5746 |
msgid "Generate Thumbnails"
|
5747 |
msgstr ""
|
5748 |
|
5749 |
+
#: includes/class-mla-thumbnail-generation.php:383
|
5750 |
#, php-format
|
5751 |
msgid "Item %1$d"
|
5752 |
msgstr ""
|
5753 |
|
5754 |
+
#: includes/class-mla-thumbnail-generation.php:400
|
5755 |
msgid "has native thumbnail."
|
5756 |
msgstr ""
|
5757 |
|
5758 |
+
#: includes/class-mla-thumbnail-generation.php:420
|
5759 |
msgid "Featured Image retained."
|
5760 |
msgstr ""
|
5761 |
|
5762 |
+
#: includes/class-mla-thumbnail-generation.php:428
|
5763 |
#, php-format
|
5764 |
msgid "%1$s: %2$sno attached file."
|
5765 |
msgstr ""
|
5766 |
|
5767 |
+
#: includes/class-mla-thumbnail-generation.php:432
|
5768 |
msgid "unsupported file type."
|
5769 |
msgstr ""
|
5770 |
|
|
|
5771 |
#: includes/class-mla-thumbnail-generation.php:440
|
5772 |
+
#: includes/class-mla-thumbnail-generation.php:452
|
5773 |
#, php-format
|
5774 |
msgid "%1$s: %2$sthumbnail generation failed"
|
5775 |
msgstr ""
|
5776 |
|
5777 |
+
#: includes/class-mla-thumbnail-generation.php:448
|
5778 |
#, php-format
|
5779 |
msgid "%1$sWordPress-style thumbnail generated."
|
5780 |
msgstr ""
|
5781 |
|
5782 |
+
#: includes/class-mla-thumbnail-generation.php:496
|
5783 |
#, php-format
|
5784 |
msgid "%1$s: %2$swp_insert_attachment failed."
|
5785 |
msgstr ""
|
5786 |
|
5787 |
+
#: includes/class-mla-thumbnail-generation.php:513
|
5788 |
#, php-format
|
5789 |
msgid "%1$sthumbnail generated as new item %2$s."
|
5790 |
msgstr ""
|
5791 |
|
5792 |
+
#: includes/class-mla-thumbnail-generation.php:562
|
5793 |
+
#: includes/class-mla-thumbnail-generation.php:673
|
5794 |
msgid "Generated Thumbnails"
|
5795 |
msgstr ""
|
5796 |
|
5797 |
+
#: includes/class-mla-thumbnail-generation.php:619
|
5798 |
msgid ""
|
5799 |
"Type “WP” generates native WordPress thumbnails without creating "
|
5800 |
"a separate image item."
|
5801 |
msgstr ""
|
5802 |
|
5803 |
+
#: includes/class-mla-thumbnail-generation.php:630
|
5804 |
msgid ""
|
5805 |
"Pull down the Help menu and select Thumbnail Generation for setting details"
|
5806 |
msgstr ""
|
5807 |
|
5808 |
+
#: includes/class-mla-thumbnail-generation.php:631
|
5809 |
msgid "Width"
|
5810 |
msgstr ""
|
5811 |
|
5812 |
+
#: includes/class-mla-thumbnail-generation.php:632
|
5813 |
msgid "Height"
|
5814 |
msgstr ""
|
5815 |
|
5816 |
+
#: includes/class-mla-thumbnail-generation.php:633
|
5817 |
msgid "Best Fit"
|
5818 |
msgstr ""
|
5819 |
|
5820 |
+
#: includes/class-mla-thumbnail-generation.php:634
|
5821 |
msgid "Page"
|
5822 |
msgstr ""
|
5823 |
|
5824 |
+
#: includes/class-mla-thumbnail-generation.php:635
|
5825 |
msgid "Resolution"
|
5826 |
msgstr ""
|
5827 |
|
5828 |
+
#: includes/class-mla-thumbnail-generation.php:636
|
5829 |
msgid "Quality"
|
5830 |
msgstr ""
|
5831 |
|
5832 |
+
#: includes/class-mla-thumbnail-generation.php:642
|
5833 |
msgid "Existing Items"
|
5834 |
msgstr ""
|
5835 |
|
5836 |
+
#: includes/class-mla-thumbnail-generation.php:644
|
5837 |
msgid "Ignore"
|
5838 |
msgstr ""
|
5839 |
|
5840 |
+
#: includes/class-mla-thumbnail-generation.php:647
|
5841 |
msgid "Suffix"
|
5842 |
msgstr ""
|
5843 |
|
5865 |
"\"Save Changes\" at the bottom of the tab to save any changes you make."
|
5866 |
msgstr ""
|
5867 |
|
5868 |
+
#: includes/class-mla-wpml-support.php:2273
|
5869 |
+
#: includes/class-mla-wpml-support.php:2279
|
5870 |
#, php-format
|
5871 |
msgid "Edit the %s translation"
|
5872 |
msgstr ""
|
5873 |
|
5874 |
+
#: includes/class-mla-wpml-support.php:2285
|
5875 |
#, php-format
|
5876 |
msgid "Add translation to %s"
|
5877 |
msgstr ""
|
languages/media-library-assistant-en_US.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Media Library Assistant\n"
|
4 |
-
"POT-Creation-Date:
|
5 |
-
"PO-Revision-Date:
|
6 |
"Language-Team: David Lingren <david@fairtradejudaica.org>\n"
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -19,6 +19,41 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-1: tests\n"
|
20 |
"X-Poedit-SearchPath-2: index.php\n"
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
msgid "Media Library Assistant"
|
23 |
msgstr ""
|
24 |
|
@@ -43,18 +78,9 @@ msgstr ""
|
|
43 |
msgid "Published"
|
44 |
msgstr ""
|
45 |
|
46 |
-
msgid "Scheduled"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
msgid "Pending Review"
|
50 |
msgstr ""
|
51 |
|
52 |
-
msgid "Draft"
|
53 |
-
msgstr ""
|
54 |
-
|
55 |
-
msgid "Y/m/d"
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
msgid "ERROR"
|
59 |
msgstr ""
|
60 |
|
@@ -94,9 +120,6 @@ msgstr ""
|
|
94 |
msgid "Enabled"
|
95 |
msgstr ""
|
96 |
|
97 |
-
msgid "Disabled"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
msgid "Search database posts and pages for Featured Image attachments."
|
101 |
msgstr ""
|
102 |
|
@@ -255,9 +278,6 @@ msgstr ""
|
|
255 |
msgid "Order By"
|
256 |
msgstr ""
|
257 |
|
258 |
-
msgid "None"
|
259 |
-
msgstr ""
|
260 |
-
|
261 |
msgid "ID/Parent"
|
262 |
msgstr ""
|
263 |
|
@@ -276,6 +296,12 @@ msgstr ""
|
|
276 |
msgid "Choose the sort order."
|
277 |
msgstr ""
|
278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
msgid "Views Width"
|
280 |
msgstr ""
|
281 |
|
@@ -747,6 +773,9 @@ msgstr ""
|
|
747 |
msgid "Description"
|
748 |
msgstr ""
|
749 |
|
|
|
|
|
|
|
750 |
msgid "Enable View and Post MIME Type Support"
|
751 |
msgstr ""
|
752 |
|
@@ -830,10 +859,6 @@ msgctxt "post_mime_types_description"
|
|
830 |
msgid "All application subtypes"
|
831 |
msgstr ""
|
832 |
|
833 |
-
msgctxt "table_view_singular"
|
834 |
-
msgid "Unattached"
|
835 |
-
msgstr ""
|
836 |
-
|
837 |
msgctxt "table_view_plural"
|
838 |
msgid "Unattached"
|
839 |
msgstr ""
|
@@ -886,7 +911,9 @@ msgstr ""
|
|
886 |
|
887 |
msgid ""
|
888 |
"Enter the name of an alternate, MLA-specific debug log file; leave blank to "
|
889 |
-
"use the PHP error_log
|
|
|
|
|
890 |
msgstr ""
|
891 |
|
892 |
msgid "Replace PHP error_log file"
|
@@ -1103,9 +1130,6 @@ msgctxt "error_log"
|
|
1103 |
msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
|
1104 |
msgstr ""
|
1105 |
|
1106 |
-
msgid "NO REFERENCE TESTS"
|
1107 |
-
msgstr ""
|
1108 |
-
|
1109 |
msgid "ORPHAN"
|
1110 |
msgstr ""
|
1111 |
|
@@ -1313,6 +1337,13 @@ msgstr ""
|
|
1313 |
msgid "An ajax.done error has occurred. Please reload the page and try again."
|
1314 |
msgstr ""
|
1315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1316 |
msgid "more"
|
1317 |
msgstr ""
|
1318 |
|
@@ -1363,10 +1394,45 @@ msgstr ""
|
|
1363 |
msgid "IPTC/EXIF mapping is disabled."
|
1364 |
msgstr ""
|
1365 |
|
1366 |
-
msgid "
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1370 |
msgstr ""
|
1371 |
|
1372 |
msgid "Map Custom Field metadata for this item"
|
@@ -1392,19 +1458,12 @@ msgctxt "error_log"
|
|
1392 |
msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
-
msgctxt "post state"
|
1396 |
-
msgid "Pending"
|
1397 |
-
msgstr ""
|
1398 |
-
|
1399 |
msgid "Post Parent"
|
1400 |
msgstr ""
|
1401 |
|
1402 |
msgid "Select Parent"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
msgid "PARENT"
|
1406 |
-
msgstr ""
|
1407 |
-
|
1408 |
msgid "All"
|
1409 |
msgstr ""
|
1410 |
|
@@ -1425,12 +1484,6 @@ msgstr ""
|
|
1425 |
msgid "column_default: %1$s, %2$s"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
msgid "Edit"
|
1429 |
-
msgstr ""
|
1430 |
-
|
1431 |
-
msgid "Trash"
|
1432 |
-
msgstr ""
|
1433 |
-
|
1434 |
msgid "Restore this item from the Trash"
|
1435 |
msgstr ""
|
1436 |
|
@@ -1487,9 +1540,6 @@ msgstr ""
|
|
1487 |
msgid "%1$s ago"
|
1488 |
msgstr ""
|
1489 |
|
1490 |
-
msgid "(Private post)"
|
1491 |
-
msgstr ""
|
1492 |
-
|
1493 |
msgid "Set Parent"
|
1494 |
msgstr ""
|
1495 |
|
@@ -1548,7 +1598,13 @@ msgstr[1] ""
|
|
1548 |
msgid "Item %1$d moved to Trash."
|
1549 |
msgstr ""
|
1550 |
|
1551 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
1552 |
msgstr ""
|
1553 |
|
1554 |
msgid "You are not allowed to edit Attachment: "
|
@@ -1606,9 +1662,6 @@ msgstr ""
|
|
1606 |
msgid "Unattached"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
-
msgid "Cancel"
|
1610 |
-
msgstr ""
|
1611 |
-
|
1612 |
msgid "Bulk Edit"
|
1613 |
msgstr ""
|
1614 |
|
@@ -2741,6 +2794,9 @@ msgstr ""
|
|
2741 |
msgid "EXIF element name or Content Template"
|
2742 |
msgstr ""
|
2743 |
|
|
|
|
|
|
|
2744 |
msgid "IPTC"
|
2745 |
msgstr ""
|
2746 |
|
@@ -3269,6 +3325,9 @@ msgstr ""
|
|
3269 |
msgid "Plugins per page"
|
3270 |
msgstr ""
|
3271 |
|
|
|
|
|
|
|
3272 |
#, php-format
|
3273 |
msgctxt "error_log"
|
3274 |
msgid "%1$s: %2$s unknown type = \"%3$s\""
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Media Library Assistant\n"
|
4 |
+
"POT-Creation-Date: 2018-03-25 15:56-0700\n"
|
5 |
+
"PO-Revision-Date: 2018-03-25 15:57-0700\n"
|
6 |
"Language-Team: David Lingren <david@fairtradejudaica.org>\n"
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
19 |
"X-Poedit-SearchPath-1: tests\n"
|
20 |
"X-Poedit-SearchPath-2: index.php\n"
|
21 |
|
22 |
+
msgid "Draft"
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
+
msgid "Scheduled"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
msgctxt "post state"
|
29 |
+
msgid "Pending"
|
30 |
+
msgstr ""
|
31 |
+
|
32 |
+
msgid "Trash"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
msgid "NO REFERENCE TESTS"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
msgid "Disabled"
|
39 |
+
msgstr ""
|
40 |
+
|
41 |
+
msgid "PARENT"
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
msgid "None"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
msgid "(Private post)"
|
48 |
+
msgstr ""
|
49 |
+
|
50 |
+
msgid "Y/m/d"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
msgctxt "table_view_singular"
|
54 |
+
msgid "Unattached"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
msgid "Media Library Assistant"
|
58 |
msgstr ""
|
59 |
|
78 |
msgid "Published"
|
79 |
msgstr ""
|
80 |
|
|
|
|
|
|
|
81 |
msgid "Pending Review"
|
82 |
msgstr ""
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
msgid "ERROR"
|
85 |
msgstr ""
|
86 |
|
120 |
msgid "Enabled"
|
121 |
msgstr ""
|
122 |
|
|
|
|
|
|
|
123 |
msgid "Search database posts and pages for Featured Image attachments."
|
124 |
msgstr ""
|
125 |
|
278 |
msgid "Order By"
|
279 |
msgstr ""
|
280 |
|
|
|
|
|
|
|
281 |
msgid "ID/Parent"
|
282 |
msgstr ""
|
283 |
|
296 |
msgid "Choose the sort order."
|
297 |
msgstr ""
|
298 |
|
299 |
+
msgid "Entries per page"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
msgid "Enter the number of Media/Assistant submenu table items per page."
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
msgid "Views Width"
|
306 |
msgstr ""
|
307 |
|
773 |
msgid "Description"
|
774 |
msgstr ""
|
775 |
|
776 |
+
msgid "Uploaded on"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
msgid "Enable View and Post MIME Type Support"
|
780 |
msgstr ""
|
781 |
|
859 |
msgid "All application subtypes"
|
860 |
msgstr ""
|
861 |
|
|
|
|
|
|
|
|
|
862 |
msgctxt "table_view_plural"
|
863 |
msgid "Unattached"
|
864 |
msgstr ""
|
911 |
|
912 |
msgid ""
|
913 |
"Enter the name of an alternate, MLA-specific debug log file; leave blank to "
|
914 |
+
"use the PHP error_log.<br> The WP_CONTENT_DIR value (below) will "
|
915 |
+
"be prepended to the value here, e.g., enter something like \"/uploads/mla.log"
|
916 |
+
"\"."
|
917 |
msgstr ""
|
918 |
|
919 |
msgid "Replace PHP error_log file"
|
1130 |
msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
|
1131 |
msgstr ""
|
1132 |
|
|
|
|
|
|
|
1133 |
msgid "ORPHAN"
|
1134 |
msgstr ""
|
1135 |
|
1337 |
msgid "An ajax.done error has occurred. Please reload the page and try again."
|
1338 |
msgstr ""
|
1339 |
|
1340 |
+
#, php-format
|
1341 |
+
msgid "Uploaded on: %s"
|
1342 |
+
msgstr ""
|
1343 |
+
|
1344 |
+
msgid "Last modified"
|
1345 |
+
msgstr ""
|
1346 |
+
|
1347 |
msgid "more"
|
1348 |
msgstr ""
|
1349 |
|
1394 |
msgid "IPTC/EXIF mapping is disabled."
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
msgid "Month"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
+
#, php-format
|
1401 |
+
msgid "%1$s-%2$s"
|
1402 |
+
msgstr ""
|
1403 |
+
|
1404 |
+
msgid "Day"
|
1405 |
+
msgstr ""
|
1406 |
+
|
1407 |
+
msgid "Year"
|
1408 |
+
msgstr ""
|
1409 |
+
|
1410 |
+
msgid "Hour"
|
1411 |
+
msgstr ""
|
1412 |
+
|
1413 |
+
msgid "Minute"
|
1414 |
+
msgstr ""
|
1415 |
+
|
1416 |
+
#, php-format
|
1417 |
+
msgid "%1$s %2$s, %3$s @ %4$s:%5$s"
|
1418 |
+
msgstr ""
|
1419 |
+
|
1420 |
+
msgid "OK"
|
1421 |
+
msgstr ""
|
1422 |
+
|
1423 |
+
msgid "Cancel"
|
1424 |
+
msgstr ""
|
1425 |
+
|
1426 |
+
msgid "M j, Y @ H:i"
|
1427 |
+
msgstr ""
|
1428 |
+
|
1429 |
+
msgid "Edit"
|
1430 |
+
msgstr ""
|
1431 |
+
|
1432 |
+
msgid "Edit upload date and time"
|
1433 |
+
msgstr ""
|
1434 |
+
|
1435 |
+
msgid "Upload Date and time"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
msgid "Map Custom Field metadata for this item"
|
1458 |
msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
|
1459 |
msgstr ""
|
1460 |
|
|
|
|
|
|
|
|
|
1461 |
msgid "Post Parent"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
msgid "Select Parent"
|
1465 |
msgstr ""
|
1466 |
|
|
|
|
|
|
|
1467 |
msgid "All"
|
1468 |
msgstr ""
|
1469 |
|
1484 |
msgid "column_default: %1$s, %2$s"
|
1485 |
msgstr ""
|
1486 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1487 |
msgid "Restore this item from the Trash"
|
1488 |
msgstr ""
|
1489 |
|
1540 |
msgid "%1$s ago"
|
1541 |
msgstr ""
|
1542 |
|
|
|
|
|
|
|
1543 |
msgid "Set Parent"
|
1544 |
msgstr ""
|
1545 |
|
1598 |
msgid "Item %1$d moved to Trash."
|
1599 |
msgstr ""
|
1600 |
|
1601 |
+
msgid "download path out of bounds."
|
1602 |
+
msgstr ""
|
1603 |
+
|
1604 |
+
msgid "download path invalid."
|
1605 |
+
msgstr ""
|
1606 |
+
|
1607 |
+
msgid "download argument(s) not set."
|
1608 |
msgstr ""
|
1609 |
|
1610 |
msgid "You are not allowed to edit Attachment: "
|
1662 |
msgid "Unattached"
|
1663 |
msgstr ""
|
1664 |
|
|
|
|
|
|
|
1665 |
msgid "Bulk Edit"
|
1666 |
msgstr ""
|
1667 |
|
2794 |
msgid "EXIF element name or Content Template"
|
2795 |
msgstr ""
|
2796 |
|
2797 |
+
msgid " (starting with \"template:\")"
|
2798 |
+
msgstr ""
|
2799 |
+
|
2800 |
msgid "IPTC"
|
2801 |
msgstr ""
|
2802 |
|
3325 |
msgid "Plugins per page"
|
3326 |
msgstr ""
|
3327 |
|
3328 |
+
msgid "Guide"
|
3329 |
+
msgstr ""
|
3330 |
+
|
3331 |
#, php-format
|
3332 |
msgctxt "error_log"
|
3333 |
msgid "%1$s: %2$s unknown type = \"%3$s\""
|
languages/media-library-assistant-en_US.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Media Library Assistant\n"
|
5 |
-
"POT-Creation-Date:
|
6 |
"PO-Revision-Date: 2015-08-21 21:38-0800\n"
|
7 |
"Last-Translator: David Lingren <david@fairtradejudaica.org>\n"
|
8 |
"Language-Team: David Lingren <david@fairtradejudaica.org>\n"
|
@@ -20,6 +20,41 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-1: tests\n"
|
21 |
"X-Poedit-SearchPath-2: index.php\n"
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
msgid "Media Library Assistant"
|
24 |
msgstr ""
|
25 |
|
@@ -44,18 +79,9 @@ msgstr ""
|
|
44 |
msgid "Published"
|
45 |
msgstr ""
|
46 |
|
47 |
-
msgid "Scheduled"
|
48 |
-
msgstr ""
|
49 |
-
|
50 |
msgid "Pending Review"
|
51 |
msgstr ""
|
52 |
|
53 |
-
msgid "Draft"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
msgid "Y/m/d"
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
msgid "ERROR"
|
60 |
msgstr ""
|
61 |
|
@@ -95,9 +121,6 @@ msgstr ""
|
|
95 |
msgid "Enabled"
|
96 |
msgstr ""
|
97 |
|
98 |
-
msgid "Disabled"
|
99 |
-
msgstr ""
|
100 |
-
|
101 |
msgid "Search database posts and pages for Featured Image attachments."
|
102 |
msgstr ""
|
103 |
|
@@ -256,9 +279,6 @@ msgstr ""
|
|
256 |
msgid "Order By"
|
257 |
msgstr ""
|
258 |
|
259 |
-
msgid "None"
|
260 |
-
msgstr ""
|
261 |
-
|
262 |
msgid "ID/Parent"
|
263 |
msgstr ""
|
264 |
|
@@ -277,6 +297,12 @@ msgstr ""
|
|
277 |
msgid "Choose the sort order."
|
278 |
msgstr ""
|
279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
msgid "Views Width"
|
281 |
msgstr ""
|
282 |
|
@@ -748,6 +774,9 @@ msgstr ""
|
|
748 |
msgid "Description"
|
749 |
msgstr ""
|
750 |
|
|
|
|
|
|
|
751 |
msgid "Enable View and Post MIME Type Support"
|
752 |
msgstr ""
|
753 |
|
@@ -831,10 +860,6 @@ msgctxt "post_mime_types_description"
|
|
831 |
msgid "All application subtypes"
|
832 |
msgstr ""
|
833 |
|
834 |
-
msgctxt "table_view_singular"
|
835 |
-
msgid "Unattached"
|
836 |
-
msgstr ""
|
837 |
-
|
838 |
msgctxt "table_view_plural"
|
839 |
msgid "Unattached"
|
840 |
msgstr ""
|
@@ -887,7 +912,9 @@ msgstr ""
|
|
887 |
|
888 |
msgid ""
|
889 |
"Enter the name of an alternate, MLA-specific debug log file; leave blank to "
|
890 |
-
"use the PHP error_log
|
|
|
|
|
891 |
msgstr ""
|
892 |
|
893 |
msgid "Replace PHP error_log file"
|
@@ -1104,9 +1131,6 @@ msgctxt "error_log"
|
|
1104 |
msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
msgid "NO REFERENCE TESTS"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
msgid "ORPHAN"
|
1111 |
msgstr ""
|
1112 |
|
@@ -1314,6 +1338,13 @@ msgstr ""
|
|
1314 |
msgid "An ajax.done error has occurred. Please reload the page and try again."
|
1315 |
msgstr ""
|
1316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1317 |
msgid "more"
|
1318 |
msgstr ""
|
1319 |
|
@@ -1364,10 +1395,45 @@ msgstr ""
|
|
1364 |
msgid "IPTC/EXIF mapping is disabled."
|
1365 |
msgstr ""
|
1366 |
|
1367 |
-
msgid "
|
1368 |
msgstr ""
|
1369 |
|
1370 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1371 |
msgstr ""
|
1372 |
|
1373 |
msgid "Map Custom Field metadata for this item"
|
@@ -1393,19 +1459,12 @@ msgctxt "error_log"
|
|
1393 |
msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
msgctxt "post state"
|
1397 |
-
msgid "Pending"
|
1398 |
-
msgstr ""
|
1399 |
-
|
1400 |
msgid "Post Parent"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
msgid "Select Parent"
|
1404 |
msgstr ""
|
1405 |
|
1406 |
-
msgid "PARENT"
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
msgid "All"
|
1410 |
msgstr ""
|
1411 |
|
@@ -1426,12 +1485,6 @@ msgstr ""
|
|
1426 |
msgid "column_default: %1$s, %2$s"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
-
msgid "Edit"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
msgid "Trash"
|
1433 |
-
msgstr ""
|
1434 |
-
|
1435 |
msgid "Restore this item from the Trash"
|
1436 |
msgstr ""
|
1437 |
|
@@ -1488,9 +1541,6 @@ msgstr ""
|
|
1488 |
msgid "%1$s ago"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
msgid "(Private post)"
|
1492 |
-
msgstr ""
|
1493 |
-
|
1494 |
msgid "Set Parent"
|
1495 |
msgstr ""
|
1496 |
|
@@ -1549,7 +1599,13 @@ msgstr[1] ""
|
|
1549 |
msgid "Item %1$d moved to Trash."
|
1550 |
msgstr ""
|
1551 |
|
1552 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
1553 |
msgstr ""
|
1554 |
|
1555 |
msgid "You are not allowed to edit Attachment: "
|
@@ -1607,9 +1663,6 @@ msgstr ""
|
|
1607 |
msgid "Unattached"
|
1608 |
msgstr ""
|
1609 |
|
1610 |
-
msgid "Cancel"
|
1611 |
-
msgstr ""
|
1612 |
-
|
1613 |
msgid "Bulk Edit"
|
1614 |
msgstr ""
|
1615 |
|
@@ -2742,6 +2795,9 @@ msgstr ""
|
|
2742 |
msgid "EXIF element name or Content Template"
|
2743 |
msgstr ""
|
2744 |
|
|
|
|
|
|
|
2745 |
msgid "IPTC"
|
2746 |
msgstr ""
|
2747 |
|
@@ -3270,6 +3326,9 @@ msgstr ""
|
|
3270 |
msgid "Plugins per page"
|
3271 |
msgstr ""
|
3272 |
|
|
|
|
|
|
|
3273 |
#, php-format
|
3274 |
msgctxt "error_log"
|
3275 |
msgid "%1$s: %2$s unknown type = \"%3$s\""
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Media Library Assistant\n"
|
5 |
+
"POT-Creation-Date: 2018-03-25 15:56-0700\n"
|
6 |
"PO-Revision-Date: 2015-08-21 21:38-0800\n"
|
7 |
"Last-Translator: David Lingren <david@fairtradejudaica.org>\n"
|
8 |
"Language-Team: David Lingren <david@fairtradejudaica.org>\n"
|
20 |
"X-Poedit-SearchPath-1: tests\n"
|
21 |
"X-Poedit-SearchPath-2: index.php\n"
|
22 |
|
23 |
+
msgid "Draft"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
msgid "Scheduled"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
msgctxt "post state"
|
30 |
+
msgid "Pending"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
msgid "Trash"
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
msgid "NO REFERENCE TESTS"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
msgid "Disabled"
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
msgid "PARENT"
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
msgid "None"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
msgid "(Private post)"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
msgid "Y/m/d"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
msgctxt "table_view_singular"
|
55 |
+
msgid "Unattached"
|
56 |
+
msgstr ""
|
57 |
+
|
58 |
msgid "Media Library Assistant"
|
59 |
msgstr ""
|
60 |
|
79 |
msgid "Published"
|
80 |
msgstr ""
|
81 |
|
|
|
|
|
|
|
82 |
msgid "Pending Review"
|
83 |
msgstr ""
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
msgid "ERROR"
|
86 |
msgstr ""
|
87 |
|
121 |
msgid "Enabled"
|
122 |
msgstr ""
|
123 |
|
|
|
|
|
|
|
124 |
msgid "Search database posts and pages for Featured Image attachments."
|
125 |
msgstr ""
|
126 |
|
279 |
msgid "Order By"
|
280 |
msgstr ""
|
281 |
|
|
|
|
|
|
|
282 |
msgid "ID/Parent"
|
283 |
msgstr ""
|
284 |
|
297 |
msgid "Choose the sort order."
|
298 |
msgstr ""
|
299 |
|
300 |
+
msgid "Entries per page"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
msgid "Enter the number of Media/Assistant submenu table items per page."
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
msgid "Views Width"
|
307 |
msgstr ""
|
308 |
|
774 |
msgid "Description"
|
775 |
msgstr ""
|
776 |
|
777 |
+
msgid "Uploaded on"
|
778 |
+
msgstr ""
|
779 |
+
|
780 |
msgid "Enable View and Post MIME Type Support"
|
781 |
msgstr ""
|
782 |
|
860 |
msgid "All application subtypes"
|
861 |
msgstr ""
|
862 |
|
|
|
|
|
|
|
|
|
863 |
msgctxt "table_view_plural"
|
864 |
msgid "Unattached"
|
865 |
msgstr ""
|
912 |
|
913 |
msgid ""
|
914 |
"Enter the name of an alternate, MLA-specific debug log file; leave blank to "
|
915 |
+
"use the PHP error_log.<br> The WP_CONTENT_DIR value (below) will "
|
916 |
+
"be prepended to the value here, e.g., enter something like \"/uploads/mla.log"
|
917 |
+
"\"."
|
918 |
msgstr ""
|
919 |
|
920 |
msgid "Replace PHP error_log file"
|
1131 |
msgid "%1$s: mla_query_posts_clauses_request_filter = \"%2$s\"."
|
1132 |
msgstr ""
|
1133 |
|
|
|
|
|
|
|
1134 |
msgid "ORPHAN"
|
1135 |
msgstr ""
|
1136 |
|
1338 |
msgid "An ajax.done error has occurred. Please reload the page and try again."
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#, php-format
|
1342 |
+
msgid "Uploaded on: %s"
|
1343 |
+
msgstr ""
|
1344 |
+
|
1345 |
+
msgid "Last modified"
|
1346 |
+
msgstr ""
|
1347 |
+
|
1348 |
msgid "more"
|
1349 |
msgstr ""
|
1350 |
|
1395 |
msgid "IPTC/EXIF mapping is disabled."
|
1396 |
msgstr ""
|
1397 |
|
1398 |
+
msgid "Month"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#, php-format
|
1402 |
+
msgid "%1$s-%2$s"
|
1403 |
+
msgstr ""
|
1404 |
+
|
1405 |
+
msgid "Day"
|
1406 |
+
msgstr ""
|
1407 |
+
|
1408 |
+
msgid "Year"
|
1409 |
+
msgstr ""
|
1410 |
+
|
1411 |
+
msgid "Hour"
|
1412 |
+
msgstr ""
|
1413 |
+
|
1414 |
+
msgid "Minute"
|
1415 |
+
msgstr ""
|
1416 |
+
|
1417 |
+
#, php-format
|
1418 |
+
msgid "%1$s %2$s, %3$s @ %4$s:%5$s"
|
1419 |
+
msgstr ""
|
1420 |
+
|
1421 |
+
msgid "OK"
|
1422 |
+
msgstr ""
|
1423 |
+
|
1424 |
+
msgid "Cancel"
|
1425 |
+
msgstr ""
|
1426 |
+
|
1427 |
+
msgid "M j, Y @ H:i"
|
1428 |
+
msgstr ""
|
1429 |
+
|
1430 |
+
msgid "Edit"
|
1431 |
+
msgstr ""
|
1432 |
+
|
1433 |
+
msgid "Edit upload date and time"
|
1434 |
+
msgstr ""
|
1435 |
+
|
1436 |
+
msgid "Upload Date and time"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
msgid "Map Custom Field metadata for this item"
|
1459 |
msgid "%1$s: %2$s discarding \"%3$s\"; no title/order"
|
1460 |
msgstr ""
|
1461 |
|
|
|
|
|
|
|
|
|
1462 |
msgid "Post Parent"
|
1463 |
msgstr ""
|
1464 |
|
1465 |
msgid "Select Parent"
|
1466 |
msgstr ""
|
1467 |
|
|
|
|
|
|
|
1468 |
msgid "All"
|
1469 |
msgstr ""
|
1470 |
|
1485 |
msgid "column_default: %1$s, %2$s"
|
1486 |
msgstr ""
|
1487 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1488 |
msgid "Restore this item from the Trash"
|
1489 |
msgstr ""
|
1490 |
|
1541 |
msgid "%1$s ago"
|
1542 |
msgstr ""
|
1543 |
|
|
|
|
|
|
|
1544 |
msgid "Set Parent"
|
1545 |
msgstr ""
|
1546 |
|
1599 |
msgid "Item %1$d moved to Trash."
|
1600 |
msgstr ""
|
1601 |
|
1602 |
+
msgid "download path out of bounds."
|
1603 |
+
msgstr ""
|
1604 |
+
|
1605 |
+
msgid "download path invalid."
|
1606 |
+
msgstr ""
|
1607 |
+
|
1608 |
+
msgid "download argument(s) not set."
|
1609 |
msgstr ""
|
1610 |
|
1611 |
msgid "You are not allowed to edit Attachment: "
|
1663 |
msgid "Unattached"
|
1664 |
msgstr ""
|
1665 |
|
|
|
|
|
|
|
1666 |
msgid "Bulk Edit"
|
1667 |
msgstr ""
|
1668 |
|
2795 |
msgid "EXIF element name or Content Template"
|
2796 |
msgstr ""
|
2797 |
|
2798 |
+
msgid " (starting with \"template:\")"
|
2799 |
+
msgstr ""
|
2800 |
+
|
2801 |
msgid "IPTC"
|
2802 |
msgstr ""
|
2803 |
|
3326 |
msgid "Plugins per page"
|
3327 |
msgstr ""
|
3328 |
|
3329 |
+
msgid "Guide"
|
3330 |
+
msgstr ""
|
3331 |
+
|
3332 |
#, php-format
|
3333 |
msgctxt "error_log"
|
3334 |
msgid "%1$s: %2$s unknown type = \"%3$s\""
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: attachments, gallery, images, media, media library, tag cloud, media-tags,
|
|
5 |
Requires at least: 3.5.0
|
6 |
Tested up to: 4.9.1
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag: 2.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -183,6 +183,31 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
|
|
183 |
|
184 |
== Changelog ==
|
185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
= 2.70 =
|
187 |
* New: A new Debug logging category has been created for "where-used" reporting.
|
188 |
* New: The Att. Categories and Att. Tags taxonomies can now be displayed a columns on the Media/Library list mode admin submenu.
|
@@ -285,8 +310,8 @@ All of the MLA source code has been annotated with "DocBlocks", a special type o
|
|
285 |
|
286 |
== Upgrade Notice ==
|
287 |
|
288 |
-
= 2.
|
289 |
-
|
290 |
|
291 |
== Other Notes ==
|
292 |
|
5 |
Requires at least: 3.5.0
|
6 |
Tested up to: 4.9.1
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 2.72
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
183 |
|
184 |
== Changelog ==
|
185 |
|
186 |
+
= 2.72 =
|
187 |
+
* Fix: Remove "Circular Reference" PHP Warnings in class-mla-mime-types.php.
|
188 |
+
|
189 |
+
= 2.71 =
|
190 |
+
* New: For Admin Columns Pro v4.2.3+, **Media/Assistant submenu table now supports CSV Export**.
|
191 |
+
* New: Powerful **regular expression match/replace functions** are now available within MLA shortcodes, custom markup templates, mapping rules and the Bulk Edit area. Of course, they can be used within Content Templates in any of these areas as well.
|
192 |
+
* New: You can replace the "Uploaded on" date in the Media/Assistant Bulk Edit area, and you can define a mapping rule for the date in the Settings/Media Library Assistant IPTC/EXIF tab. Both of these support Content Templates, so you can compose values from a variety of sources.
|
193 |
+
* New: You can edit/change the "Uploaded on" date on the Media/Edit Media screen and in the Media/Assistant Quick Edit area.
|
194 |
+
* New: The "MLA Insert Fixit" example plugin has a new "Parent Terms to item" tool that will copy terms assigned to a parent post/page to the items attached to the parent. You can select the source and target taxonomies for the tool.
|
195 |
+
* New: The "MLA Insert Fixit" example plugin has a new "Attach Referenced In" tool that attaches items to the first post/page where they appear in a "class-wp-image-" or "ids=" element.
|
196 |
+
* New: The "MLA Insert Fixit" example plugin is enhanced so the "Attach Media Library items" tools will (optionally) replace existing parent assignments. You can also specify the oldest or the most recent post/page to become the parent.
|
197 |
+
* New: A new "MLA Uploaded on Example" plugin reformats Media/Assistant column display for Uploaded on and Modified dates.
|
198 |
+
* New: For the Media/Assistant Bulk Edit function, an offset can be added to the `[+index+]` data source. For example, `[+index,99+]` will give a starting value of 100.
|
199 |
+
* New: The Media/Assistant Bulk Edit and Quick Edit functions are now compatible with the "Media File Renamer" plugin, by Jordy Meow.
|
200 |
+
* New: You can change the Media/Assistant "Entries per page" value on the Settings/Media LIbrary Assistant General tab. This gives a recovery method when the setting is too high to successfully load the Media/Assistant submenu table.
|
201 |
+
* New: A new "MLA Path Mapping Example" plugin adds hierarchical path specification support to the IPTC/EXIF taxonomy mapping rules.
|
202 |
+
* New: A new Debug logging category has been created for Views and Uploads MIME Type processing.
|
203 |
+
* Fix: When WPML is active, handling of the "current language" on the Media/Assistant admin submenu has been improved.
|
204 |
+
* Fix: NONCE URL handling for WP 3.5.x has been restored, e.g., for the Settings/Media Library Assistant Documentation tab's "Example Plugins" link.
|
205 |
+
* Fix: PHP `stripslashes` is now applied to new IPTC/EXIF and Custom Field rule templates so special characters like backslash are handled correctly.
|
206 |
+
* Fix: The PHP error log can once again be downloaded from the Settings/Media Library Assistant Debug tab.
|
207 |
+
* Fix: A file extension problem (jpe Vs jpg) has been fixed for PDF thumbnail generation using older versions of ImageMagick.
|
208 |
+
* Fix: PDF Thumbnail files generated by MLA are now placed in the correct directory, i.e., tha same directory as the original PDF document.
|
209 |
+
* Fix: For `[mla_gallery]`, processing file names with special characters such as quotes no longer creates PHP Warning messages.
|
210 |
+
|
211 |
= 2.70 =
|
212 |
* New: A new Debug logging category has been created for "where-used" reporting.
|
213 |
* New: The Att. Categories and Att. Tags taxonomies can now be displayed a columns on the Media/Library list mode admin submenu.
|
310 |
|
311 |
== Upgrade Notice ==
|
312 |
|
313 |
+
= 2.72 =
|
314 |
+
Remove "Circular Reference" PHP Warnings in class-mla-mime-types.php.
|
315 |
|
316 |
== Other Notes ==
|
317 |
|
tpls/admin-inline-edit-form.tpl
CHANGED
@@ -56,6 +56,9 @@
|
|
56 |
<input type="text" name="image_alt" value="" />
|
57 |
</span> </label>
|
58 |
<div class="inline-edit-group">
|
|
|
|
|
|
|
59 |
<label class="inline-edit-post-parent alignleft"> <span class="title">[+Parent ID+]</span> <span class="input-text-wrap">
|
60 |
<input type="text" name="post_parent" value="" />
|
61 |
</span> </label>
|
@@ -108,6 +111,9 @@
|
|
108 |
<label class="inline-edit-image-alt"> <span class="title">[+ALT Text+]</span> <span class="input-text-wrap">
|
109 |
<input type="text" name="image_alt" value="" />
|
110 |
</span> </label>
|
|
|
|
|
|
|
111 |
<div class="inline-edit-group">
|
112 |
<label class="inline-edit-post-parent alignleft"> <span class="title">[+Parent ID+]</span> <span class="input-text-wrap">
|
113 |
<input type="text" name="post_parent" value="" />
|
@@ -164,6 +170,9 @@
|
|
164 |
<label class="inline-edit-image-alt"> <span class="title">[+ALT Text+]</span> <span class="input-text-wrap">
|
165 |
<input type="text" name="image_alt" value="" />
|
166 |
</span> </label>
|
|
|
|
|
|
|
167 |
<div class="inline-edit-group">
|
168 |
<label class="inline-edit-post-parent alignleft"> <span class="title">[+Parent ID+]</span> <span class="input-text-wrap">
|
169 |
<input type="text" name="post_parent" value="" />
|
56 |
<input type="text" name="image_alt" value="" />
|
57 |
</span> </label>
|
58 |
<div class="inline-edit-group">
|
59 |
+
[+Uploaded on+]
|
60 |
+
</div>
|
61 |
+
<div class="inline-edit-group">
|
62 |
<label class="inline-edit-post-parent alignleft"> <span class="title">[+Parent ID+]</span> <span class="input-text-wrap">
|
63 |
<input type="text" name="post_parent" value="" />
|
64 |
</span> </label>
|
111 |
<label class="inline-edit-image-alt"> <span class="title">[+ALT Text+]</span> <span class="input-text-wrap">
|
112 |
<input type="text" name="image_alt" value="" />
|
113 |
</span> </label>
|
114 |
+
<label class="inline-edit-post-date"><span class="title">[+Bulk Uploaded on+]</span><span class="input-text-wrap">
|
115 |
+
<input type="text" name="post_date" value="" />
|
116 |
+
</span></label>
|
117 |
<div class="inline-edit-group">
|
118 |
<label class="inline-edit-post-parent alignleft"> <span class="title">[+Parent ID+]</span> <span class="input-text-wrap">
|
119 |
<input type="text" name="post_parent" value="" />
|
170 |
<label class="inline-edit-image-alt"> <span class="title">[+ALT Text+]</span> <span class="input-text-wrap">
|
171 |
<input type="text" name="image_alt" value="" />
|
172 |
</span> </label>
|
173 |
+
<label class="inline-edit-post-date"><span class="title">[+Bulk Uploaded on+]</span><span class="input-text-wrap">
|
174 |
+
<input type="text" name="post_date" value="" />
|
175 |
+
</span></label>
|
176 |
<div class="inline-edit-group">
|
177 |
<label class="inline-edit-post-parent alignleft"> <span class="title">[+Parent ID+]</span> <span class="input-text-wrap">
|
178 |
<input type="text" name="post_parent" value="" />
|
tpls/documentation-settings-tab.tpl
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<!-- template="documentation-tab" -->
|
2 |
<h2>Plugin and Shortcode Documentation. In this tab, jump to:</h2>
|
3 |
-
<div class="mla-display-settings-page" id="mla-display-settings-documentation-tab" style="width:
|
4 |
<p class="submit mla-settings-submit">
|
5 |
Browse and install:
|
6 |
-
<a href="[+example_url+]" class="button button-primary">Example Plugins</a><br
|
7 |
<br />
|
8 |
-
For more information about the example plugins, jump to <a href="#mla_example_plugins">The Example Plugins</a><br
|
9 |
|
10 |
</p>
|
11 |
<div id="mla-doc-gallery-shortcode"><a href="#mla_gallery"><strong>MLA Gallery Shortcode</strong></a>
|
@@ -77,12 +77,12 @@ For more information about the example plugins, jump to <a href="#mla_example_pl
|
|
77 |
<li>
|
78 |
<a href="#gallery_examples"><strong>MLA Gallery Examples</strong></a>
|
79 |
</li>
|
80 |
-
<ul class="mla-doc-toc-list">
|
81 |
<li><a href="#simple_examples">Simple Examples</a></li>
|
82 |
<li><a href="#paginated_gallery">A Paginated Gallery</a></li>
|
83 |
<li><a href="#cloud_and_gallery">Tag Cloud and Gallery</a></li>
|
84 |
<li><a href="#search_form_and_gallery">Search Form and Gallery</a></li>
|
85 |
-
</ul>
|
86 |
<li>
|
87 |
<a href="#mla_output_parameter"><strong>Support for Alternative Gallery Output, e.g., Pagination</strong></a>
|
88 |
</li>
|
@@ -95,31 +95,43 @@ For more information about the example plugins, jump to <a href="#mla_example_pl
|
|
95 |
<li>
|
96 |
<a href="#mla_gallery_templates"><strong>Style and Markup Templates</strong></a>
|
97 |
</li>
|
98 |
-
<ul class="mla-doc-toc-list">
|
99 |
<li><a href="#argument_parameters">Argument substitution parameters</a></li>
|
100 |
<li><a href="#gallery_specific">Gallery-specific substitution parameters</a></li>
|
101 |
<li><a href="#mla_style_parameters">Substitution parameters for style templates</a></li>
|
102 |
<li><a href="#mla_markup_parameters">Substitution parameters for markup templates</a></li>
|
103 |
<li><a href="#mla_attachment_parameters">Attachment-specific substitution parameters for the markup template Item part</a></li>
|
104 |
-
</ul>
|
105 |
<li>
|
106 |
<a href="#mla_table_example"><strong>A table-based Style and Markup template example</strong></a>
|
107 |
</li>
|
108 |
<li>
|
109 |
<a href="#mla_variable_parameters"><strong>Field-level substitution parameters</strong></a>
|
110 |
</li>
|
111 |
-
<ul class="mla-doc-toc-list">
|
112 |
<li><a href="#field_level_prefixes">Field-level prefix values</a></li>
|
113 |
<li><a href="#field_level_formats">Field-level option/format values</a></li>
|
114 |
<li><a href="#field_level_data_sources">Field-level data sources</a></li>
|
115 |
-
<li><a href="#mla_iptc_identifiers">Field-level IPTC identifiers and friendly names</a>
|
116 |
<li><a href="#mla_camera_values">Field-level Enhanced EXIF CAMERA values</a></li>
|
117 |
<li><a href="#mla_gps_values">Field-level Enhanced EXIF GPS values</a></li>
|
118 |
<li><a href="#pdf_metadata">Field-level metadata in PDF documents</a></li>
|
119 |
<li><a href="#substitution_parameter_filters">Field-level substitution parameter filters (Hooks)</a></li>
|
120 |
-
</ul>
|
121 |
<li>
|
122 |
<a href="#mla_template_parameters"><strong>Content Templates</strong></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
<li>
|
124 |
<a href="#mla_text_widget"><strong>The MLA Text Widget</strong></a>
|
125 |
</li>
|
@@ -156,23 +168,23 @@ For more information about the example plugins, jump to <a href="#mla_example_pl
|
|
156 |
<li>
|
157 |
<a href="#mla_custom_field_mapping"><strong>Custom Field and Attachment Metadata Processing Options</strong></a>
|
158 |
</li>
|
159 |
-
<ul class="mla-doc-toc-list">
|
160 |
<li><a href="#custom_field_mapping_example">Custom field mapping example</a></li>
|
161 |
<li><a href="#custom_field_rule_elements">The custom field rule elements</a></li>
|
162 |
<li><a href="#attachment_metadata_mapping">Adding or Changing Attachment Metadata</a></li>
|
163 |
<li><a href="#custom_field_mapping_with_templates">Custom field mapping with Content Templates</a></li>
|
164 |
-
</ul>
|
165 |
<li>
|
166 |
<a href="#mla_iptc_exif_mapping"><strong>IPTC & EXIF Processing Options</strong></a>
|
167 |
</li>
|
168 |
-
<ul class="mla-doc-toc-list">
|
169 |
<li><a href="#iptc_exif_mapping_example">IPTC/EXIF mapping example</a></li>
|
170 |
<li><a href="#iptc_exif_mapping_tables">The IPTC/EXIF rule elements</a></li>
|
171 |
<li><a href="#iptc_exif_mapping_with_templates">EXIF/Template mapping with Content Templates</a></li>
|
|
|
172 |
<li><a href="#pdf_iptc_exif_mapping">IPTC/EXIF Mapping for PDF Documents</a></li>
|
173 |
<li><a href="#wordpress_default_mapping">WordPress default title, slug and description mapping</a></li>
|
174 |
-
</li>
|
175 |
-
</ul>
|
176 |
<li><a href="#mla_mapping_hooks"><strong>MLA Custom Field and IPTC/EXIF Mapping Actions and Filters (Hooks)</strong></a></li>
|
177 |
<li><a href="#mla_debug_tab"><strong>MLA Debug Tab</strong></a></li>
|
178 |
<li><a href="#mla_language_tab"><strong>WPML & Polylang Multilingual Support; the MLA Language Tab</strong></a></li>
|
@@ -187,9 +199,8 @@ have a look at the <a title="MLA Internationalization Guide.pdf" href="[+transla
|
|
187 |
<p>
|
188 |
If you are a developer interested in how this plugin is put together, you should
|
189 |
have a look at the <a title="Consult the phpDocs documentation" href="[+phpDocs_url+]" target="_blank" class="mla-doc-bold-link">phpDocs documentation</a>.
|
190 |
-
</p>
|
191 |
<a name="mla_gallery"></a>
|
192 |
-
|
193 |
<p>
|
194 |
<a href="#backtotop">Go to Top</a>
|
195 |
</p>
|
@@ -221,6 +232,7 @@ All of the options/parameters documented for the <code>[gallery]</code> shortcod
|
|
221 |
<h4>Substitution Parameters</h4>
|
222 |
<p>
|
223 |
Substitution parameters are a powerful way to add general and attachment-specific values to the gallery display. For example, if you code "<code>mla_rollover_text='{+date+} : {+description+}'</code>, the rollover text will contain the upload date, a colon, and the full description of each gallery item. There are dozens of parameter names like `date` and `description` divided in several categories:
|
|
|
224 |
<table>
|
225 |
<tr>
|
226 |
<td class="mla-doc-table-label"><a href="#gallery_specific">Gallery-specific</a></td>
|
@@ -247,7 +259,7 @@ Substitution parameters are a powerful way to add general and attachment-specifi
|
|
247 |
<td>lets you compose a value from multiple substitution parameters and test for empty values, choose among two or more alternatives or suppress output entirely</td>
|
248 |
</tr>
|
249 |
</table>
|
250 |
-
|
251 |
Click on any of the category names in the above table to go to the Documentation section describing the names available in that category and how to use them.
|
252 |
</p>
|
253 |
<p>
|
@@ -427,7 +439,7 @@ Twelve <code>[mla_gallery]</code> parameters provide an easy way to control the
|
|
427 |
All but the "mla_target" parameter support the <a href="#mla_markup_parameters">Markup</a>, <a href="#mla_attachment_parameters">Attachment-specific</a>, <a href="#mla_variable_parameters">Field-level</a> and <a href="#mla_template_parameters">Content Template</a> substitution parameters defined for Markup Templates. For example, if you code "<code>mla_rollover_text='{+date+} : {+description+}'</code>, the rollover text will contain the upload date, a colon, and the full description of each gallery item. Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the WordPress shortcode parser reserves square brackets ("[" and "]") for its own use.
|
428 |
</p>
|
429 |
<p>
|
430 |
-
The "mla_link_href" parameter is a great way to change the destination your gallery item links to or add arguments to the link for later processing. For example, to make a gallery item link back to the page/post it is attached to, you can code: <code>mla_link_href='{+site_url+}/?page_id={+parent+}'</code>. You can also add arguments to the link, e.g., <code>mla_link_href='{+link_url+}?myarg1=myvalue1&amp;myarg2=myvalue2'</code>. Note the use of the HTML entity name "&amp;" to put an ampersand in the value; the WordPress "visual" post editor will replace "&", "
|
431 |
</p>
|
432 |
<p>
|
433 |
The "mla_link_attributes" and "mla_image_attributes" parameters accept any value and adds it to the "<a>" or "<img>" tags for the gallery item. For example, you can create a Shadowbox JS (plugin) album by adding <code>mla_link_attributes='rel="shadowbox{sbalbum-{+instance+}};player=img"'</code> to your shortcode query (note the use of single quotes around the parameter value and the double quotes within the parameter). <strong>IMPORTANT:</strong> since the shortcode parser reserves square brackets ("[" and "]") for its own use, <strong>you must substitute curly braces for square brackets</strong> if your attributes require brackets (as this example does). In this case, the actual attribute added to the link will be <code>rel="shadowbox[sbalbum-1];player=img"</code>. If you must code a curly brace in your attribute value, preface it with <strong>two backslash characters</strong>, e.g., "\\{" or "\\}". If you code an attribute already present in the tag, your value will override the existing value.
|
@@ -497,6 +509,7 @@ When this feature is active, gallery items for which WordPress can generate a th
|
|
497 |
</p>
|
498 |
<p>
|
499 |
Five options in the Settings/Media Library Assistant MLA Gallery tab allow control over mla_viewer operation:
|
|
|
500 |
<ul class="mla_settings">
|
501 |
<li><strong>Enable thumbnail substitution</strong><br />
|
502 |
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 <code>[mla_gallery]</code> display.<br />
|
@@ -511,8 +524,7 @@ Check this option to enable the explicit check for Ghostscript support required
|
|
511 |
<li><strong>Ghostscript path</strong><br />
|
512 |
If your Ghostscript software is in a non-standard location, enter the full path and name of the executable here. The value you enter will be used as-is and the search for Ghostscript in the usual locations will be bypassed.</li>
|
513 |
</ul>
|
514 |
-
<a name="order_orderby"></a
|
515 |
-
</p>
|
516 |
<h4>Order, Orderby</h4>
|
517 |
<p>
|
518 |
The Orderby parameter specifies which database field(s) are used to sort the gallery. You can sort the gallery by one or more of these values (there is additional information on some of these values in the <a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" title="WordPress Codex link" target="_blank">Codex WP_Query class reference</a>):
|
@@ -664,7 +676,7 @@ The "mla_named_transfer" parameter activates a different approach to handling th
|
|
664 |
<p>
|
665 |
The links generated for mla_named_transfer items are of the form:<br />
|
666 |
<br />
|
667 |
-
<code>http://mysite.com/wp-admin/admin-ajax.php?action=mla_named_transfer&mla_item=item-name&mla_disposition=inline</code><br />
|
668 |
<br />
|
669 |
Where the query arguments are:
|
670 |
</p>
|
@@ -687,7 +699,7 @@ Where the query arguments are:
|
|
687 |
</tr>
|
688 |
</table>
|
689 |
<p>
|
690 |
-
This alternate approach provides a small measure of security by obscuring the directory structure used to locate the file. It also makes it possible to generate SEO-friendly "pretty links" and use the <a href="https://codex.wordpress.org/Rewrite_API" title="Codex article: Rewrite API" target="_blank">WordPress Rewrite API</a> to translate the pretty links to the Transfer by Item Name syntax. The <a title="Find the Pretty Links Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Item+Transfer+Pretty+Links%22" class="mla-doc-bold-link">MLA Item Transfer Pretty Links</a> example plugin shows how this can be done.
|
691 |
<a name="include_exclude"></a>
|
692 |
</p>
|
693 |
<h4>Include, Exclude</h4>
|
@@ -817,10 +829,10 @@ If you have two or more simple taxonomy queries, they will be joined by "AND". M
|
|
817 |
</p>
|
818 |
<table>
|
819 |
<tr>
|
820 |
-
<tr>
|
821 |
<td class="mla-doc-table-label">tax_relation</td>
|
822 |
<td>SQL operator to join multiple taxonomy queries; can be "AND" (the default) or "OR".</td>
|
823 |
</tr>
|
|
|
824 |
<td class="mla-doc-table-label">tax_operator</td>
|
825 |
<td>SQL operator to join the terms within each taxonomy; can be "IN" (the default), "NOT IN" or "AND".</td>
|
826 |
</tr>
|
@@ -939,10 +951,10 @@ Searching for keywords within the names of taxonomy terms is a completely differ
|
|
939 |
<td>If you enter multiple phrases (separated by the <code>mla_phrase_delimiter</code>) in the <code>mla_terms_phrases</code> parameter, this parameter controls how they are connected. Choose from OR to require that any one of the phrases must match for the search to succeed, or <strong>AND (the default)</strong> to require that all of the phrases must match.</td>
|
940 |
</tr>
|
941 |
<tr>
|
942 |
-
<tr>
|
943 |
<td class="mla-doc-table-label">mla_term_delimiter</td>
|
944 |
<td>A single character that separates the terms in <code>mla_terms_phrases</code>. The <strong>default delimiter</strong> is a comma (',') since term names can contain spaces.</td>
|
945 |
</tr>
|
|
|
946 |
<td class="mla-doc-table-label">mla_term_connector</td>
|
947 |
<td>If you enter multiple terms (separated by the <code>mla_term_delimiter</code>) in the <code>mla_terms_phrases</code> parameter, this parameter controls how they are connected. Choose from <strong>OR (the default)</strong> to require that any one of the terms must match for the search to succeed, or AND to require that all of the terms must match.</td>
|
948 |
</tr>
|
@@ -961,9 +973,11 @@ For compatibility with the WordPress <code>[gallery]</code> shortcode, these par
|
|
961 |
</p>
|
962 |
<p>
|
963 |
You can change the <code>post_type</code> parameter to compose a "gallery" of WordPress objects such as posts, pages and custom post types. For example, to display a gallery of the published posts in a particular category you can code something like:
|
|
|
964 |
<p>
|
965 |
<code>[mla_gallery category=some-term post_type=post post_status=publish post_mime_type=all post_parent=all]</code>
|
966 |
</p>
|
|
|
967 |
Note that you must also change the <code>post_status</code> <code>post_mime_type</code> and <code>post_parent</code> because the default values for those parameters are set for Media Library image items.
|
968 |
</p>
|
969 |
<p>
|
@@ -1071,11 +1085,13 @@ The <code>[mla_gallery]</code> shortcode supports the simple custom field parame
|
|
1071 |
<td class="mla-doc-table-label">meta_value (string)</td>
|
1072 |
<td>Custom field value; string-based comparison.</td>
|
1073 |
</tr>
|
|
|
1074 |
<td class="mla-doc-table-label">meta_value_num (number)</td>
|
1075 |
<td>Custom field value; numeric comparison.</td>
|
1076 |
</tr>
|
|
|
1077 |
<td class="mla-doc-table-label">meta_compare (string)</td>
|
1078 |
-
<td>Operator to test the 'meta_value'. Possible values are '=', '!=', '>', '>=', '
|
1079 |
</tr>
|
1080 |
</table>
|
1081 |
<p>
|
@@ -1116,7 +1132,7 @@ You can use the <code>mla_search_connector</code> and <code>mla_search_fields</c
|
|
1116 |
</tr>
|
1117 |
<tr>
|
1118 |
<td class="mla-doc-table-label">mla_search_fields</td>
|
1119 |
-
<td>The fields in which to search. Choose from title,
|
1120 |
</tr>
|
1121 |
<tr>
|
1122 |
<td class="mla-doc-table-label">mla_terms_taxonomies</td>
|
@@ -1171,7 +1187,8 @@ If you code <code>mla_debug=log</code> all of the information will be written to
|
|
1171 |
</p>
|
1172 |
<h4>MLA Gallery Filters and Actions (Hooks)</h4>
|
1173 |
<p>
|
1174 |
-
The <code>[mla_gallery]</code> shortcode supports a comprehensive set of filters and actions that give you complete control over gallery composition from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Gallery Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Gallery+Hooks+Example%22" class="mla-doc-bold-link">MLA Gallery Hooks Example</a>. To run the example:
|
|
|
1175 |
<ol>
|
1176 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
1177 |
<li>Hover over "MLA Gallery Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -1180,7 +1197,6 @@ The <code>[mla_gallery]</code> shortcode supports a comprehensive set of filters
|
|
1180 |
<li>Create a new <code>[mla_gallery]</code> shortcode or modify an existing shortcode, adding the <code>my_filter="all custom"</code> parameter to activate the example output.</li>
|
1181 |
<li>View the post or page on which the modified shortcode appears to see a list of each item's custom fields appended to the gallery captions.</li>
|
1182 |
</ol>
|
1183 |
-
</p>
|
1184 |
<p>
|
1185 |
The example code documents each hook with comments in the filter/action function that intercepts each hook. Generally, each part of the gallery supports three hooks: 1) a "<strong>values</strong>" hook, which lets you record or update the substitution values for that gallery part, 2) a "<strong>template</strong>" hook, which lets you record/update the template used to generate the HTML markup, and 3) a "<strong>parse</strong>" hook which lets you modify or replace the markup generated for a gallery part. The current hooks are:
|
1186 |
</p>
|
@@ -1476,7 +1492,6 @@ Nine parameters provide an easy way to control the contents of tag cloud items w
|
|
1476 |
</p>
|
1477 |
<table>
|
1478 |
<tr>
|
1479 |
-
<tr>
|
1480 |
<td class="mla-doc-table-label">mla_link_attributes</td>
|
1481 |
<td>adds one or more HTML attributes to the hyperlink for each item; see below</td>
|
1482 |
</tr>
|
@@ -1517,7 +1532,7 @@ Nine parameters provide an easy way to control the contents of tag cloud items w
|
|
1517 |
All but the "mla_target" parameter support the <a href="#tag_cloud_markup_parameters">Markup</a>, <a href="#tag_cloud_item_parameters">Item-specific</a>, <a href="#tag_cloud_variable_parameters">Field-level</a> and <a href="#mla_template_parameters">Content Template</a> substitution parameters defined for Markup Templates. For example, if you code "<code>mla_rollover_text='{+slug+} : {+rollover_text+}'</code>, the rollover text will contain the term slug, a colon, and the appropriate "single text" or "multiple text". Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the WordPress shortcode parser reserves square brackets ("[" and "]") for its own use.
|
1518 |
</p>
|
1519 |
<p>
|
1520 |
-
The "mla_link_href" parameter is a great way to change the destination your cloud item links to and/or add arguments to the link for later processing. For example, to make a gallery item link back to the current page/post you can code: <code>mla_link_href='{+page_url+}'</code>. You can also add arguments to the link, e.g., <code>mla_link_href='{+page_url+}?firstarg=value1&amp;myarg=myvalue'</code>. Note the use of the HTML entity name "&amp;" to put an ampersand in the value; the WordPress "visual" post editor will replace "&", "
|
1521 |
</p>
|
1522 |
<p>
|
1523 |
The "mla_link_attributes" parameter accepts any value and adds it to the "<a>" or "<span>" tags for the item. For example, you can add a unique identifier to each item by adding <code>mla_link_attributes='id="{+selector}-{+index+}"'</code> to your shortcode (note the use of single quotes around the parameter value and the double quotes within the parameter). <strong>IMPORTANT:</strong> since the shortcode parser reserves square brackets ("[" and "]") for its own use, <strong>you must substitute curly braces for square brackets</strong> if your attributes require brackets. If you must code a curly brace in your attribute value, preface it with <strong>two backslash characters</strong>, e.g., "\\{" or "\\}". If you code an attribute already present in the tag, your value will override the existing value.
|
@@ -1628,6 +1643,7 @@ If you code <code>mla_debug=log</code> all of the information will be written to
|
|
1628 |
<h4>Tag Cloud Substitution Parameters</h4>
|
1629 |
<p>
|
1630 |
Substitution parameters are a powerful way to add general and attachment-specific values to the gallery display. For example, if you code "<code>mla_link_href="{+page_url+}?current_id={+term_id+}&mla_cloud_current={+request:mla_cloud_current+}"</code>, the hyperlinks behind each cloud term will contain the page URL and the taxonomy term ID. There are many parameter names like `page_url` and `term_id` divided in several categories:
|
|
|
1631 |
<table>
|
1632 |
<tr>
|
1633 |
<td class="mla-doc-table-label">Cloud-specific</td>
|
@@ -1642,7 +1658,7 @@ Substitution parameters are a powerful way to add general and attachment-specifi
|
|
1642 |
<td>values that are known at the beginning of cloud output processing and remain the same for the entire cloud</td>
|
1643 |
</tr>
|
1644 |
<tr>
|
1645 |
-
<td class="mla-doc-table-label">Item-specific</a></td>
|
1646 |
<td style="vertical-align: top">values that change for each term/item in the cloud, such as Name and Description</td>
|
1647 |
</tr>
|
1648 |
<tr>
|
@@ -1654,7 +1670,7 @@ Substitution parameters are a powerful way to add general and attachment-specifi
|
|
1654 |
<td>lets you compose a value from multiple substitution parameters and test for empty values, choose among two or more alternatives or suppress output entirely</td>
|
1655 |
</tr>
|
1656 |
</table>
|
1657 |
-
|
1658 |
The following paragraphs go into more detail about each category and the parameter names within them.
|
1659 |
</p>
|
1660 |
<p>
|
@@ -1662,6 +1678,7 @@ To use a substitution parameter in your shortcode, simply add "{+" before the su
|
|
1662 |
</p>
|
1663 |
<p>
|
1664 |
<strong>Cloud-specific substitution parameters</strong> are known at the beginning of shortcode processing and they do not change during processing. They can be used, for example, in any of the data selection parameters to change the items selected for the cloud based on information about the post/page on which the cloud appears. The cloud-specific substitution parameters are:
|
|
|
1665 |
<table>
|
1666 |
<tr>
|
1667 |
<td class="mla-doc-table-label">site_url</td>
|
@@ -1688,7 +1705,6 @@ To use a substitution parameter in your shortcode, simply add "{+" before the su
|
|
1688 |
<td style="vertical-align: top">the <code>ID</code> value of the post/page in which the cloud appears</td>
|
1689 |
</tr>
|
1690 |
<tr>
|
1691 |
-
<tr>
|
1692 |
<td class="mla-doc-table-label">page_author</td>
|
1693 |
<td>the <code>post_author</code> value of the post/page in which the cloud appears</td>
|
1694 |
</tr>
|
@@ -1753,6 +1769,7 @@ The following <strong>field-level substitution parameters</strong> are available
|
|
1753 |
<tr>
|
1754 |
<td class="mla-doc-table-label">query</td>
|
1755 |
<td>The parameters defined in the <code>[mla_tag_cloud]</code> shortcode. For example, if your shortcode is <code>[mla_tag_cloud taxonomy=attachment_tag div-class=some_class]</code> you can access the parameters as <code>[+query:taxonomy+]</code> and <code>[+query:div-class+]</code> respectively. You can define your own parameters, e.g., "div-class"; they will be accessible as field-level data but will otherwise be ignored.</td>
|
|
|
1756 |
<tr>
|
1757 |
<td class="mla-doc-table-label">template</td>
|
1758 |
<td>A Content Template, which lets you compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing output entirely. See the <a href="#mla_template_parameters">Content Templates</a> section for details. Note that the formatting option is not supported for content templates.</td>
|
@@ -1974,6 +1991,7 @@ Tag cloud <strong>item-specific substitution parameters</strong> for the Markup
|
|
1974 |
<td class="mla-doc-table-label">rollover_text</td>
|
1975 |
<td>the "title" attribute value, drawn from single_text/multiple_text or the mla_rollover_text parameters</td>
|
1976 |
</tr>
|
|
|
1977 |
<td class="mla-doc-table-label">link_style</td>
|
1978 |
<td>the CSS "style" attribute, drawn from the font_size and unit parameters</td>
|
1979 |
</tr>
|
@@ -2005,6 +2023,7 @@ Tag cloud <strong>item-specific substitution parameters</strong> for the Markup
|
|
2005 |
<h4>Tag Cloud Pagination Parameters</h4>
|
2006 |
<p>
|
2007 |
If you have a large number of terms in your cloud taxonomy you may want to paginate the cloud display, i.e., divide the cloud into two or more pages of a reasonable size. Pagination support for <code>[mla_tag_cloud]</code> is modeled on similar functions for<code>[mla_gallery]</code>, and you can find more explanation of the ideas behind pagination in the <a href="#mla_output_parameter"><strong>Support for Alternative Gallery Output, e.g., Pagination</strong></a> section. Five parameters are supplied for this purpose:
|
|
|
2008 |
<table>
|
2009 |
<tr>
|
2010 |
<td class="mla-doc-table-label">limit</td>
|
@@ -2029,6 +2048,7 @@ If you have a large number of terms in your cloud taxonomy you may want to pagin
|
|
2029 |
</table>
|
2030 |
<p>
|
2031 |
The <code>[mla_tag_cloud]</code> shortcode can be used to provide "Previous" and "Next" links that support moving among the individual items in a cloud or among cloud "pages". For example, if you have many terms in your Att. Category or Att. Tag taxonomies you can build a term-specific <code>[mla_gallery]</code> page with links to the previous/next term in the taxonomy (a complete pagination example is included below). You can also build a page that shows a large taxonomy in groups, or "cloud pages", of ten terms with links to the previous/next ten terms or links to all of the cloud pages of terms in the taxonomy.
|
|
|
2032 |
<p>
|
2033 |
The <strong>"mla_output"</strong> parameter determines the type of output the shortcode will return. For pagination output, you can choose from six values:
|
2034 |
</p>
|
@@ -2037,6 +2057,7 @@ The <strong>"mla_output"</strong> parameter determines the type of output the sh
|
|
2037 |
<td class="mla-doc-table-label">next_link</td>
|
2038 |
<td>returns a link to the next cloud item, based on the "term_id" parameter value. The optional "<strong>,wrap</strong>" qualifier determines what happens at the end of the cloud. If you omit the qualifier, an empty string is returned for the "next_link" from the last item. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first item.</td>
|
2039 |
</tr>
|
|
|
2040 |
<td class="mla-doc-table-label">current_link</td>
|
2041 |
<td>returns a link to the current cloud item, based on the "term_id" parameter value. This gives you an easy way to provide a visual indication of where you are within the taxonomy. The "span" and "none" link formats are often used with this mla_output type.</td>
|
2042 |
</tr>
|
@@ -2128,7 +2149,8 @@ The "smallest=12" and "largest=12" parameters make "font-size" the same for all
|
|
2128 |
</p>
|
2129 |
<h4>MLA Tag Cloud Filters (Hooks)</h4>
|
2130 |
<p>
|
2131 |
-
The <code>[mla_tag_cloud]</code> shortcode supports a comprehensive set of filters that give you complete control over cloud composition from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Gallery Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Tag+Cloud+Hooks+Example%22" class="mla-doc-bold-link">MLA Tag Cloud Hooks Example</a>. To run the example:
|
|
|
2132 |
<ol>
|
2133 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
2134 |
<li>Hover over "MLA Tag Cloud Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -2136,7 +2158,6 @@ The <code>[mla_tag_cloud]</code> shortcode supports a comprehensive set of filte
|
|
2136 |
<li>Create a new <code>[mla_tag_cloud]</code> shortcode or modify an existing shortcode, adding the <code>my_filter="color cloud"</code> parameter to activate the example output.</li>
|
2137 |
<li>View the post or page on which the modified shortcode appears to see a tag cloud with a range of colors applied to the terms.</li>
|
2138 |
</ol>
|
2139 |
-
</p>
|
2140 |
<p>
|
2141 |
The example code documents each hook with comments in the filter/action function that intercepts the hook. Generally, each part of the cloud supports three hooks: 1) a "<strong>values</strong>" hook, which lets you record or update the substitution values for that cloud part, 2) a "<strong>template</strong>" hook, which lets you record/update the template used to generate the HTML markup, and 3) a "<strong>parse</strong>" hook which lets you modify or replace the markup generated for a cloud part. The current hooks are:
|
2142 |
</p>
|
@@ -2438,7 +2459,6 @@ Eight parameters provide an easy way to control the contents of list items witho
|
|
2438 |
</p>
|
2439 |
<table>
|
2440 |
<tr>
|
2441 |
-
<tr>
|
2442 |
<td class="mla-doc-table-label">mla_link_attributes</td>
|
2443 |
<td>adds one or more HTML attributes to the hyperlink for each item; see below</td>
|
2444 |
</tr>
|
@@ -2475,7 +2495,7 @@ Eight parameters provide an easy way to control the contents of list items witho
|
|
2475 |
All but the "mla_target" parameter support the <a href="#term_list_markup_parameters">Markup</a>, <a href="#term_list_item_parameters">Item-specific</a>, <a href="#term_list_variable_parameters">Field-level</a> and <a href="#mla_template_parameters">Content Template</a> substitution parameters defined for Markup Templates. For example, if you code "<code>mla_rollover_text='{+slug+} : {+rollover_text+}'</code>, the rollover text will contain the term slug, a colon, and the appropriate "single text" or "multiple text". Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the WordPress shortcode parser reserves square brackets ("[" and "]") for its own use.
|
2476 |
</p>
|
2477 |
<p>
|
2478 |
-
The "mla_link_href" parameter is a great way to change the destination your list item links to and/or add arguments to the link for later processing. For example, to make a gallery item link back to the current page/post you can code: <code>mla_link_href='{+page_url+}'</code>. You can also add arguments to the link, e.g., <code>mla_link_href='{+page_url+}?firstarg=value1&amp;myarg=myvalue'</code>. Note the use of the HTML entity name "&amp;" to put an ampersand in the value; the WordPress "visual" post editor will replace "&", "
|
2479 |
</p>
|
2480 |
<p>
|
2481 |
The "mla_link_attributes" parameter accepts any value and adds it to the "<a>" or "<span>" tags for the item. For example, you can add a unique identifier to each item by adding <code>mla_link_attributes='id="{+selector}-{+index+}"'</code> to your shortcode (note the use of single quotes around the parameter value and the double quotes within the parameter). <strong>IMPORTANT:</strong> since the shortcode parser reserves square brackets ("[" and "]") for its own use, <strong>you must substitute curly braces for square brackets</strong> if your attributes require brackets. If you must code a curly brace in your attribute value, preface it with <strong>two backslash characters</strong>, e.g., "\\{" or "\\}". If you code an attribute already present in the tag, your value will override the existing value.
|
@@ -2499,11 +2519,11 @@ Dropdown and Checklist formats do not generate hyperlinks; they generate HTML in
|
|
2499 |
</tr>
|
2500 |
<tr>
|
2501 |
<td class="mla-doc-table-label">mla_option_value</td>
|
2502 |
-
<td>replaces the <strong>term_id (default)</strong> value returned for each option. For <strong>dropdown</strong> controls containing terms from multiple taxonomies, the default is <strong><code>[+taxonomy+].[+term_id+]</code>.</td>
|
2503 |
</tr>
|
2504 |
<tr>
|
2505 |
<td class="mla-doc-table-label">hide_if_empty</td>
|
2506 |
-
<td>If <strong>false (default)</strong>, display a control with "option_none" text & value. If true, display mla_nolink_text or nothing.</td>
|
2507 |
</tr>
|
2508 |
<tr>
|
2509 |
<td class="mla-doc-table-label">mla_nolink_text</td>
|
@@ -2562,7 +2582,6 @@ You could use the <code>mla_control_name</code> shortcode parameter to move the
|
|
2562 |
<h4>Term List Other Parameters</h4>
|
2563 |
<table>
|
2564 |
<tr>
|
2565 |
-
<tr>
|
2566 |
<td class="mla-doc-table-label">mla_debug</td>
|
2567 |
<td>controls debug log output; <strong>default false</strong>. See below for details.</td>
|
2568 |
</tr>
|
@@ -2701,7 +2720,7 @@ Substitution parameters are a powerful way to add general and attachment-specifi
|
|
2701 |
<td>values that are known at the beginning of list output processing and remain the same for the entire list</td>
|
2702 |
</tr>
|
2703 |
<tr>
|
2704 |
-
<td class="mla-doc-table-label">Item-specific</a></td>
|
2705 |
<td style="vertical-align: top">values that change for each term/item in the list, such as Name and Description</td>
|
2706 |
</tr>
|
2707 |
<tr>
|
@@ -2721,6 +2740,7 @@ To use a substitution parameter in your shortcode, simply add "{+" before the su
|
|
2721 |
</p>
|
2722 |
<p>
|
2723 |
<strong>list-specific substitution parameters</strong> are known at the beginning of shortcode processing and they do not change during processing. They can be used, for example, in any of the data selection parameters to change the items selected for the list based on information about the post/page on which the list appears. The list-specific substitution parameters are:
|
|
|
2724 |
<table>
|
2725 |
<tr>
|
2726 |
<td class="mla-doc-table-label">site_url</td>
|
@@ -2747,7 +2767,6 @@ To use a substitution parameter in your shortcode, simply add "{+" before the su
|
|
2747 |
<td style="vertical-align: top">the <code>ID</code> value of the post/page in which the list appears</td>
|
2748 |
</tr>
|
2749 |
<tr>
|
2750 |
-
<tr>
|
2751 |
<td class="mla-doc-table-label">page_author</td>
|
2752 |
<td>the <code>post_author</code> value of the post/page in which the list appears</td>
|
2753 |
</tr>
|
@@ -2815,6 +2834,7 @@ The following <strong>field-level substitution parameters</strong> are available
|
|
2815 |
<tr>
|
2816 |
<td class="mla-doc-table-label">query</td>
|
2817 |
<td>The parameters defined in the <code>[mla_term_list]</code> shortcode. For example, if your shortcode is <code>[mla_term_list taxonomy=attachment_tag div-class=some_class]</code> you can access the parameters as <code>[+query:taxonomy+]</code> and <code>[+query:div-class+]</code> respectively. You can define your own parameters, e.g., "div-class"; they will be accessible as field-level data but will otherwise be ignored.</td>
|
|
|
2818 |
<tr>
|
2819 |
<td class="mla-doc-table-label">template</td>
|
2820 |
<td>A Content Template, which lets you compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing output entirely. See the <a href="#mla_template_parameters">Content Templates</a> section for details. Note that the formatting option is not supported for content templates.</td>
|
@@ -3005,6 +3025,7 @@ Term list <strong>item-specific substitution parameters</strong> for the Markup
|
|
3005 |
<td class="mla-doc-table-label">rollover_text</td>
|
3006 |
<td>the "title" attribute value, drawn from single_text/multiple_text or the mla_rollover_text parameters</td>
|
3007 |
</tr>
|
|
|
3008 |
<td class="mla-doc-table-label">link_style</td>
|
3009 |
<td>the CSS "style" attribute, drawn from the font_size and unit parameters</td>
|
3010 |
</tr>
|
@@ -3050,7 +3071,7 @@ Here is a simple example of a dropdown control for the Att. Categories taxonomy:
|
|
3050 |
[mla_gallery]<br />
|
3051 |
attachment_category="{+template:({+request:tax_input.attachment_category+}|no-term-selected)+}"<br />
|
3052 |
posts_per_page=3 mla_output="paginate_links,prev_next"<br />
|
3053 |
-
mla_link_href='{+new_url+}?mla_paginate_current={+new_page+}&tax_input[attachment_category]="{+query:attachment_category,text+}"'<br />
|
3054 |
[/mla_gallery]<br />
|
3055 |
<br />
|
3056 |
[mla_gallery attachment_category="{+template:({+request:tax_input.attachment_category+}|no-term-selected)+}" posts_per_page=3 mla_caption="{+title+} : {+description+}" mla_nolink_text="<br>Select a term to display the gallery.<br>"]
|
@@ -3069,7 +3090,8 @@ You will also see that the term you select doesn’t “stick” in
|
|
3069 |
</p>
|
3070 |
<h4>MLA Term List Filters (Hooks)</h4>
|
3071 |
<p>
|
3072 |
-
The <code>[mla_term_list]</code> shortcode supports a comprehensive set of filters that give you complete control over list composition from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Term List Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Term+List+Hooks+Example%22" class="mla-doc-bold-link">MLA Term List Hooks Example</a>. To run the example:
|
|
|
3073 |
<ol>
|
3074 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
3075 |
<li>Hover over "MLA Term List Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -3077,7 +3099,6 @@ The <code>[mla_term_list]</code> shortcode supports a comprehensive set of filte
|
|
3077 |
<li>Create a new <code>[mla_term_list]</code> shortcode or modify an existing shortcode, adding the <code>my_filter="color list"</code> parameter to activate the example output.</li>
|
3078 |
<li>View the post or page on which the modified shortcode appears to see a term list with a range of colors applied to the terms.</li>
|
3079 |
</ol>
|
3080 |
-
</p>
|
3081 |
<p>
|
3082 |
The example code documents each hook with comments in the filter/action function that intercepts the hook. Generally, each part of the list supports three hooks: 1) a "<strong>values</strong>" hook, which lets you record or update the substitution values for that list part, 2) a "<strong>template</strong>" hook, which lets you record/update the template used to generate the HTML markup, and 3) a "<strong>parse</strong>" hook which lets you modify or replace the markup generated for a list part. The current hooks are:
|
3083 |
</p>
|
@@ -3134,7 +3155,6 @@ As you can tell from the number of parameters available, the <code>[mla_gallery]
|
|
3134 |
<a name="simple_examples"></a>
|
3135 |
</p>
|
3136 |
<h4>Simple Examples</h4>
|
3137 |
-
<p>
|
3138 |
<ul class="mla_settings">
|
3139 |
<li><code>[mla_gallery]</code> - will display all the images "attached" to the current post/page.</li>
|
3140 |
<li><code>[mla_gallery ids="1,3,2,4"]</code> - will display specific images on any post/page. The numbers are the ID values of the images. You can use the "Add Media..." popup window and "Create Gallery" to get the list, then change the shortcode name to "mla_gallery" if you want to add other <code>[mla_gallery]</code> specific parameters.</li>
|
@@ -3143,7 +3163,6 @@ As you can tell from the number of parameters available, the <code>[mla_gallery]
|
|
3143 |
<li><code>[mla_gallery post_parent=all post_mime_type="audio,video"]</code> - will display all the audio and video documents in your Media Library.</li>
|
3144 |
<li><code>[mla_gallery post_parent=all post_mime_type=application/pdf size=icon link=file]</code> - will display all the PDF documents in your Media Library. The "PDF icon" will display in place of the thumbnail. When the icon is clicked, the document itself will be displayed in the browser.</li>
|
3145 |
</ul>
|
3146 |
-
</p>
|
3147 |
<p>
|
3148 |
Perhaps the most popular Media Library Assistant feature is the ability to assign category and tag values to Media Library Items and use the values to filter a gallery display. "Categories" and "Tags" are built-in WordPress "taxonomies" and have been used for a long time to organize posts and pages. WordPress does not have built-in support for using them with attachments and that was one of the original motivations for MLA.
|
3149 |
</p>
|
@@ -3166,12 +3185,12 @@ The category_name example does not follow the general rule of "taxonomy-slug = t
|
|
3166 |
<h4>A Paginated Gallery</h4>
|
3167 |
<p>
|
3168 |
If your gallery display includes a large number of items it may be useful to divide the display into "pages" with a fixed upper limit of items per page. The <a href="#mla_output_parameter"><strong>Support for Alternative Gallery Output, e.g., Pagination</strong></a> section explains several ways to do that; here is one example. Put <strong>both of these shortcodes</strong> on a post or page to display a paginated gallery:
|
|
|
3169 |
<blockquote>
|
3170 |
<code>[mla_gallery attachment_category=big-dog posts_per_page=12]</code><br />
|
3171 |
<br />
|
3172 |
<code>[mla_gallery attachment_category=big-dog posts_per_page=12 mla_output="paginate_links,prev_next"]</code>
|
3173 |
</blockquote>
|
3174 |
-
</p>
|
3175 |
<p>
|
3176 |
Note that <strong>two shortcodes are required</strong>; one for the gallery display and a second one for the pagination controls. The first <code>[mla_gallery]</code> displays the images assigned to <code>attachment_category=big-dog</code> and displays a maximum of 12 images at once. The second <code>[mla_gallery]</code> has <strong>exactly the same</strong> data selection parameter and posts per page parameter; that's essential to match up with the first shortcode. It adds one more parameter, <code>mla_output</code>. This parameter changes the display from a set of images to a set of pagination controls.
|
3177 |
</p>
|
@@ -3182,12 +3201,12 @@ MLA will add and manage a "current page" parameter of its own so the two shortco
|
|
3182 |
<h4>Tag Cloud and Gallery</h4>
|
3183 |
<p>
|
3184 |
Adding the "taxonomy=term" parameter to your shortcode is all well and good, but letting the viewer choose a term when they view the post/page is often better. One easy way to do this is to add the <code>[mla_tag_cloud]</code> shortcode. Here is a simple combination of a cloud and a gallery display:
|
|
|
3185 |
<blockquote>
|
3186 |
<code>[mla_tag_cloud taxonomy=attachment_category number=0 mla_link_href="{+page_url+}?term_slug={+slug+}"]</code><br />
|
3187 |
<br />
|
3188 |
<code>[mla_gallery attachment_category="{+template:({+request:term_slug+}|a-bad-term)+}" mla_nolink_text="Click a term to display the gallery."]</code>
|
3189 |
</blockquote>
|
3190 |
-
</p>
|
3191 |
<p>
|
3192 |
The <code>[mla_tag_cloud]</code> displays Att. Categories terms in the familiar cloud format. The <code>number=0</code> parameter ensures that all of the terms are displayed. The <code>mla_link_href</code> parameter links each term back to the current page (<code>{+page_url}</code>) and passes a variable back with the term selection (<code>?term_slug={+slug+}</code>). If you put the <code>[mla_tag_cloud]</code> shortcode on another page or in a widget you will have to hard-code the URL portion of the link.
|
3193 |
</p>
|
@@ -3203,6 +3222,7 @@ The <code>[mla_gallery]</code> displays the images assigned to the selected atta
|
|
3203 |
</ul>
|
3204 |
<p>
|
3205 |
You can read more about templates in the <a href="#mla_template_parameters">Content Templates</a> section. You can paginate your gallery by adding a third shortcode to the post/page. Put the new shortcode between the cloud and gallery so the pagination controls will appear above the gallery display:
|
|
|
3206 |
<blockquote>
|
3207 |
<code>[mla_tag_cloud taxonomy=attachment_category number=0 mla_link_href="{+page_url+}?term_slug={+slug+}"]</code><br />
|
3208 |
<br />
|
@@ -3210,7 +3230,6 @@ You can read more about templates in the <a href="#mla_template_parameters">Cont
|
|
3210 |
<br />
|
3211 |
<code>[mla_gallery attachment_category="{+template:({+request:term_slug+}|a-bad-term)+}" posts_per_page=12 mla_nolink_text="Click a term to display the gallery."]</code>
|
3212 |
</blockquote>
|
3213 |
-
</p>
|
3214 |
<p>
|
3215 |
The <code>posts_per_page=12</code> parameter has been added to the gallery display shortcode (the third shortcode). A new <code>[mla_gallery]</code> is added to display the pagination controls. The data selection parameter and <code>posts_per_page=12</code> parameter match the gallery display shortcode below it. The <code>mla_output</code> parameter displays the pagination controls. Finally, the <code>mla_link_href="{+page_url+}?term_slug={+request:term_slug+}"</code> parameter is added so the pagination controls pass the <code>term_slug</code> from page to page.
|
3216 |
<a name="search_form_and_gallery"></a>
|
@@ -3218,6 +3237,7 @@ The <code>posts_per_page=12</code> parameter has been added to the gallery displ
|
|
3218 |
<h4>Search Form and Gallery</h4>
|
3219 |
<p>
|
3220 |
A common alternative to the taxonomy filtering in the previous examples is a keyword-based search. This example shows a simple HTML form with a text box and a button to run the search. The user can enter one or more words to search for in the Title or Description of Media Library items, then click "Search" to display a gallery of matching images:
|
|
|
3221 |
<blockquote>
|
3222 |
<code><form id="mla-search-form" action="." method="post"><br />
|
3223 |
<input id="mla-search-box" name="search-string" type="text" value="" />&nbsp;<input id="submit" name="submit" type="submit" value="Search" /><br />
|
@@ -3225,11 +3245,12 @@ A common alternative to the taxonomy filtering in the previous examples is a key
|
|
3225 |
<br />
|
3226 |
<code>[mla_gallery s="{+template:({+request:search-string+}|a-bad-term)+}" mla_nolink_text="Enter a search value above to display gallery."]</code>
|
3227 |
</blockquote>
|
3228 |
-
</p>
|
3229 |
<p>
|
3230 |
In this example the <code>name="search-string"</code> parameter is passed from the form to the <code>s="{+request:search-string+}</code>... parameter in the shortcode. As in the Cloud and Gallery example a Content Template is used to supply <code>a-bad-term</code> before the form is completed, which displays an empty gallery because it doesn't match anything. You can find more information on the <code>s=</code> parameter and other search parameters in the <a href="#search_keywords">Keyword(s) Search</a> section.
|
|
|
3231 |
<p>
|
3232 |
As in the Cloud and Gallery example, paginating your gallery display requires a slight modification of the <code>[mla_gallery]</code> shortcode (at the bottom of the next example) and adding a second <code>[mla_gallery]</code> shortcode (in the middle of the next example) to display the pagination controls:
|
|
|
3233 |
<blockquote>
|
3234 |
<code><form id="mla-search-form" action="." method="post"><br />
|
3235 |
<input id="mla-search-box" name="search-string" type="text" value="" />&nbsp;<input id="submit" name="submit" type="submit" value="Search" /><br />
|
@@ -3239,10 +3260,10 @@ As in the Cloud and Gallery example, paginating your gallery display requires a
|
|
3239 |
<br />
|
3240 |
<code>[mla_gallery s="{+template:({+request:search-string+}|a-bad-term)+}" mla_nolink_text="Enter a search value above to display gallery." posts_per_page=12]</code>
|
3241 |
</blockquote>
|
3242 |
-
</p>
|
3243 |
<p>
|
3244 |
The <code>posts_per_page=12</code> parameter has been added to the gallery display shortcode (the third shortcode). A new <code>[mla_gallery]</code> is added to display the pagination controls. The data selection parameter (<code>s="{+request:search-string+}</code>...) and <code>posts_per_page=12</code> parameter match the gallery display shortcode below it. The <code>mla_output</code> parameter displays the pagination controls. Finally, the <code>mla_link_href="{+page_url+}?search-string={+request:search-string+}"</code> parameter is added so the pagination controls pass the <code>search-string</code> from page to page.
|
3245 |
<a name="mla_output_parameter"></a>
|
|
|
3246 |
<p>
|
3247 |
<a href="#backtotop">Go to Top</a>
|
3248 |
</p>
|
@@ -3266,6 +3287,7 @@ The <strong>"mla_output"</strong> parameter determines the type of output the sh
|
|
3266 |
<td class="mla-doc-table-label">next_link</td>
|
3267 |
<td>returns a link to the next gallery item. The optional "<strong>,wrap</strong>" qualifier determines what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first gallery item.</td>
|
3268 |
</tr>
|
|
|
3269 |
<td class="mla-doc-table-label">current_link</td>
|
3270 |
<td>returns a link to the current gallery item. This gives you an easy way to provide a visual indication of where you are within the overall gallery. The "span" and "none" link formats are often used with this mla_output type.</td>
|
3271 |
</tr>
|
@@ -3310,12 +3332,12 @@ In this example <code>/single-sample/</code>, the URL portion of the link, is th
|
|
3310 |
</p>
|
3311 |
<code>
|
3312 |
[mla_gallery columns=1 ids="{+request:current_id+}" size=medium]
|
3313 |
-
<br /> <br
|
3314 |
<div style="clear: both; float: left"><br />
|
3315 |
-
[mla_gallery mla_output="previous_link,wrap" mla_link_text='&larr; Previous Sample' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_rollover_text="{+title+}" mla_link_href="{+page_url+}?current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]<br
|
3316 |
-
</div><br
|
3317 |
-
<div style="float: right"><br
|
3318 |
-
[mla_gallery mla_output="next_link,wrap" mla_link_text='Next Sample &rarr;' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_rollover_text="{+title+}" mla_link_href="{+page_url+}?current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]<br
|
3319 |
</div>
|
3320 |
</code>
|
3321 |
<p>
|
@@ -3495,12 +3517,12 @@ Expanding the "attachment tag gallery" example, you can select images using the
|
|
3495 |
</p>
|
3496 |
<code>
|
3497 |
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_caption="{+title+}"]
|
3498 |
-
<br
|
3499 |
<div style="clear: both; float: left"><br />
|
3500 |
-
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="previous_page,first" mla_link_text='&larr; Previous Gallery Page' mla_rollover_text="Previous or first page for this tag"]<br
|
3501 |
-
</div><br
|
3502 |
-
<div style="float: right"><br
|
3503 |
-
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="next_page,last" mla_link_text='&larr; Next Gallery Page' mla_rollover_text="Next or last page for this tag"]<br
|
3504 |
</div>
|
3505 |
</code>
|
3506 |
<p>
|
@@ -3544,14 +3566,13 @@ Expanding the "attachment tag gallery" example, you can select images using the
|
|
3544 |
</p>
|
3545 |
<code>
|
3546 |
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_caption="{+title+}"]
|
3547 |
-
<br
|
3548 |
-
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="paginate_links,prev_next" mla_nolink_text='No Gallery Pages']<br
|
3549 |
</code>
|
3550 |
<p>
|
3551 |
This example is even simpler that the two earlier examples because there's just one additional <code>[mla_gallery]</code> shortcode for pagination links.
|
3552 |
-
</p>
|
3553 |
<a name="alt_shortcode"></a>
|
3554 |
-
|
3555 |
<p>
|
3556 |
<a href="#backtotop">Go to Top</a>
|
3557 |
</p>
|
@@ -3619,10 +3640,8 @@ You can also use the "enclosing shortcode" form if the alternate shortcode, such
|
|
3619 |
</p>
|
3620 |
<p>
|
3621 |
<strong>NOTE:</strong> When you use "mla_alt_shortcode" to pass format/display responsibility off to another shortcode you will lose the <code>[mla_gallery]</code> Gallery Display Style (e.g. "mla_float") and Gallery Display Content (e.g. "mla_caption") parameters. There is no reliable way for <code>[mla_gallery]</code> to pass this information on to the other shortcode you've specified.
|
3622 |
-
</p>
|
3623 |
-
<p>
|
3624 |
<a name="photonic_gallery"></a>
|
3625 |
-
|
3626 |
<p>
|
3627 |
<a href="#backtotop">Go to Top</a>
|
3628 |
</p>
|
@@ -3678,6 +3697,7 @@ In the arguments section you can separate the parameters with one or more spaces
|
|
3678 |
<h4>Gallery-specific Substitution Parameters</h4>
|
3679 |
<p>
|
3680 |
Gallery-specific substitution parameters are known at the beginning of shortcode processing and they do not change during processing. They can be used, for example, in any of the data selection parameters to change the items selected for the gallery based on information about the post/page on which the gallery appears. The gallery-specific substitution parameters are:
|
|
|
3681 |
<table>
|
3682 |
<tr>
|
3683 |
<td class="mla-doc-table-label">site_url</td>
|
@@ -3704,7 +3724,6 @@ Gallery-specific substitution parameters are known at the beginning of shortcode
|
|
3704 |
<td style="vertical-align: top">the <code>ID</code> value of the post/page in which the gallery appears</td>
|
3705 |
</tr>
|
3706 |
<tr>
|
3707 |
-
<tr>
|
3708 |
<td class="mla-doc-table-label">page_author</td>
|
3709 |
<td>the <code>post_author</code> value of the post/page in which the gallery appears</td>
|
3710 |
</tr>
|
@@ -3757,8 +3776,7 @@ Gallery-specific substitution parameters are known at the beginning of shortcode
|
|
3757 |
<td>absolute URL to the page or post on which the gallery appears, if any, with trailing slash</td>
|
3758 |
</tr>
|
3759 |
</table>
|
3760 |
-
<a name="mla_style_parameters"></a
|
3761 |
-
|
3762 |
<p>
|
3763 |
<a href="#backtotop">Go to Top</a>
|
3764 |
</p>
|
@@ -3858,6 +3876,7 @@ The item-level substitution parameter names are:
|
|
3858 |
<td class="mla-doc-table-label">captiontag_content</td>
|
3859 |
<td>if both captiontag and caption are not empty, contains the complete HTML markup for the caption. This can be used to omit empty tags (as it is in the default template).</td>
|
3860 |
</tr>
|
|
|
3861 |
<td class="mla-doc-table-label">excerpt</td>
|
3862 |
<td>always contains post_excerpt</td>
|
3863 |
</tr>
|
@@ -3901,6 +3920,7 @@ The item-level substitution parameter names are:
|
|
3901 |
<td class="mla-doc-table-label">parent_date</td>
|
3902 |
<td>upload date of the parent</td>
|
3903 |
</tr>
|
|
|
3904 |
<td class="mla-doc-table-label">parent_permalink</td>
|
3905 |
<td>permalink to the parent</td>
|
3906 |
</tr>
|
@@ -4009,7 +4029,6 @@ The item-level substitution parameter names are:
|
|
4009 |
<td>for image/icon items, width of the gallery image/icon</td>
|
4010 |
</tr>
|
4011 |
<tr>
|
4012 |
-
<tr>
|
4013 |
<td class="mla-doc-table-label">thumbnail_height</td>
|
4014 |
<td>for image/icon items, height of the gallery image/icon</td>
|
4015 |
</tr>
|
@@ -4155,7 +4174,7 @@ The next sections define each of the prefix and option/format values.
|
|
4155 |
</p>
|
4156 |
<h4>Prefix values</h4>
|
4157 |
<p>
|
4158 |
-
There are
|
4159 |
</p>
|
4160 |
<table>
|
4161 |
<tr>
|
@@ -4275,6 +4294,10 @@ MLA adds three fields of its own to the XMP metadata information:
|
|
4275 |
<td class="mla-doc-table-label">template</td>
|
4276 |
<td>A Content Template, which lets you compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing output entirely. See the <a href="#mla_template_parameters">Content Templates</a> section for details. Note that the formatting option is not supported for templates.</td>
|
4277 |
</tr>
|
|
|
|
|
|
|
|
|
4278 |
</table>
|
4279 |
<a name="field_level_formats"></a>
|
4280 |
<br />
|
@@ -4316,7 +4339,7 @@ Eight "format" values help you reformat fields or encode them for use in HTML at
|
|
4316 |
</tr>
|
4317 |
<tr>
|
4318 |
<td class="mla-doc-table-label">,attr</td>
|
4319 |
-
<td>If you use a substitution parameter in an HTML attribute such as the <code>title</code> attribute of a hyperlink (<code>a</code>) or <code>img</code> tag you can add the ",attr" option to encode the
|
4320 |
</tr>
|
4321 |
<tr>
|
4322 |
<td class="mla-doc-table-label">,url</td>
|
@@ -4348,6 +4371,25 @@ Eight "format" values help you reformat fields or encode them for use in HTML at
|
|
4348 |
</tr>
|
4349 |
</table>
|
4350 |
<p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4351 |
<a name="field_level_data_sources"></a>
|
4352 |
<p>
|
4353 |
<a href="#backtotop">Go to Top</a>
|
@@ -4515,6 +4557,7 @@ Each Media Library attachment item has a row in the "posts" database table that
|
|
4515 |
<td class="mla-doc-table-label">size_dimensions</td>
|
4516 |
<td>image dimensions for thumbnail versions of the image, e.g., "150x150, 300x225, 600x288"</td>
|
4517 |
</tr>
|
|
|
4518 |
<td class="mla-doc-table-label">size_name[size]</td>
|
4519 |
<td>image file name for a specific thumbnail version, e.g., size_name[medium] = "image-300x225.jpg"; set to empty string if the specified size does not exist. There will be a [size] choice for every thumbnail version registered with WordPress for the site.</td>
|
4520 |
</tr>
|
@@ -4527,7 +4570,6 @@ Each Media Library attachment item has a row in the "posts" database table that
|
|
4527 |
<td>image size in pixels for a specific thumbnail version, e.g., size_pixels[medium] = "67500"</td>
|
4528 |
</tr>
|
4529 |
<tr>
|
4530 |
-
<tr>
|
4531 |
<td class="mla-doc-table-label" style="width: 12em">size_dimensions[size]</td>
|
4532 |
<td style="padding-bottom: 2em;">image dimensions for a specific thumbnail version, e.g., size_dimensions[medium] = "300x225"; set to empty string if the specified size does not exist. There will be a [size] choice for every thumbnail version registered with WordPress for the site.</td>
|
4533 |
</tr>
|
@@ -4540,12 +4582,10 @@ Each Media Library attachment item has a row in the "posts" database table that
|
|
4540 |
<td>for "attached" (post_parent not zero) objects, post type of the parent object</td>
|
4541 |
</tr>
|
4542 |
<tr>
|
4543 |
-
<tr>
|
4544 |
<td class="mla-doc-table-label">parent_title</td>
|
4545 |
<td>for "attached" (post_parent not zero) objects, post title of the parent object</td>
|
4546 |
</tr>
|
4547 |
<tr>
|
4548 |
-
<tr>
|
4549 |
<td class="mla-doc-table-label">parent_issues</td>
|
4550 |
<td>summary of parent status (only) "issues", e.g., bad parent, invalid parent, unattached</td>
|
4551 |
</tr>
|
@@ -5027,8 +5067,7 @@ The native format of this data is somewhat complicated, so MLA converts the most
|
|
5027 |
<td class="mla-doc-table-sublabel">The geodetic survey data used by the GPS receiver</td>
|
5028 |
</tr>
|
5029 |
</table>
|
5030 |
-
<a name="pdf_metadata"></a
|
5031 |
-
|
5032 |
<p>
|
5033 |
<a href="#backtotop">Go to Top</a>
|
5034 |
</p>
|
@@ -5076,6 +5115,7 @@ Metadata in PDF documents comes from two sources. Early versions of the PDF spec
|
|
5076 |
</table>
|
5077 |
<p>
|
5078 |
More recent versions of the specification add a second source of metadata, Metadata Streams, holding data defined by the <a href="https://www.adobe.com/products/xmp/" title="Adobe XMP site" target="_blank">Extensible Metadata Platform (XMP)</a> framework. XMP metadata varies from document to document but is often extensive. MLA provides access to this data in four ways:
|
|
|
5079 |
<ol>
|
5080 |
<li>
|
5081 |
If a D.I.D. field is not stored in the document, MLA will copy appropriate values from the XMP data into the empty field to populate it as often as possible. For example, the "creator" value(s) in the "dc" namespace ("dc.creator") might be copied to an empty "Author" field, or the "dc.subject" value(s) might be copied to an empty Keywords field.
|
@@ -5090,7 +5130,6 @@ Other namespaces in the document are copied to arrays at the root level. For exa
|
|
5090 |
For consistency with other file types, all XMP data found in a PDF document is also available with the "xmp:" prefix.
|
5091 |
</li>
|
5092 |
</ol>
|
5093 |
-
</p>
|
5094 |
<p>
|
5095 |
MLA adds five fields of its own to the metadata information:
|
5096 |
</p>
|
@@ -5116,14 +5155,14 @@ MLA adds five fields of its own to the metadata information:
|
|
5116 |
<td>a special "pseudo value" that returns a string representation of all the metadata. You can use this pseudo-value to examine the metadata in a document, find field names and see what values are present.</td>
|
5117 |
</tr>
|
5118 |
</table>
|
5119 |
-
<a name="substitution_parameter_filters"></a
|
5120 |
-
|
5121 |
<p>
|
5122 |
<a href="#backtotop">Go to Top</a>
|
5123 |
</p>
|
5124 |
<h4>Field-level substitution parameter filters (Hooks)</h4>
|
5125 |
<p>
|
5126 |
-
Field-level substitution parameters can be extended to include any data values your application requires. They are supported by a set of filters that enables PHP code in your theme or in another plugin to create data values and make them available to MLA. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Substitution Parameter Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Substitution+Parameter+Hooks+Example%22" class="mla-doc-bold-link">MLA Substitution Parameter Hooks Example</a>. To run the example:
|
|
|
5127 |
<ol>
|
5128 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5129 |
<li>Hover over "MLA Substitution Parameter Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -5191,7 +5230,9 @@ The conditional and choice elements are the key to templates' power, particularl
|
|
5191 |
</p>
|
5192 |
<p>
|
5193 |
Conditional, choice and template elements can be nested as needed. For example, a conditional element can have a choice element within it or a choice alternative could include a conditional. Here's an example:
|
5194 |
-
|
|
|
|
|
5195 |
</p>
|
5196 |
<p>
|
5197 |
This template has a String, "Terms: " and a Conditional, "(([+terms: ... none)". This Conditional separates the "Terms: " literal from the first alternative in the Choice. Within the Conditional is a Choice having four alternatives. The first alternative is a Conditional, which will be empty unless both categories and tags are present. The second and third alternatives handle the cases where one of the two taxonomies has terms, and the final alternative is used when neither categories nor tags are present.
|
@@ -5205,24 +5246,127 @@ The conditional and choice elements require delimiters, "(", ")" and "|". If you
|
|
5205 |
</p>
|
5206 |
<p>
|
5207 |
<strong>In a shortcode parameter:</strong> If your template is coded in a shortcode parameter, preface the template delimiters with two backslash characters, e.g., "\\(". If you need a backslash in your template, code it as four backslash characters, i.e., "\\\\". The doubling of backslash characters is required because of the way WordPress processes shortcode parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5208 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5209 |
<a name="mla_text_widget"></a>
|
5210 |
-
|
5211 |
<p>
|
5212 |
<a href="#backtotop">Go to Top</a>
|
5213 |
</p>
|
5214 |
<h3>The MLA Text Widget</h3>
|
5215 |
<p>
|
5216 |
The MLA Text Widget lets you add content such as <code>[mla_gallery]</code> and <code>[mla_tag_cloud]</code> displays to your site's sidebars. It is an easy way to add slide shows and navigation features to all your pages. The MLA Text Widget is based on the WordPress Text widget, but adds the ability to include <strong>any</strong> shortcode to widget content. To use the MLA Text Widget:
|
|
|
5217 |
<ol>
|
5218 |
<li>Go to the Appearance/Widgets Administration screen</li>
|
5219 |
<li>Open the sidebar, footer, or Theme section to which you wish to add the Text Widget</li>
|
5220 |
<li>Find the Text Widget in the list of Widgets</li>
|
5221 |
<li>Click and drag the Widget to the spot you wish it to appear</li>
|
5222 |
</ol>
|
5223 |
-
</p>
|
5224 |
<p>
|
5225 |
To open and edit the MLA Text Widget:
|
|
|
5226 |
<ol>
|
5227 |
<li>Click the down arrow to the right of the MLA Text Widget title</li>
|
5228 |
<li>Set the MLA Text Widget Title (optional)</li>
|
@@ -5232,7 +5376,6 @@ To open and edit the MLA Text Widget:
|
|
5232 |
<li>Click Close to close the Widget</li>
|
5233 |
<li>Switch tabs in your browser and review the results; make changes if necessary</li>
|
5234 |
</ol>
|
5235 |
-
</p>
|
5236 |
<p>
|
5237 |
To add an <code>[mla_gallery]</code> or <code>[mla_tag_cloud]</code> shortcode to your widget, simply enter the shortcode name and parameters just as you would in the body of a post or page. Aside from the usually more limited area devoted to displaying the widget content, there are no differences in the way shortcodes are processed in the MLA Widget. Also, there is nothing special about the two MLA shortcodes; <strong>any</strong> shortcode can be added to the MLA Widget.
|
5238 |
<a name="terms_search"></a>
|
@@ -5262,11 +5405,12 @@ The first example would match each word separately. The second would match "man"
|
|
5262 |
</p>
|
5263 |
<p>
|
5264 |
Quote marks have another effect on the search; they restrict the match to a word boundary. For example, if you enter 'man' without enclosing quotes it will match "man" or "woman", because "<strong>man</strong>" appears as a part of "wo<strong>man</strong>". If you add quotes, i.e., ' "man" ', it will match "man" or "big man" but it will not match the "man" portion of "woman".
|
|
|
5265 |
<p>
|
5266 |
In the unlikely event you need to match single or double quotes inside a phrase you can enter them as an escape sequence. Use <code>\47</code> for a single quote<code>\42</code> for a double quote.
|
5267 |
</p>
|
5268 |
-
</p>
|
5269 |
<h4>Connecting multiple phrases</h4>
|
|
|
5270 |
The search is further defined by the connector used between multiple phrases:
|
5271 |
</p>
|
5272 |
<ul class="mla_settings">
|
@@ -5358,11 +5502,12 @@ If you change your mind you can close the window without making a change by clic
|
|
5358 |
The <a href="https://wordpress.org/plugins/codepress-admin-columns/" title="Admin Columns plugin directory page" target="_blank">Admin Columns</a> plugin allows you to customize columns on several admin-mode screens, including the MLA Media/Assistant submenu screen. All you have to do is install the plugin; MLA will detect its presence and automatically register the Media/Assistant submenu screen for support. With Admin Columns, you can:
|
5359 |
</p>
|
5360 |
<ul class="mla_settings">
|
5361 |
-
<li>Reorder columns with a simple drag & drop interface.</li>
|
5362 |
<li>Re-size columns to give more or less space to a column.</li>
|
5363 |
<li>Remove (not just hide) columns from the submenu table.</li>
|
5364 |
<li>Add new columns for custom fields and additional information.</li>
|
5365 |
-
<li>The Admin Columns "Pro" version adds support for ACF fields and other capabilities.</li>
|
|
|
5366 |
</ul>
|
5367 |
<p>
|
5368 |
When Admin Columns is present you will see a new "Edit Columns" button just above the Media/Assistant submenu table. Click the button to go to the Settings/Admin Columns configuration screen. There you will see "Media Library Assistant" added to the "Others:" list. Click on it to see the configuration of the Media/Assistant submenu screen.
|
@@ -5379,7 +5524,8 @@ When you have completed your configuration changes, click "Update Media Library
|
|
5379 |
</p>
|
5380 |
<h3>Custom Taxonomy Actions and Filters (Hooks)</h3>
|
5381 |
<p>
|
5382 |
-
The Custom Taxonomy filters and actions give you control over the registration of the Att. Categories and Att. Tags taxonomies from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Taxonomy Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Taxonomy+Hooks+Example%22" class="mla-doc-bold-link">MLA Taxonomy Hooks Example</a>. To run the example:
|
|
|
5383 |
<ol>
|
5384 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5385 |
<li>Hover over "MLA Taxonomy Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -5387,7 +5533,6 @@ The Custom Taxonomy filters and actions give you control over the registration o
|
|
5387 |
<li>Go to, for example, the Media/Assistant submenu to exercise the filters and write filter/action information to the site's Error Log.</li>
|
5388 |
<li>Examine the Error Log to see the filter/action information.</li>
|
5389 |
</ol>
|
5390 |
-
</p>
|
5391 |
<p>
|
5392 |
You can find more information about the types, labels and arguments in the <a href="https://codex.wordpress.org/Function_Reference/register_taxonomy" title="register_taxonomy() Documentation" target="_blank">Function Reference/register taxonomy</a> repository page.
|
5393 |
</p>
|
@@ -5411,16 +5556,14 @@ The following hooks are defined in <code>/wp-admin/includes/class-mla-objects.ph
|
|
5411 |
<td class="mla-doc-hook-definition">Modify the array of arguments with which the taxonomy is registered. For example, you can change the URL rewrite slug from the default <code>attachment_category/attachment_tag</code> values for SEO purposes. <strong>Note</strong>: You may need to flush the rewrite rules after changing the slug. You can do it manually by going to the Permalink Settings page and re-saving the rules -- you don't need to change them.</td>
|
5412 |
</tr>
|
5413 |
</table>
|
5414 |
-
<
|
5415 |
-
|
5416 |
-
<a name="mla_list_table_hooks"></a>
|
5417 |
-
</p>
|
5418 |
<p>
|
5419 |
<a href="#backtotop">Go to Top</a>
|
5420 |
</p>
|
5421 |
<h3>Media/Assistant Submenu Actions and Filters (Hooks)</h3>
|
5422 |
<p>
|
5423 |
-
The Media/Assistant submenu supports a comprehensive set of filters and actions that give you control over table columns, inline actions and bulk actions from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the List Table Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+List+Table+Hooks+Example%22" class="mla-doc-bold-link">MLA List Table Hooks Example</a>. To run the example:
|
|
|
5424 |
<ol>
|
5425 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5426 |
<li>Hover over "MLA List Table Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -5428,7 +5571,6 @@ The Media/Assistant submenu supports a comprehensive set of filters and actions
|
|
5428 |
<li>Go to the Media/Assistant submenu to exercise the filters and write filter/action information to the site's Error Log.</li>
|
5429 |
<li>Examine the Error Log to see the filter/action information.</li>
|
5430 |
</ol>
|
5431 |
-
</p>
|
5432 |
<p>
|
5433 |
The example code documents each hook with comments in the filter/action function that intercepts each hook. There are hooks that let you add, modify or delete table columns.
|
5434 |
</p>
|
@@ -5605,7 +5747,7 @@ The following hooks are defined in <code>/media-library-assistant/includes/class
|
|
5605 |
</tr>
|
5606 |
<tr>
|
5607 |
<td class="mla-doc-hook-label">mla_list_table_extranav_actions</td>
|
5608 |
-
<td class="mla-doc-hook-definition">Gives you an opportunity to add, remove and/or re-order the controls added to the top & bottom table navigation areas.</td>
|
5609 |
</tr>
|
5610 |
<tr>
|
5611 |
<td class="mla-doc-hook-label">mla_list_table_extranav_custom_action</td>
|
@@ -5665,16 +5807,14 @@ The following hooks are defined in <code>/media-library-assistant/includes/class
|
|
5665 |
<td class="mla-doc-hook-definition">Gives you a final chance to modify and extend the HTML markup used for the Bulk Edit on Upload form.</td>
|
5666 |
</tr>
|
5667 |
</table>
|
5668 |
-
<
|
5669 |
-
|
5670 |
-
<a name="mla_media_modal_filters"></a>
|
5671 |
-
</p>
|
5672 |
<p>
|
5673 |
<a href="#backtotop">Go to Top</a>
|
5674 |
</p>
|
5675 |
<h3>Media Manager Enhancement filters (Hooks)</h3>
|
5676 |
<p>
|
5677 |
-
Media Library Assistant adds several controls to the toolbar in the Media Manager Modal Window; more MIME type filters, year/month filter, taxonomy term filter and an enhanced Search media box. These features are supported by a comprehensive set of filters and actions that give you control over MMMW content from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Media Modal Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Media+Modal+Hooks+Example%22" class="mla-doc-bold-link">MLA Media Modal Hooks Example</a>. To run the example:
|
|
|
5678 |
<ol>
|
5679 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5680 |
<li>Hover over "MLA Media Modal Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -5692,7 +5832,7 @@ The following hooks are defined in <code>/wp-admin/includes/class-mla-media-moda
|
|
5692 |
</tr>
|
5693 |
<tr>
|
5694 |
<td class="mla-doc-table-label">mla_media_modal_months_dropdown</td>
|
5695 |
-
<td class="mla-doc-hook-definition">Change the content of the Media Manager Modal Window Month & Year Dropdown control</td>
|
5696 |
</tr>
|
5697 |
<tr>
|
5698 |
<td class="mla-doc-table-label">mla_media_modal_terms_options</td>
|
@@ -5756,10 +5896,7 @@ The following hooks are defined in <code>/wp-admin/includes/class-mla-data-query
|
|
5756 |
<td class="mla-doc-hook-definition">Substitute the results of the Media Manager Modal Window "Query Attachments" query with alternative results of your own</td>
|
5757 |
</tr>
|
5758 |
</table>
|
5759 |
-
<
|
5760 |
-
<a name="mla_edit_meta_boxes"></a>
|
5761 |
-
|
5762 |
-
</p>
|
5763 |
<p>
|
5764 |
<a href="#backtotop">Go to Top</a>
|
5765 |
</p>
|
@@ -5768,7 +5905,8 @@ The following hooks are defined in <code>/wp-admin/includes/class-mla-data-query
|
|
5768 |
Media Library Assistant adds support for the "Custom Fields" meta box to the Media/Edit Media screen. MLA also adds several meta boxes to this screen with more information about the item and where it is used on your site. You can enable/disable the additional meta boxes with an option on the Settings/Media Library Assistant General tab.
|
5769 |
</p>
|
5770 |
<p>
|
5771 |
-
You can also make individual changes in which meta boxes are displayed and in their content by using one or more of the filters MLA provides. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Meta Box Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Meta+Box+Hooks+Example%22" class="mla-doc-bold-link">MLA Meta Box Hooks Example</a>. To run the example:
|
|
|
5772 |
<ol>
|
5773 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5774 |
<li>Hover over "MLA Meta Box Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -5776,7 +5914,6 @@ You can also make individual changes in which meta boxes are displayed and in th
|
|
5776 |
<li>Make any changes or additions you want to in the example plugin source code. For example, you can modify the <code>mla_inserted_in_metabox</code> example to display a simplified version of the "Inserted in" information.</li>
|
5777 |
<li>View the Media/Edit Media screen for an item to see the effect of your changes.</li>
|
5778 |
</ol>
|
5779 |
-
</p>
|
5780 |
<p>
|
5781 |
The example code documents each hook with comments in the filter function that intercepts the hook. Generally, each meta box filter lets you change the size of the text box (if appropriate) and the content that appears in the box. There is also a second filter for each meta box that lets you replace <strong>all</strong> of the HTML content for most boxes; use these with caution. The current hooks are:
|
5782 |
</p>
|
@@ -5818,10 +5955,7 @@ The example code documents each hook with comments in the filter function that i
|
|
5818 |
<td class="mla-doc-hook-definition">modify the rows, columns and content of the "MLA Gallery in" meta box.</td>
|
5819 |
</tr>
|
5820 |
</table>
|
5821 |
-
<
|
5822 |
-
<a name="mla_views"></a>
|
5823 |
-
|
5824 |
-
</p>
|
5825 |
<p>
|
5826 |
<a href="#backtotop">Go to Top</a>
|
5827 |
</p>
|
@@ -5859,9 +5993,8 @@ The Table View list also supports custom field queries. You can choose from thre
|
|
5859 |
</ul>
|
5860 |
<p>
|
5861 |
If you have enabled the <em><strong>Media Manager Enhanced MIME Type filter</strong></em>, the Table View list will also be available in the Media Manager/Add Media "media items" drop down list.
|
5862 |
-
</p>
|
5863 |
<a name="mla_uploads"></a>
|
5864 |
-
|
5865 |
<p>
|
5866 |
<a href="#backtotop">Go to Top</a>
|
5867 |
</p>
|
@@ -5875,6 +6008,7 @@ The first time it is invoked, MLA will retrieve the current list of extensions a
|
|
5875 |
<h4>Extension and MIME Type</h4>
|
5876 |
<p>
|
5877 |
The Extension is the file extension for this type, and unique key for the item. It must be all lowercase and contain only letters, numbers and hyphens (-). The MIME Type value must be all lowercase and contain only letters, numbers, periods (.), slashes (/) and hyphens (-). The MIME type specification must be a single, valid MIME specification, e.g., "image" or "image/jpeg". These two values are used to compose the list of valid extension/type associations for use within WordPress.
|
|
|
5878 |
<p>
|
5879 |
When a file is uploaded to your Media Library the MIME type associated with that file extension is saved in the WordPress database record for the item. Later, you can use the <code>post_mime_type</code> to, for example, include or exclude the item from an <code>[mla_gallery]</code> display. You can think of the MIME Type as another way to categorize items in the Media Library. Once assigned, the MIME Type is not changed if you later alter the association between file extension and MIME Type. Think twice, therefore, when adding a new association to the list or changing the MIME type associated with an existing extension on the list.
|
5880 |
</p>
|
@@ -5886,6 +6020,7 @@ When a file is uploaded to your Media Library the MIME type associated with that
|
|
5886 |
<h4>Source and Status</h4>
|
5887 |
<p>
|
5888 |
The "Source" of an Upload MIME Type reveals where the extension/MIME Type association comes from:
|
|
|
5889 |
<ul class="mla_settings">
|
5890 |
<li><strong>core</strong>: WordPress defines a core set of extensions and associated MIME types, and this list changes with new WordPress releases. These are the "official" items. You can't delete them, but you can inactivate them so they are not used to validate file uploads.</li>
|
5891 |
<li><strong>mla</strong>: Media Library Assistant adds several more extension/type items, drawing from the most popular items found in other plugins and web sites. They are initialized as "inactive" items, so you must explicitly decide to activate them for use in file upload validation.</li>
|
@@ -5925,9 +6060,8 @@ The Icon Type information is used primarily in a function that matches a file ex
|
|
5925 |
</ul>
|
5926 |
<p>
|
5927 |
The icon images can be returned in a <code>[gallery]</code> or an <code>[mla_gallery]</code> shortcode when <code>size=icon</code> is specified. The icons also appear on the Media/Library and Media/Assistant submenu tables.
|
5928 |
-
</p>
|
5929 |
<a name="mla_optional_uploads"></a>
|
5930 |
-
|
5931 |
<p>
|
5932 |
<a href="#backtotop">Go to Top</a>
|
5933 |
</p>
|
@@ -5943,6 +6077,7 @@ The <em><strong>Known File Extension/MIME Type Associations</strong></em> list w
|
|
5943 |
</p>
|
5944 |
<p>
|
5945 |
For your own research, I suggest starting with these resources:
|
|
|
5946 |
<ul class="mla_settings">
|
5947 |
<li><a href="http://www.iana.org/assignments/media-types" target="_blank">Internet Assigned Number Authority MIME Media Types</a></li>
|
5948 |
<li><a href="http://en.wikipedia.org/wiki/Internet_media_type" target="_blank">Wikipedia: Internet Media Type</a></li>
|
@@ -5960,19 +6095,24 @@ Put on your boots and have a paddle handy - it's a swamp! Good luck.
|
|
5960 |
<p>
|
5961 |
In the Custom Fields tab of the Settings screen you can define the rules for mapping several types of file and image metadata to WordPress custom fields. You can also use this screen to define rules for adding or updating elements within the WordPress-supplied "Attachment Metadata", stored in the "_wp_attachment_metadata" custom field. See the <a href="#attachment_metadata_mapping">Adding or changing Attachment Metadata</a> section below for details.
|
5962 |
</p>
|
5963 |
-
<p>
|
|
|
|
|
5964 |
<ul class="mla_settings">
|
5965 |
<li><strong>Execute All Rules button</strong> - just below the "Enable" checkbox controls in the upper-left portion of the tab. Click this button to immediately run <strong>ALL</strong> of the active rules. Rules marked as inactive will not be executed.</li>
|
5966 |
<li><strong>Bulk Actions "Execute"</strong> - Runs the rules you select by checking the box to the left of one or more rule names. Pull down the "Bulk Actions" control and select "Execute", then click the "Apply" button. <strong>Inactive rules will be executed</strong>; do not select them unless you want to execute them!</li>
|
5967 |
<li><strong>"Execute" rollover action</strong> - Runs the single rule you select by clicking the rule's "Execute" rollover action. <strong>Inactive rules will be executed</strong>.</li>
|
5968 |
</ul>
|
5969 |
-
|
5970 |
-
|
|
|
|
|
|
|
|
|
5971 |
<ul class="mla_settings">
|
5972 |
<li><strong>Edit Media screen</strong> - You can click the "Map Custom Field metadata" link in the "Image Metadata" postbox to apply the existing mapping rules to a single attachment.</li>
|
5973 |
<li><strong>Bulk Action edit area</strong> - To perform mapping for a group of attachments you can use the Bulk Action facility on the Media/Assistant screen. Check the attachments you want to map, select "Edit" from the Bulk Actions dropdown list and click "Apply". The bulk edit area will open with a list of the checked attachments in the left-hand column. You can click the "Map Custom Field metadata" button in the lower left corner of the area to apply the existing mapping rules to the attachments in the list.</li>
|
5974 |
</ul>
|
5975 |
-
</p>
|
5976 |
<p>
|
5977 |
Custom field mapping is a powerful tool, but it comes at the price of additional database storage space and processing time to maintain and retrieve the data. <strong><em>Think carefully about your needs before you use this tool.</em></strong> You can disable or delete any rules you create, so you might want to set up some rules for a special project or analysis of your library and then discard them when you're done. That said, the advantages of mapping metadata to custom fields are:
|
5978 |
</p>
|
@@ -5983,15 +6123,21 @@ Custom field mapping is a powerful tool, but it comes at the price of additional
|
|
5983 |
<p>
|
5984 |
If you just want to add a custom field to the Media/Assistant submenu, the quick edit area and/or the bulk edit area you can bypass the mapping logic by leaving the Data Source value as "-- None (select a value) --".
|
5985 |
</p>
|
5986 |
-
<p>
|
|
|
|
|
5987 |
<ul class="mla_settings">
|
5988 |
<li><strong>Enable custom field mapping</strong> - Check this option to enable the mapping rules and display the "Map" buttons on the Media/Edit Media and Media/Assistant Bulk Edit screens.</li>
|
5989 |
<li><strong>Enable custom field mapping when adding new media</strong> - Check this option to enable mapping when uploading new items (attachments) to the Media Library.</li>
|
5990 |
<li><strong>Enable custom field mapping when updating media metadata</strong> - Check this option to enable mapping when item (attachment) metadata is regenerated,
|
5991 |
e.g., when the Media/Edit Media "Edit Image" functions are used.</li>
|
5992 |
</ul>
|
5993 |
-
|
5994 |
-
<
|
|
|
|
|
|
|
|
|
5995 |
<p>
|
5996 |
Some plugins support file uploads from the WordPress "front end", usually by using the WordPress "AJAX" support. To enable mapping when these plugins are used you must add an entry to your <code>wp-config.php</code> file so MLA will load the mapping code:
|
5997 |
</p>
|
@@ -6011,6 +6157,7 @@ If you cannot identify the proper "action" value or if your uploader uses anothe
|
|
6011 |
<h4>Custom field mapping example</h4>
|
6012 |
<p>
|
6013 |
Here is a simple example of mapping the items' file size to a custom field, so you can display it in the Media/Assistant submenu table and use it in and <code>[mla_gallery]</code> shortcode. You can go to the Settings/Media Library Assistant Custom Fields tab and define a rule that maps file size to a WordPress custom field. The steps required are:
|
|
|
6014 |
<ol>
|
6015 |
<li>Navigate to the Settings/Media Library Assistant "Custom Fields" tab.</li>
|
6016 |
<li>Make sure the "Enable custom field mapping when adding new media" box is checked. If not, check the box, scroll down and click "Save Changes".</li>
|
@@ -6034,7 +6181,7 @@ Here is a simple example of mapping the items' file size to a custom field, so y
|
|
6034 |
<br />
|
6035 |
The three parameters in the above example will select all of the images in your media library and sort your gallery so the largest files appear first. You can replace <code>post_parent=all</code> with any other data selection parameters to get the items you want. For example, you can use a "meta_query" to select only those items (of any MIME Type) whose File Size is less than 82,168 bytes (and display the size in the gallery item caption):<br />
|
6036 |
<br />
|
6037 |
-
<code>[mla_gallery post_mime_type=all meta_query="array( array( 'key' => 'File Size', 'value' => array( ' ', ' 82,168' ), 'compare' => 'BETWEEN' ) )" meta_key="File Size" orderby="meta_value" order="DESC" mla_caption="{+caption+}<br
|
6038 |
</p>
|
6039 |
<p>
|
6040 |
Note the format of the <code>value</code> and <code>compare</code> parameters within the <code>meta_query</code>. Because the File Size custom field uses the "Commas" format, the values are stored as 15-character strings with leading spaces; this makes the values display and sort sensibly. You must use <code>'compare' => 'BETWEEN'</code> and give the lowest and highest values as an array in the <code>'value' => array( ' ', ' 82,168' )</code> parameter, padding each value out to exactly 15 characters wide.
|
@@ -6199,8 +6346,10 @@ WordPress stores an array of information for image, audio and video items in the
|
|
6199 |
</p>
|
6200 |
<p>
|
6201 |
As explained elsewhere, you can access all of this data with the "meta:" <a href="#mla_variable_parameters">Field-level markup substitution parameter</a>. By coding the "meta:" prefix in the Field Title column of a field mapping rule you can add to or update this data as well, from any of the data sources listed below. You can use a <a href="#mla_template_parameters">Content Template</a> to compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing the mapping altogether for a given item.
|
|
|
6202 |
<p>
|
6203 |
Let's say, for example, that you want to add GPS coordinates to the "image_meta" element of the Attachment Metadata.
|
|
|
6204 |
<ol>
|
6205 |
<li>
|
6206 |
Open the Settings/Media Library Assistant submenu and select the Custom Fields tab. Scroll down to the "Add a new Field and Mapping Rule" section.
|
@@ -6215,9 +6364,9 @@ In the Data Source dropdown, select "-- Template (see below) --". In the text bo
|
|
6215 |
Set the other parts of the rule as needed. You can select "Keep" if some of your items already have this information or "Replace" to update all items. "Native" and "Text" are appropriate for this example. You can check "Delete NULL values" to remove any existing, empty values for this element. The "MLA Column", "Quick Edit" and "Bulk Edit" checkboxes have no meaning for Attachment Metadata elements and can be left blank; they will be ignored if checked.
|
6216 |
</li>
|
6217 |
</ol>
|
6218 |
-
</p>
|
6219 |
<p>
|
6220 |
If you are creating an IPTC/EXIF mapping rule the details are a bit different.
|
|
|
6221 |
<ol>
|
6222 |
<li>
|
6223 |
Open the Settings/Media Library Assistant submenu and select the IPTC/EXIF tab. Scroll down to the "Add a new Field and Mapping Rule" section.
|
@@ -6232,9 +6381,7 @@ In the "EXIF/Template" text box, enter "template:([+exif:GPS.LatitudeSDD+])". Th
|
|
6232 |
Set the other parts of the rule as needed. You can select "EXIF" unless you also select an IPTC value and want it to have priority. You can select "Keep" if some of your items already have this information or "Replace" to update all items.
|
6233 |
</li>
|
6234 |
</ol>
|
6235 |
-
|
6236 |
-
<a name="custom_field_mapping_with_templates"></a>
|
6237 |
-
|
6238 |
<p>
|
6239 |
<a href="#backtotop">Go to Top</a>
|
6240 |
</p>
|
@@ -6247,30 +6394,33 @@ Within a template, all of the data sources listed above are available. For examp
|
|
6247 |
</p>
|
6248 |
<p>
|
6249 |
You can use a template to compose a custom field from multiple data sources, e.g., "<code>Taken with [+meta:camera+] at [+dimensions+] using ISO [+exif:ISOSpeedRatings,single+] and [+exif:ExposureTime+] exposure time</code>".
|
6250 |
-
<p>
|
6251 |
</p>
|
|
|
6252 |
You can use a template to compose a custom field from alternative data sources, depending on which fields are populated for a given attachment. For example, "<code>[+pdf:Keywords+]|[+iptc:2#025+]|none</code>" will use the PDF Keywords field, if populated, then the IPTC keywords field, if populated, or the literal "none" if neither field contains a value. With this template you can get keywords from both PDF documents and images in a single field.
|
|
|
6253 |
<p>
|
6254 |
Using a template with the Option Dropdown "Text" or "Single" values will yield a text result. For example, multiple IPTC keywords would be converted into a comma-delimited list as a string. If you combine a template with the "Export", "Array" or "Multi" values the template will deliver an array result if the fields inside the template have multiple values. For example, with "Multi" you can code "<code>([+iptc:2#020<strong>,array</strong>+])([+iptc:2#025<strong>,array</strong>+])</code>" to store each of the IPTC supplemental-category <em><strong>and</strong></em> keywords values (there is no "|" in the template) in a separate custom field value. Note the use of the <strong>,array</strong> formatting option in each field; this is required to get an array result for the field. Also, note that each of the fields is enclosed in parentheses, so the field is suppressed if it contains no values.
|
6255 |
</p>
|
6256 |
<p>
|
6257 |
<strong>CAUTION:</strong> If you use the <code>[+custom:ALL_CUSTOM+]</code> pseudo value in a mapping rule, and you apply the rule more than once, you will see copies of the field you are mapping to in the result. To "clear out" a field you are mapping ALL_CUSTOM into, clear out the text box containing the template, select "Replace" and check the "Delete NULL values" box. Then, click "Map All Attachments"; that will delete the old values and give you a clean start. You'll also see that the template you deleted will be restored after the mapping is complete.
|
|
|
6258 |
</p>
|
6259 |
-
<a name="mla_iptc_exif_mapping"></a>
|
6260 |
<p>
|
6261 |
<a href="#backtotop">Go to Top</a>
|
6262 |
</p>
|
6263 |
<h3>IPTC & EXIF Processing Options</h3>
|
6264 |
<p>
|
6265 |
-
Some image file formats such as JPEG DCT or TIFF Rev 6.0 support the addition of data about the image, or <em>metadata</em>, in the image file. In addition, many JPEG, TIFF and PDF files use the Extensible Metadata Platform (XMP)</a> framework. XMP metadata varies from file to file but is often extensive. Many popular image processing programs such as Adobe PhotoShop allow you to populate metadata fields with information such as a copyright notice, caption, the image author and keywords that categorize the image in a larger collection. WordPress uses some of this information to populate the Title, Slug and Description fields when you add an image to the Media Library.
|
6266 |
</p>
|
6267 |
<p>
|
6268 |
The Media Library Assistant has powerful tools for copying metadata to:
|
|
|
6269 |
<ul class="mla_settings">
|
6270 |
<li>the WordPress standard fields, e.g., the Caption</li>
|
6271 |
<li>taxonomy terms, e.g., in categories, tags or custom taxonomies like Att. Categories and Att. Tags</li>
|
6272 |
<li>WordPress Custom Fields</li>
|
6273 |
</ul>
|
|
|
6274 |
You can define the rules for mapping metadata on the "IPTC/EXIF" tab of the Settings page. You can choose to automatically apply the rules when new media are added to the Library (or not). You can click the "Map IPTC/EXIF metadata" button on the Edit Media/Edit Single Item screen or in the bulk edit area to selectively apply the rules to one or more items. You can use the "Execute" functions in the tab to apply the rules to one, some or <strong><em>ALL</em></strong> of the items in your library at one time.
|
6275 |
</p>
|
6276 |
<p>If you use any of the "Execute" functions, the selected rule(s) will be immediately applied to <strong>all</strong> of the attachments in your Media Library. THERE<strong> IS NO UNDO FOR THESE ACTIONS!</strong></p>
|
@@ -6278,25 +6428,29 @@ You can define the rules for mapping metadata on the "IPTC/EXIF" tab of the Sett
|
|
6278 |
If you just want to add a custom field to the Media/Assistant submenu, the quick edit area and/or the bulk edit area go to the "Custom Fields" tab and follow the instructions there.
|
6279 |
</p>
|
6280 |
<p>In this tab there are three ways to execute one or more IPTC/EXIF mapping rules for <strong>ALL</strong> of your Media Library items:
|
|
|
6281 |
<ul class="mla_settings">
|
6282 |
<li><strong>Execute All Rules button</strong> - just below the "Enable" checkbox controls in the upper-left portion of the tab. Click this button to immediately run <strong>ALL</strong> of the active rules. Rules marked as inactive will not be executed.</li>
|
6283 |
<li><strong>Bulk Actions "Execute"</strong> - Runs the rules you select by checking the box to the left of one or more rule names. Pull down the "Bulk Actions" control and select "Execute", then click the "Apply" button. <strong>Inactive rules will be executed</strong>; do not select them unless you want to execute them!</li>
|
6284 |
<li><strong>"Execute" rollover action</strong> - Runs the single rule you select by clicking the rule's "Execute" rollover action. <strong>Inactive rules will be executed</strong>.</li>
|
6285 |
</ul>
|
|
|
6286 |
These commands process your items in "chunks" to prevent timeout errors. You can pause/resume or cancel the operation between chunks.</p>
|
6287 |
<p>There are two other ways you can perform IPTC/EXIF mapping for one or more existing attachments:
|
|
|
6288 |
<ul class="mla_settings">
|
6289 |
<li><strong>Edit Media screen</strong> - You can click the "Map IPTC/EXIF metadata" link in the "Image Metadata" postbox to apply the existing mapping rules to a single attachment.</li>
|
6290 |
<li><strong>Bulk Action edit area</strong> - To perform mapping for a group of attachments you can use the Bulk Action facility on the Media/Assistant screen. Check the attachments you want to map, select "Edit" from the Bulk Actions dropdown list and click "Apply". The bulk edit area will open with a list of the checked attachments in the left-hand column. You can click the "Map IPTC/EXIF metadata" button in the lower left corner of the area to apply the standing mapping rules to the attachments in the list.</li>
|
6291 |
</ul>
|
6292 |
-
</p>
|
6293 |
<p>Three checkbox options control the IPTC/EXIF mapping when new items are added to the Media Library:
|
|
|
6294 |
<ul class="mla_settings">
|
6295 |
<li><strong>Enable IPTC/EXIF Mapping</strong> - Check this option to enable the mapping rules and display the "Map" buttons on the Media/Edit Media and Media/Assistant Bulk Edit screens.</li>
|
6296 |
<li><strong>Enable IPTC/EXIF Mapping when adding new media</strong> - Check this option to enable mapping when uploading new items (attachments) to the Media Library.</li>
|
6297 |
<li><strong>Enable IPTC/EXIF Mapping when updating media metadata</strong> - Check this option to enable mapping when item (attachment) metadata is regenerated,
|
6298 |
e.g., when the Media/Edit Media "Edit Image" functions are used.</li>
|
6299 |
</ul>
|
|
|
6300 |
The "when adding" and "when updating" options do <strong>NOT</strong> affect the operation of the "Map" buttons on the bulk edit or single edit screens, nor do they affect any of the "Execute" mapping functions On this Settings screen.</p>
|
6301 |
<p>Check one or more options to enable these features, then click the "Save Changes" button to record your new setting(s).</p>
|
6302 |
<p>
|
@@ -6310,7 +6464,7 @@ The above example adds the "action" values for two popular file upload plugins,
|
|
6310 |
</p>
|
6311 |
<p>
|
6312 |
If you cannot identify the proper "action" value or if your uploader uses another method to do its work you can try adding <code>define( 'MLA_AJAX_EXCEPTIONS', 'always' );</code> to your <code>wp-config.php</code> file. This value will unconditionally load full MLA support for AJAX operations and may give you better results. You can also use the <a href="#mla_debug_tab">Debug tab</a> and <code>define( 'MLA_DEBUG_LEVEL', 3 );</code> to log more information about file upload requests; that may help identify the appropriate "action" value.
|
6313 |
-
<a name="iptc_exif_mapping_example"></a
|
6314 |
</p>
|
6315 |
<p>
|
6316 |
<a href="#backtotop">Go to Top</a>
|
@@ -6326,6 +6480,7 @@ DateTime 2012:12:01 17:37:05<br />
|
|
6326 |
</blockquote>
|
6327 |
<p>
|
6328 |
You can go to the Settings/Media Library Assistant IPTC/EXIF tab and define a rule that maps any of these fields to a WordPress custom field. The steps required are:
|
|
|
6329 |
<ol>
|
6330 |
<li>Navigate to the Settings/Media Library Assistant IPTC/EXIF tab.</li>
|
6331 |
<li>Make sure the "Enable IPTC/EXIF Mapping when adding new media" box is checked. If not, check the box, scroll down and click "Save Changes".</li>
|
@@ -6350,9 +6505,9 @@ You can use the meta_key, orderby and order parameters to sort an <code>[mla_gal
|
|
6350 |
<br />
|
6351 |
The three parameters in the above example will select all of the images in your media library and sort your gallery so the newest/most recent images appear first. You can replace <code>post_parent=all</code> with any other data selection parameters to get the images you want. For example, you can use a "meta_query" to select only those images created after 2012-01-01 (and display the date in the gallery item caption):<br />
|
6352 |
<br />
|
6353 |
-
<code>[mla_gallery meta_query="array( array( 'key' => 'Date Time Created', 'value' => '2012-01-01', 'compare' => '
|
|
|
6354 |
</p>
|
6355 |
-
<a name="iptc_exif_mapping_tables"></a>
|
6356 |
<p>
|
6357 |
<a href="#backtotop">Go to Top</a>
|
6358 |
</p>
|
@@ -6427,11 +6582,11 @@ The Format element has a "commas" value that can improve the results of sorting
|
|
6427 |
If you code the "template:" prefix at the beginning of the EXIF/Template value you have all the power of Content Templates at your disposal. Do <strong>not</strong> add the "[+" and "+]" delimiters; the prefix is all you need.
|
6428 |
</p>
|
6429 |
<p>
|
6430 |
-
A template can be used to access any XMP metadata your items contain. For example:<br
|
6431 |
-
<br
|
6432 |
-
<code>template:([+xmp:Title+])</code><br
|
6433 |
-
<code>template:([+xmp:Regions.RegionList.*.*.Name,array+])</code><br
|
6434 |
-
<br
|
6435 |
Note the use of parentheses around the XMP parameters, which replace missing values with an empty value to enable proper rule processing.
|
6436 |
</p>
|
6437 |
<p>
|
@@ -6439,8 +6594,8 @@ Within a template, all of the <a href="#field_level_data_sources">Data sources f
|
|
6439 |
</p>
|
6440 |
<p>
|
6441 |
You can use a template to compose a value from multiple data sources, e.g., "<code>Taken with [+meta:camera+] at [+dimensions+] using ISO [+exif:ISOSpeedRatings,single+] and [+exif:ExposureTime+] exposure time</code>".
|
6442 |
-
<p>
|
6443 |
</p>
|
|
|
6444 |
You can use a template to compose a value from alternative data sources, depending on which fields are populated for a given attachment. For example, "<code>[+iptc:2#020+]|[+iptc:2#025+]|none</code>" will use the IPTC supplemental-category field, if populated, then the IPTC keywords field, if populated, or the literal "none" if neither IPTC field contains a value.
|
6445 |
</p>
|
6446 |
<p>
|
@@ -6451,8 +6606,32 @@ In the "Standard field mapping" table a special <code>template:[+empty+]</code>
|
|
6451 |
</p>
|
6452 |
<p>
|
6453 |
Note that the <strong>,array</strong> formatting option is <strong>not</strong> required to get an array result for the field in a Taxonomy term mapping template; it is assumed. If you want a <strong>text</strong>, <strong>single</strong> or <strong>export</strong> result you can add one of those formatting options to your field specification.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6454 |
</p>
|
6455 |
-
<a name="pdf_iptc_exif_mapping"></a>
|
6456 |
<p>
|
6457 |
<a href="#backtotop">Go to Top</a>
|
6458 |
</p>
|
@@ -6492,6 +6671,7 @@ You can use Content Templates in the EXIF/Template Value text box to extract met
|
|
6492 |
</table>
|
6493 |
<p>
|
6494 |
The three rules have a similar structure:
|
|
|
6495 |
<ul class="mla_settings">
|
6496 |
<li>"template:" (goes in the text box below "EXIF/Template Value") is used to access the pdf: values instead of the EXIF values.</li>
|
6497 |
<li>The values are surrounded by parentheses "(" and ")" so they will return an empty string for documents without meta data in the field and for other items such as images.
|
@@ -6499,6 +6679,7 @@ The three rules have a similar structure:
|
|
6499 |
<li>I have selected "Replace" to overwrite the existing text, because a default Title was assigned to the items when they were uploaded. You can change this to "Keep" if you already have values in one or more of the fields that you want to retain.
|
6500 |
</li>
|
6501 |
</ul>
|
|
|
6502 |
The taxonomy rule also has the ",array" option to return multiple keywords as individual array elements that can be converted to taxonomy terms. For this rule, the "Delimiter(s)" text box contains a comma and a semicolon, which should cover most of the documents you will encounter.
|
6503 |
</p>
|
6504 |
<p>
|
@@ -6536,14 +6717,16 @@ If your Media Library contains a mix of images and PDF documents you will want a
|
|
6536 |
</table>
|
6537 |
<p>
|
6538 |
The three rules have similar changes:
|
|
|
6539 |
<ul class="mla_settings">
|
6540 |
<li>A vertical bar ("|") separates the two data source specifications. This is the Content Template "Choice" operator, which takes the first non-blank alternative from among the choices.</li>
|
6541 |
<li>A second data source for images. The PDF documents will not have "exif:"/"iptc:" data sources, and images will not have "pdf:" data sources, so only one (at most) of the two alternatives will be non-blank.
|
6542 |
</li>
|
6543 |
</ul>
|
|
|
6544 |
In fact, WordPress contains its own rules for composing a Title from IPTC/Exif metadata (see <a href="#wordpress_default_mapping">WordPress default title, slug and description mapping</a>), so you may not need or want to extend the Title rule. WordPress also fills the Description field, but does not fill the Caption. You may want to copy the Description into the Caption; if you do, replace <code>[+exif:ImageDescription+]</code> with <code>[+post_content+]</code> in the Caption rule.
|
|
|
6545 |
</p>
|
6546 |
-
<a name="wordpress_default_mapping"></a>
|
6547 |
<p>
|
6548 |
<a href="#backtotop">Go to Top</a>
|
6549 |
</p>
|
@@ -6553,6 +6736,7 @@ When WordPress uploads a new image file that contains IPTC and EXIF metadata it
|
|
6553 |
</p>
|
6554 |
<p>
|
6555 |
The WordPress rules are somewhat complex; consult the source code if you need exact details. Roughly speaking, the priority order for mapping the post_title and post_name values from non-blank IPTC/EXIF metadata is:
|
|
|
6556 |
<ol>
|
6557 |
<li>EXIF "Title"</li>
|
6558 |
<li>EXIF "ImageDescription" (if less than 80 characters)</li>
|
@@ -6565,14 +6749,14 @@ The priority order for mapping the post_content value from non-blank IPTC/EXIF m
|
|
6565 |
<li>EXIF "ImageDescription" (if different from post_title)</li>
|
6566 |
<li>IPTC 2#120 "caption-or-abstract" (if different from post_title)</li>
|
6567 |
</ol>
|
6568 |
-
</p>
|
6569 |
<a name="mla_mapping_hooks"></a>
|
6570 |
<p>
|
6571 |
<a href="#backtotop">Go to Top</a>
|
6572 |
</p>
|
6573 |
<h3>MLA Custom Field and IPTC/EXIF Mapping Actions and Filters (Hooks)</h3>
|
6574 |
<p>
|
6575 |
-
The Custom Field and IPTC/EXIF Mapping tools support a comprehensive set of filters and actions that give you complete control over rule execution and value creation from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Mapping Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Mapping+Hooks+Example%22" class="mla-doc-bold-link">MLA Mapping Hooks Example</a>. To run the example:
|
|
|
6576 |
<ol>
|
6577 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
6578 |
<li>Hover over "MLA Mapping Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
@@ -6580,7 +6764,6 @@ The Custom Field and IPTC/EXIF Mapping tools support a comprehensive set of filt
|
|
6580 |
<li>Upload a new attachment and/or run the mapping rules to exercise the filters and write mapping information to the site's Error Log.</li>
|
6581 |
<li>Examine the Error Log to see the mapping information.</li>
|
6582 |
</ol>
|
6583 |
-
</p>
|
6584 |
<p>
|
6585 |
The example code documents each hook with comments in the filter/action function that intercepts each hook. There are hooks that run at the beginning and end of the overall mapping operation as well as hooks for each mapping rule.
|
6586 |
</p>
|
@@ -6629,7 +6812,7 @@ The current mapping hooks are:
|
|
6629 |
</tr>
|
6630 |
</table>
|
6631 |
<p>
|
6632 |
-
A second example plugin, <a title="Find the Metadata Mapping Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Metadata+Mapping+Hooks+Example%22" class="mla-doc-bold-link">MLA Metadata Mapping Hooks Example</a>, illustrates the metadata hooks. The current insert attachment/update attachment metadata hooks are:
|
6633 |
</p>
|
6634 |
<table>
|
6635 |
<tr>
|
@@ -6752,6 +6935,10 @@ The MLA_DEBUG_LEVEL is also used to turn categories of debug messages on and off
|
|
6752 |
<td class="mla-doc-table-label">64, or 0x0040</td>
|
6753 |
<td>writes MLA-specific messages to the log for "where-used" reference collection.</td>
|
6754 |
</tr>
|
|
|
|
|
|
|
|
|
6755 |
</table>
|
6756 |
<p>
|
6757 |
You can pick the logging categories you want by adding the above values together. For example, to log only PHP messages you can use <code>define( 'MLA_DEBUG_LEVEL', 1 );</code> or <code>define( 'MLA_DEBUG_LEVEL', 0x0001 );</code>. To add the "AJAX" messages you can use <code>define( 'MLA_DEBUG_LEVEL', 3 );</code> or <code>define( 'MLA_DEBUG_LEVEL', 0x0003 );</code>. The hexadecimal notation ( 0x0003 ) can be easier to understand when several options are involved.
|
@@ -6797,7 +6984,7 @@ Below the Debug Settings section is a text area with the current content of the
|
|
6797 |
</ul>
|
6798 |
<p>
|
6799 |
If you are having an MLA problem that includes error messages in the log, copying the messages and adding them to your Support Forum topic can be most helpful; thanks!
|
6800 |
-
<a name="mla_language_tab"></a
|
6801 |
</p>
|
6802 |
<p>
|
6803 |
<a href="#backtotop">Go to Top</a>
|
@@ -6877,16 +7064,21 @@ When new terms are added during IPTC/EXIF taxonomy term mapping a third task is
|
|
6877 |
<p>
|
6878 |
When a specific language is selected only the item translations for that language are shown, and only the terms for that language are displayed (except for a Polylang bug that shows all languages in the "auto-complete" list for flat taxonomies). When "All Languages"/"Show all languages" is selected the terms for all languages are displayed even if they cannot be assigned to an item. For example, a Spanish term may appear in the list be cannot be assigned to an English item translations.
|
6879 |
</p>
|
|
|
6880 |
For individual edit and quick edit updates the rule is simple:
|
|
|
6881 |
<ol>
|
6882 |
<li>For all terms selected/entered, find the equivalent term in the language of the item translation. Assign the equivalent (language-specific) term if one exists. If no equivalent term exists, ignore the selected/entered term. Assign all equivalent terms to the item translation, replacing any previous terms.</li>
|
6883 |
</ol>
|
|
|
6884 |
For bulk edit updates the rule depends on which action (add, remove, replace) has been selected. Each of the item translations in the bulk edit list is updated by these rules:
|
|
|
6885 |
<ol>
|
6886 |
<li><strong>Add</strong>: For all terms selected/entered, find the equivalent term in the language of the item translation. Assign the equivalent (language-specific) term if one exists. If the equivalent term exists, add it to the item translation.</li>
|
6887 |
<li><strong>Remove</strong>: For all terms selected/entered, find the equivalent term in the language of the item translation. Assign the equivalent (language-specific) term if one exists. If the equivalent term exists, remove it from the item translation.</li>
|
6888 |
<li><strong>Replace</strong>: This is the tricky case. What should happen to terms already assigned to an item translation that have not been selected/entered for the update? In particular, what about terms that do not have translations to all languages? Should a "French-only" term be preserved?</li>
|
6889 |
</ol>
|
|
|
6890 |
The "<strong>Replace</strong>" answer is the same as the individual/quick edit answer. If the term is not selected/entered for the update it is discarded along with the other old assignments. After all, in "All Languages"/"Show all languages" mode the "French-only" term would have been in the list and could be selected if desired.
|
6891 |
</p>
|
6892 |
<strong>Term Synchronization</strong>
|
@@ -6949,7 +7141,7 @@ When rules are defined in the IPTC/EXIF "Taxonomy term mapping section" they ext
|
|
6949 |
</ul>
|
6950 |
<p>
|
6951 |
If you use Replication to automatically create terms in non-current languages they will be created with the same text value as the source term in the current language. You can always go to the taxonomy edit page and change the source text to an appropriate value for the other language(s). If you do not use Replication you can always go to the taxonomy edit page and add translations with an appropriate value for the other language(s).
|
6952 |
-
<a name="mla_example_plugins"></a
|
6953 |
</p>
|
6954 |
<p>
|
6955 |
<a href="#backtotop">Go to Top</a>
|
@@ -6960,6 +7152,7 @@ The MLA example plugins have been developed to illustrate practical applications
|
|
6960 |
<p>The Documentation/Example Plugins submenu lets you browse the list of MLA example plugins, install or update them in the Plugins/Installed Plugins area and see which examples you have already installed. <strong>To activate, deactivate or delete</strong> the plugins you must go to the Plugins/Installed Plugins admin submenu.</p>
|
6961 |
<p>
|
6962 |
The Example plugins submenu lists all of the MLA example plugins and identifies those already in the Installed Plugins area. In the submenu:
|
|
|
6963 |
<ul class="mla_settings">
|
6964 |
<li>the "Screen Options" dropdown area lets you choose which columns to display and how many items appear on each page</li>
|
6965 |
<li>the "Help" dropdown area gives you a brief explanation of the submenu content and functions</li>
|
@@ -6967,7 +7160,6 @@ The Example plugins submenu lists all of the MLA example plugins and identifies
|
|
6967 |
<li>bulk and rollover actions are provided to install or update example plugins</li>
|
6968 |
<li>the table can be sorted by any of the displayed columns</li>
|
6969 |
</ul>
|
6970 |
-
</p>
|
6971 |
<p>
|
6972 |
Once you have installed an example plugin you can use the WordPress Plugins/Editor submenu to view the source code and (with extreme caution) make small changes to the code. <strong>Be very careful if you choose to modify the code!</strong> Making changes to active plugins is not recommended. If your changes cause a fatal error, the plugin will be automatically deactivated. It is much safer to download the file(s) or use FTP access to your site to modify the code offline in a more robust HTML/PHP editor.
|
6973 |
</p>
|
1 |
<!-- template="documentation-tab" -->
|
2 |
<h2>Plugin and Shortcode Documentation. In this tab, jump to:</h2>
|
3 |
+
<div class="mla-display-settings-page" id="mla-display-settings-documentation-tab" style="width:710px">
|
4 |
<p class="submit mla-settings-submit">
|
5 |
Browse and install:
|
6 |
+
<a href="[+example_url+]" class="button button-primary">Example Plugins</a><br />
|
7 |
<br />
|
8 |
+
For more information about the example plugins, jump to <a href="#mla_example_plugins">The Example Plugins</a><br />
|
9 |
|
10 |
</p>
|
11 |
<div id="mla-doc-gallery-shortcode"><a href="#mla_gallery"><strong>MLA Gallery Shortcode</strong></a>
|
77 |
<li>
|
78 |
<a href="#gallery_examples"><strong>MLA Gallery Examples</strong></a>
|
79 |
</li>
|
80 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
81 |
<li><a href="#simple_examples">Simple Examples</a></li>
|
82 |
<li><a href="#paginated_gallery">A Paginated Gallery</a></li>
|
83 |
<li><a href="#cloud_and_gallery">Tag Cloud and Gallery</a></li>
|
84 |
<li><a href="#search_form_and_gallery">Search Form and Gallery</a></li>
|
85 |
+
</ul></li>
|
86 |
<li>
|
87 |
<a href="#mla_output_parameter"><strong>Support for Alternative Gallery Output, e.g., Pagination</strong></a>
|
88 |
</li>
|
95 |
<li>
|
96 |
<a href="#mla_gallery_templates"><strong>Style and Markup Templates</strong></a>
|
97 |
</li>
|
98 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
99 |
<li><a href="#argument_parameters">Argument substitution parameters</a></li>
|
100 |
<li><a href="#gallery_specific">Gallery-specific substitution parameters</a></li>
|
101 |
<li><a href="#mla_style_parameters">Substitution parameters for style templates</a></li>
|
102 |
<li><a href="#mla_markup_parameters">Substitution parameters for markup templates</a></li>
|
103 |
<li><a href="#mla_attachment_parameters">Attachment-specific substitution parameters for the markup template Item part</a></li>
|
104 |
+
</ul></li>
|
105 |
<li>
|
106 |
<a href="#mla_table_example"><strong>A table-based Style and Markup template example</strong></a>
|
107 |
</li>
|
108 |
<li>
|
109 |
<a href="#mla_variable_parameters"><strong>Field-level substitution parameters</strong></a>
|
110 |
</li>
|
111 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
112 |
<li><a href="#field_level_prefixes">Field-level prefix values</a></li>
|
113 |
<li><a href="#field_level_formats">Field-level option/format values</a></li>
|
114 |
<li><a href="#field_level_data_sources">Field-level data sources</a></li>
|
115 |
+
<li><a href="#mla_iptc_identifiers">Field-level IPTC identifiers and friendly names</a></li>
|
116 |
<li><a href="#mla_camera_values">Field-level Enhanced EXIF CAMERA values</a></li>
|
117 |
<li><a href="#mla_gps_values">Field-level Enhanced EXIF GPS values</a></li>
|
118 |
<li><a href="#pdf_metadata">Field-level metadata in PDF documents</a></li>
|
119 |
<li><a href="#substitution_parameter_filters">Field-level substitution parameter filters (Hooks)</a></li>
|
120 |
+
</ul></li>
|
121 |
<li>
|
122 |
<a href="#mla_template_parameters"><strong>Content Templates</strong></a>
|
123 |
+
</li>
|
124 |
+
<li>
|
125 |
+
<a href="#mla_regular_expressions"><strong>Regular Expression Features</strong></a>
|
126 |
+
</li>
|
127 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
128 |
+
<li><a href="#mla_regular_expressions_patterns">Patterns and Subpatterns</a></li>
|
129 |
+
<li><a href="#mla_regular_expressions_match">The <code>,match(p)</code> option/format value</a></li>
|
130 |
+
<li><a href="#mla_regular_expressions_extract">The <code>,extract(p,v)</code> option/format value</a></li>
|
131 |
+
<li><a href="#mla_regular_expressions_replace">The <code>,replace(p,r,v)</code> option/format value</a></li>
|
132 |
+
<li><a href="#mla_regular_expressions_matches">The <code>matches:</code> field-level prefix</a></li>
|
133 |
+
<li><a href="#mla_regular_expressions_examples">Application Examples</a></li>
|
134 |
+
</ul></li>
|
135 |
<li>
|
136 |
<a href="#mla_text_widget"><strong>The MLA Text Widget</strong></a>
|
137 |
</li>
|
168 |
<li>
|
169 |
<a href="#mla_custom_field_mapping"><strong>Custom Field and Attachment Metadata Processing Options</strong></a>
|
170 |
</li>
|
171 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
172 |
<li><a href="#custom_field_mapping_example">Custom field mapping example</a></li>
|
173 |
<li><a href="#custom_field_rule_elements">The custom field rule elements</a></li>
|
174 |
<li><a href="#attachment_metadata_mapping">Adding or Changing Attachment Metadata</a></li>
|
175 |
<li><a href="#custom_field_mapping_with_templates">Custom field mapping with Content Templates</a></li>
|
176 |
+
</ul></li>
|
177 |
<li>
|
178 |
<a href="#mla_iptc_exif_mapping"><strong>IPTC & EXIF Processing Options</strong></a>
|
179 |
</li>
|
180 |
+
<li style="list-style-type:none"><ul class="mla-doc-toc-list">
|
181 |
<li><a href="#iptc_exif_mapping_example">IPTC/EXIF mapping example</a></li>
|
182 |
<li><a href="#iptc_exif_mapping_tables">The IPTC/EXIF rule elements</a></li>
|
183 |
<li><a href="#iptc_exif_mapping_with_templates">EXIF/Template mapping with Content Templates</a></li>
|
184 |
+
<li><a href="#date_iptc_exif_mapping">IPTC/EXIF Mapping and Bulk Editing for the "Uploaded on" Standard Field</a></li>
|
185 |
<li><a href="#pdf_iptc_exif_mapping">IPTC/EXIF Mapping for PDF Documents</a></li>
|
186 |
<li><a href="#wordpress_default_mapping">WordPress default title, slug and description mapping</a></li>
|
187 |
+
</ul></li>
|
|
|
188 |
<li><a href="#mla_mapping_hooks"><strong>MLA Custom Field and IPTC/EXIF Mapping Actions and Filters (Hooks)</strong></a></li>
|
189 |
<li><a href="#mla_debug_tab"><strong>MLA Debug Tab</strong></a></li>
|
190 |
<li><a href="#mla_language_tab"><strong>WPML & Polylang Multilingual Support; the MLA Language Tab</strong></a></li>
|
199 |
<p>
|
200 |
If you are a developer interested in how this plugin is put together, you should
|
201 |
have a look at the <a title="Consult the phpDocs documentation" href="[+phpDocs_url+]" target="_blank" class="mla-doc-bold-link">phpDocs documentation</a>.
|
|
|
202 |
<a name="mla_gallery"></a>
|
203 |
+
</p>
|
204 |
<p>
|
205 |
<a href="#backtotop">Go to Top</a>
|
206 |
</p>
|
232 |
<h4>Substitution Parameters</h4>
|
233 |
<p>
|
234 |
Substitution parameters are a powerful way to add general and attachment-specific values to the gallery display. For example, if you code "<code>mla_rollover_text='{+date+} : {+description+}'</code>, the rollover text will contain the upload date, a colon, and the full description of each gallery item. There are dozens of parameter names like `date` and `description` divided in several categories:
|
235 |
+
</p>
|
236 |
<table>
|
237 |
<tr>
|
238 |
<td class="mla-doc-table-label"><a href="#gallery_specific">Gallery-specific</a></td>
|
259 |
<td>lets you compose a value from multiple substitution parameters and test for empty values, choose among two or more alternatives or suppress output entirely</td>
|
260 |
</tr>
|
261 |
</table>
|
262 |
+
<p>
|
263 |
Click on any of the category names in the above table to go to the Documentation section describing the names available in that category and how to use them.
|
264 |
</p>
|
265 |
<p>
|
439 |
All but the "mla_target" parameter support the <a href="#mla_markup_parameters">Markup</a>, <a href="#mla_attachment_parameters">Attachment-specific</a>, <a href="#mla_variable_parameters">Field-level</a> and <a href="#mla_template_parameters">Content Template</a> substitution parameters defined for Markup Templates. For example, if you code "<code>mla_rollover_text='{+date+} : {+description+}'</code>, the rollover text will contain the upload date, a colon, and the full description of each gallery item. Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the WordPress shortcode parser reserves square brackets ("[" and "]") for its own use.
|
440 |
</p>
|
441 |
<p>
|
442 |
+
The "mla_link_href" parameter is a great way to change the destination your gallery item links to or add arguments to the link for later processing. For example, to make a gallery item link back to the page/post it is attached to, you can code: <code>mla_link_href='{+site_url+}/?page_id={+parent+}'</code>. You can also add arguments to the link, e.g., <code>mla_link_href='{+link_url+}?myarg1=myvalue1&amp;myarg2=myvalue2'</code>. Note the use of the HTML entity name "&amp;" to put an ampersand in the value; the WordPress "visual" post editor will replace "&", "<" and ">" with "&amp;", "&lt;" and "&gt;" whether you like it not. The <strong>only</strong> markup parameter modified by this parameter is "link". Other markup parameters such as "pagelink", "filelink" and "link_url" are not modified.
|
443 |
</p>
|
444 |
<p>
|
445 |
The "mla_link_attributes" and "mla_image_attributes" parameters accept any value and adds it to the "<a>" or "<img>" tags for the gallery item. For example, you can create a Shadowbox JS (plugin) album by adding <code>mla_link_attributes='rel="shadowbox{sbalbum-{+instance+}};player=img"'</code> to your shortcode query (note the use of single quotes around the parameter value and the double quotes within the parameter). <strong>IMPORTANT:</strong> since the shortcode parser reserves square brackets ("[" and "]") for its own use, <strong>you must substitute curly braces for square brackets</strong> if your attributes require brackets (as this example does). In this case, the actual attribute added to the link will be <code>rel="shadowbox[sbalbum-1];player=img"</code>. If you must code a curly brace in your attribute value, preface it with <strong>two backslash characters</strong>, e.g., "\\{" or "\\}". If you code an attribute already present in the tag, your value will override the existing value.
|
509 |
</p>
|
510 |
<p>
|
511 |
Five options in the Settings/Media Library Assistant MLA Gallery tab allow control over mla_viewer operation:
|
512 |
+
</p>
|
513 |
<ul class="mla_settings">
|
514 |
<li><strong>Enable thumbnail substitution</strong><br />
|
515 |
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 <code>[mla_gallery]</code> display.<br />
|
524 |
<li><strong>Ghostscript path</strong><br />
|
525 |
If your Ghostscript software is in a non-standard location, enter the full path and name of the executable here. The value you enter will be used as-is and the search for Ghostscript in the usual locations will be bypassed.</li>
|
526 |
</ul>
|
527 |
+
<a name="order_orderby"></a>
|
|
|
528 |
<h4>Order, Orderby</h4>
|
529 |
<p>
|
530 |
The Orderby parameter specifies which database field(s) are used to sort the gallery. You can sort the gallery by one or more of these values (there is additional information on some of these values in the <a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" title="WordPress Codex link" target="_blank">Codex WP_Query class reference</a>):
|
676 |
<p>
|
677 |
The links generated for mla_named_transfer items are of the form:<br />
|
678 |
<br />
|
679 |
+
<code>http://mysite.com/wp-admin/admin-ajax.php?action=mla_named_transfer&mla_item=item-name&mla_disposition=inline</code><br />
|
680 |
<br />
|
681 |
Where the query arguments are:
|
682 |
</p>
|
699 |
</tr>
|
700 |
</table>
|
701 |
<p>
|
702 |
+
This alternate approach provides a small measure of security by obscuring the directory structure used to locate the file. It also makes it possible to generate SEO-friendly "pretty links" and use the <a href="https://codex.wordpress.org/Rewrite_API" title="Codex article: Rewrite API" target="_blank">WordPress Rewrite API</a> to translate the pretty links to the Transfer by Item Name syntax. The <a title="Find the Pretty Links Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Item+Transfer+Pretty+Links%22" class="mla-doc-bold-link">MLA Item Transfer Pretty Links</a> example plugin shows how this can be done.
|
703 |
<a name="include_exclude"></a>
|
704 |
</p>
|
705 |
<h4>Include, Exclude</h4>
|
829 |
</p>
|
830 |
<table>
|
831 |
<tr>
|
|
|
832 |
<td class="mla-doc-table-label">tax_relation</td>
|
833 |
<td>SQL operator to join multiple taxonomy queries; can be "AND" (the default) or "OR".</td>
|
834 |
</tr>
|
835 |
+
<tr>
|
836 |
<td class="mla-doc-table-label">tax_operator</td>
|
837 |
<td>SQL operator to join the terms within each taxonomy; can be "IN" (the default), "NOT IN" or "AND".</td>
|
838 |
</tr>
|
951 |
<td>If you enter multiple phrases (separated by the <code>mla_phrase_delimiter</code>) in the <code>mla_terms_phrases</code> parameter, this parameter controls how they are connected. Choose from OR to require that any one of the phrases must match for the search to succeed, or <strong>AND (the default)</strong> to require that all of the phrases must match.</td>
|
952 |
</tr>
|
953 |
<tr>
|
|
|
954 |
<td class="mla-doc-table-label">mla_term_delimiter</td>
|
955 |
<td>A single character that separates the terms in <code>mla_terms_phrases</code>. The <strong>default delimiter</strong> is a comma (',') since term names can contain spaces.</td>
|
956 |
</tr>
|
957 |
+
<tr>
|
958 |
<td class="mla-doc-table-label">mla_term_connector</td>
|
959 |
<td>If you enter multiple terms (separated by the <code>mla_term_delimiter</code>) in the <code>mla_terms_phrases</code> parameter, this parameter controls how they are connected. Choose from <strong>OR (the default)</strong> to require that any one of the terms must match for the search to succeed, or AND to require that all of the terms must match.</td>
|
960 |
</tr>
|
973 |
</p>
|
974 |
<p>
|
975 |
You can change the <code>post_type</code> parameter to compose a "gallery" of WordPress objects such as posts, pages and custom post types. For example, to display a gallery of the published posts in a particular category you can code something like:
|
976 |
+
</p>
|
977 |
<p>
|
978 |
<code>[mla_gallery category=some-term post_type=post post_status=publish post_mime_type=all post_parent=all]</code>
|
979 |
</p>
|
980 |
+
<p>
|
981 |
Note that you must also change the <code>post_status</code> <code>post_mime_type</code> and <code>post_parent</code> because the default values for those parameters are set for Media Library image items.
|
982 |
</p>
|
983 |
<p>
|
1085 |
<td class="mla-doc-table-label">meta_value (string)</td>
|
1086 |
<td>Custom field value; string-based comparison.</td>
|
1087 |
</tr>
|
1088 |
+
<tr>
|
1089 |
<td class="mla-doc-table-label">meta_value_num (number)</td>
|
1090 |
<td>Custom field value; numeric comparison.</td>
|
1091 |
</tr>
|
1092 |
+
<tr>
|
1093 |
<td class="mla-doc-table-label">meta_compare (string)</td>
|
1094 |
+
<td>Operator to test the 'meta_value'. Possible values are '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP' or 'RLIKE'. Default value is '='. </td>
|
1095 |
</tr>
|
1096 |
</table>
|
1097 |
<p>
|
1132 |
</tr>
|
1133 |
<tr>
|
1134 |
<td class="mla-doc-table-label">mla_search_fields</td>
|
1135 |
+
<td>The fields in which to search. Choose from title, name, excerpt, content, file, terms. Searching on alt-text is not supported.</td>
|
1136 |
</tr>
|
1137 |
<tr>
|
1138 |
<td class="mla-doc-table-label">mla_terms_taxonomies</td>
|
1187 |
</p>
|
1188 |
<h4>MLA Gallery Filters and Actions (Hooks)</h4>
|
1189 |
<p>
|
1190 |
+
The <code>[mla_gallery]</code> shortcode supports a comprehensive set of filters and actions that give you complete control over gallery composition from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Gallery Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Gallery+Hooks+Example%22" class="mla-doc-bold-link">MLA Gallery Hooks Example</a>. To run the example:
|
1191 |
+
</p>
|
1192 |
<ol>
|
1193 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
1194 |
<li>Hover over "MLA Gallery Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
1197 |
<li>Create a new <code>[mla_gallery]</code> shortcode or modify an existing shortcode, adding the <code>my_filter="all custom"</code> parameter to activate the example output.</li>
|
1198 |
<li>View the post or page on which the modified shortcode appears to see a list of each item's custom fields appended to the gallery captions.</li>
|
1199 |
</ol>
|
|
|
1200 |
<p>
|
1201 |
The example code documents each hook with comments in the filter/action function that intercepts each hook. Generally, each part of the gallery supports three hooks: 1) a "<strong>values</strong>" hook, which lets you record or update the substitution values for that gallery part, 2) a "<strong>template</strong>" hook, which lets you record/update the template used to generate the HTML markup, and 3) a "<strong>parse</strong>" hook which lets you modify or replace the markup generated for a gallery part. The current hooks are:
|
1202 |
</p>
|
1492 |
</p>
|
1493 |
<table>
|
1494 |
<tr>
|
|
|
1495 |
<td class="mla-doc-table-label">mla_link_attributes</td>
|
1496 |
<td>adds one or more HTML attributes to the hyperlink for each item; see below</td>
|
1497 |
</tr>
|
1532 |
All but the "mla_target" parameter support the <a href="#tag_cloud_markup_parameters">Markup</a>, <a href="#tag_cloud_item_parameters">Item-specific</a>, <a href="#tag_cloud_variable_parameters">Field-level</a> and <a href="#mla_template_parameters">Content Template</a> substitution parameters defined for Markup Templates. For example, if you code "<code>mla_rollover_text='{+slug+} : {+rollover_text+}'</code>, the rollover text will contain the term slug, a colon, and the appropriate "single text" or "multiple text". Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the WordPress shortcode parser reserves square brackets ("[" and "]") for its own use.
|
1533 |
</p>
|
1534 |
<p>
|
1535 |
+
The "mla_link_href" parameter is a great way to change the destination your cloud item links to and/or add arguments to the link for later processing. For example, to make a gallery item link back to the current page/post you can code: <code>mla_link_href='{+page_url+}'</code>. You can also add arguments to the link, e.g., <code>mla_link_href='{+page_url+}?firstarg=value1&amp;myarg=myvalue'</code>. Note the use of the HTML entity name "&amp;" to put an ampersand in the value; the WordPress "visual" post editor will replace "&", "<" and ">" with "&amp;", "&lt;" and "&gt;" whether you like it not. The <strong>only</strong> markup parameters modified by this parameter are "link_url" and "thelink". The markup parameters "viewlink" and "editlink" are not modified.
|
1536 |
</p>
|
1537 |
<p>
|
1538 |
The "mla_link_attributes" parameter accepts any value and adds it to the "<a>" or "<span>" tags for the item. For example, you can add a unique identifier to each item by adding <code>mla_link_attributes='id="{+selector}-{+index+}"'</code> to your shortcode (note the use of single quotes around the parameter value and the double quotes within the parameter). <strong>IMPORTANT:</strong> since the shortcode parser reserves square brackets ("[" and "]") for its own use, <strong>you must substitute curly braces for square brackets</strong> if your attributes require brackets. If you must code a curly brace in your attribute value, preface it with <strong>two backslash characters</strong>, e.g., "\\{" or "\\}". If you code an attribute already present in the tag, your value will override the existing value.
|
1643 |
<h4>Tag Cloud Substitution Parameters</h4>
|
1644 |
<p>
|
1645 |
Substitution parameters are a powerful way to add general and attachment-specific values to the gallery display. For example, if you code "<code>mla_link_href="{+page_url+}?current_id={+term_id+}&mla_cloud_current={+request:mla_cloud_current+}"</code>, the hyperlinks behind each cloud term will contain the page URL and the taxonomy term ID. There are many parameter names like `page_url` and `term_id` divided in several categories:
|
1646 |
+
</p>
|
1647 |
<table>
|
1648 |
<tr>
|
1649 |
<td class="mla-doc-table-label">Cloud-specific</td>
|
1658 |
<td>values that are known at the beginning of cloud output processing and remain the same for the entire cloud</td>
|
1659 |
</tr>
|
1660 |
<tr>
|
1661 |
+
<td class="mla-doc-table-label"><a href="#tag_cloud_item_parameters">Item-specific</a></td>
|
1662 |
<td style="vertical-align: top">values that change for each term/item in the cloud, such as Name and Description</td>
|
1663 |
</tr>
|
1664 |
<tr>
|
1670 |
<td>lets you compose a value from multiple substitution parameters and test for empty values, choose among two or more alternatives or suppress output entirely</td>
|
1671 |
</tr>
|
1672 |
</table>
|
1673 |
+
<p>
|
1674 |
The following paragraphs go into more detail about each category and the parameter names within them.
|
1675 |
</p>
|
1676 |
<p>
|
1678 |
</p>
|
1679 |
<p>
|
1680 |
<strong>Cloud-specific substitution parameters</strong> are known at the beginning of shortcode processing and they do not change during processing. They can be used, for example, in any of the data selection parameters to change the items selected for the cloud based on information about the post/page on which the cloud appears. The cloud-specific substitution parameters are:
|
1681 |
+
</p>
|
1682 |
<table>
|
1683 |
<tr>
|
1684 |
<td class="mla-doc-table-label">site_url</td>
|
1705 |
<td style="vertical-align: top">the <code>ID</code> value of the post/page in which the cloud appears</td>
|
1706 |
</tr>
|
1707 |
<tr>
|
|
|
1708 |
<td class="mla-doc-table-label">page_author</td>
|
1709 |
<td>the <code>post_author</code> value of the post/page in which the cloud appears</td>
|
1710 |
</tr>
|
1769 |
<tr>
|
1770 |
<td class="mla-doc-table-label">query</td>
|
1771 |
<td>The parameters defined in the <code>[mla_tag_cloud]</code> shortcode. For example, if your shortcode is <code>[mla_tag_cloud taxonomy=attachment_tag div-class=some_class]</code> you can access the parameters as <code>[+query:taxonomy+]</code> and <code>[+query:div-class+]</code> respectively. You can define your own parameters, e.g., "div-class"; they will be accessible as field-level data but will otherwise be ignored.</td>
|
1772 |
+
</tr>
|
1773 |
<tr>
|
1774 |
<td class="mla-doc-table-label">template</td>
|
1775 |
<td>A Content Template, which lets you compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing output entirely. See the <a href="#mla_template_parameters">Content Templates</a> section for details. Note that the formatting option is not supported for content templates.</td>
|
1991 |
<td class="mla-doc-table-label">rollover_text</td>
|
1992 |
<td>the "title" attribute value, drawn from single_text/multiple_text or the mla_rollover_text parameters</td>
|
1993 |
</tr>
|
1994 |
+
<tr>
|
1995 |
<td class="mla-doc-table-label">link_style</td>
|
1996 |
<td>the CSS "style" attribute, drawn from the font_size and unit parameters</td>
|
1997 |
</tr>
|
2023 |
<h4>Tag Cloud Pagination Parameters</h4>
|
2024 |
<p>
|
2025 |
If you have a large number of terms in your cloud taxonomy you may want to paginate the cloud display, i.e., divide the cloud into two or more pages of a reasonable size. Pagination support for <code>[mla_tag_cloud]</code> is modeled on similar functions for<code>[mla_gallery]</code>, and you can find more explanation of the ideas behind pagination in the <a href="#mla_output_parameter"><strong>Support for Alternative Gallery Output, e.g., Pagination</strong></a> section. Five parameters are supplied for this purpose:
|
2026 |
+
</p>
|
2027 |
<table>
|
2028 |
<tr>
|
2029 |
<td class="mla-doc-table-label">limit</td>
|
2048 |
</table>
|
2049 |
<p>
|
2050 |
The <code>[mla_tag_cloud]</code> shortcode can be used to provide "Previous" and "Next" links that support moving among the individual items in a cloud or among cloud "pages". For example, if you have many terms in your Att. Category or Att. Tag taxonomies you can build a term-specific <code>[mla_gallery]</code> page with links to the previous/next term in the taxonomy (a complete pagination example is included below). You can also build a page that shows a large taxonomy in groups, or "cloud pages", of ten terms with links to the previous/next ten terms or links to all of the cloud pages of terms in the taxonomy.
|
2051 |
+
</p>
|
2052 |
<p>
|
2053 |
The <strong>"mla_output"</strong> parameter determines the type of output the shortcode will return. For pagination output, you can choose from six values:
|
2054 |
</p>
|
2057 |
<td class="mla-doc-table-label">next_link</td>
|
2058 |
<td>returns a link to the next cloud item, based on the "term_id" parameter value. The optional "<strong>,wrap</strong>" qualifier determines what happens at the end of the cloud. If you omit the qualifier, an empty string is returned for the "next_link" from the last item. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first item.</td>
|
2059 |
</tr>
|
2060 |
+
<tr>
|
2061 |
<td class="mla-doc-table-label">current_link</td>
|
2062 |
<td>returns a link to the current cloud item, based on the "term_id" parameter value. This gives you an easy way to provide a visual indication of where you are within the taxonomy. The "span" and "none" link formats are often used with this mla_output type.</td>
|
2063 |
</tr>
|
2149 |
</p>
|
2150 |
<h4>MLA Tag Cloud Filters (Hooks)</h4>
|
2151 |
<p>
|
2152 |
+
The <code>[mla_tag_cloud]</code> shortcode supports a comprehensive set of filters that give you complete control over cloud composition from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Gallery Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Tag+Cloud+Hooks+Example%22" class="mla-doc-bold-link">MLA Tag Cloud Hooks Example</a>. To run the example:
|
2153 |
+
</p>
|
2154 |
<ol>
|
2155 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
2156 |
<li>Hover over "MLA Tag Cloud Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
2158 |
<li>Create a new <code>[mla_tag_cloud]</code> shortcode or modify an existing shortcode, adding the <code>my_filter="color cloud"</code> parameter to activate the example output.</li>
|
2159 |
<li>View the post or page on which the modified shortcode appears to see a tag cloud with a range of colors applied to the terms.</li>
|
2160 |
</ol>
|
|
|
2161 |
<p>
|
2162 |
The example code documents each hook with comments in the filter/action function that intercepts the hook. Generally, each part of the cloud supports three hooks: 1) a "<strong>values</strong>" hook, which lets you record or update the substitution values for that cloud part, 2) a "<strong>template</strong>" hook, which lets you record/update the template used to generate the HTML markup, and 3) a "<strong>parse</strong>" hook which lets you modify or replace the markup generated for a cloud part. The current hooks are:
|
2163 |
</p>
|
2459 |
</p>
|
2460 |
<table>
|
2461 |
<tr>
|
|
|
2462 |
<td class="mla-doc-table-label">mla_link_attributes</td>
|
2463 |
<td>adds one or more HTML attributes to the hyperlink for each item; see below</td>
|
2464 |
</tr>
|
2495 |
All but the "mla_target" parameter support the <a href="#term_list_markup_parameters">Markup</a>, <a href="#term_list_item_parameters">Item-specific</a>, <a href="#term_list_variable_parameters">Field-level</a> and <a href="#mla_template_parameters">Content Template</a> substitution parameters defined for Markup Templates. For example, if you code "<code>mla_rollover_text='{+slug+} : {+rollover_text+}'</code>, the rollover text will contain the term slug, a colon, and the appropriate "single text" or "multiple text". Simply add "{+" before the substitution parameter name and add "+}" after the name. Note that the enclosing delimiters are different than those used in the templates, since the WordPress shortcode parser reserves square brackets ("[" and "]") for its own use.
|
2496 |
</p>
|
2497 |
<p>
|
2498 |
+
The "mla_link_href" parameter is a great way to change the destination your list item links to and/or add arguments to the link for later processing. For example, to make a gallery item link back to the current page/post you can code: <code>mla_link_href='{+page_url+}'</code>. You can also add arguments to the link, e.g., <code>mla_link_href='{+page_url+}?firstarg=value1&amp;myarg=myvalue'</code>. Note the use of the HTML entity name "&amp;" to put an ampersand in the value; the WordPress "visual" post editor will replace "&", "<" and ">" with "&amp;", "&lt;" and "&gt;" whether you like it not. The <strong>only</strong> markup parameters modified by this parameter are "link_url" and "thelink". The markup parameters "currentlink", "viewlink" and "editlink" are not modified.
|
2499 |
</p>
|
2500 |
<p>
|
2501 |
The "mla_link_attributes" parameter accepts any value and adds it to the "<a>" or "<span>" tags for the item. For example, you can add a unique identifier to each item by adding <code>mla_link_attributes='id="{+selector}-{+index+}"'</code> to your shortcode (note the use of single quotes around the parameter value and the double quotes within the parameter). <strong>IMPORTANT:</strong> since the shortcode parser reserves square brackets ("[" and "]") for its own use, <strong>you must substitute curly braces for square brackets</strong> if your attributes require brackets. If you must code a curly brace in your attribute value, preface it with <strong>two backslash characters</strong>, e.g., "\\{" or "\\}". If you code an attribute already present in the tag, your value will override the existing value.
|
2519 |
</tr>
|
2520 |
<tr>
|
2521 |
<td class="mla-doc-table-label">mla_option_value</td>
|
2522 |
+
<td>replaces the <strong>term_id (default)</strong> value returned for each option. For <strong>dropdown</strong> controls containing terms from multiple taxonomies, the default is <strong><code>[+taxonomy+].[+term_id+]</code></strong>.</td>
|
2523 |
</tr>
|
2524 |
<tr>
|
2525 |
<td class="mla-doc-table-label">hide_if_empty</td>
|
2526 |
+
<td>If <strong>false (default)</strong>, display a control with "option_none" text & value. If true, display mla_nolink_text or nothing.</td>
|
2527 |
</tr>
|
2528 |
<tr>
|
2529 |
<td class="mla-doc-table-label">mla_nolink_text</td>
|
2582 |
<h4>Term List Other Parameters</h4>
|
2583 |
<table>
|
2584 |
<tr>
|
|
|
2585 |
<td class="mla-doc-table-label">mla_debug</td>
|
2586 |
<td>controls debug log output; <strong>default false</strong>. See below for details.</td>
|
2587 |
</tr>
|
2720 |
<td>values that are known at the beginning of list output processing and remain the same for the entire list</td>
|
2721 |
</tr>
|
2722 |
<tr>
|
2723 |
+
<td class="mla-doc-table-label"><a href="#term_list_item_parameters">Item-specific</a></td>
|
2724 |
<td style="vertical-align: top">values that change for each term/item in the list, such as Name and Description</td>
|
2725 |
</tr>
|
2726 |
<tr>
|
2740 |
</p>
|
2741 |
<p>
|
2742 |
<strong>list-specific substitution parameters</strong> are known at the beginning of shortcode processing and they do not change during processing. They can be used, for example, in any of the data selection parameters to change the items selected for the list based on information about the post/page on which the list appears. The list-specific substitution parameters are:
|
2743 |
+
</p>
|
2744 |
<table>
|
2745 |
<tr>
|
2746 |
<td class="mla-doc-table-label">site_url</td>
|
2767 |
<td style="vertical-align: top">the <code>ID</code> value of the post/page in which the list appears</td>
|
2768 |
</tr>
|
2769 |
<tr>
|
|
|
2770 |
<td class="mla-doc-table-label">page_author</td>
|
2771 |
<td>the <code>post_author</code> value of the post/page in which the list appears</td>
|
2772 |
</tr>
|
2834 |
<tr>
|
2835 |
<td class="mla-doc-table-label">query</td>
|
2836 |
<td>The parameters defined in the <code>[mla_term_list]</code> shortcode. For example, if your shortcode is <code>[mla_term_list taxonomy=attachment_tag div-class=some_class]</code> you can access the parameters as <code>[+query:taxonomy+]</code> and <code>[+query:div-class+]</code> respectively. You can define your own parameters, e.g., "div-class"; they will be accessible as field-level data but will otherwise be ignored.</td>
|
2837 |
+
</tr>
|
2838 |
<tr>
|
2839 |
<td class="mla-doc-table-label">template</td>
|
2840 |
<td>A Content Template, which lets you compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing output entirely. See the <a href="#mla_template_parameters">Content Templates</a> section for details. Note that the formatting option is not supported for content templates.</td>
|
3025 |
<td class="mla-doc-table-label">rollover_text</td>
|
3026 |
<td>the "title" attribute value, drawn from single_text/multiple_text or the mla_rollover_text parameters</td>
|
3027 |
</tr>
|
3028 |
+
<tr>
|
3029 |
<td class="mla-doc-table-label">link_style</td>
|
3030 |
<td>the CSS "style" attribute, drawn from the font_size and unit parameters</td>
|
3031 |
</tr>
|
3071 |
[mla_gallery]<br />
|
3072 |
attachment_category="{+template:({+request:tax_input.attachment_category+}|no-term-selected)+}"<br />
|
3073 |
posts_per_page=3 mla_output="paginate_links,prev_next"<br />
|
3074 |
+
mla_link_href='{+new_url+}?mla_paginate_current={+new_page+}&tax_input[attachment_category]="{+query:attachment_category,text+}"'<br />
|
3075 |
[/mla_gallery]<br />
|
3076 |
<br />
|
3077 |
[mla_gallery attachment_category="{+template:({+request:tax_input.attachment_category+}|no-term-selected)+}" posts_per_page=3 mla_caption="{+title+} : {+description+}" mla_nolink_text="<br>Select a term to display the gallery.<br>"]
|
3090 |
</p>
|
3091 |
<h4>MLA Term List Filters (Hooks)</h4>
|
3092 |
<p>
|
3093 |
+
The <code>[mla_term_list]</code> shortcode supports a comprehensive set of filters that give you complete control over list composition from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Term List Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Term+List+Hooks+Example%22" class="mla-doc-bold-link">MLA Term List Hooks Example</a>. To run the example:
|
3094 |
+
</p>
|
3095 |
<ol>
|
3096 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
3097 |
<li>Hover over "MLA Term List Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
3099 |
<li>Create a new <code>[mla_term_list]</code> shortcode or modify an existing shortcode, adding the <code>my_filter="color list"</code> parameter to activate the example output.</li>
|
3100 |
<li>View the post or page on which the modified shortcode appears to see a term list with a range of colors applied to the terms.</li>
|
3101 |
</ol>
|
|
|
3102 |
<p>
|
3103 |
The example code documents each hook with comments in the filter/action function that intercepts the hook. Generally, each part of the list supports three hooks: 1) a "<strong>values</strong>" hook, which lets you record or update the substitution values for that list part, 2) a "<strong>template</strong>" hook, which lets you record/update the template used to generate the HTML markup, and 3) a "<strong>parse</strong>" hook which lets you modify or replace the markup generated for a list part. The current hooks are:
|
3104 |
</p>
|
3155 |
<a name="simple_examples"></a>
|
3156 |
</p>
|
3157 |
<h4>Simple Examples</h4>
|
|
|
3158 |
<ul class="mla_settings">
|
3159 |
<li><code>[mla_gallery]</code> - will display all the images "attached" to the current post/page.</li>
|
3160 |
<li><code>[mla_gallery ids="1,3,2,4"]</code> - will display specific images on any post/page. The numbers are the ID values of the images. You can use the "Add Media..." popup window and "Create Gallery" to get the list, then change the shortcode name to "mla_gallery" if you want to add other <code>[mla_gallery]</code> specific parameters.</li>
|
3163 |
<li><code>[mla_gallery post_parent=all post_mime_type="audio,video"]</code> - will display all the audio and video documents in your Media Library.</li>
|
3164 |
<li><code>[mla_gallery post_parent=all post_mime_type=application/pdf size=icon link=file]</code> - will display all the PDF documents in your Media Library. The "PDF icon" will display in place of the thumbnail. When the icon is clicked, the document itself will be displayed in the browser.</li>
|
3165 |
</ul>
|
|
|
3166 |
<p>
|
3167 |
Perhaps the most popular Media Library Assistant feature is the ability to assign category and tag values to Media Library Items and use the values to filter a gallery display. "Categories" and "Tags" are built-in WordPress "taxonomies" and have been used for a long time to organize posts and pages. WordPress does not have built-in support for using them with attachments and that was one of the original motivations for MLA.
|
3168 |
</p>
|
3185 |
<h4>A Paginated Gallery</h4>
|
3186 |
<p>
|
3187 |
If your gallery display includes a large number of items it may be useful to divide the display into "pages" with a fixed upper limit of items per page. The <a href="#mla_output_parameter"><strong>Support for Alternative Gallery Output, e.g., Pagination</strong></a> section explains several ways to do that; here is one example. Put <strong>both of these shortcodes</strong> on a post or page to display a paginated gallery:
|
3188 |
+
</p>
|
3189 |
<blockquote>
|
3190 |
<code>[mla_gallery attachment_category=big-dog posts_per_page=12]</code><br />
|
3191 |
<br />
|
3192 |
<code>[mla_gallery attachment_category=big-dog posts_per_page=12 mla_output="paginate_links,prev_next"]</code>
|
3193 |
</blockquote>
|
|
|
3194 |
<p>
|
3195 |
Note that <strong>two shortcodes are required</strong>; one for the gallery display and a second one for the pagination controls. The first <code>[mla_gallery]</code> displays the images assigned to <code>attachment_category=big-dog</code> and displays a maximum of 12 images at once. The second <code>[mla_gallery]</code> has <strong>exactly the same</strong> data selection parameter and posts per page parameter; that's essential to match up with the first shortcode. It adds one more parameter, <code>mla_output</code>. This parameter changes the display from a set of images to a set of pagination controls.
|
3196 |
</p>
|
3201 |
<h4>Tag Cloud and Gallery</h4>
|
3202 |
<p>
|
3203 |
Adding the "taxonomy=term" parameter to your shortcode is all well and good, but letting the viewer choose a term when they view the post/page is often better. One easy way to do this is to add the <code>[mla_tag_cloud]</code> shortcode. Here is a simple combination of a cloud and a gallery display:
|
3204 |
+
</p>
|
3205 |
<blockquote>
|
3206 |
<code>[mla_tag_cloud taxonomy=attachment_category number=0 mla_link_href="{+page_url+}?term_slug={+slug+}"]</code><br />
|
3207 |
<br />
|
3208 |
<code>[mla_gallery attachment_category="{+template:({+request:term_slug+}|a-bad-term)+}" mla_nolink_text="Click a term to display the gallery."]</code>
|
3209 |
</blockquote>
|
|
|
3210 |
<p>
|
3211 |
The <code>[mla_tag_cloud]</code> displays Att. Categories terms in the familiar cloud format. The <code>number=0</code> parameter ensures that all of the terms are displayed. The <code>mla_link_href</code> parameter links each term back to the current page (<code>{+page_url}</code>) and passes a variable back with the term selection (<code>?term_slug={+slug+}</code>). If you put the <code>[mla_tag_cloud]</code> shortcode on another page or in a widget you will have to hard-code the URL portion of the link.
|
3212 |
</p>
|
3222 |
</ul>
|
3223 |
<p>
|
3224 |
You can read more about templates in the <a href="#mla_template_parameters">Content Templates</a> section. You can paginate your gallery by adding a third shortcode to the post/page. Put the new shortcode between the cloud and gallery so the pagination controls will appear above the gallery display:
|
3225 |
+
</p>
|
3226 |
<blockquote>
|
3227 |
<code>[mla_tag_cloud taxonomy=attachment_category number=0 mla_link_href="{+page_url+}?term_slug={+slug+}"]</code><br />
|
3228 |
<br />
|
3230 |
<br />
|
3231 |
<code>[mla_gallery attachment_category="{+template:({+request:term_slug+}|a-bad-term)+}" posts_per_page=12 mla_nolink_text="Click a term to display the gallery."]</code>
|
3232 |
</blockquote>
|
|
|
3233 |
<p>
|
3234 |
The <code>posts_per_page=12</code> parameter has been added to the gallery display shortcode (the third shortcode). A new <code>[mla_gallery]</code> is added to display the pagination controls. The data selection parameter and <code>posts_per_page=12</code> parameter match the gallery display shortcode below it. The <code>mla_output</code> parameter displays the pagination controls. Finally, the <code>mla_link_href="{+page_url+}?term_slug={+request:term_slug+}"</code> parameter is added so the pagination controls pass the <code>term_slug</code> from page to page.
|
3235 |
<a name="search_form_and_gallery"></a>
|
3237 |
<h4>Search Form and Gallery</h4>
|
3238 |
<p>
|
3239 |
A common alternative to the taxonomy filtering in the previous examples is a keyword-based search. This example shows a simple HTML form with a text box and a button to run the search. The user can enter one or more words to search for in the Title or Description of Media Library items, then click "Search" to display a gallery of matching images:
|
3240 |
+
</p>
|
3241 |
<blockquote>
|
3242 |
<code><form id="mla-search-form" action="." method="post"><br />
|
3243 |
<input id="mla-search-box" name="search-string" type="text" value="" />&nbsp;<input id="submit" name="submit" type="submit" value="Search" /><br />
|
3245 |
<br />
|
3246 |
<code>[mla_gallery s="{+template:({+request:search-string+}|a-bad-term)+}" mla_nolink_text="Enter a search value above to display gallery."]</code>
|
3247 |
</blockquote>
|
|
|
3248 |
<p>
|
3249 |
In this example the <code>name="search-string"</code> parameter is passed from the form to the <code>s="{+request:search-string+}</code>... parameter in the shortcode. As in the Cloud and Gallery example a Content Template is used to supply <code>a-bad-term</code> before the form is completed, which displays an empty gallery because it doesn't match anything. You can find more information on the <code>s=</code> parameter and other search parameters in the <a href="#search_keywords">Keyword(s) Search</a> section.
|
3250 |
+
</p>
|
3251 |
<p>
|
3252 |
As in the Cloud and Gallery example, paginating your gallery display requires a slight modification of the <code>[mla_gallery]</code> shortcode (at the bottom of the next example) and adding a second <code>[mla_gallery]</code> shortcode (in the middle of the next example) to display the pagination controls:
|
3253 |
+
</p>
|
3254 |
<blockquote>
|
3255 |
<code><form id="mla-search-form" action="." method="post"><br />
|
3256 |
<input id="mla-search-box" name="search-string" type="text" value="" />&nbsp;<input id="submit" name="submit" type="submit" value="Search" /><br />
|
3260 |
<br />
|
3261 |
<code>[mla_gallery s="{+template:({+request:search-string+}|a-bad-term)+}" mla_nolink_text="Enter a search value above to display gallery." posts_per_page=12]</code>
|
3262 |
</blockquote>
|
|
|
3263 |
<p>
|
3264 |
The <code>posts_per_page=12</code> parameter has been added to the gallery display shortcode (the third shortcode). A new <code>[mla_gallery]</code> is added to display the pagination controls. The data selection parameter (<code>s="{+request:search-string+}</code>...) and <code>posts_per_page=12</code> parameter match the gallery display shortcode below it. The <code>mla_output</code> parameter displays the pagination controls. Finally, the <code>mla_link_href="{+page_url+}?search-string={+request:search-string+}"</code> parameter is added so the pagination controls pass the <code>search-string</code> from page to page.
|
3265 |
<a name="mla_output_parameter"></a>
|
3266 |
+
</p>
|
3267 |
<p>
|
3268 |
<a href="#backtotop">Go to Top</a>
|
3269 |
</p>
|
3287 |
<td class="mla-doc-table-label">next_link</td>
|
3288 |
<td>returns a link to the next gallery item. The optional "<strong>,wrap</strong>" qualifier determines what happens at the end of the gallery. If you omit the qualifier, an empty string is returned for the "next_link" from the last item in the gallery. If you code the ",wrap" qualifier, the "next_link" from the last item will be to the first gallery item.</td>
|
3289 |
</tr>
|
3290 |
+
<tr>
|
3291 |
<td class="mla-doc-table-label">current_link</td>
|
3292 |
<td>returns a link to the current gallery item. This gives you an easy way to provide a visual indication of where you are within the overall gallery. The "span" and "none" link formats are often used with this mla_output type.</td>
|
3293 |
</tr>
|
3332 |
</p>
|
3333 |
<code>
|
3334 |
[mla_gallery columns=1 ids="{+request:current_id+}" size=medium]
|
3335 |
+
<br /> <br />
|
3336 |
<div style="clear: both; float: left"><br />
|
3337 |
+
[mla_gallery mla_output="previous_link,wrap" mla_link_text='&larr; Previous Sample' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_rollover_text="{+title+}" mla_link_href="{+page_url+}?current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]<br />
|
3338 |
+
</div><br />
|
3339 |
+
<div style="float: right"><br />
|
3340 |
+
[mla_gallery mla_output="next_link,wrap" mla_link_text='Next Sample &rarr;' attachment_tag="{+request:attachment_tag+}" id="{+request:current_id+}" mla_rollover_text="{+title+}" mla_link_href="{+page_url+}?current_id={+attachment_ID+}&attachment_tag={+query:attachment_tag+}"]<br />
|
3341 |
</div>
|
3342 |
</code>
|
3343 |
<p>
|
3517 |
</p>
|
3518 |
<code>
|
3519 |
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_caption="{+title+}"]
|
3520 |
+
<br /> <br />
|
3521 |
<div style="clear: both; float: left"><br />
|
3522 |
+
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="previous_page,first" mla_link_text='&larr; Previous Gallery Page' mla_rollover_text="Previous or first page for this tag"]<br />
|
3523 |
+
</div><br />
|
3524 |
+
<div style="float: right"><br />
|
3525 |
+
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="next_page,last" mla_link_text='&larr; Next Gallery Page' mla_rollover_text="Next or last page for this tag"]<br />
|
3526 |
</div>
|
3527 |
</code>
|
3528 |
<p>
|
3566 |
</p>
|
3567 |
<code>
|
3568 |
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_caption="{+title+}"]
|
3569 |
+
<br /> <br />
|
3570 |
+
[mla_gallery attachment_tag="sample" posts_per_page=10 mla_output="paginate_links,prev_next" mla_nolink_text='No Gallery Pages']<br />
|
3571 |
</code>
|
3572 |
<p>
|
3573 |
This example is even simpler that the two earlier examples because there's just one additional <code>[mla_gallery]</code> shortcode for pagination links.
|
|
|
3574 |
<a name="alt_shortcode"></a>
|
3575 |
+
</p>
|
3576 |
<p>
|
3577 |
<a href="#backtotop">Go to Top</a>
|
3578 |
</p>
|
3640 |
</p>
|
3641 |
<p>
|
3642 |
<strong>NOTE:</strong> When you use "mla_alt_shortcode" to pass format/display responsibility off to another shortcode you will lose the <code>[mla_gallery]</code> Gallery Display Style (e.g. "mla_float") and Gallery Display Content (e.g. "mla_caption") parameters. There is no reliable way for <code>[mla_gallery]</code> to pass this information on to the other shortcode you've specified.
|
|
|
|
|
3643 |
<a name="photonic_gallery"></a>
|
3644 |
+
</p>
|
3645 |
<p>
|
3646 |
<a href="#backtotop">Go to Top</a>
|
3647 |
</p>
|
3697 |
<h4>Gallery-specific Substitution Parameters</h4>
|
3698 |
<p>
|
3699 |
Gallery-specific substitution parameters are known at the beginning of shortcode processing and they do not change during processing. They can be used, for example, in any of the data selection parameters to change the items selected for the gallery based on information about the post/page on which the gallery appears. The gallery-specific substitution parameters are:
|
3700 |
+
</p>
|
3701 |
<table>
|
3702 |
<tr>
|
3703 |
<td class="mla-doc-table-label">site_url</td>
|
3724 |
<td style="vertical-align: top">the <code>ID</code> value of the post/page in which the gallery appears</td>
|
3725 |
</tr>
|
3726 |
<tr>
|
|
|
3727 |
<td class="mla-doc-table-label">page_author</td>
|
3728 |
<td>the <code>post_author</code> value of the post/page in which the gallery appears</td>
|
3729 |
</tr>
|
3776 |
<td>absolute URL to the page or post on which the gallery appears, if any, with trailing slash</td>
|
3777 |
</tr>
|
3778 |
</table>
|
3779 |
+
<a name="mla_style_parameters"></a>
|
|
|
3780 |
<p>
|
3781 |
<a href="#backtotop">Go to Top</a>
|
3782 |
</p>
|
3876 |
<td class="mla-doc-table-label">captiontag_content</td>
|
3877 |
<td>if both captiontag and caption are not empty, contains the complete HTML markup for the caption. This can be used to omit empty tags (as it is in the default template).</td>
|
3878 |
</tr>
|
3879 |
+
<tr>
|
3880 |
<td class="mla-doc-table-label">excerpt</td>
|
3881 |
<td>always contains post_excerpt</td>
|
3882 |
</tr>
|
3920 |
<td class="mla-doc-table-label">parent_date</td>
|
3921 |
<td>upload date of the parent</td>
|
3922 |
</tr>
|
3923 |
+
<tr>
|
3924 |
<td class="mla-doc-table-label">parent_permalink</td>
|
3925 |
<td>permalink to the parent</td>
|
3926 |
</tr>
|
4029 |
<td>for image/icon items, width of the gallery image/icon</td>
|
4030 |
</tr>
|
4031 |
<tr>
|
|
|
4032 |
<td class="mla-doc-table-label">thumbnail_height</td>
|
4033 |
<td>for image/icon items, height of the gallery image/icon</td>
|
4034 |
</tr>
|
4174 |
</p>
|
4175 |
<h4>Prefix values</h4>
|
4176 |
<p>
|
4177 |
+
There are fourteen prefix values for field-level parameters. Prefix values must be coded as shown; all lowercase letters.
|
4178 |
</p>
|
4179 |
<table>
|
4180 |
<tr>
|
4294 |
<td class="mla-doc-table-label">template</td>
|
4295 |
<td>A Content Template, which lets you compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing output entirely. See the <a href="#mla_template_parameters">Content Templates</a> section for details. Note that the formatting option is not supported for templates.</td>
|
4296 |
</tr>
|
4297 |
+
<tr>
|
4298 |
+
<td class="mla-doc-table-label">matches</td>
|
4299 |
+
<td>The matches prefix is part of MLA’s <a href="#mla_regular_expressions">Regular Expression Features</a>. It allows you to access data sources created by applying the <code>,match(p)</code> and <code>,extract(p)</code> format/option values.</td>
|
4300 |
+
</tr>
|
4301 |
</table>
|
4302 |
<a name="field_level_formats"></a>
|
4303 |
<br />
|
4339 |
</tr>
|
4340 |
<tr>
|
4341 |
<td class="mla-doc-table-label">,attr</td>
|
4342 |
+
<td>If you use a substitution parameter in an HTML attribute such as the <code>title</code> attribute of a hyperlink (<code>a</code>) or <code>img</code> tag you can add the ",attr" option to encode the <, >, &, " and ' (less than, greater than, ampersand, double quote and single quote) characters.</td>
|
4343 |
</tr>
|
4344 |
<tr>
|
4345 |
<td class="mla-doc-table-label">,url</td>
|
4371 |
</tr>
|
4372 |
</table>
|
4373 |
<p>
|
4374 |
+
Three values let you use powerful regular expressions to apply patterns to any data source, extracting or replacing pieces of it. These three values are explained in detail, with examples, in the <a href="#mla_regular_expressions">Regular Expression Features</a> section below. They are:
|
4375 |
+
</p>
|
4376 |
+
<table>
|
4377 |
+
<tr>
|
4378 |
+
<td class="mla-doc-table-label" style="white-space:nowrap"><a href="#mla_regular_expressions_match">,match(p)</a></td>
|
4379 |
+
<td>This format/option value looks for a match of its pattern (and optional subpatterns) in the data source. If a match is found, that portion of the data source is returned. If the pattern is not matched an empty value is returned. Any pattern or subpattern matches found are stored for later access using the "matches:" prefix.
|
4380 |
+
</td>
|
4381 |
+
</tr>
|
4382 |
+
<tr>
|
4383 |
+
<td class="mla-doc-table-label" style="white-space:nowrap"><a href="#mla_regular_expressions_extract">,extract(p,v)</a></td>
|
4384 |
+
<td>This format/option value looks for a match of its pattern (and optional subpatterns) (the p paremeter) in the data source. Any pattern or subpattern matches found are stored for later access using the "matches:" prefix. An empty value is returned by default but this can be changed with the optional second (v) parameter.
|
4385 |
+
</td>
|
4386 |
+
</tr>
|
4387 |
+
<tr>
|
4388 |
+
<td class="mla-doc-table-label" style="white-space:nowrap"><a href="#mla_regular_expressions_replace">,replace(p,r,v)</a></td>
|
4389 |
+
<td>This format/option value looks for a match of its pattern (p) (and optional subpatterns) in the data source. By default, if a match is found, the replacement (r) pattern is used to return a modified version of the data source. If the pattern is not matched the original data source value is returned. The default can be changed with the optional third (v) parameter.
|
4390 |
+
</td>
|
4391 |
+
</tr>
|
4392 |
+
</table>
|
4393 |
<a name="field_level_data_sources"></a>
|
4394 |
<p>
|
4395 |
<a href="#backtotop">Go to Top</a>
|
4557 |
<td class="mla-doc-table-label">size_dimensions</td>
|
4558 |
<td>image dimensions for thumbnail versions of the image, e.g., "150x150, 300x225, 600x288"</td>
|
4559 |
</tr>
|
4560 |
+
<tr>
|
4561 |
<td class="mla-doc-table-label">size_name[size]</td>
|
4562 |
<td>image file name for a specific thumbnail version, e.g., size_name[medium] = "image-300x225.jpg"; set to empty string if the specified size does not exist. There will be a [size] choice for every thumbnail version registered with WordPress for the site.</td>
|
4563 |
</tr>
|
4570 |
<td>image size in pixels for a specific thumbnail version, e.g., size_pixels[medium] = "67500"</td>
|
4571 |
</tr>
|
4572 |
<tr>
|
|
|
4573 |
<td class="mla-doc-table-label" style="width: 12em">size_dimensions[size]</td>
|
4574 |
<td style="padding-bottom: 2em;">image dimensions for a specific thumbnail version, e.g., size_dimensions[medium] = "300x225"; set to empty string if the specified size does not exist. There will be a [size] choice for every thumbnail version registered with WordPress for the site.</td>
|
4575 |
</tr>
|
4582 |
<td>for "attached" (post_parent not zero) objects, post type of the parent object</td>
|
4583 |
</tr>
|
4584 |
<tr>
|
|
|
4585 |
<td class="mla-doc-table-label">parent_title</td>
|
4586 |
<td>for "attached" (post_parent not zero) objects, post title of the parent object</td>
|
4587 |
</tr>
|
4588 |
<tr>
|
|
|
4589 |
<td class="mla-doc-table-label">parent_issues</td>
|
4590 |
<td>summary of parent status (only) "issues", e.g., bad parent, invalid parent, unattached</td>
|
4591 |
</tr>
|
5067 |
<td class="mla-doc-table-sublabel">The geodetic survey data used by the GPS receiver</td>
|
5068 |
</tr>
|
5069 |
</table>
|
5070 |
+
<a name="pdf_metadata"></a>
|
|
|
5071 |
<p>
|
5072 |
<a href="#backtotop">Go to Top</a>
|
5073 |
</p>
|
5115 |
</table>
|
5116 |
<p>
|
5117 |
More recent versions of the specification add a second source of metadata, Metadata Streams, holding data defined by the <a href="https://www.adobe.com/products/xmp/" title="Adobe XMP site" target="_blank">Extensible Metadata Platform (XMP)</a> framework. XMP metadata varies from document to document but is often extensive. MLA provides access to this data in four ways:
|
5118 |
+
</p>
|
5119 |
<ol>
|
5120 |
<li>
|
5121 |
If a D.I.D. field is not stored in the document, MLA will copy appropriate values from the XMP data into the empty field to populate it as often as possible. For example, the "creator" value(s) in the "dc" namespace ("dc.creator") might be copied to an empty "Author" field, or the "dc.subject" value(s) might be copied to an empty Keywords field.
|
5130 |
For consistency with other file types, all XMP data found in a PDF document is also available with the "xmp:" prefix.
|
5131 |
</li>
|
5132 |
</ol>
|
|
|
5133 |
<p>
|
5134 |
MLA adds five fields of its own to the metadata information:
|
5135 |
</p>
|
5155 |
<td>a special "pseudo value" that returns a string representation of all the metadata. You can use this pseudo-value to examine the metadata in a document, find field names and see what values are present.</td>
|
5156 |
</tr>
|
5157 |
</table>
|
5158 |
+
<a name="substitution_parameter_filters"></a>
|
|
|
5159 |
<p>
|
5160 |
<a href="#backtotop">Go to Top</a>
|
5161 |
</p>
|
5162 |
<h4>Field-level substitution parameter filters (Hooks)</h4>
|
5163 |
<p>
|
5164 |
+
Field-level substitution parameters can be extended to include any data values your application requires. They are supported by a set of filters that enables PHP code in your theme or in another plugin to create data values and make them available to MLA. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Substitution Parameter Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Substitution+Parameter+Hooks+Example%22" class="mla-doc-bold-link">MLA Substitution Parameter Hooks Example</a>. To run the example:
|
5165 |
+
</p>
|
5166 |
<ol>
|
5167 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5168 |
<li>Hover over "MLA Substitution Parameter Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
5230 |
</p>
|
5231 |
<p>
|
5232 |
Conditional, choice and template elements can be nested as needed. For example, a conditional element can have a choice element within it or a choice alternative could include a conditional. Here's an example:
|
5233 |
+
</p>
|
5234 |
+
<p>
|
5235 |
+
<code>[+template: Terms: (([+terms:category+], [+terms:post_tag+])|[+ terms: category +]|[+terms:post_tag +]|none)+]</code>
|
5236 |
</p>
|
5237 |
<p>
|
5238 |
This template has a String, "Terms: " and a Conditional, "(([+terms: ... none)". This Conditional separates the "Terms: " literal from the first alternative in the Choice. Within the Conditional is a Choice having four alternatives. The first alternative is a Conditional, which will be empty unless both categories and tags are present. The second and third alternatives handle the cases where one of the two taxonomies has terms, and the final alternative is used when neither categories nor tags are present.
|
5246 |
</p>
|
5247 |
<p>
|
5248 |
<strong>In a shortcode parameter:</strong> If your template is coded in a shortcode parameter, preface the template delimiters with two backslash characters, e.g., "\\(". If you need a backslash in your template, code it as four backslash characters, i.e., "\\\\". The doubling of backslash characters is required because of the way WordPress processes shortcode parameters.
|
5249 |
+
<a name="mla_regular_expressions"></a>
|
5250 |
+
</p>
|
5251 |
+
<p>
|
5252 |
+
<a href="#backtotop">Go to Top</a>
|
5253 |
+
</p>
|
5254 |
+
<h3>Regular Expression Features</h3>
|
5255 |
+
<p>
|
5256 |
+
Regular Expressions is a formal name for a powerful pattern-matching tool you can use to extract parts of, for example, a file name and use the parts to compose or update a caption, title or other item element. Although they can get complicated pretty quickly regular expressions are well defined and even simple examples can be quite powerful. They are definitely a power tool! You can find a wealth of information on the web, such as these resources:
|
5257 |
+
</p>
|
5258 |
+
<ul class="mla_settings">
|
5259 |
+
<li><a href="https://en.wikipedia.org/wiki/Regular_expression" title="Wikipedia Article" target="_blank">Regular expression - Wikipedia</a></li>
|
5260 |
+
<li><a href="http://www.regular-expressions.info/" title="The Premier website about Regular Expressions" target="_blank">Regular-Expressions.info</a></li>
|
5261 |
+
<li><a href="http://php.net/manual/en/book.pcre.php" title="Official PHP Documentation for regular expressions" target="_blank">Regular Expressions (Perl-Compatible) in PHP</a></li>
|
5262 |
+
</ul>
|
5263 |
+
<p>
|
5264 |
+
The MLA regular expression features are simply a way to access a few of PHP's PCRE functions, so the last link above is particularly useful. The <a href="http://php.net/manual/en/pcre.examples.php" title="PCRE Examples" target="_blank">Examples</a> and <a href="http://php.net/manual/en/reference.pcre.pattern.syntax.php" title="Pattern Syntax" target="_blank">PCRE regex syntax</a> sections give you the details you need to build your expressions. The rest of this section describes how the PCRE functions are made available within MLA shortcodes, custom markup templates, mapping rules and the Bulk Edit area. Of course, they can be used within Content Templates in any of these areas as well.
|
5265 |
+
<a name="mla_regular_expressions_patterns"></a>
|
5266 |
+
</p>
|
5267 |
+
<h4>Patterns and subpatterns</h4>
|
5268 |
+
<p>
|
5269 |
+
Each regular expression defines a "pattern" that is applied to the subject, or data source. If the pattern is matched, that part of the data source is returned from the option/format value. Subpatterns allow you to take a portion of the overall pattern and return it separately. For example, you might construct a pattern that matches a date and include within the pattern subpatterns that return the year, month and day portions of the date. The pattern and subpattern matches are stored by MLA and become data sources you can access with the <code>matches:</code> field-level prefix. By default, the pattern match and any subpattern match(es) are assigned index numbers. The pattern is number zero and the subpatterns are numbered from one to the total number of subpatterns.
|
5270 |
+
</p>
|
5271 |
+
<p>
|
5272 |
+
For example, consider the <code>post_date</code> data source, the "Uploaded on" date and time for a Media Library item. This date is stored as a string with a specific format: "YYYY-MM-DD HH:MM:SS", e.g., "2013-10-03 02:47:13". You can match this value in many ways:
|
5273 |
+
</p>
|
5274 |
+
<ul class="mla_settings">
|
5275 |
+
<li><strong>/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/</strong> - matches the entire date and time, e.g., "2013-10-03 02:47:13"</li>
|
5276 |
+
<li><strong>/(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2})/</strong> - matches the entire date and time (index 0) and matches two subpatterns, for the date portion (index 1) and the time portion (index 2)</li>
|
5277 |
+
<li><strong>/\d{4}-\d{2}-\d{2}/</strong> - matches the date portion, e.g., "2013-10-03"</li>
|
5278 |
+
<li><strong>/\d{2}:\d{2}:\d{2}/</strong> - matches the time portion, e.g., "02:47:13"</li>
|
5279 |
+
<li><strong>/(\d{4})-(\d{2})-(\d{2})/</strong> - matches the date portion (index 0) and matches three subpatterns for the year (index 1), month (index 2) and day (index 3) portions.</li>
|
5280 |
+
<li><strong>/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/</strong> - matches the date portion (index 0) and matches three subpatterns for the year (index 1, name "year"), month (index 2, name "month") and day (index 3, name "day") portions.</li>
|
5281 |
+
</ul>
|
5282 |
+
<p>
|
5283 |
+
The last example is particularly useful, because named subpatterns let you give unique names to each piece of your data for later use with the <code>matches:</code> prefix. With only one pattern the index values are fine, but if you have more than one pattern the index numbers are reused so later patterns overwrite matches from earlier patterns.
|
5284 |
+
</p>
|
5285 |
+
<p>
|
5286 |
+
The patterns above contain backslash ('\') characters. When entering backslashes in an argument of the three option/format values below <strong>you must code two backslashes</strong> because the backslash is used in function arguments to escape special characters such as quotes (" ' "). The examples below show how this is done.
|
5287 |
+
<a name="mla_regular_expressions_match"></a>
|
5288 |
+
</p>
|
5289 |
+
<h4>The <code>,match(p)</code> option/format value</h4>
|
5290 |
+
<p>
|
5291 |
+
The <code>,match(p)</code> option/format value can be applied to any data source, including those specified by any of the field-level prefix values. The "p" argument is a regular expression pattern that is applied to the data source. If a match is found the portion of the data source that matches the pattern is returned. If no match is found and empty value is returned. Any pattern and subpattern matches are stored and made available as data sources accessed with the <code>matches:</code> field-level prefix.
|
5292 |
+
<a name="mla_regular_expressions_extract"></a>
|
5293 |
+
</p>
|
5294 |
+
<h4>The <code>,extract(p,v)</code> option/format value</h4>
|
5295 |
+
<p>
|
5296 |
+
The <code>,extract(p)</code> option/format value can be applied to any data source, including those specified by any of the field-level prefix values. The "p" argument is a regular expression pattern that is applied to the data source. By default, the <code>,extract(p)</code> option/format value <strong>returns an empty value</strong>; it's purpose is to collect pattern/subpattern matches for later use as data sources accessed with the <code>matches:</code> field-level prefix. You can change the returned value by adding the optional second "v" argument to specify any of the matched pattern or subpattern keys. For example, add zero ("0") to return the entire pattern, the index number of a subpattern or the name of a named subpattern.
|
5297 |
+
<a name="mla_regular_expressions_replace"></a>
|
5298 |
+
</p>
|
5299 |
+
<h4>The <code>,replace(p,r,v)</code> option/format value</h4>
|
5300 |
+
<p>
|
5301 |
+
The <code>,replace(p,r)</code> option/format value matches a pattern (like <code>,match(p)</code>) but returns a modified version of the original data source value. The "p" argument is a regular expression pattern that is applied to the data source. The "r" argument is a replacement pattern. If a match is found the data source modified by the replacement pattern is returned. If the match is not found, the original data source value is returned unaltered. For example, if a <code>post_date</code> data source contains "2013-10-03 02:47:13", then <code>[+post_date,replace( '/(\\d{4})-(\\d{2})-(\\d{2})/', 'year: $1, month: $2, day: $3' )+]</code> would return "year: 2013, month: 10, day: 03 02:47:13". Note the double backslashes in the pattern argument!
|
5302 |
+
Fund a SEP. Business owners and the self-employed can stash pretax money in a Simplified Employee Pension Plan. “Typically, you can contribute up to 20 percent of your net employment income,’’ says New Jersey-based Certified Public Accountant Barry Kleiman. While you have until April 17 to fund an IRA or Roth IRA, you can fund a SEP until Oct. 15 with a filing extension.To specify an array argument enclose the argument in braces ( "{" and "}" ) and separate elements with <strong>spaces</strong>. For a simple example, <code>,replace( {'/,/' '/-/'}, {' ' '_'} )</code> will change commas to spaces and dashes to underscores, while <code>,replace( {'/,/' '/-/'}, ' ' )</code> will change both commas <strong>and</strong> dashes to spaces.
|
5303 |
</p>
|
5304 |
+
You can alter the value returned by adding the optional third "v" parameter set to "true". If you add this parameter the returned value will be just the matched portion of the original with the replacement modifications applied. For example, if a <code>post_date</code> data source contains "2013-10-03 02:47:13", then <code>[+post_date,replace( '/(\\d{4})-(\\d{2})-(\\d{2})/', 'year: $1, month: $2, day: $3', true )+]</code> would return "year: 2013, month: 10, day: 03". Note the double backslashes in the pattern argument!
|
5305 |
+
<p>
|
5306 |
+
</p>
|
5307 |
+
<p>
|
5308 |
+
Note that, unlike match and extract, the replace format/option value does not store its pattern or subpattern(s) for later use with the matches: prefix.
|
5309 |
+
<a name="mla_regular_expressions_matches"></a>
|
5310 |
+
</p>
|
5311 |
+
<h4>The <code>matches:</code> field-level prefix</h4>
|
5312 |
+
<p>
|
5313 |
+
The <code>matches:</code> field-level prefix lets you access the patterns and subpatterns matched by all of the match and extract format/option values that precede it in a shortcode, template or rule. For example, if you code <code>[+post_date,extract( '/(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})/' )+]</code> you can then code <code>[+matches:year+]</code> or <code>[+matches:1+]</code> (index 1) to access the year subpattern from the extract format/option.
|
5314 |
+
<a name="mla_regular_expressions_examples"></a>
|
5315 |
+
</p>
|
5316 |
+
<h4>Application Examples</h4>
|
5317 |
+
<p>
|
5318 |
+
Imagine that you have a photo archive where all the files are named with the date on which the image was taken, for example "2010.06.14 Death Valley Landscape.jpg". You would like to extract the date from the file name and use it to update the post_date (Uploaded on) date in the database. You'd also like to preserve the time portion of the current post_date so the items will sort in the order they were uploaded. You can define an IPTC/EXIF mapping rule to do this or use the Media/Assistant Bulk Edit area. In either place you can compose a Content Template to do the job:
|
5319 |
+
</p>
|
5320 |
+
<p>
|
5321 |
+
<code>template:[+name_only,extract( '/(?<year>\\d{4}).(?<month>\\d{2}).(?<day>\\d{2})/' )+]([+matches:year+]-[+matches:month+]-[+matches:day+] [+post_date,date( 'H:i:s' )+])</code>
|
5322 |
+
</p>
|
5323 |
+
<p>
|
5324 |
+
That looks complicated, so let’s consider each part. The first part, <code>[+name_only,extract( ...</code>, extracts the three subparts of the date from the file name and stores them for later use. This part of the template returns an empty value, so it does not contribute to the new post_date value. The second part uses three <code>[+matches: ...</code> data sources to build a valid date separated by dashes. The third part returns just the time portion of the original post_date. The second and third part are surrounded by parentheses, so an empty value is returned when the date values are not found in the file name. That will leave the original post_date value intact for any items whose file names lack a date portion.
|
5325 |
+
</p>
|
5326 |
+
<p>
|
5327 |
+
Here is a somewhat shorter alternative:
|
5328 |
+
</p>
|
5329 |
+
<p>
|
5330 |
+
<code>template:[+name_only,extract( '/(?<filedate>\\d{4}.\\d{2}.\\d{2})/' )+]([+matches:filedate,str_replace( '.', '-' )+] [+post_date,date( 'H:i:s' )+])</code>
|
5331 |
+
</p>
|
5332 |
+
<p>
|
5333 |
+
In this alternative the first part extracts the complete date with its period separators. The second part reformats the date, replacing the periods with dashes. The third part is the same as in the first alternative.
|
5334 |
+
</p>
|
5335 |
+
<p>
|
5336 |
+
One subtle point. The period characters (".") separating the year, month and day portions of the pattern are actually one of the regular expression metacharacters; they will match any character in the subject. For example, they will match "2010/06/14" or "2010X06X14". Either of those values will cause the <code>str_replace()</code> function to fail. If you want to explicitly match a period, preface it with a backslash, e.g.:
|
5337 |
+
</p>
|
5338 |
+
<p>
|
5339 |
+
<code>template:[+name_only,extract( '/(?<filedate>\\d{4}\.\\d{2}\.\\d{2})/' )+]([+matches:filedate,str_replace( '.', '-' )+] [+post_date,date( 'H:i:s' )+])</code>
|
5340 |
+
</p>
|
5341 |
+
<p>
|
5342 |
+
Finally, here’s a version that uses the <code>replace</code> value in a different way:
|
5343 |
+
</p>
|
5344 |
+
<p>
|
5345 |
+
<code>template:([+name_only,replace( '/(\\d{4})\.(\\d{2})\.(\\d{2})/','$1-$2-$3',true)+] [+post_date,date( 'H:i:s' )+])</code>
|
5346 |
+
</p>
|
5347 |
+
<p>
|
5348 |
+
In this version the first part matches the date at the beginning of the file name and replaces its period separators with dashes. It uses the thrid `true` argument to return just the matches/modified portion of the file name. The second part is the same as in the first alternative.
|
5349 |
+
</p>
|
5350 |
+
<p>
|
5351 |
+
As you can see, regular expressions require close attention to detail and they reward careful study of the documentation and examples in the PHP documentation and elsewhere. They are a power tool with sharp edges.
|
5352 |
<a name="mla_text_widget"></a>
|
5353 |
+
</p>
|
5354 |
<p>
|
5355 |
<a href="#backtotop">Go to Top</a>
|
5356 |
</p>
|
5357 |
<h3>The MLA Text Widget</h3>
|
5358 |
<p>
|
5359 |
The MLA Text Widget lets you add content such as <code>[mla_gallery]</code> and <code>[mla_tag_cloud]</code> displays to your site's sidebars. It is an easy way to add slide shows and navigation features to all your pages. The MLA Text Widget is based on the WordPress Text widget, but adds the ability to include <strong>any</strong> shortcode to widget content. To use the MLA Text Widget:
|
5360 |
+
</p>
|
5361 |
<ol>
|
5362 |
<li>Go to the Appearance/Widgets Administration screen</li>
|
5363 |
<li>Open the sidebar, footer, or Theme section to which you wish to add the Text Widget</li>
|
5364 |
<li>Find the Text Widget in the list of Widgets</li>
|
5365 |
<li>Click and drag the Widget to the spot you wish it to appear</li>
|
5366 |
</ol>
|
|
|
5367 |
<p>
|
5368 |
To open and edit the MLA Text Widget:
|
5369 |
+
</p>
|
5370 |
<ol>
|
5371 |
<li>Click the down arrow to the right of the MLA Text Widget title</li>
|
5372 |
<li>Set the MLA Text Widget Title (optional)</li>
|
5376 |
<li>Click Close to close the Widget</li>
|
5377 |
<li>Switch tabs in your browser and review the results; make changes if necessary</li>
|
5378 |
</ol>
|
|
|
5379 |
<p>
|
5380 |
To add an <code>[mla_gallery]</code> or <code>[mla_tag_cloud]</code> shortcode to your widget, simply enter the shortcode name and parameters just as you would in the body of a post or page. Aside from the usually more limited area devoted to displaying the widget content, there are no differences in the way shortcodes are processed in the MLA Widget. Also, there is nothing special about the two MLA shortcodes; <strong>any</strong> shortcode can be added to the MLA Widget.
|
5381 |
<a name="terms_search"></a>
|
5405 |
</p>
|
5406 |
<p>
|
5407 |
Quote marks have another effect on the search; they restrict the match to a word boundary. For example, if you enter 'man' without enclosing quotes it will match "man" or "woman", because "<strong>man</strong>" appears as a part of "wo<strong>man</strong>". If you add quotes, i.e., ' "man" ', it will match "man" or "big man" but it will not match the "man" portion of "woman".
|
5408 |
+
</p>
|
5409 |
<p>
|
5410 |
In the unlikely event you need to match single or double quotes inside a phrase you can enter them as an escape sequence. Use <code>\47</code> for a single quote<code>\42</code> for a double quote.
|
5411 |
</p>
|
|
|
5412 |
<h4>Connecting multiple phrases</h4>
|
5413 |
+
<p>
|
5414 |
The search is further defined by the connector used between multiple phrases:
|
5415 |
</p>
|
5416 |
<ul class="mla_settings">
|
5502 |
The <a href="https://wordpress.org/plugins/codepress-admin-columns/" title="Admin Columns plugin directory page" target="_blank">Admin Columns</a> plugin allows you to customize columns on several admin-mode screens, including the MLA Media/Assistant submenu screen. All you have to do is install the plugin; MLA will detect its presence and automatically register the Media/Assistant submenu screen for support. With Admin Columns, you can:
|
5503 |
</p>
|
5504 |
<ul class="mla_settings">
|
5505 |
+
<li>Reorder columns with a simple drag & drop interface.</li>
|
5506 |
<li>Re-size columns to give more or less space to a column.</li>
|
5507 |
<li>Remove (not just hide) columns from the submenu table.</li>
|
5508 |
<li>Add new columns for custom fields and additional information.</li>
|
5509 |
+
<li>The Admin Columns "Pro" version adds support for inline editing, ACF fields and other capabilities.</li>
|
5510 |
+
<li>The Admin Columns "Pro" version adds support for exporting Media/Assistant table values to CSV-format files.</li>
|
5511 |
</ul>
|
5512 |
<p>
|
5513 |
When Admin Columns is present you will see a new "Edit Columns" button just above the Media/Assistant submenu table. Click the button to go to the Settings/Admin Columns configuration screen. There you will see "Media Library Assistant" added to the "Others:" list. Click on it to see the configuration of the Media/Assistant submenu screen.
|
5524 |
</p>
|
5525 |
<h3>Custom Taxonomy Actions and Filters (Hooks)</h3>
|
5526 |
<p>
|
5527 |
+
The Custom Taxonomy filters and actions give you control over the registration of the Att. Categories and Att. Tags taxonomies from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Taxonomy Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Taxonomy+Hooks+Example%22" class="mla-doc-bold-link">MLA Taxonomy Hooks Example</a>. To run the example:
|
5528 |
+
</p>
|
5529 |
<ol>
|
5530 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5531 |
<li>Hover over "MLA Taxonomy Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
5533 |
<li>Go to, for example, the Media/Assistant submenu to exercise the filters and write filter/action information to the site's Error Log.</li>
|
5534 |
<li>Examine the Error Log to see the filter/action information.</li>
|
5535 |
</ol>
|
|
|
5536 |
<p>
|
5537 |
You can find more information about the types, labels and arguments in the <a href="https://codex.wordpress.org/Function_Reference/register_taxonomy" title="register_taxonomy() Documentation" target="_blank">Function Reference/register taxonomy</a> repository page.
|
5538 |
</p>
|
5556 |
<td class="mla-doc-hook-definition">Modify the array of arguments with which the taxonomy is registered. For example, you can change the URL rewrite slug from the default <code>attachment_category/attachment_tag</code> values for SEO purposes. <strong>Note</strong>: You may need to flush the rewrite rules after changing the slug. You can do it manually by going to the Permalink Settings page and re-saving the rules -- you don't need to change them.</td>
|
5557 |
</tr>
|
5558 |
</table>
|
5559 |
+
<a name="mla_list_table_hooks"></a>
|
|
|
|
|
|
|
5560 |
<p>
|
5561 |
<a href="#backtotop">Go to Top</a>
|
5562 |
</p>
|
5563 |
<h3>Media/Assistant Submenu Actions and Filters (Hooks)</h3>
|
5564 |
<p>
|
5565 |
+
The Media/Assistant submenu supports a comprehensive set of filters and actions that give you control over table columns, inline actions and bulk actions from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the List Table Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+List+Table+Hooks+Example%22" class="mla-doc-bold-link">MLA List Table Hooks Example</a>. To run the example:
|
5566 |
+
</p>
|
5567 |
<ol>
|
5568 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5569 |
<li>Hover over "MLA List Table Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
5571 |
<li>Go to the Media/Assistant submenu to exercise the filters and write filter/action information to the site's Error Log.</li>
|
5572 |
<li>Examine the Error Log to see the filter/action information.</li>
|
5573 |
</ol>
|
|
|
5574 |
<p>
|
5575 |
The example code documents each hook with comments in the filter/action function that intercepts each hook. There are hooks that let you add, modify or delete table columns.
|
5576 |
</p>
|
5747 |
</tr>
|
5748 |
<tr>
|
5749 |
<td class="mla-doc-hook-label">mla_list_table_extranav_actions</td>
|
5750 |
+
<td class="mla-doc-hook-definition">Gives you an opportunity to add, remove and/or re-order the controls added to the top & bottom table navigation areas.</td>
|
5751 |
</tr>
|
5752 |
<tr>
|
5753 |
<td class="mla-doc-hook-label">mla_list_table_extranav_custom_action</td>
|
5807 |
<td class="mla-doc-hook-definition">Gives you a final chance to modify and extend the HTML markup used for the Bulk Edit on Upload form.</td>
|
5808 |
</tr>
|
5809 |
</table>
|
5810 |
+
<a name="mla_media_modal_filters"></a>
|
|
|
|
|
|
|
5811 |
<p>
|
5812 |
<a href="#backtotop">Go to Top</a>
|
5813 |
</p>
|
5814 |
<h3>Media Manager Enhancement filters (Hooks)</h3>
|
5815 |
<p>
|
5816 |
+
Media Library Assistant adds several controls to the toolbar in the Media Manager Modal Window; more MIME type filters, year/month filter, taxonomy term filter and an enhanced Search media box. These features are supported by a comprehensive set of filters and actions that give you control over MMMW content from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Media Modal Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Media+Modal+Hooks+Example%22" class="mla-doc-bold-link">MLA Media Modal Hooks Example</a>. To run the example:
|
5817 |
+
</p>
|
5818 |
<ol>
|
5819 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5820 |
<li>Hover over "MLA Media Modal Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
5832 |
</tr>
|
5833 |
<tr>
|
5834 |
<td class="mla-doc-table-label">mla_media_modal_months_dropdown</td>
|
5835 |
+
<td class="mla-doc-hook-definition">Change the content of the Media Manager Modal Window Month & Year Dropdown control</td>
|
5836 |
</tr>
|
5837 |
<tr>
|
5838 |
<td class="mla-doc-table-label">mla_media_modal_terms_options</td>
|
5896 |
<td class="mla-doc-hook-definition">Substitute the results of the Media Manager Modal Window "Query Attachments" query with alternative results of your own</td>
|
5897 |
</tr>
|
5898 |
</table>
|
5899 |
+
<a name="mla_edit_meta_boxes"></a>
|
|
|
|
|
|
|
5900 |
<p>
|
5901 |
<a href="#backtotop">Go to Top</a>
|
5902 |
</p>
|
5905 |
Media Library Assistant adds support for the "Custom Fields" meta box to the Media/Edit Media screen. MLA also adds several meta boxes to this screen with more information about the item and where it is used on your site. You can enable/disable the additional meta boxes with an option on the Settings/Media Library Assistant General tab.
|
5906 |
</p>
|
5907 |
<p>
|
5908 |
+
You can also make individual changes in which meta boxes are displayed and in their content by using one or more of the filters MLA provides. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Meta Box Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Meta+Box+Hooks+Example%22" class="mla-doc-bold-link">MLA Meta Box Hooks Example</a>. To run the example:
|
5909 |
+
</p>
|
5910 |
<ol>
|
5911 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
5912 |
<li>Hover over "MLA Meta Box Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
5914 |
<li>Make any changes or additions you want to in the example plugin source code. For example, you can modify the <code>mla_inserted_in_metabox</code> example to display a simplified version of the "Inserted in" information.</li>
|
5915 |
<li>View the Media/Edit Media screen for an item to see the effect of your changes.</li>
|
5916 |
</ol>
|
|
|
5917 |
<p>
|
5918 |
The example code documents each hook with comments in the filter function that intercepts the hook. Generally, each meta box filter lets you change the size of the text box (if appropriate) and the content that appears in the box. There is also a second filter for each meta box that lets you replace <strong>all</strong> of the HTML content for most boxes; use these with caution. The current hooks are:
|
5919 |
</p>
|
5955 |
<td class="mla-doc-hook-definition">modify the rows, columns and content of the "MLA Gallery in" meta box.</td>
|
5956 |
</tr>
|
5957 |
</table>
|
5958 |
+
<a name="mla_views"></a>
|
|
|
|
|
|
|
5959 |
<p>
|
5960 |
<a href="#backtotop">Go to Top</a>
|
5961 |
</p>
|
5993 |
</ul>
|
5994 |
<p>
|
5995 |
If you have enabled the <em><strong>Media Manager Enhanced MIME Type filter</strong></em>, the Table View list will also be available in the Media Manager/Add Media "media items" drop down list.
|
|
|
5996 |
<a name="mla_uploads"></a>
|
5997 |
+
</p>
|
5998 |
<p>
|
5999 |
<a href="#backtotop">Go to Top</a>
|
6000 |
</p>
|
6008 |
<h4>Extension and MIME Type</h4>
|
6009 |
<p>
|
6010 |
The Extension is the file extension for this type, and unique key for the item. It must be all lowercase and contain only letters, numbers and hyphens (-). The MIME Type value must be all lowercase and contain only letters, numbers, periods (.), slashes (/) and hyphens (-). The MIME type specification must be a single, valid MIME specification, e.g., "image" or "image/jpeg". These two values are used to compose the list of valid extension/type associations for use within WordPress.
|
6011 |
+
</p>
|
6012 |
<p>
|
6013 |
When a file is uploaded to your Media Library the MIME type associated with that file extension is saved in the WordPress database record for the item. Later, you can use the <code>post_mime_type</code> to, for example, include or exclude the item from an <code>[mla_gallery]</code> display. You can think of the MIME Type as another way to categorize items in the Media Library. Once assigned, the MIME Type is not changed if you later alter the association between file extension and MIME Type. Think twice, therefore, when adding a new association to the list or changing the MIME type associated with an existing extension on the list.
|
6014 |
</p>
|
6020 |
<h4>Source and Status</h4>
|
6021 |
<p>
|
6022 |
The "Source" of an Upload MIME Type reveals where the extension/MIME Type association comes from:
|
6023 |
+
</p>
|
6024 |
<ul class="mla_settings">
|
6025 |
<li><strong>core</strong>: WordPress defines a core set of extensions and associated MIME types, and this list changes with new WordPress releases. These are the "official" items. You can't delete them, but you can inactivate them so they are not used to validate file uploads.</li>
|
6026 |
<li><strong>mla</strong>: Media Library Assistant adds several more extension/type items, drawing from the most popular items found in other plugins and web sites. They are initialized as "inactive" items, so you must explicitly decide to activate them for use in file upload validation.</li>
|
6060 |
</ul>
|
6061 |
<p>
|
6062 |
The icon images can be returned in a <code>[gallery]</code> or an <code>[mla_gallery]</code> shortcode when <code>size=icon</code> is specified. The icons also appear on the Media/Library and Media/Assistant submenu tables.
|
|
|
6063 |
<a name="mla_optional_uploads"></a>
|
6064 |
+
</p>
|
6065 |
<p>
|
6066 |
<a href="#backtotop">Go to Top</a>
|
6067 |
</p>
|
6077 |
</p>
|
6078 |
<p>
|
6079 |
For your own research, I suggest starting with these resources:
|
6080 |
+
</p>
|
6081 |
<ul class="mla_settings">
|
6082 |
<li><a href="http://www.iana.org/assignments/media-types" target="_blank">Internet Assigned Number Authority MIME Media Types</a></li>
|
6083 |
<li><a href="http://en.wikipedia.org/wiki/Internet_media_type" target="_blank">Wikipedia: Internet Media Type</a></li>
|
6095 |
<p>
|
6096 |
In the Custom Fields tab of the Settings screen you can define the rules for mapping several types of file and image metadata to WordPress custom fields. You can also use this screen to define rules for adding or updating elements within the WordPress-supplied "Attachment Metadata", stored in the "_wp_attachment_metadata" custom field. See the <a href="#attachment_metadata_mapping">Adding or changing Attachment Metadata</a> section below for details.
|
6097 |
</p>
|
6098 |
+
<p>
|
6099 |
+
In this tab there are three ways to execute one or more custom field mapping rules for <strong>ALL</strong> of your Media Library items:
|
6100 |
+
</p>
|
6101 |
<ul class="mla_settings">
|
6102 |
<li><strong>Execute All Rules button</strong> - just below the "Enable" checkbox controls in the upper-left portion of the tab. Click this button to immediately run <strong>ALL</strong> of the active rules. Rules marked as inactive will not be executed.</li>
|
6103 |
<li><strong>Bulk Actions "Execute"</strong> - Runs the rules you select by checking the box to the left of one or more rule names. Pull down the "Bulk Actions" control and select "Execute", then click the "Apply" button. <strong>Inactive rules will be executed</strong>; do not select them unless you want to execute them!</li>
|
6104 |
<li><strong>"Execute" rollover action</strong> - Runs the single rule you select by clicking the rule's "Execute" rollover action. <strong>Inactive rules will be executed</strong>.</li>
|
6105 |
</ul>
|
6106 |
+
<p>
|
6107 |
+
These commands process your items in "chunks" to prevent timeout errors. You can pause/resume or cancel the operation between chunks. Note that rules with a Data Source of "none" are ignored because they can't change the custom field value.
|
6108 |
+
</p>
|
6109 |
+
<p>
|
6110 |
+
There are two other ways you can perform custom field mapping for one or more existing attachments:
|
6111 |
+
</p>
|
6112 |
<ul class="mla_settings">
|
6113 |
<li><strong>Edit Media screen</strong> - You can click the "Map Custom Field metadata" link in the "Image Metadata" postbox to apply the existing mapping rules to a single attachment.</li>
|
6114 |
<li><strong>Bulk Action edit area</strong> - To perform mapping for a group of attachments you can use the Bulk Action facility on the Media/Assistant screen. Check the attachments you want to map, select "Edit" from the Bulk Actions dropdown list and click "Apply". The bulk edit area will open with a list of the checked attachments in the left-hand column. You can click the "Map Custom Field metadata" button in the lower left corner of the area to apply the existing mapping rules to the attachments in the list.</li>
|
6115 |
</ul>
|
|
|
6116 |
<p>
|
6117 |
Custom field mapping is a powerful tool, but it comes at the price of additional database storage space and processing time to maintain and retrieve the data. <strong><em>Think carefully about your needs before you use this tool.</em></strong> You can disable or delete any rules you create, so you might want to set up some rules for a special project or analysis of your library and then discard them when you're done. That said, the advantages of mapping metadata to custom fields are:
|
6118 |
</p>
|
6123 |
<p>
|
6124 |
If you just want to add a custom field to the Media/Assistant submenu, the quick edit area and/or the bulk edit area you can bypass the mapping logic by leaving the Data Source value as "-- None (select a value) --".
|
6125 |
</p>
|
6126 |
+
<p>
|
6127 |
+
Three checkbox options control the custom field mapping when new items are added to the Media Library:
|
6128 |
+
</p>
|
6129 |
<ul class="mla_settings">
|
6130 |
<li><strong>Enable custom field mapping</strong> - Check this option to enable the mapping rules and display the "Map" buttons on the Media/Edit Media and Media/Assistant Bulk Edit screens.</li>
|
6131 |
<li><strong>Enable custom field mapping when adding new media</strong> - Check this option to enable mapping when uploading new items (attachments) to the Media Library.</li>
|
6132 |
<li><strong>Enable custom field mapping when updating media metadata</strong> - Check this option to enable mapping when item (attachment) metadata is regenerated,
|
6133 |
e.g., when the Media/Edit Media "Edit Image" functions are used.</li>
|
6134 |
</ul>
|
6135 |
+
<p>
|
6136 |
+
The "when adding" and "when updating" options do <strong>NOT</strong> affect the operation of the "Map" buttons on the bulk edit or single edit screens, nor do they affect any of the "Execute" mapping functions On this Settings screen.
|
6137 |
+
</p>
|
6138 |
+
<p>
|
6139 |
+
Check one or more options to enable these features, then click the "Save Changes" button to record your new setting(s).
|
6140 |
+
</p>
|
6141 |
<p>
|
6142 |
Some plugins support file uploads from the WordPress "front end", usually by using the WordPress "AJAX" support. To enable mapping when these plugins are used you must add an entry to your <code>wp-config.php</code> file so MLA will load the mapping code:
|
6143 |
</p>
|
6157 |
<h4>Custom field mapping example</h4>
|
6158 |
<p>
|
6159 |
Here is a simple example of mapping the items' file size to a custom field, so you can display it in the Media/Assistant submenu table and use it in and <code>[mla_gallery]</code> shortcode. You can go to the Settings/Media Library Assistant Custom Fields tab and define a rule that maps file size to a WordPress custom field. The steps required are:
|
6160 |
+
</p>
|
6161 |
<ol>
|
6162 |
<li>Navigate to the Settings/Media Library Assistant "Custom Fields" tab.</li>
|
6163 |
<li>Make sure the "Enable custom field mapping when adding new media" box is checked. If not, check the box, scroll down and click "Save Changes".</li>
|
6181 |
<br />
|
6182 |
The three parameters in the above example will select all of the images in your media library and sort your gallery so the largest files appear first. You can replace <code>post_parent=all</code> with any other data selection parameters to get the items you want. For example, you can use a "meta_query" to select only those items (of any MIME Type) whose File Size is less than 82,168 bytes (and display the size in the gallery item caption):<br />
|
6183 |
<br />
|
6184 |
+
<code>[mla_gallery post_mime_type=all meta_query="array( array( 'key' => 'File Size', 'value' => array( ' ', ' 82,168' ), 'compare' => 'BETWEEN' ) )" meta_key="File Size" orderby="meta_value" order="DESC" mla_caption="{+caption+}<br />{+custom:File Size+}"]</code>
|
6185 |
</p>
|
6186 |
<p>
|
6187 |
Note the format of the <code>value</code> and <code>compare</code> parameters within the <code>meta_query</code>. Because the File Size custom field uses the "Commas" format, the values are stored as 15-character strings with leading spaces; this makes the values display and sort sensibly. You must use <code>'compare' => 'BETWEEN'</code> and give the lowest and highest values as an array in the <code>'value' => array( ' ', ' 82,168' )</code> parameter, padding each value out to exactly 15 characters wide.
|
6346 |
</p>
|
6347 |
<p>
|
6348 |
As explained elsewhere, you can access all of this data with the "meta:" <a href="#mla_variable_parameters">Field-level markup substitution parameter</a>. By coding the "meta:" prefix in the Field Title column of a field mapping rule you can add to or update this data as well, from any of the data sources listed below. You can use a <a href="#mla_template_parameters">Content Template</a> to compose a value from multiple substitution parameters and test for empty values, choosing among two or more alternatives or suppressing the mapping altogether for a given item.
|
6349 |
+
</p>
|
6350 |
<p>
|
6351 |
Let's say, for example, that you want to add GPS coordinates to the "image_meta" element of the Attachment Metadata.
|
6352 |
+
</p>
|
6353 |
<ol>
|
6354 |
<li>
|
6355 |
Open the Settings/Media Library Assistant submenu and select the Custom Fields tab. Scroll down to the "Add a new Field and Mapping Rule" section.
|
6364 |
Set the other parts of the rule as needed. You can select "Keep" if some of your items already have this information or "Replace" to update all items. "Native" and "Text" are appropriate for this example. You can check "Delete NULL values" to remove any existing, empty values for this element. The "MLA Column", "Quick Edit" and "Bulk Edit" checkboxes have no meaning for Attachment Metadata elements and can be left blank; they will be ignored if checked.
|
6365 |
</li>
|
6366 |
</ol>
|
|
|
6367 |
<p>
|
6368 |
If you are creating an IPTC/EXIF mapping rule the details are a bit different.
|
6369 |
+
</p>
|
6370 |
<ol>
|
6371 |
<li>
|
6372 |
Open the Settings/Media Library Assistant submenu and select the IPTC/EXIF tab. Scroll down to the "Add a new Field and Mapping Rule" section.
|
6381 |
Set the other parts of the rule as needed. You can select "EXIF" unless you also select an IPTC value and want it to have priority. You can select "Keep" if some of your items already have this information or "Replace" to update all items.
|
6382 |
</li>
|
6383 |
</ol>
|
6384 |
+
<a name="custom_field_mapping_with_templates"></a>
|
|
|
|
|
6385 |
<p>
|
6386 |
<a href="#backtotop">Go to Top</a>
|
6387 |
</p>
|
6394 |
</p>
|
6395 |
<p>
|
6396 |
You can use a template to compose a custom field from multiple data sources, e.g., "<code>Taken with [+meta:camera+] at [+dimensions+] using ISO [+exif:ISOSpeedRatings,single+] and [+exif:ExposureTime+] exposure time</code>".
|
|
|
6397 |
</p>
|
6398 |
+
<p>
|
6399 |
You can use a template to compose a custom field from alternative data sources, depending on which fields are populated for a given attachment. For example, "<code>[+pdf:Keywords+]|[+iptc:2#025+]|none</code>" will use the PDF Keywords field, if populated, then the IPTC keywords field, if populated, or the literal "none" if neither field contains a value. With this template you can get keywords from both PDF documents and images in a single field.
|
6400 |
+
</p>
|
6401 |
<p>
|
6402 |
Using a template with the Option Dropdown "Text" or "Single" values will yield a text result. For example, multiple IPTC keywords would be converted into a comma-delimited list as a string. If you combine a template with the "Export", "Array" or "Multi" values the template will deliver an array result if the fields inside the template have multiple values. For example, with "Multi" you can code "<code>([+iptc:2#020<strong>,array</strong>+])([+iptc:2#025<strong>,array</strong>+])</code>" to store each of the IPTC supplemental-category <em><strong>and</strong></em> keywords values (there is no "|" in the template) in a separate custom field value. Note the use of the <strong>,array</strong> formatting option in each field; this is required to get an array result for the field. Also, note that each of the fields is enclosed in parentheses, so the field is suppressed if it contains no values.
|
6403 |
</p>
|
6404 |
<p>
|
6405 |
<strong>CAUTION:</strong> If you use the <code>[+custom:ALL_CUSTOM+]</code> pseudo value in a mapping rule, and you apply the rule more than once, you will see copies of the field you are mapping to in the result. To "clear out" a field you are mapping ALL_CUSTOM into, clear out the text box containing the template, select "Replace" and check the "Delete NULL values" box. Then, click "Map All Attachments"; that will delete the old values and give you a clean start. You'll also see that the template you deleted will be restored after the mapping is complete.
|
6406 |
+
<a name="mla_iptc_exif_mapping"></a>
|
6407 |
</p>
|
|
|
6408 |
<p>
|
6409 |
<a href="#backtotop">Go to Top</a>
|
6410 |
</p>
|
6411 |
<h3>IPTC & EXIF Processing Options</h3>
|
6412 |
<p>
|
6413 |
+
Some image file formats such as JPEG DCT or TIFF Rev 6.0 support the addition of data about the image, or <em>metadata</em>, in the image file. In addition, many JPEG, TIFF and PDF files use the <a href="https://www.adobe.com/products/xmp/" title="Adobe XMP site" target="_blank">Extensible Metadata Platform (XMP)</a> framework. XMP metadata varies from file to file but is often extensive. Many popular image processing programs such as Adobe PhotoShop allow you to populate metadata fields with information such as a copyright notice, caption, the image author and keywords that categorize the image in a larger collection. WordPress uses some of this information to populate the Title, Slug and Description fields when you add an image to the Media Library.
|
6414 |
</p>
|
6415 |
<p>
|
6416 |
The Media Library Assistant has powerful tools for copying metadata to:
|
6417 |
+
</p>
|
6418 |
<ul class="mla_settings">
|
6419 |
<li>the WordPress standard fields, e.g., the Caption</li>
|
6420 |
<li>taxonomy terms, e.g., in categories, tags or custom taxonomies like Att. Categories and Att. Tags</li>
|
6421 |
<li>WordPress Custom Fields</li>
|
6422 |
</ul>
|
6423 |
+
<p>
|
6424 |
You can define the rules for mapping metadata on the "IPTC/EXIF" tab of the Settings page. You can choose to automatically apply the rules when new media are added to the Library (or not). You can click the "Map IPTC/EXIF metadata" button on the Edit Media/Edit Single Item screen or in the bulk edit area to selectively apply the rules to one or more items. You can use the "Execute" functions in the tab to apply the rules to one, some or <strong><em>ALL</em></strong> of the items in your library at one time.
|
6425 |
</p>
|
6426 |
<p>If you use any of the "Execute" functions, the selected rule(s) will be immediately applied to <strong>all</strong> of the attachments in your Media Library. THERE<strong> IS NO UNDO FOR THESE ACTIONS!</strong></p>
|
6428 |
If you just want to add a custom field to the Media/Assistant submenu, the quick edit area and/or the bulk edit area go to the "Custom Fields" tab and follow the instructions there.
|
6429 |
</p>
|
6430 |
<p>In this tab there are three ways to execute one or more IPTC/EXIF mapping rules for <strong>ALL</strong> of your Media Library items:
|
6431 |
+
</p>
|
6432 |
<ul class="mla_settings">
|
6433 |
<li><strong>Execute All Rules button</strong> - just below the "Enable" checkbox controls in the upper-left portion of the tab. Click this button to immediately run <strong>ALL</strong> of the active rules. Rules marked as inactive will not be executed.</li>
|
6434 |
<li><strong>Bulk Actions "Execute"</strong> - Runs the rules you select by checking the box to the left of one or more rule names. Pull down the "Bulk Actions" control and select "Execute", then click the "Apply" button. <strong>Inactive rules will be executed</strong>; do not select them unless you want to execute them!</li>
|
6435 |
<li><strong>"Execute" rollover action</strong> - Runs the single rule you select by clicking the rule's "Execute" rollover action. <strong>Inactive rules will be executed</strong>.</li>
|
6436 |
</ul>
|
6437 |
+
<p>
|
6438 |
These commands process your items in "chunks" to prevent timeout errors. You can pause/resume or cancel the operation between chunks.</p>
|
6439 |
<p>There are two other ways you can perform IPTC/EXIF mapping for one or more existing attachments:
|
6440 |
+
</p>
|
6441 |
<ul class="mla_settings">
|
6442 |
<li><strong>Edit Media screen</strong> - You can click the "Map IPTC/EXIF metadata" link in the "Image Metadata" postbox to apply the existing mapping rules to a single attachment.</li>
|
6443 |
<li><strong>Bulk Action edit area</strong> - To perform mapping for a group of attachments you can use the Bulk Action facility on the Media/Assistant screen. Check the attachments you want to map, select "Edit" from the Bulk Actions dropdown list and click "Apply". The bulk edit area will open with a list of the checked attachments in the left-hand column. You can click the "Map IPTC/EXIF metadata" button in the lower left corner of the area to apply the standing mapping rules to the attachments in the list.</li>
|
6444 |
</ul>
|
|
|
6445 |
<p>Three checkbox options control the IPTC/EXIF mapping when new items are added to the Media Library:
|
6446 |
+
</p>
|
6447 |
<ul class="mla_settings">
|
6448 |
<li><strong>Enable IPTC/EXIF Mapping</strong> - Check this option to enable the mapping rules and display the "Map" buttons on the Media/Edit Media and Media/Assistant Bulk Edit screens.</li>
|
6449 |
<li><strong>Enable IPTC/EXIF Mapping when adding new media</strong> - Check this option to enable mapping when uploading new items (attachments) to the Media Library.</li>
|
6450 |
<li><strong>Enable IPTC/EXIF Mapping when updating media metadata</strong> - Check this option to enable mapping when item (attachment) metadata is regenerated,
|
6451 |
e.g., when the Media/Edit Media "Edit Image" functions are used.</li>
|
6452 |
</ul>
|
6453 |
+
<p>
|
6454 |
The "when adding" and "when updating" options do <strong>NOT</strong> affect the operation of the "Map" buttons on the bulk edit or single edit screens, nor do they affect any of the "Execute" mapping functions On this Settings screen.</p>
|
6455 |
<p>Check one or more options to enable these features, then click the "Save Changes" button to record your new setting(s).</p>
|
6456 |
<p>
|
6464 |
</p>
|
6465 |
<p>
|
6466 |
If you cannot identify the proper "action" value or if your uploader uses another method to do its work you can try adding <code>define( 'MLA_AJAX_EXCEPTIONS', 'always' );</code> to your <code>wp-config.php</code> file. This value will unconditionally load full MLA support for AJAX operations and may give you better results. You can also use the <a href="#mla_debug_tab">Debug tab</a> and <code>define( 'MLA_DEBUG_LEVEL', 3 );</code> to log more information about file upload requests; that may help identify the appropriate "action" value.
|
6467 |
+
<a name="iptc_exif_mapping_example"></a>
|
6468 |
</p>
|
6469 |
<p>
|
6470 |
<a href="#backtotop">Go to Top</a>
|
6480 |
</blockquote>
|
6481 |
<p>
|
6482 |
You can go to the Settings/Media Library Assistant IPTC/EXIF tab and define a rule that maps any of these fields to a WordPress custom field. The steps required are:
|
6483 |
+
</p>
|
6484 |
<ol>
|
6485 |
<li>Navigate to the Settings/Media Library Assistant IPTC/EXIF tab.</li>
|
6486 |
<li>Make sure the "Enable IPTC/EXIF Mapping when adding new media" box is checked. If not, check the box, scroll down and click "Save Changes".</li>
|
6505 |
<br />
|
6506 |
The three parameters in the above example will select all of the images in your media library and sort your gallery so the newest/most recent images appear first. You can replace <code>post_parent=all</code> with any other data selection parameters to get the images you want. For example, you can use a "meta_query" to select only those images created after 2012-01-01 (and display the date in the gallery item caption):<br />
|
6507 |
<br />
|
6508 |
+
<code>[mla_gallery meta_query="array( array( 'key' => 'Date Time Created', 'value' => '2012-01-01', 'compare' => '<' ) )" meta_key="Date Time Created" orderby="meta_value DESC" mla_caption="{+custom:Date Time Created+}" ]</code>
|
6509 |
+
<a name="iptc_exif_mapping_tables"></a>
|
6510 |
</p>
|
|
|
6511 |
<p>
|
6512 |
<a href="#backtotop">Go to Top</a>
|
6513 |
</p>
|
6582 |
If you code the "template:" prefix at the beginning of the EXIF/Template value you have all the power of Content Templates at your disposal. Do <strong>not</strong> add the "[+" and "+]" delimiters; the prefix is all you need.
|
6583 |
</p>
|
6584 |
<p>
|
6585 |
+
A template can be used to access any XMP metadata your items contain. For example:<br />
|
6586 |
+
<br />
|
6587 |
+
<code>template:([+xmp:Title+])</code><br />
|
6588 |
+
<code>template:([+xmp:Regions.RegionList.*.*.Name,array+])</code><br />
|
6589 |
+
<br />
|
6590 |
Note the use of parentheses around the XMP parameters, which replace missing values with an empty value to enable proper rule processing.
|
6591 |
</p>
|
6592 |
<p>
|
6594 |
</p>
|
6595 |
<p>
|
6596 |
You can use a template to compose a value from multiple data sources, e.g., "<code>Taken with [+meta:camera+] at [+dimensions+] using ISO [+exif:ISOSpeedRatings,single+] and [+exif:ExposureTime+] exposure time</code>".
|
|
|
6597 |
</p>
|
6598 |
+
<p>
|
6599 |
You can use a template to compose a value from alternative data sources, depending on which fields are populated for a given attachment. For example, "<code>[+iptc:2#020+]|[+iptc:2#025+]|none</code>" will use the IPTC supplemental-category field, if populated, then the IPTC keywords field, if populated, or the literal "none" if neither IPTC field contains a value.
|
6600 |
</p>
|
6601 |
<p>
|
6606 |
</p>
|
6607 |
<p>
|
6608 |
Note that the <strong>,array</strong> formatting option is <strong>not</strong> required to get an array result for the field in a Taxonomy term mapping template; it is assumed. If you want a <strong>text</strong>, <strong>single</strong> or <strong>export</strong> result you can add one of those formatting options to your field specification.
|
6609 |
+
<a name="date_iptc_exif_mapping"></a>
|
6610 |
+
</p>
|
6611 |
+
<p>
|
6612 |
+
<a href="#backtotop">Go to Top</a>
|
6613 |
+
</p>
|
6614 |
+
<h4>IPTC/EXIF Mapping and Bulk Editing for the "Uploaded on" Standard Field</h4>
|
6615 |
+
<p>
|
6616 |
+
The "Uploaded on" Standard Field is set by WordPress to the date and time the item is uploaded to the Media Library. You can use a mapping rule to replace this with a different value, such as the date and time the item was created. Many EXIF date and time values such as DateTimeOriginal and DateTimeDigitized are stored as strings with a format of "YYYY:MM:DD HH:MM:SS". You can parse this format and just about any English textual datetime description into a Unix timestamp, then convert the result to the appropriate format ('Y-m-d H:i:s', e.g., "2014-12-31 23:59:00", or just before midnight on new year's eve). The mapping rule first uses the PHP strtotime() function, then the date() function, to compose a valid date and time. The "Supported Date and Time Formats" that can be passed in to the rule are described at: <a href="http://php.net/manual/en/datetime.formats.php" title="PHP Supported Date and Time Formats" target="_blank">http://php.net/manual/en/datetime.formats.php</a>.<br /> <br />You can use a Content Template to compose the starting value in many ways. For example:
|
6617 |
+
</p>
|
6618 |
+
<p><code>
|
6619 |
+
template:([+exif:DateTimeOriginal+]|[+meta:image_meta.created_timestamp,timestamp('Y-m-d H:i:s')+])
|
6620 |
+
</code></p>
|
6621 |
+
<p>
|
6622 |
+
This example first uses the EXIF <code>DateTimeOriginal</code> value, if present. If that value is missing the alternative is the <code>created_timestamp</code> that WordPress calculates and adds to the <code>image_meta</code> array in the attachment metadata. Since the <code>created_timestamp</code> is a Unix timestamp it is first converted to a text format that can be processed by strtotime(). If neither value is available the original WordPress-supplied default will be retained.
|
6623 |
+
</p>
|
6624 |
+
<p>
|
6625 |
+
You can also replace the Uploaded on values for one or more items in the <strong>Bulk Edit Area</strong> of the Media/Assistant submenu table. Again, the Content Template feature adds power to this feature. For example, you can replace the date portion of the value while retaining the time portion to preserve the sort order of your items:
|
6626 |
+
</p>
|
6627 |
+
<p><code>
|
6628 |
+
template: 20180102 [+post_date,date( 'H:i:s' )+]<br />
|
6629 |
+
template: today [+post_date,date( 'H:i:s' )+]
|
6630 |
+
</code></p>
|
6631 |
+
<p>
|
6632 |
+
The first example above sets the date to a fixed value. The second example uses "today", one of the <a href="http://php.net/manual/en/datetime.formats.relative.php" title="PHP Supported Relative Date/Time Formats" target="_blank">Relative Formats</a> PHP supports to replace the date portion with the current date. Both examples access the original <code>post_date</code> data value and then use the "date" format/option function to extract just the time portion.
|
6633 |
+
<a name="pdf_iptc_exif_mapping"></a>
|
6634 |
</p>
|
|
|
6635 |
<p>
|
6636 |
<a href="#backtotop">Go to Top</a>
|
6637 |
</p>
|
6671 |
</table>
|
6672 |
<p>
|
6673 |
The three rules have a similar structure:
|
6674 |
+
</p>
|
6675 |
<ul class="mla_settings">
|
6676 |
<li>"template:" (goes in the text box below "EXIF/Template Value") is used to access the pdf: values instead of the EXIF values.</li>
|
6677 |
<li>The values are surrounded by parentheses "(" and ")" so they will return an empty string for documents without meta data in the field and for other items such as images.
|
6679 |
<li>I have selected "Replace" to overwrite the existing text, because a default Title was assigned to the items when they were uploaded. You can change this to "Keep" if you already have values in one or more of the fields that you want to retain.
|
6680 |
</li>
|
6681 |
</ul>
|
6682 |
+
<p>
|
6683 |
The taxonomy rule also has the ",array" option to return multiple keywords as individual array elements that can be converted to taxonomy terms. For this rule, the "Delimiter(s)" text box contains a comma and a semicolon, which should cover most of the documents you will encounter.
|
6684 |
</p>
|
6685 |
<p>
|
6717 |
</table>
|
6718 |
<p>
|
6719 |
The three rules have similar changes:
|
6720 |
+
</p>
|
6721 |
<ul class="mla_settings">
|
6722 |
<li>A vertical bar ("|") separates the two data source specifications. This is the Content Template "Choice" operator, which takes the first non-blank alternative from among the choices.</li>
|
6723 |
<li>A second data source for images. The PDF documents will not have "exif:"/"iptc:" data sources, and images will not have "pdf:" data sources, so only one (at most) of the two alternatives will be non-blank.
|
6724 |
</li>
|
6725 |
</ul>
|
6726 |
+
<p>
|
6727 |
In fact, WordPress contains its own rules for composing a Title from IPTC/Exif metadata (see <a href="#wordpress_default_mapping">WordPress default title, slug and description mapping</a>), so you may not need or want to extend the Title rule. WordPress also fills the Description field, but does not fill the Caption. You may want to copy the Description into the Caption; if you do, replace <code>[+exif:ImageDescription+]</code> with <code>[+post_content+]</code> in the Caption rule.
|
6728 |
+
<a name="wordpress_default_mapping"></a>
|
6729 |
</p>
|
|
|
6730 |
<p>
|
6731 |
<a href="#backtotop">Go to Top</a>
|
6732 |
</p>
|
6736 |
</p>
|
6737 |
<p>
|
6738 |
The WordPress rules are somewhat complex; consult the source code if you need exact details. Roughly speaking, the priority order for mapping the post_title and post_name values from non-blank IPTC/EXIF metadata is:
|
6739 |
+
</p>
|
6740 |
<ol>
|
6741 |
<li>EXIF "Title"</li>
|
6742 |
<li>EXIF "ImageDescription" (if less than 80 characters)</li>
|
6749 |
<li>EXIF "ImageDescription" (if different from post_title)</li>
|
6750 |
<li>IPTC 2#120 "caption-or-abstract" (if different from post_title)</li>
|
6751 |
</ol>
|
|
|
6752 |
<a name="mla_mapping_hooks"></a>
|
6753 |
<p>
|
6754 |
<a href="#backtotop">Go to Top</a>
|
6755 |
</p>
|
6756 |
<h3>MLA Custom Field and IPTC/EXIF Mapping Actions and Filters (Hooks)</h3>
|
6757 |
<p>
|
6758 |
+
The Custom Field and IPTC/EXIF Mapping tools support a comprehensive set of filters and actions that give you complete control over rule execution and value creation from PHP code in your theme or in another plugin. An example of using the hooks from a simple, stand-alone plugin can be found in the Documentation/Example Plugins submenu. You can find the example plugin here: <a title="Find the Mapping Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Mapping+Hooks+Example%22" class="mla-doc-bold-link">MLA Mapping Hooks Example</a>. To run the example:
|
6759 |
+
</p>
|
6760 |
<ol>
|
6761 |
<li>Click on the link above or go to top of the Documentation tab and click on the "Example Plugins" button.</li>
|
6762 |
<li>Hover over "MLA Mapping Hooks Example" in the Name column, then click the "Install" rollover action.</li>
|
6764 |
<li>Upload a new attachment and/or run the mapping rules to exercise the filters and write mapping information to the site's Error Log.</li>
|
6765 |
<li>Examine the Error Log to see the mapping information.</li>
|
6766 |
</ol>
|
|
|
6767 |
<p>
|
6768 |
The example code documents each hook with comments in the filter/action function that intercepts each hook. There are hooks that run at the beginning and end of the overall mapping operation as well as hooks for each mapping rule.
|
6769 |
</p>
|
6812 |
</tr>
|
6813 |
</table>
|
6814 |
<p>
|
6815 |
+
A second example plugin, <a title="Find the Metadata Mapping Hooks Example" href="[+example_url+]&mla-example-search=Search+Plugins&s=%22MLA+Metadata+Mapping+Hooks+Example%22" class="mla-doc-bold-link">MLA Metadata Mapping Hooks Example</a>, illustrates the metadata hooks. The current insert attachment/update attachment metadata hooks are:
|
6816 |
</p>
|
6817 |
<table>
|
6818 |
<tr>
|
6935 |
<td class="mla-doc-table-label">64, or 0x0040</td>
|
6936 |
<td>writes MLA-specific messages to the log for "where-used" reference collection.</td>
|
6937 |
</tr>
|
6938 |
+
<tr>
|
6939 |
+
<td class="mla-doc-table-label">128, or 0x0080</td>
|
6940 |
+
<td>writes MLA-specific messages to the log for MIME Type processing.</td>
|
6941 |
+
</tr>
|
6942 |
</table>
|
6943 |
<p>
|
6944 |
You can pick the logging categories you want by adding the above values together. For example, to log only PHP messages you can use <code>define( 'MLA_DEBUG_LEVEL', 1 );</code> or <code>define( 'MLA_DEBUG_LEVEL', 0x0001 );</code>. To add the "AJAX" messages you can use <code>define( 'MLA_DEBUG_LEVEL', 3 );</code> or <code>define( 'MLA_DEBUG_LEVEL', 0x0003 );</code>. The hexadecimal notation ( 0x0003 ) can be easier to understand when several options are involved.
|
6984 |
</ul>
|
6985 |
<p>
|
6986 |
If you are having an MLA problem that includes error messages in the log, copying the messages and adding them to your Support Forum topic can be most helpful; thanks!
|
6987 |
+
<a name="mla_language_tab"></a>
|
6988 |
</p>
|
6989 |
<p>
|
6990 |
<a href="#backtotop">Go to Top</a>
|
7064 |
<p>
|
7065 |
When a specific language is selected only the item translations for that language are shown, and only the terms for that language are displayed (except for a Polylang bug that shows all languages in the "auto-complete" list for flat taxonomies). When "All Languages"/"Show all languages" is selected the terms for all languages are displayed even if they cannot be assigned to an item. For example, a Spanish term may appear in the list be cannot be assigned to an English item translations.
|
7066 |
</p>
|
7067 |
+
<p>
|
7068 |
For individual edit and quick edit updates the rule is simple:
|
7069 |
+
</p>
|
7070 |
<ol>
|
7071 |
<li>For all terms selected/entered, find the equivalent term in the language of the item translation. Assign the equivalent (language-specific) term if one exists. If no equivalent term exists, ignore the selected/entered term. Assign all equivalent terms to the item translation, replacing any previous terms.</li>
|
7072 |
</ol>
|
7073 |
+
<p>
|
7074 |
For bulk edit updates the rule depends on which action (add, remove, replace) has been selected. Each of the item translations in the bulk edit list is updated by these rules:
|
7075 |
+
</p>
|
7076 |
<ol>
|
7077 |
<li><strong>Add</strong>: For all terms selected/entered, find the equivalent term in the language of the item translation. Assign the equivalent (language-specific) term if one exists. If the equivalent term exists, add it to the item translation.</li>
|
7078 |
<li><strong>Remove</strong>: For all terms selected/entered, find the equivalent term in the language of the item translation. Assign the equivalent (language-specific) term if one exists. If the equivalent term exists, remove it from the item translation.</li>
|
7079 |
<li><strong>Replace</strong>: This is the tricky case. What should happen to terms already assigned to an item translation that have not been selected/entered for the update? In particular, what about terms that do not have translations to all languages? Should a "French-only" term be preserved?</li>
|
7080 |
</ol>
|
7081 |
+
<p>
|
7082 |
The "<strong>Replace</strong>" answer is the same as the individual/quick edit answer. If the term is not selected/entered for the update it is discarded along with the other old assignments. After all, in "All Languages"/"Show all languages" mode the "French-only" term would have been in the list and could be selected if desired.
|
7083 |
</p>
|
7084 |
<strong>Term Synchronization</strong>
|
7141 |
</ul>
|
7142 |
<p>
|
7143 |
If you use Replication to automatically create terms in non-current languages they will be created with the same text value as the source term in the current language. You can always go to the taxonomy edit page and change the source text to an appropriate value for the other language(s). If you do not use Replication you can always go to the taxonomy edit page and add translations with an appropriate value for the other language(s).
|
7144 |
+
<a name="mla_example_plugins"></a>
|
7145 |
</p>
|
7146 |
<p>
|
7147 |
<a href="#backtotop">Go to Top</a>
|
7152 |
<p>The Documentation/Example Plugins submenu lets you browse the list of MLA example plugins, install or update them in the Plugins/Installed Plugins area and see which examples you have already installed. <strong>To activate, deactivate or delete</strong> the plugins you must go to the Plugins/Installed Plugins admin submenu.</p>
|
7153 |
<p>
|
7154 |
The Example plugins submenu lists all of the MLA example plugins and identifies those already in the Installed Plugins area. In the submenu:
|
7155 |
+
</p>
|
7156 |
<ul class="mla_settings">
|
7157 |
<li>the "Screen Options" dropdown area lets you choose which columns to display and how many items appear on each page</li>
|
7158 |
<li>the "Help" dropdown area gives you a brief explanation of the submenu content and functions</li>
|
7160 |
<li>bulk and rollover actions are provided to install or update example plugins</li>
|
7161 |
<li>the table can be sorted by any of the displayed columns</li>
|
7162 |
</ul>
|
|
|
7163 |
<p>
|
7164 |
Once you have installed an example plugin you can use the WordPress Plugins/Editor submenu to view the source code and (with extreme caution) make small changes to the code. <strong>Be very careful if you choose to modify the code!</strong> Making changes to active plugins is not recommended. If your changes cause a fatal error, the plugin will be automatically deactivated. It is much safer to download the file(s) or use FTP access to your site to modify the code offline in a more robust HTML/PHP editor.
|
7165 |
</p>
|
tpls/help-for-media_page_mla-menu.tpl
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<!-- invoked as /wp-admin/upload.php?page=mla-menu -->
|
3 |
<!-- template="mla-overview" -->
|
4 |
<!-- title="Overview" order="10" -->
|
5 |
-
<p>All the files you’ve uploaded are listed in the Media/Assistant submenu table, ordered by the
|
6 |
<p>You can use the Screen Options tab to customize the display of this screen. You can choose any combination of the columns available for display. You can also choose how many items appear on each page of the display.</p>
|
7 |
<p>You can narrow the list by file type/status using the text link filters at the top of the screen. You also can refine the list by month using the dropdown menu above the media table.</p>
|
8 |
<p>If you have selected taxonomy support, e.g., “Att. Categories”, you can filter the list by selecting “All Categories”, “No Categories” or a specific category from the drop down list. If you select a category that has child categories beneath it, attachments in any of the child categories will also appear in the filtered list. You can select the taxonomy you want to filter by on the Settings page.</p>
|
@@ -66,7 +66,8 @@ There are four where-used reporting categories and you can turn them on or off w
|
|
66 |
<p>Bulk Edit support for taxonomy terms allows you to <strong>add, remove or completely replace</strong> terms for the selected attachments. Below each taxonomy edit box are three radio buttons that let you select the action you’d like to perform.</p>
|
67 |
<p>The taxonomies that appear in the Bulk Edit area can be a subset of the taxonomies supported on the single item edit screen. You can select which taxonomies appear by entering your choice(s) in the Settings/Media Library Assistant General tab.</p>
|
68 |
<p>You can update the Title, Caption, Description and ALT Text values for all of the selected attachments. You can use a <a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_template_parameters" target="_blank">Content Template</a> to customize the values based on attachment-specific data sources. You can also delete the content of a field by entering the special <code>template:[+empty+]</code> value.</p>
|
69 |
-
<p>
|
|
|
70 |
<!-- template="mla-available-actions" -->
|
71 |
<!-- title="Available Actions" order="100" -->
|
72 |
<p>Hovering over a row reveals action links such as Edit, Quick Edit, Move to Trash and Delete Permanently. Clicking Edit displays a simple screen to edit that individual file’s metadata. Clicking Move to Trash will assign the file to the Trash pile but will not affect pages or posts to which it is attached. Clicking Delete Permanently will delete the file from the media library (as well as from any posts to which it is currently attached). Clicking Quick Edit displays an inline form to edit the file's metadata without leaving the menu screen.</p>
|
2 |
<!-- invoked as /wp-admin/upload.php?page=mla-menu -->
|
3 |
<!-- template="mla-overview" -->
|
4 |
<!-- title="Overview" order="10" -->
|
5 |
+
<p>All the files you’ve uploaded are listed in the Media/Assistant submenu table, ordered by the Date field in descending order. You can change the sort order by clicking on one of the blue column names. You can change the default sort order on the Settings screen.</p>
|
6 |
<p>You can use the Screen Options tab to customize the display of this screen. You can choose any combination of the columns available for display. You can also choose how many items appear on each page of the display.</p>
|
7 |
<p>You can narrow the list by file type/status using the text link filters at the top of the screen. You also can refine the list by month using the dropdown menu above the media table.</p>
|
8 |
<p>If you have selected taxonomy support, e.g., “Att. Categories”, you can filter the list by selecting “All Categories”, “No Categories” or a specific category from the drop down list. If you select a category that has child categories beneath it, attachments in any of the child categories will also appear in the filtered list. You can select the taxonomy you want to filter by on the Settings page.</p>
|
66 |
<p>Bulk Edit support for taxonomy terms allows you to <strong>add, remove or completely replace</strong> terms for the selected attachments. Below each taxonomy edit box are three radio buttons that let you select the action you’d like to perform.</p>
|
67 |
<p>The taxonomies that appear in the Bulk Edit area can be a subset of the taxonomies supported on the single item edit screen. You can select which taxonomies appear by entering your choice(s) in the Settings/Media Library Assistant General tab.</p>
|
68 |
<p>You can update the Title, Caption, Description and ALT Text values for all of the selected attachments. You can use a <a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_template_parameters" target="_blank">Content Template</a> to customize the values based on attachment-specific data sources. You can also delete the content of a field by entering the special <code>template:[+empty+]</code> value.</p>
|
69 |
+
<p>You can update the "Uploaded on" date/time values for all the selected attachments, using a Content Template for attachment-specific data sources. More information on this powerful feature is in the <a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#date_iptc_exif_mapping" target="_blank">IPTC/EXIF Mapping and Bulk Editing for the "Uploaded on" Standard Field</a> section of the Documentation tab.</p>
|
70 |
+
<p>In the Bulk Edit area two additional substitution parameter values are available. The <code>[+index+]</code> value starts at one and is incremented for each item processed. You can add an offset, e.g., <code>[+index,99+]</code> will give a starting value of 100. The <code>[+found_rows+]</code> value contains the total number of items that will be processed.</p>
|
71 |
<!-- template="mla-available-actions" -->
|
72 |
<!-- title="Available Actions" order="100" -->
|
73 |
<p>Hovering over a row reveals action links such as Edit, Quick Edit, Move to Trash and Delete Permanently. Clicking Edit displays a simple screen to edit that individual file’s metadata. Clicking Move to Trash will assign the file to the Trash pile but will not affect pages or posts to which it is attached. Clicking Delete Permanently will delete the file from the media library (as well as from any posts to which it is currently attached). Clicking Quick Edit displays an inline form to edit the file's metadata without leaving the menu screen.</p>
|
tpls/help-for-settings_page_mla-settings-menu-custom_field.tpl
CHANGED
@@ -58,7 +58,7 @@ There is no "trash" area or "undo" feature, so use the "Purge Values" and "Delet
|
|
58 |
<!-- template="mla-add-new" -->
|
59 |
<!-- title="Add New Rule" order="60" -->
|
60 |
<p>The left-hand side of the screen contains all the fields you need to define a new custom field rule. Name is required, and must not have a rule already defined for it; the other fields are not or have default values. There is more information about each field in the text under the value area.</p>
|
61 |
-
<p>You can pick from a list of the custom fields already associated with one or more items. If you want to define a new custom field, click "Enter new field" and type the new field's name in the text box
|
62 |
<p><strong>NOTE:</strong> To save your work and add the rule, you must scroll down to the bottom of the form and click "Add Rule".</p>
|
63 |
<p>You can find complete information on each of the custom field mapping rule fields in the "The custom field rule elements" portion of the "Documentation on Custom Field Mapping Rules" section of the Documentation tab (see the "For more information" link in the sidebar at the right).</p>
|
64 |
<!-- template="mla-read-only" -->
|
@@ -68,5 +68,5 @@ There is no "trash" area or "undo" feature, so use the "Purge Values" and "Delet
|
|
68 |
<!-- template="sidebar" -->
|
69 |
<p><strong>For more information:</strong></p>
|
70 |
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_custom_field_mapping" target="_blank">Documentation on Custom Field Mapping Rules</a></p>
|
71 |
-
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#attachment_metadata_mapping" target="_blank">Documentation on updating WordPress "attachment metadata"</a></p>
|
72 |
<p><a href="http://wordpress.org/support/plugin/media-library-assistant" target="_blank">MLA Support Forum</a></p>
|
58 |
<!-- template="mla-add-new" -->
|
59 |
<!-- title="Add New Rule" order="60" -->
|
60 |
<p>The left-hand side of the screen contains all the fields you need to define a new custom field rule. Name is required, and must not have a rule already defined for it; the other fields are not or have default values. There is more information about each field in the text under the value area.</p>
|
61 |
+
<p>You can pick from a list of the custom fields already associated with one or more items. If you want to define a new custom field, click "Enter new field" and type the new field's name in the text box. If you want to display or update an "attachment metadata" field, click "Enter new field" and prefix the metadata element name with "meta:"</p>
|
62 |
<p><strong>NOTE:</strong> To save your work and add the rule, you must scroll down to the bottom of the form and click "Add Rule".</p>
|
63 |
<p>You can find complete information on each of the custom field mapping rule fields in the "The custom field rule elements" portion of the "Documentation on Custom Field Mapping Rules" section of the Documentation tab (see the "For more information" link in the sidebar at the right).</p>
|
64 |
<!-- template="mla-read-only" -->
|
68 |
<!-- template="sidebar" -->
|
69 |
<p><strong>For more information:</strong></p>
|
70 |
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_custom_field_mapping" target="_blank">Documentation on Custom Field Mapping Rules</a></p>
|
71 |
+
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#attachment_metadata_mapping" target="_blank">Documentation on displaying and/or updating WordPress "attachment metadata"</a></p>
|
72 |
<p><a href="http://wordpress.org/support/plugin/media-library-assistant" target="_blank">MLA Support Forum</a></p>
|
tpls/help-for-settings_page_mla-settings-menu-iptc_exif.tpl
CHANGED
@@ -69,4 +69,5 @@ There is no "trash" area or "undo" feature, so use the "Purge Values" and "Delet
|
|
69 |
<!-- template="sidebar" -->
|
70 |
<p><strong>For more information:</strong></p>
|
71 |
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_iptc_exif_mapping" target="_blank">Documentation on IPTC/EXIF Mapping Rules</a></p>
|
|
|
72 |
<p><a href="http://wordpress.org/support/plugin/media-library-assistant" target="_blank">MLA Support Forum</a></p>
|
69 |
<!-- template="sidebar" -->
|
70 |
<p><strong>For more information:</strong></p>
|
71 |
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_iptc_exif_mapping" target="_blank">Documentation on IPTC/EXIF Mapping Rules</a></p>
|
72 |
+
<p><a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#date_iptc_exif_mapping" target="_blank">IPTC/EXIF Mapping and Bulk Editing for the "Uploaded on" Standard Field</a></p>
|
73 |
<p><a href="http://wordpress.org/support/plugin/media-library-assistant" target="_blank">MLA Support Forum</a></p>
|
tpls/mla-add-new-bulk-edit.tpl
CHANGED
@@ -48,6 +48,9 @@
|
|
48 |
<label class="inline-edit-image-alt"><span class="title">[+ALT Text+]</span><span class="input-text-wrap">
|
49 |
<input type="text" name="image_alt" value="" />
|
50 |
</span></label>
|
|
|
|
|
|
|
51 |
<div class="inline-edit-group">
|
52 |
<label class="inline-edit-post-parent alignleft"><span class="title">[+Parent ID+]</span><span class="input-text-wrap">
|
53 |
<input type="text" name="post_parent" value="" />
|
@@ -95,6 +98,9 @@
|
|
95 |
<label class="inline-edit-image-alt"><span class="title">[+ALT Text+]</span><span class="input-text-wrap">
|
96 |
<input type="text" name="image_alt" value="" />
|
97 |
</span></label>
|
|
|
|
|
|
|
98 |
<div class="inline-edit-group">
|
99 |
<label class="inline-edit-post-parent alignleft"><span class="title">[+Parent ID+]</span><span class="input-text-wrap">
|
100 |
<input type="text" name="post_parent" value="" />
|
48 |
<label class="inline-edit-image-alt"><span class="title">[+ALT Text+]</span><span class="input-text-wrap">
|
49 |
<input type="text" name="image_alt" value="" />
|
50 |
</span></label>
|
51 |
+
<label class="inline-edit-post-date"><span class="title">[+Uploaded on+]</span><span class="input-text-wrap">
|
52 |
+
<input type="text" name="post_date" value="" />
|
53 |
+
</span></label>
|
54 |
<div class="inline-edit-group">
|
55 |
<label class="inline-edit-post-parent alignleft"><span class="title">[+Parent ID+]</span><span class="input-text-wrap">
|
56 |
<input type="text" name="post_parent" value="" />
|
98 |
<label class="inline-edit-image-alt"><span class="title">[+ALT Text+]</span><span class="input-text-wrap">
|
99 |
<input type="text" name="image_alt" value="" />
|
100 |
</span></label>
|
101 |
+
<label class="inline-edit-post-date"><span class="title">[+Uploaded on+]</span><span class="input-text-wrap">
|
102 |
+
<input type="text" name="post_date" value="" />
|
103 |
+
</span></label>
|
104 |
<div class="inline-edit-group">
|
105 |
<label class="inline-edit-post-parent alignleft"><span class="title">[+Parent ID+]</span><span class="input-text-wrap">
|
106 |
<input type="text" name="post_parent" value="" />
|
tpls/mla-option-templates.tpl
CHANGED
@@ -1,3 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<!-- template="taxonomy-table" -->
|
2 |
<tr valign="top">
|
3 |
<td colspan="2" class="textleft">
|
1 |
+
<!-- template="text" -->
|
2 |
+
<tr valign="top"><th scope="row" class="textright">
|
3 |
+
[+value+]
|
4 |
+
</th><td class="textleft">
|
5 |
+
<input name="[+key+]" id="[+key+]" type="text" size="[+size+]" value="[+text+]" />
|
6 |
+
<div class="mla-settings-help"> [+help+]</div>
|
7 |
+
</td></tr>
|
8 |
<!-- template="taxonomy-table" -->
|
9 |
<tr valign="top">
|
10 |
<td colspan="2" class="textleft">
|