Enhanced Media Library - Version 2.2

Version Description

Release Date - March 19, 2016

Download this release

Release Info

Developer webbistro
Plugin Icon 128x128 Enhanced Media Library
Version 2.2
Comparing to
See all releases

Code changes from version 2.1.7 to 2.2

core/class-eml-media-list-table.php DELETED
@@ -1,102 +0,0 @@
1
- <?php
2
-
3
-
4
-
5
- /**
6
- * EML custom media table
7
- *
8
- * Extends wp-admin/includes/class-wp-media-list-table.php
9
- *
10
- * Features added:
11
- * All Uncategorized
12
- *
13
- * @since 2.0.4
14
- * @created 21/02/15
15
- */
16
-
17
- class WPUXSS_EML_Media_List_Table extends WP_Media_List_Table {
18
-
19
- protected $detached;
20
-
21
- protected $uncategorized;
22
-
23
- protected $is_trash;
24
-
25
-
26
- public function __construct( $args = array() ) {
27
-
28
- $this->detached = ( isset( $_REQUEST['attachment-filter'] ) && 'detached' === $_REQUEST['attachment-filter'] );
29
-
30
- $this->uncategorized = ( isset( $_REQUEST['attachment-filter'] ) && 'uncategorized' === $_REQUEST['attachment-filter'] );
31
-
32
- $this->is_trash = isset( $_REQUEST['attachment-filter'] ) && 'trash' == $_REQUEST['attachment-filter'];
33
-
34
- parent::__construct();
35
- }
36
-
37
-
38
- protected function get_views() {
39
-
40
- global $wpdb, $post_mime_types, $avail_post_mime_types;
41
-
42
- $type_links = array();
43
- $_num_posts = (array) wp_count_attachments();
44
- $_total_posts = array_sum($_num_posts) - $_num_posts['trash'];
45
- $total_orphans = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1" );
46
- $matches = wp_match_mime_types(array_keys($post_mime_types), array_keys($_num_posts));
47
- foreach ( $matches as $type => $reals )
48
- foreach ( $reals as $real )
49
- $num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real];
50
-
51
- $selected = empty( $_GET['attachment-filter'] ) ? ' selected="selected"' : '';
52
- $type_links['all'] = "<option value=''$selected>" . sprintf( _nx( 'All (%s)', 'All (%s)', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . '</option>';
53
- foreach ( $post_mime_types as $mime_type => $label ) {
54
- if ( !wp_match_mime_types($mime_type, $avail_post_mime_types) )
55
- continue;
56
-
57
- $selected = '';
58
- if ( !empty( $_GET['attachment-filter'] ) && strpos( $_GET['attachment-filter'], 'post_mime_type:' ) === 0 && wp_match_mime_types( $mime_type, str_replace( 'post_mime_type:', '', $_GET['attachment-filter'] ) ) )
59
- $selected = ' selected="selected"';
60
- if ( !empty( $num_posts[$mime_type] ) )
61
- $type_links[$mime_type] = '<option value="post_mime_type:' . esc_attr( $mime_type ) . '"' . $selected . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</option>';
62
- }
63
- $type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . sprintf( _nx( 'Unattached (%s)', 'Unattached (%s)', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</option>';
64
-
65
- $type_links['uncategorized'] = '<option value="uncategorized"' . ( $this->uncategorized ? ' selected="selected"' : '' ) . '>' . __( 'All Uncategorized', 'eml' ) . '</option>';
66
-
67
- if ( !empty($_num_posts['trash']) )
68
- $type_links['trash'] = '<option value="trash"' . ( (isset($_GET['attachment-filter']) && $_GET['attachment-filter'] == 'trash' ) ? ' selected="selected"' : '') . '>' . sprintf( _nx( 'Trash (%s)', 'Trash (%s)', $_num_posts['trash'], 'uploaded files' ), number_format_i18n( $_num_posts['trash'] ) ) . '</option>';
69
-
70
- return $type_links;
71
- }
72
-
73
- protected function extra_tablenav( $which ) {
74
-
75
- if ( 'bar' !== $which ) {
76
- return;
77
- }
78
- ?>
79
- <div class="actions">
80
- <?php
81
- if ( ! is_singular() ) {
82
- if ( ! $this->is_trash ) {
83
- $this->months_dropdown( 'attachment' );
84
- }
85
-
86
- /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */
87
- do_action( 'restrict_manage_posts' );
88
- submit_button( __( 'Filter' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
89
-
90
- submit_button( __( 'Reset All Filters' ), 'button', 'filter_action', false, array( 'id' => 'eml-reset-filters-query-submit', 'disabled' => 'disabled' ) );
91
- }
92
-
93
- if ( $this->is_trash && current_user_can( 'edit_others_posts' ) ) {
94
- submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false );
95
- }
96
- ?>
97
- </div>
98
- <?php
99
- }
100
- }
101
-
102
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/eml-upload-4.1.php DELETED
@@ -1,311 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * EML custom upload.php
5
- *
6
- * Based on wp-admin/upload.php (4.1.1)
7
- *
8
- * Uses custom media table class WPUXSS_EML_Media_List_Table
9
- *
10
- * @since 2.0.4
11
- * @created 21/02/15
12
- */
13
-
14
-
15
- // EML customization here
16
- require_once( ABSPATH . 'wp-admin/admin.php' );
17
- require_once( ABSPATH . 'wp-includes/pluggable.php' );
18
- // EML customization end
19
-
20
- if ( !current_user_can('upload_files') )
21
- wp_die( __( 'You do not have permission to upload files.' ) );
22
-
23
- $mode = get_user_option( 'media_library_mode', get_current_user_id() ) ? get_user_option( 'media_library_mode', get_current_user_id() ) : 'grid';
24
- $modes = array( 'grid', 'list' );
25
-
26
- if ( isset( $_GET['mode'] ) && in_array( $_GET['mode'], $modes ) ) {
27
- $mode = $_GET['mode'];
28
- update_user_option( get_current_user_id(), 'media_library_mode', $mode );
29
- }
30
-
31
- if ( 'grid' === $mode ) {
32
- wp_enqueue_media();
33
- wp_enqueue_script( 'media-grid' );
34
- wp_enqueue_script( 'media' );
35
- wp_localize_script( 'media-grid', '_wpMediaGridSettings', array(
36
- 'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
37
- ) );
38
-
39
- get_current_screen()->add_help_tab( array(
40
- 'id' => 'overview',
41
- 'title' => __( 'Overview' ),
42
- 'content' =>
43
- '<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first.' ) . '</p>' .
44
- '<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>' .
45
- '<p>' . __( 'To delete media items, click the Bulk Select button at the top of the screen. Select any items you wish to delete, then click the Delete Selected button. Clicking the Cancel Selection button takes you back to viewing your media.' ) . '</p>'
46
- ) );
47
-
48
- get_current_screen()->add_help_tab( array(
49
- 'id' => 'attachment-details',
50
- 'title' => __( 'Attachment Details' ),
51
- 'content' =>
52
- '<p>' . __( 'Clicking an item will display an Attachment Details dialog, which allows you to preview media and make quick edits. Any changes you make to the attachment details will be automatically saved.' ) . '</p>' .
53
- '<p>' . __( 'Use the arrow buttons at the top of the dialog, or the left and right arrow keys on your keyboard, to navigate between media items quickly.' ) . '</p>' .
54
- '<p>' . __( 'You can also delete individual items and access the extended edit screen from the details dialog.' ) . '</p>'
55
- ) );
56
-
57
- get_current_screen()->set_help_sidebar(
58
- '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
59
- '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
60
- '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
61
- );
62
-
63
- $title = __('Media Library');
64
- $parent_file = 'upload.php';
65
-
66
- require_once( ABSPATH . 'wp-admin/admin-header.php' );
67
- ?>
68
- <div class="wrap" id="wp-media-grid">
69
- <h2>
70
- <?php
71
- echo esc_html( $title );
72
- if ( current_user_can( 'upload_files' ) ) { ?>
73
- <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
74
- }
75
- ?>
76
- </h2>
77
- <div class="error hide-if-js">
78
- <p><?php _e( 'The grid view for the Media Library requires JavaScript. <a href="upload.php?mode=list">Switch to the list view</a>.' ); ?></p>
79
- </div>
80
- </div>
81
- <?php
82
- include( ABSPATH . 'wp-admin/admin-footer.php' );
83
- exit;
84
- }
85
-
86
-
87
- // EML customization here
88
- if ( isset( $GLOBALS['hook_suffix'] ) )
89
- $args['screen'] = get_current_screen();
90
- else
91
- $args['screen'] = null;
92
-
93
- $wp_list_table = new WPUXSS_EML_Media_List_Table( $args );
94
- // EML customization end
95
-
96
- $pagenum = $wp_list_table->get_pagenum();
97
-
98
- // Handle bulk actions
99
- $doaction = $wp_list_table->current_action();
100
-
101
- if ( $doaction ) {
102
- check_admin_referer('bulk-media');
103
-
104
- if ( 'delete_all' == $doaction ) {
105
- $post_ids = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND post_status = 'trash'" );
106
- $doaction = 'delete';
107
- } elseif ( isset( $_REQUEST['media'] ) ) {
108
- $post_ids = $_REQUEST['media'];
109
- } elseif ( isset( $_REQUEST['ids'] ) ) {
110
- $post_ids = explode( ',', $_REQUEST['ids'] );
111
- }
112
-
113
- $location = 'upload.php';
114
- if ( $referer = wp_get_referer() ) {
115
- if ( false !== strpos( $referer, 'upload.php' ) )
116
- $location = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'message', 'ids', 'posted' ), $referer );
117
- }
118
-
119
- switch ( $doaction ) {
120
- case 'attach':
121
- $parent_id = (int) $_REQUEST['found_post_id'];
122
- if ( !$parent_id )
123
- return;
124
-
125
- $parent = get_post( $parent_id );
126
- if ( !current_user_can( 'edit_post', $parent_id ) )
127
- wp_die( __( 'You are not allowed to edit this post.' ) );
128
-
129
- $attach = array();
130
- foreach ( (array) $_REQUEST['media'] as $att_id ) {
131
- $att_id = (int) $att_id;
132
-
133
- if ( !current_user_can( 'edit_post', $att_id ) )
134
- continue;
135
-
136
- $attach[] = $att_id;
137
- }
138
-
139
- if ( ! empty( $attach ) ) {
140
- $attach_string = implode( ',', $attach );
141
- $attached = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $attach_string )", $parent_id ) );
142
- foreach ( $attach as $att_id ) {
143
- clean_attachment_cache( $att_id );
144
- }
145
- }
146
-
147
- if ( isset( $attached ) ) {
148
- $location = 'upload.php';
149
- if ( $referer = wp_get_referer() ) {
150
- if ( false !== strpos( $referer, 'upload.php' ) )
151
- $location = $referer;
152
- }
153
-
154
- $location = add_query_arg( array( 'attached' => $attached ) , $location );
155
- wp_redirect( $location );
156
- exit;
157
- }
158
- break;
159
- case 'trash':
160
- if ( !isset( $post_ids ) )
161
- break;
162
- foreach ( (array) $post_ids as $post_id ) {
163
- if ( !current_user_can( 'delete_post', $post_id ) )
164
- wp_die( __( 'You are not allowed to move this post to the trash.' ) );
165
-
166
- if ( !wp_trash_post( $post_id ) )
167
- wp_die( __( 'Error in moving to trash.' ) );
168
- }
169
- $location = add_query_arg( array( 'trashed' => count( $post_ids ), 'ids' => join( ',', $post_ids ) ), $location );
170
- break;
171
- case 'untrash':
172
- if ( !isset( $post_ids ) )
173
- break;
174
- foreach ( (array) $post_ids as $post_id ) {
175
- if ( !current_user_can( 'delete_post', $post_id ) )
176
- wp_die( __( 'You are not allowed to move this post out of the trash.' ) );
177
-
178
- if ( !wp_untrash_post( $post_id ) )
179
- wp_die( __( 'Error in restoring from trash.' ) );
180
- }
181
- $location = add_query_arg( 'untrashed', count( $post_ids ), $location );
182
- break;
183
- case 'delete':
184
- if ( !isset( $post_ids ) )
185
- break;
186
- foreach ( (array) $post_ids as $post_id_del ) {
187
- if ( !current_user_can( 'delete_post', $post_id_del ) )
188
- wp_die( __( 'You are not allowed to delete this post.' ) );
189
-
190
- if ( !wp_delete_attachment( $post_id_del ) )
191
- wp_die( __( 'Error in deleting.' ) );
192
- }
193
- $location = add_query_arg( 'deleted', count( $post_ids ), $location );
194
- break;
195
- }
196
-
197
- wp_redirect( $location );
198
- exit;
199
- } elseif ( ! empty( $_GET['_wp_http_referer'] ) ) {
200
- wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
201
- exit;
202
- }
203
-
204
- $wp_list_table->prepare_items();
205
-
206
- $title = __('Media Library');
207
- $parent_file = 'upload.php';
208
-
209
- wp_enqueue_script( 'media' );
210
-
211
- add_screen_option( 'per_page', array('label' => _x( 'Media items', 'items per page (screen options)' )) );
212
-
213
- get_current_screen()->add_help_tab( array(
214
- 'id' => 'overview',
215
- 'title' => __('Overview'),
216
- 'content' =>
217
- '<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first. You can use the Screen Options tab to customize the display of this screen.' ) . '</p>' .
218
- '<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 date using the dropdown menu above the media table.' ) . '</p>' .
219
- '<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>'
220
- ) );
221
- get_current_screen()->add_help_tab( array(
222
- 'id' => 'actions-links',
223
- 'title' => __('Available Actions'),
224
- 'content' =>
225
- '<p>' . __( 'Hovering over a row reveals action links: Edit, Delete Permanently, and View. Clicking Edit or on the media file&#8217;s name displays a simple screen to edit that individual file&#8217;s metadata. Clicking Delete Permanently will delete the file from the media library (as well as from any posts to which it is currently attached). View will take you to the display page for that file.' ) . '</p>'
226
- ) );
227
- get_current_screen()->add_help_tab( array(
228
- 'id' => 'attaching-files',
229
- 'title' => __('Attaching Files'),
230
- 'content' =>
231
- '<p>' . __( 'If a media file has not been attached to any post, you will see that in the Attached To column, and can click on Attach File to launch a small popup that will allow you to search for a post and attach the file.' ) . '</p>'
232
- ) );
233
-
234
- get_current_screen()->set_help_sidebar(
235
- '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
236
- '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
237
- '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
238
- );
239
-
240
- require_once( ABSPATH . 'wp-admin/admin-header.php' );
241
- ?>
242
-
243
- <div class="wrap">
244
- <h2>
245
- <?php
246
- echo esc_html( $title );
247
- if ( current_user_can( 'upload_files' ) ) { ?>
248
- <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
249
- }
250
- if ( ! empty( $_REQUEST['s'] ) )
251
- printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
252
- </h2>
253
-
254
- <?php
255
- $message = '';
256
- if ( ! empty( $_GET['posted'] ) ) {
257
- $message = __('Media attachment updated.');
258
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
259
- }
260
-
261
- if ( ! empty( $_GET['attached'] ) && $attached = absint( $_GET['attached'] ) ) {
262
- $message = sprintf( _n('Reattached %d attachment.', 'Reattached %d attachments.', $attached), $attached );
263
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('attached'), $_SERVER['REQUEST_URI']);
264
- }
265
-
266
- if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
267
- $message = sprintf( _n( 'Media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted ), number_format_i18n( $_GET['deleted'] ) );
268
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('deleted'), $_SERVER['REQUEST_URI']);
269
- }
270
-
271
- if ( ! empty( $_GET['trashed'] ) && $trashed = absint( $_GET['trashed'] ) ) {
272
- $message = sprintf( _n( 'Media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed ), number_format_i18n( $_GET['trashed'] ) );
273
- $message .= ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
274
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('trashed'), $_SERVER['REQUEST_URI']);
275
- }
276
-
277
- if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] ) ) {
278
- $message = sprintf( _n( 'Media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed ), number_format_i18n( $_GET['untrashed'] ) );
279
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
280
- }
281
-
282
- $messages[1] = __('Media attachment updated.');
283
- $messages[2] = __('Media permanently deleted.');
284
- $messages[3] = __('Error saving media attachment.');
285
- $messages[4] = __('Media moved to the trash.') . ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
286
- $messages[5] = __('Media restored from the trash.');
287
-
288
- if ( ! empty( $_GET['message'] ) && isset( $messages[ $_GET['message'] ] ) ) {
289
- $message = $messages[ $_GET['message'] ];
290
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
291
- }
292
-
293
- if ( !empty($message) ) { ?>
294
- <div id="message" class="updated"><p><?php echo $message; ?></p></div>
295
- <?php } ?>
296
-
297
- <form id="posts-filter" action="" method="get">
298
-
299
- <?php $wp_list_table->views(); ?>
300
-
301
- <?php $wp_list_table->display(); ?>
302
-
303
- <div id="ajax-response"></div>
304
- <?php find_posts_div(); ?>
305
- </form>
306
- </div>
307
-
308
- <?php
309
- include( ABSPATH . 'wp-admin/admin-footer.php' );
310
-
311
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/eml-upload-4.4.php DELETED
@@ -1,319 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * EML custom upload.php
5
- *
6
- * Based on wp-admin/upload.php (4.4)
7
- *
8
- * Uses custom media table class WPUXSS_EML_Media_List_Table
9
- *
10
- * @since 2.0.4
11
- * @created 21/02/15
12
- */
13
-
14
- // EML customization here
15
- require_once( ABSPATH . 'wp-admin/admin.php' );
16
- require_once( ABSPATH . 'wp-includes/pluggable.php' );
17
- // EML customization end
18
-
19
- if ( !current_user_can('upload_files') )
20
- wp_die( __( 'You do not have permission to upload files.' ) );
21
-
22
- $mode = get_user_option( 'media_library_mode', get_current_user_id() ) ? get_user_option( 'media_library_mode', get_current_user_id() ) : 'grid';
23
- $modes = array( 'grid', 'list' );
24
-
25
- if ( isset( $_GET['mode'] ) && in_array( $_GET['mode'], $modes ) ) {
26
- $mode = $_GET['mode'];
27
- update_user_option( get_current_user_id(), 'media_library_mode', $mode );
28
- }
29
-
30
- if ( 'grid' === $mode ) {
31
- wp_enqueue_media();
32
- wp_enqueue_script( 'media-grid' );
33
- wp_enqueue_script( 'media' );
34
-
35
- remove_action( 'admin_head', 'wp_admin_canonical_url' );
36
-
37
- $q = $_GET;
38
- // let JS handle this
39
- unset( $q['s'] );
40
- $vars = wp_edit_attachments_query_vars( $q );
41
- $ignore = array( 'mode', 'post_type', 'post_status', 'posts_per_page' );
42
- foreach ( $vars as $key => $value ) {
43
- if ( ! $value || in_array( $key, $ignore ) ) {
44
- unset( $vars[ $key ] );
45
- }
46
- }
47
-
48
- wp_localize_script( 'media-grid', '_wpMediaGridSettings', array(
49
- 'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
50
- 'queryVars' => (object) $vars
51
- ) );
52
-
53
- get_current_screen()->add_help_tab( array(
54
- 'id' => 'overview',
55
- 'title' => __( 'Overview' ),
56
- 'content' =>
57
- '<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first.' ) . '</p>' .
58
- '<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>' .
59
- '<p>' . __( 'To delete media items, click the Bulk Select button at the top of the screen. Select any items you wish to delete, then click the Delete Selected button. Clicking the Cancel Selection button takes you back to viewing your media.' ) . '</p>'
60
- ) );
61
-
62
- get_current_screen()->add_help_tab( array(
63
- 'id' => 'attachment-details',
64
- 'title' => __( 'Attachment Details' ),
65
- 'content' =>
66
- '<p>' . __( 'Clicking an item will display an Attachment Details dialog, which allows you to preview media and make quick edits. Any changes you make to the attachment details will be automatically saved.' ) . '</p>' .
67
- '<p>' . __( 'Use the arrow buttons at the top of the dialog, or the left and right arrow keys on your keyboard, to navigate between media items quickly.' ) . '</p>' .
68
- '<p>' . __( 'You can also delete individual items and access the extended edit screen from the details dialog.' ) . '</p>'
69
- ) );
70
-
71
- get_current_screen()->set_help_sidebar(
72
- '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
73
- '<p>' . __( '<a href="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
74
- '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
75
- );
76
-
77
- $title = __('Media Library');
78
- $parent_file = 'upload.php';
79
-
80
- require_once( ABSPATH . 'wp-admin/admin-header.php' );
81
- ?>
82
- <div class="wrap" id="wp-media-grid" data-search="<?php _admin_search_query() ?>">
83
- <h1>
84
- <?php
85
- echo esc_html( $title );
86
- if ( current_user_can( 'upload_files' ) ) { ?>
87
- <a href="media-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
88
- }
89
- ?>
90
- </h1>
91
- <div class="error hide-if-js">
92
- <p><?php _e( 'The grid view for the Media Library requires JavaScript. <a href="upload.php?mode=list">Switch to the list view</a>.' ); ?></p>
93
- </div>
94
- </div>
95
- <?php
96
- include( ABSPATH . 'wp-admin/admin-footer.php' );
97
- exit;
98
- }
99
-
100
- // EML customization here
101
- if ( isset( $GLOBALS['hook_suffix'] ) )
102
- $args['screen'] = get_current_screen();
103
- else
104
- $args['screen'] = null;
105
-
106
- $wp_list_table = new WPUXSS_EML_Media_List_Table( $args );
107
- // EML customization end
108
-
109
- $pagenum = $wp_list_table->get_pagenum();
110
-
111
- // Handle bulk actions
112
- $doaction = $wp_list_table->current_action();
113
-
114
- if ( $doaction ) {
115
- check_admin_referer('bulk-media');
116
-
117
- if ( 'delete_all' == $doaction ) {
118
- $post_ids = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND post_status = 'trash'" );
119
- $doaction = 'delete';
120
- } elseif ( isset( $_REQUEST['media'] ) ) {
121
- $post_ids = $_REQUEST['media'];
122
- } elseif ( isset( $_REQUEST['ids'] ) ) {
123
- $post_ids = explode( ',', $_REQUEST['ids'] );
124
- }
125
-
126
- $location = 'upload.php';
127
- if ( $referer = wp_get_referer() ) {
128
- if ( false !== strpos( $referer, 'upload.php' ) )
129
- $location = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'message', 'ids', 'posted' ), $referer );
130
- }
131
-
132
- switch ( $doaction ) {
133
- case 'detach':
134
- wp_media_attach_action( $_REQUEST['parent_post_id'], 'detach' );
135
- break;
136
-
137
- case 'attach':
138
- wp_media_attach_action( $_REQUEST['found_post_id'] );
139
- break;
140
-
141
- case 'trash':
142
- if ( !isset( $post_ids ) )
143
- break;
144
- foreach ( (array) $post_ids as $post_id ) {
145
- if ( !current_user_can( 'delete_post', $post_id ) )
146
- wp_die( __( 'You are not allowed to move this item to the Trash.' ) );
147
-
148
- if ( !wp_trash_post( $post_id ) )
149
- wp_die( __( 'Error in moving to trash.' ) );
150
- }
151
- $location = add_query_arg( array( 'trashed' => count( $post_ids ), 'ids' => join( ',', $post_ids ) ), $location );
152
- break;
153
- case 'untrash':
154
- if ( !isset( $post_ids ) )
155
- break;
156
- foreach ( (array) $post_ids as $post_id ) {
157
- if ( !current_user_can( 'delete_post', $post_id ) )
158
- wp_die( __( 'You are not allowed to move this item out of the Trash.' ) );
159
-
160
- if ( !wp_untrash_post( $post_id ) )
161
- wp_die( __( 'Error in restoring from trash.' ) );
162
- }
163
- $location = add_query_arg( 'untrashed', count( $post_ids ), $location );
164
- break;
165
- case 'delete':
166
- if ( !isset( $post_ids ) )
167
- break;
168
- foreach ( (array) $post_ids as $post_id_del ) {
169
- if ( !current_user_can( 'delete_post', $post_id_del ) )
170
- wp_die( __( 'You are not allowed to delete this item.' ) );
171
-
172
- if ( !wp_delete_attachment( $post_id_del ) )
173
- wp_die( __( 'Error in deleting.' ) );
174
- }
175
- $location = add_query_arg( 'deleted', count( $post_ids ), $location );
176
- break;
177
- }
178
-
179
- wp_redirect( $location );
180
- exit;
181
- } elseif ( ! empty( $_GET['_wp_http_referer'] ) ) {
182
- wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
183
- exit;
184
- }
185
-
186
- $wp_list_table->prepare_items();
187
-
188
- $title = __('Media Library');
189
- $parent_file = 'upload.php';
190
-
191
- wp_enqueue_script( 'media' );
192
-
193
- add_screen_option( 'per_page' );
194
-
195
- get_current_screen()->add_help_tab( array(
196
- 'id' => 'overview',
197
- 'title' => __('Overview'),
198
- 'content' =>
199
- '<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first. You can use the Screen Options tab to customize the display of this screen.' ) . '</p>' .
200
- '<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 date using the dropdown menu above the media table.' ) . '</p>' .
201
- '<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>'
202
- ) );
203
- get_current_screen()->add_help_tab( array(
204
- 'id' => 'actions-links',
205
- 'title' => __('Available Actions'),
206
- 'content' =>
207
- '<p>' . __( 'Hovering over a row reveals action links: Edit, Delete Permanently, and View. Clicking Edit or on the media file&#8217;s name displays a simple screen to edit that individual file&#8217;s metadata. Clicking Delete Permanently will delete the file from the media library (as well as from any posts to which it is currently attached). View will take you to the display page for that file.' ) . '</p>'
208
- ) );
209
- get_current_screen()->add_help_tab( array(
210
- 'id' => 'attaching-files',
211
- 'title' => __('Attaching Files'),
212
- 'content' =>
213
- '<p>' . __( 'If a media file has not been attached to any post, you will see that in the Attached To column, and can click on Attach File to launch a small popup that will allow you to search for a post and attach the file.' ) . '</p>'
214
- ) );
215
-
216
- get_current_screen()->set_help_sidebar(
217
- '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
218
- '<p>' . __( '<a href="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
219
- '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
220
- );
221
-
222
- if ( version_compare( $wp_version, '4.4', '>=' ) ) {
223
- get_current_screen()->set_screen_reader_content( array(
224
- 'heading_views' => __( 'Filter media items list' ),
225
- 'heading_pagination' => __( 'Media items list navigation' ),
226
- 'heading_list' => __( 'Media items list' ),
227
- ) );
228
- }
229
-
230
- require_once( ABSPATH . 'wp-admin/admin-header.php' );
231
- ?>
232
-
233
- <div class="wrap">
234
- <h1>
235
- <?php
236
- echo esc_html( $title );
237
- if ( current_user_can( 'upload_files' ) ) { ?>
238
- <a href="media-new.php" class="page-title-action"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
239
- }
240
- if ( ! empty( $_REQUEST['s'] ) )
241
- printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
242
- </h1>
243
-
244
- <?php
245
- $message = '';
246
- if ( ! empty( $_GET['posted'] ) ) {
247
- $message = __( 'Media attachment updated.' );
248
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
249
- }
250
-
251
- if ( ! empty( $_GET['attached'] ) && $attached = absint( $_GET['attached'] ) ) {
252
- $message = sprintf( _n( 'Reattached %d attachment.', 'Reattached %d attachments.', $attached ), $attached );
253
- $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
254
- }
255
-
256
- if ( ! empty( $_GET['detach'] ) && $detached = absint( $_GET['detach'] ) ) {
257
- $message = sprintf( _n( 'Detached %d attachment.', 'Detached %d attachments.', $detached ), $detached );
258
- $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
259
- }
260
-
261
- if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
262
- if ( 1 == $deleted ) {
263
- $message = __( 'Media attachment permanently deleted.' );
264
- } else {
265
- $message = _n( '%d media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted );
266
- }
267
- $message = sprintf( $message, number_format_i18n( $deleted ) );
268
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('deleted'), $_SERVER['REQUEST_URI']);
269
- }
270
-
271
- if ( ! empty( $_GET['trashed'] ) && $trashed = absint( $_GET['trashed'] ) ) {
272
- if ( 1 == $trashed ) {
273
- $message = __( 'Media attachment moved to the trash.' );
274
- } else {
275
- $message = _n( '%d media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed );
276
- }
277
- $message = sprintf( $message, number_format_i18n( $trashed ) );
278
- $message .= ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
279
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('trashed'), $_SERVER['REQUEST_URI']);
280
- }
281
-
282
- if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] ) ) {
283
- if ( 1 == $untrashed ) {
284
- $message = __( 'Media attachment restored from the trash.' );
285
- } else {
286
- $message = _n( '%d media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed );
287
- }
288
- $message = sprintf( $message, number_format_i18n( $untrashed ) );
289
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
290
- }
291
-
292
- $messages[1] = __( 'Media attachment updated.' );
293
- $messages[2] = __( 'Media attachment permanently deleted.' );
294
- $messages[3] = __( 'Error saving media attachment.' );
295
- $messages[4] = __( 'Media attachment moved to the trash.' ) . ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __( 'Undo' ) . '</a>';
296
- $messages[5] = __( 'Media attachment restored from the trash.' );
297
-
298
- if ( ! empty( $_GET['message'] ) && isset( $messages[ $_GET['message'] ] ) ) {
299
- $message = $messages[ $_GET['message'] ];
300
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
301
- }
302
-
303
- if ( !empty($message) ) { ?>
304
- <div id="message" class="updated notice is-dismissible"><p><?php echo $message; ?></p></div>
305
- <?php } ?>
306
-
307
- <form id="posts-filter" method="get">
308
-
309
- <?php $wp_list_table->views(); ?>
310
-
311
- <?php $wp_list_table->display(); ?>
312
-
313
- <div id="ajax-response"></div>
314
- <?php find_posts_div(); ?>
315
- </form>
316
- </div>
317
-
318
- <?php
319
- include( ABSPATH . 'wp-admin/admin-footer.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/medialist.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
 
 
 
 
3
 
4
 
5
  add_filter( 'shortcode_atts_gallery', 'wpuxss_eml_shortcode_atts', 10, 3 );
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) )
4
+ exit;
5
+
6
 
7
 
8
  add_filter( 'shortcode_atts_gallery', 'wpuxss_eml_shortcode_atts', 10, 3 );
core/mime-types.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
 
 
 
 
3
 
4
 
5
  /**
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) )
4
+ exit;
5
+
6
 
7
 
8
  /**
core/options-pages.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
 
 
 
 
3
 
4
 
5
  /**
@@ -65,7 +68,7 @@ if( ! function_exists('wpuxss_eml_admin_menu') ) {
65
 
66
  function wpuxss_eml_admin_menu() {
67
 
68
- add_options_page(
69
  __('Enhanced Media Library','eml'),
70
  __('Enhanced Media Library','eml'),
71
  'manage_options',
@@ -110,36 +113,38 @@ if( ! function_exists('wpuxss_eml_admin_menu') ) {
110
  'wpuxss_eml_print_mimetypes_options'
111
  );
112
 
113
- add_action('admin_print_scripts-' . $eml_taxonomies_options_suffix, 'wpuxss_eml_admin_settings_pages_scripts');
114
- add_action('admin_print_scripts-' . $eml_mimetype_options_suffix, 'wpuxss_eml_admin_settings_pages_scripts');
 
 
115
  }
116
  }
117
 
118
 
119
 
120
  /**
121
- * wpuxss_eml_admin_settings_pages_scripts
122
  *
123
- * @since 1.0
124
- * @created 28/10/13
125
  */
126
 
127
- if( ! function_exists('wpuxss_eml_admin_settings_pages_scripts') ) {
128
 
129
- function wpuxss_eml_admin_settings_pages_scripts() {
130
 
131
  global $wpuxss_eml_version,
132
  $wpuxss_eml_dir;
133
 
134
  wp_enqueue_script(
135
- 'wpuxss-eml-options-script',
136
- $wpuxss_eml_dir . 'js/eml-options.js',
137
- array('jquery'),
138
  $wpuxss_eml_version,
139
  true
140
  );
141
 
142
- $i18n_data = array(
143
  'edit' => __( 'Edit', 'eml' ),
144
  'close' => __( 'Close', 'eml' ),
145
  'view' => __( 'View', 'eml' ),
@@ -158,16 +163,97 @@ if( ! function_exists('wpuxss_eml_admin_settings_pages_scripts') ) {
158
  'tax_error_empty_singular' => __( 'Please choose Singilar name for all your new taxomonies.', 'eml' ),
159
  'tax_error_empty_plural' => __( 'Please choose Plural Name for all your new taxomonies.', 'eml' ),
160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  'mime_deletion_confirm' => __( 'Warning! All your custom MIME Types will be deleted by this operation.', 'eml' ),
162
  'mime_error_empty_fields' => __( 'Please fill into all fields.', 'eml' ),
163
  'mime_error_duplicate' => __( 'Duplicate extensions or MIME types. Please chose other one.', 'eml' )
164
  );
165
 
166
- // TODO: revise l10n
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  wp_localize_script(
168
  'wpuxss-eml-options-script',
169
- 'wpuxss_eml_i18n_data',
170
- $i18n_data
171
  );
172
  }
173
  }
@@ -271,6 +357,47 @@ if( ! function_exists('wpuxss_eml_print_settings') ) {
271
 
272
  </div>
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  <?php do_action( 'wpuxss_eml_extend_settings_page' ); ?>
275
 
276
  </div>
@@ -441,6 +568,72 @@ if( ! function_exists('wpuxss_eml_settings_restoring') ) {
441
 
442
 
443
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
  /**
445
  * wpuxss_eml_get_settings
446
  *
@@ -448,7 +641,7 @@ if( ! function_exists('wpuxss_eml_settings_restoring') ) {
448
  * @created 25/10/15
449
  */
450
 
451
- if( ! function_exists('wpuxss_eml_get_settings') ) {
452
 
453
  function wpuxss_eml_get_settings() {
454
 
@@ -562,9 +755,9 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
562
  $html .= '<ul>';
563
  $html .= '<li><label>' . __('Taxonomy Name','eml') . '</label><input type="text" class="wpuxss-eml-taxonomy-name" name="" value="' . esc_attr($taxonomy->name) . '" disabled="disabled" /></li>';
564
  $html .= '<li><label>' . __('Hierarchical','eml') . '</label><input type="checkbox" class="wpuxss-eml-hierarchical" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][hierarchical]" value="1" ' . checked( 1, $taxonomy->hierarchical, false ) . ' /></li>';
565
- $html .= '<li><label>' . __('Column in List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_admin_column" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_admin_column]" value="1" ' . checked( 1, $taxonomy->show_admin_column, false ) . ' /></li>';
566
- $html .= '<li><label>' . __('Filter in List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-admin_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][admin_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['admin_filter'], false ) . ' /></li>';
567
- $html .= '<li><label>' . __('Filter in Grid View / Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_uploader_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_uploader_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_uploader_filter'], false ) . ' /></li>';
568
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
569
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_nav_menus]" value="1" ' . checked( 1, $taxonomy->show_in_nav_menus, false ) . ' /></li>';
570
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][sort]" value="1" ' . checked( 1, $taxonomy->sort, false ) . ' /></li>';
@@ -583,17 +776,11 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
583
  $html .= '<div class="wpuxss-eml-settings-edit">';
584
  $html .= '<h4>' . __('Settings','eml') . '</h4>';
585
  $html .= '<ul>';
586
- $html .= '<li><label>' . __('Filter in List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-admin_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][admin_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['admin_filter'], false ) . ' /></li>';
587
- $html .= '<li><label>' . __('Filter in Grid View / Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_uploader_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_uploader_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_uploader_filter'], false ) . ' /></li>';
588
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
589
  $html .= '</ul>';
590
-
591
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_admin_column]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['show_admin_column'] . '" />';
592
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_nav_menus]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['show_in_nav_menus'] . '" />';
593
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][hierarchical]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['hierarchical'] . '" />';
594
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][sort]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['sort'] . '" />';
595
  $html .= '</div>';
596
-
597
  $html .= '</div>';
598
  }
599
  $html .= '</li>';
@@ -631,9 +818,9 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
631
  $html .= '<ul>';
632
  $html .= '<li><label>' . __('Taxonomy Name','eml') . '</label><input type="text" class="wpuxss-eml-taxonomy-name" name="" value="" disabled="disabled" /></li>';
633
  $html .= '<li><label>' . __('Hierarchical','eml') . '</label><input type="checkbox" class="wpuxss-eml-hierarchical" name="" value="1" checked="checked" /></li>';
634
- $html .= '<li><label>' . __('Column in List View','eml') . '</label><input class="wpuxss-eml-show_admin_column" type="checkbox" name="" value="1" /></li>';
635
- $html .= '<li><label>' . __('Filter in List View','eml') . '</label><input class="wpuxss-eml-admin_filter" type="checkbox" name="" value="1" /></li>';
636
- $html .= '<li><label>' . __('Filter in Grid View / Media Popup','eml') . '</label><input class="wpuxss-eml-media_uploader_filter" type="checkbox" name="" value="1" /></li>';
637
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input class="wpuxss-eml-media_popup_taxonomy_edit" type="checkbox" name="" value="1" /></li>';
638
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="" value="1" /></li>';
639
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="" value="1" /></li>';
@@ -685,24 +872,23 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
685
  $html .= '<li>';
686
  $html .= '<input class="wpuxss-eml-assigned" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][assigned]" type="checkbox" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['assigned'], false ) . ' title="' . __('Assign Taxonomy','eml') . '" />';
687
  $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][eml_media]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['eml_media'] . '" />';
688
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_admin_column]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['show_admin_column'] . '" />';
689
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_nav_menus]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['show_in_nav_menus'] . '" />';
690
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][hierarchical]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['hierarchical'] . '" />';
691
- $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][sort]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['sort'] . '" />';
692
  $html .= ' <label>' . $taxonomy->label . '</label>';
693
  $html .= '<a class="wpuxss-eml-button-edit" title="' . __('Edit Taxonomy','eml') . '" href="javascript:;">' . __('Edit','eml') . ' &darr;</a>';
694
  $html .= '<div class="wpuxss-eml-taxonomy-edit" style="display:none;">';
695
 
696
  $html .= '<h4>' . __('Settings','eml') . '</h4>';
697
  $html .= '<ul>';
698
- $html .= '<li><label>' . __('Filter in List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-admin_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][admin_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['admin_filter'], false ) . ' /></li>';
699
- $html .= '<li><label>' . __('Filter in Grid View / Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_uploader_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_uploader_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_uploader_filter'], false ) . ' /></li>';
700
- $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
 
 
 
 
701
  $html .= '</ul>';
702
 
703
  $html .= '</div>';
704
  $html .= '</li>';
705
-
706
  }
707
  } ?>
708
 
@@ -747,14 +933,12 @@ if ( ! function_exists( 'wpuxss_eml_print_taxonomies_options' ) ) {
747
  </tr>
748
 
749
  <tr>
750
- <th scope="row"><?php _e('Assign all like hierarchical','eml'); ?></th>
751
  <td>
752
- <fieldset>
753
- <legend class="screen-reader-text"><span><?php _e('Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup','eml'); ?></span></legend>
754
- <label for="wpuxss_eml_tax_options[edit_all_as_hierarchical]"><input name="wpuxss_eml_tax_options[edit_all_as_hierarchical]" type="hidden" value="0" /><input name="wpuxss_eml_tax_options[edit_all_as_hierarchical]" type="checkbox" value="1" <?php checked( true, $wpuxss_eml_tax_options['edit_all_as_hierarchical'], true ); ?> /> <?php _e('Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup','eml'); ?></label>
755
- </fieldset>
756
  </td>
757
  </tr>
 
758
  </table>
759
 
760
  <?php submit_button(); ?>
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) )
4
+ exit;
5
+
6
 
7
 
8
  /**
68
 
69
  function wpuxss_eml_admin_menu() {
70
 
71
+ $eml_options_suffix = add_options_page(
72
  __('Enhanced Media Library','eml'),
73
  __('Enhanced Media Library','eml'),
74
  'manage_options',
113
  'wpuxss_eml_print_mimetypes_options'
114
  );
115
 
116
+ add_action('admin_print_scripts-' . $eml_taxonomies_options_suffix, 'wpuxss_eml_taxonomies_options_page_scripts');
117
+ add_action('admin_print_scripts-' . $eml_mimetype_options_suffix, 'wpuxss_eml_mimetype_options_page_scripts');
118
+
119
+ add_action('admin_print_scripts-' . $eml_options_suffix, 'wpuxss_eml_options_page_scripts');
120
  }
121
  }
122
 
123
 
124
 
125
  /**
126
+ * wpuxss_eml_taxonomies_options_page_scripts
127
  *
128
+ * @since 2.2
129
+ * @created 08/03/16
130
  */
131
 
132
+ if( ! function_exists( 'wpuxss_eml_taxonomies_options_page_scripts' ) ) {
133
 
134
+ function wpuxss_eml_taxonomies_options_page_scripts() {
135
 
136
  global $wpuxss_eml_version,
137
  $wpuxss_eml_dir;
138
 
139
  wp_enqueue_script(
140
+ 'wpuxss-eml-taxonomies-options-script',
141
+ $wpuxss_eml_dir . 'js/eml-taxonomies-options.js',
142
+ array( 'jquery', 'underscore', 'wpuxss-eml-admin-script' ),
143
  $wpuxss_eml_version,
144
  true
145
  );
146
 
147
+ $l10n_data = array(
148
  'edit' => __( 'Edit', 'eml' ),
149
  'close' => __( 'Close', 'eml' ),
150
  'view' => __( 'View', 'eml' ),
163
  'tax_error_empty_singular' => __( 'Please choose Singilar name for all your new taxomonies.', 'eml' ),
164
  'tax_error_empty_plural' => __( 'Please choose Plural Name for all your new taxomonies.', 'eml' ),
165
 
166
+ 'bulk_edit_nonce' => wp_create_nonce( 'eml-bulk-edit-nonce' ),
167
+ 'sync_warning_title' => __( 'Synchronize Now', 'eml' ),
168
+ 'sync_warning_text' => __( 'This operation cannot be canceled. Are you still sure?', 'eml' ),
169
+ 'sync_warning_yes' => __( 'Synchronize', 'eml' ),
170
+ 'sync_warning_no' => __( 'Cancel', 'eml' ),
171
+ 'in_progress_sync_text' => __( 'Synchronizing...', 'eml' )
172
+ );
173
+
174
+ wp_localize_script(
175
+ 'wpuxss-eml-taxonomies-options-script',
176
+ 'wpuxss_eml_taxonomies_options_l10n_data',
177
+ $l10n_data
178
+ );
179
+ }
180
+ }
181
+
182
+
183
+
184
+ /**
185
+ * wpuxss_eml_mimetype_options_page_scripts
186
+ *
187
+ * @since 2.2
188
+ * @created 08/03/16
189
+ */
190
+
191
+ if( ! function_exists( 'wpuxss_eml_mimetype_options_page_scripts' ) ) {
192
+
193
+ function wpuxss_eml_mimetype_options_page_scripts() {
194
+
195
+ global $wpuxss_eml_version,
196
+ $wpuxss_eml_dir;
197
+
198
+ wp_enqueue_script(
199
+ 'wpuxss-eml-mimetype-options-script',
200
+ $wpuxss_eml_dir . 'js/eml-mimetype-options.js',
201
+ array( 'jquery', 'underscore' ),
202
+ $wpuxss_eml_version,
203
+ true
204
+ );
205
+
206
+ $l10n_data = array(
207
  'mime_deletion_confirm' => __( 'Warning! All your custom MIME Types will be deleted by this operation.', 'eml' ),
208
  'mime_error_empty_fields' => __( 'Please fill into all fields.', 'eml' ),
209
  'mime_error_duplicate' => __( 'Duplicate extensions or MIME types. Please chose other one.', 'eml' )
210
  );
211
 
212
+ wp_localize_script(
213
+ 'wpuxss-eml-mimetype-options-script',
214
+ 'wpuxss_eml_mimetype_options_l10n_data',
215
+ $l10n_data
216
+ );
217
+ }
218
+ }
219
+
220
+
221
+
222
+ /**
223
+ * wpuxss_eml_options_page_scripts
224
+ *
225
+ * @since 2.2
226
+ * @created 08/03/16
227
+ */
228
+
229
+ if( ! function_exists( 'wpuxss_eml_options_page_scripts' ) ) {
230
+
231
+ function wpuxss_eml_options_page_scripts() {
232
+
233
+ global $wpuxss_eml_version,
234
+ $wpuxss_eml_dir;
235
+
236
+ wp_enqueue_script(
237
+ 'wpuxss-eml-options-script',
238
+ $wpuxss_eml_dir . 'js/eml-options.js',
239
+ array( 'jquery', 'underscore', 'wpuxss-eml-admin-script' ),
240
+ $wpuxss_eml_version,
241
+ true
242
+ );
243
+
244
+ $l10n_data = array(
245
+ 'cleanup_warning_p1' => '<p>' . __( 'You are about to <strong style="text-transform:uppercase">delete all plugin data</strong> from the database including backups.', 'eml' ) . '</p>',
246
+ 'cleanup_warning_p2' => '<p>' . __( 'The operation cannot be canceled! Are you still sure?', 'eml') . '</p>',
247
+ 'cleanup_warning_title' => __( 'Complete Cleanup', 'eml' ),
248
+ 'cleanup_warning_yes' => __( 'Yes, delete all data', 'eml' ),
249
+ 'cleanup_warning_no' => __( 'Cancel', 'eml' ),
250
+ 'in_progress_cleanup_text' => __( 'Cleaning...', 'eml' )
251
+ );
252
+
253
  wp_localize_script(
254
  'wpuxss-eml-options-script',
255
+ 'wpuxss_eml_options_l10n_data',
256
+ $l10n_data
257
  );
258
  }
259
  }
357
 
358
  </div>
359
 
360
+
361
+ <div class="postbox">
362
+
363
+ <h3 class="hndle"><?php _e( 'Complete Cleanup', 'eml' ); ?></h3>
364
+
365
+ <div class="inside">
366
+
367
+ <?php $wpuxss_eml_taxonomies = wpuxss_eml_get_eml_taxonomies(); ?>
368
+
369
+ <ul>
370
+ <li><strong><?php _e( 'What will be deleted:', 'eml' ); ?></strong></li>
371
+ <?php foreach( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) : ?>
372
+ <li><?php _e( 'All', 'eml' );
373
+ echo ' ' . $params['labels']['name']; ?></li>
374
+ <?php endforeach; ?>
375
+ <li><?php _e( 'All plugin options', 'eml' ); ?></li>
376
+ <li><?php _e( 'All plugin backups stored in database', 'eml' ); ?></li>
377
+ </ul>
378
+
379
+ <ul>
380
+ <li><strong><?php _e( 'What will remain intact:', 'eml' ); ?></strong></li>
381
+ <li><?php _e( 'All media items', 'eml' ); ?></li>
382
+ <li><?php _e( 'All taxonomies not listed above', 'eml' ); ?></li>
383
+ </ul>
384
+
385
+ <p><?php _e( 'The plugin cannot delete itself because of security reason. Please delete it manually from plugin list after cleanup.', 'eml' ); ?></p>
386
+
387
+ <p><strong style="color:red;"><?php _e( 'If you are not sure about this operation please create a backup of your database prior to cleanup!', 'eml' ); ?></strong></p>
388
+
389
+ <form id="eml-form-cleanup" method="post">
390
+
391
+ <input type='hidden' name='eml-settings-cleanup' />
392
+ <?php wp_nonce_field( 'eml_settings_cleanup_nonce', 'eml-settings-cleanup-nonce' ); ?>
393
+ <?php submit_button( __( 'Delete All Data & Deactivate', 'eml' ), 'primary', 'eml-settings-cleanup' ); ?>
394
+ </form>
395
+
396
+ </div>
397
+
398
+ </div>
399
+
400
+
401
  <?php do_action( 'wpuxss_eml_extend_settings_page' ); ?>
402
 
403
  </div>
568
 
569
 
570
 
571
+ /**
572
+ * wpuxss_eml_settings_cleanup
573
+ *
574
+ * @since 2.2
575
+ * @created 23/02/16
576
+ */
577
+
578
+ add_action( 'admin_init', 'wpuxss_eml_settings_cleanup' );
579
+
580
+ if( ! function_exists( 'wpuxss_eml_settings_cleanup' ) ) {
581
+
582
+ function wpuxss_eml_settings_cleanup() {
583
+
584
+ global $wpdb;
585
+
586
+
587
+ if( ! isset( $_POST['eml-settings-cleanup'] ) )
588
+ return;
589
+
590
+ if( ! wp_verify_nonce( $_POST['eml-settings-cleanup-nonce'], 'eml_settings_cleanup_nonce' ) )
591
+ return;
592
+
593
+ if( ! current_user_can( 'manage_options' ) )
594
+ return;
595
+
596
+
597
+ $wpuxss_eml_taxonomies = wpuxss_eml_get_eml_taxonomies();
598
+
599
+ foreach ( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
600
+
601
+ $terms = get_terms( $taxonomy, array( 'fields' => 'ids', 'hide_empty' => false ) );
602
+
603
+ foreach ( $terms as $id ) {
604
+ wp_delete_term( $id, $taxonomy );
605
+ }
606
+
607
+ $wpdb->delete( $wpdb->term_taxonomy, array( 'taxonomy' => $taxonomy ), array( '%s' ) );
608
+ delete_option( $taxonomy . '_children' );
609
+ }
610
+
611
+
612
+ $options = array(
613
+ 'wpuxss_eml_version',
614
+ 'wpuxss_eml_taxonomies',
615
+ 'wpuxss_eml_tax_options',
616
+ 'wpuxss_eml_mimes_backup',
617
+ 'wpuxss_eml_mimes',
618
+ 'wpuxss_eml_backup',
619
+ 'wpuxss_eml_pro_bulkedit_savebutton_off',
620
+ 'wpuxss_eml_pro_license_key',
621
+ );
622
+
623
+ foreach ( $options as $option ) {
624
+ delete_option( $option );
625
+ }
626
+
627
+
628
+ deactivate_plugins( wpuxss_get_eml_basename() );
629
+
630
+ wp_safe_redirect( admin_url( 'plugins.php' ) );
631
+ exit;
632
+ }
633
+ }
634
+
635
+
636
+
637
  /**
638
  * wpuxss_eml_get_settings
639
  *
641
  * @created 25/10/15
642
  */
643
 
644
+ if ( ! function_exists('wpuxss_eml_get_settings') ) {
645
 
646
  function wpuxss_eml_get_settings() {
647
 
755
  $html .= '<ul>';
756
  $html .= '<li><label>' . __('Taxonomy Name','eml') . '</label><input type="text" class="wpuxss-eml-taxonomy-name" name="" value="' . esc_attr($taxonomy->name) . '" disabled="disabled" /></li>';
757
  $html .= '<li><label>' . __('Hierarchical','eml') . '</label><input type="checkbox" class="wpuxss-eml-hierarchical" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][hierarchical]" value="1" ' . checked( 1, $taxonomy->hierarchical, false ) . ' /></li>';
758
+ $html .= '<li><label>' . __('Column for List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_admin_column" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_admin_column]" value="1" ' . checked( 1, $taxonomy->show_admin_column, false ) . ' /></li>';
759
+ $html .= '<li><label>' . __('Filter for List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-admin_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][admin_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['admin_filter'], false ) . ' /></li>';
760
+ $html .= '<li><label>' . __('Filter for Grid View / Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_uploader_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_uploader_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_uploader_filter'], false ) . ' /></li>';
761
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
762
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][show_in_nav_menus]" value="1" ' . checked( 1, $taxonomy->show_in_nav_menus, false ) . ' /></li>';
763
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][sort]" value="1" ' . checked( 1, $taxonomy->sort, false ) . ' /></li>';
776
  $html .= '<div class="wpuxss-eml-settings-edit">';
777
  $html .= '<h4>' . __('Settings','eml') . '</h4>';
778
  $html .= '<ul>';
779
+ $html .= '<li><label>' . __('Filter for List View','eml') . '</label><input type="checkbox" class="wpuxss-eml-admin_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][admin_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['admin_filter'], false ) . ' /></li>';
780
+ $html .= '<li><label>' . __('Filter for Grid View / Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_uploader_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_uploader_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_uploader_filter'], false ) . ' /></li>';
781
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /></li>';
782
  $html .= '</ul>';
 
 
 
 
 
783
  $html .= '</div>';
 
784
  $html .= '</div>';
785
  }
786
  $html .= '</li>';
818
  $html .= '<ul>';
819
  $html .= '<li><label>' . __('Taxonomy Name','eml') . '</label><input type="text" class="wpuxss-eml-taxonomy-name" name="" value="" disabled="disabled" /></li>';
820
  $html .= '<li><label>' . __('Hierarchical','eml') . '</label><input type="checkbox" class="wpuxss-eml-hierarchical" name="" value="1" checked="checked" /></li>';
821
+ $html .= '<li><label>' . __('Column for List View','eml') . '</label><input class="wpuxss-eml-show_admin_column" type="checkbox" name="" value="1" /></li>';
822
+ $html .= '<li><label>' . __('Filter for List View','eml') . '</label><input class="wpuxss-eml-admin_filter" type="checkbox" name="" value="1" /></li>';
823
+ $html .= '<li><label>' . __('Filter for Grid View / Media Popup','eml') . '</label><input class="wpuxss-eml-media_uploader_filter" type="checkbox" name="" value="1" /></li>';
824
  $html .= '<li><label>' . __('Edit in Media Popup','eml') . '</label><input class="wpuxss-eml-media_popup_taxonomy_edit" type="checkbox" name="" value="1" /></li>';
825
  $html .= '<li><label>' . __('Show in Nav Menu','eml') . '</label><input type="checkbox" class="wpuxss-eml-show_in_nav_menus" name="" value="1" /></li>';
826
  $html .= '<li><label>' . __('Remember Terms Order (sort)','eml') . '</label><input type="checkbox" class="wpuxss-eml-sort" name="" value="1" /></li>';
872
  $html .= '<li>';
873
  $html .= '<input class="wpuxss-eml-assigned" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][assigned]" type="checkbox" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['assigned'], false ) . ' title="' . __('Assign Taxonomy','eml') . '" />';
874
  $html .= '<input name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][eml_media]" type="hidden" value="' . $wpuxss_eml_taxonomies[$taxonomy->name]['eml_media'] . '" />';
 
 
 
 
875
  $html .= ' <label>' . $taxonomy->label . '</label>';
876
  $html .= '<a class="wpuxss-eml-button-edit" title="' . __('Edit Taxonomy','eml') . '" href="javascript:;">' . __('Edit','eml') . ' &darr;</a>';
877
  $html .= '<div class="wpuxss-eml-taxonomy-edit" style="display:none;">';
878
 
879
  $html .= '<h4>' . __('Settings','eml') . '</h4>';
880
  $html .= '<ul>';
881
+ $html .= '<li><input type="checkbox" class="wpuxss-eml-admin_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][admin_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['admin_filter'], false ) . ' /><label>' . __('Filter for List View','eml') . '</label></li>';
882
+ $html .= '<li><input type="checkbox" class="wpuxss-eml-media_uploader_filter" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_uploader_filter]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_uploader_filter'], false ) . ' /><label>' . __('Filter for Grid View / Media Popup','eml') . '</label></li>';
883
+ $html .= '<li><input type="checkbox" class="wpuxss-eml-media_popup_taxonomy_edit" name="wpuxss_eml_taxonomies[' . $taxonomy->name . '][media_popup_taxonomy_edit]" value="1" ' . checked( 1, $wpuxss_eml_taxonomies[$taxonomy->name]['media_popup_taxonomy_edit'], false ) . ' /><label>' . __('Edit in Media Popup','eml') . '</label></li>';
884
+
885
+ $options = '';
886
+ $html .= apply_filters( 'wpuxss_eml_extend_non_media_taxonomy_options', $options, $taxonomy, $post_type, $wpuxss_eml_taxonomies );
887
+
888
  $html .= '</ul>';
889
 
890
  $html .= '</div>';
891
  $html .= '</li>';
 
892
  }
893
  } ?>
894
 
933
  </tr>
934
 
935
  <tr>
936
+ <th scope="row"><label for="wpuxss_eml_tax_options[edit_all_as_hierarchical]"><?php _e('Assign all like hierarchical','eml'); ?></label></th>
937
  <td>
938
+ <input name="wpuxss_eml_tax_options[edit_all_as_hierarchical]" type="hidden" value="0" /><input name="wpuxss_eml_tax_options[edit_all_as_hierarchical]" type="checkbox" value="1" <?php checked( true, $wpuxss_eml_tax_options['edit_all_as_hierarchical'], true ); ?> /> <?php _e('Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup','eml'); ?>
 
 
 
939
  </td>
940
  </tr>
941
+
942
  </table>
943
 
944
  <?php submit_button(); ?>
core/taxonomies.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
 
 
 
 
3
 
4
 
5
  /**
@@ -27,17 +30,26 @@ if( ! function_exists( 'wpuxss_eml_taxonomies_validate' ) ) {
27
  $taxonomy = $sanitized_taxonomy;
28
  }
29
 
30
- $input[$taxonomy]['hierarchical'] = isset($params['hierarchical']) && !! $params['hierarchical'] ? 1 : 0;
31
- $input[$taxonomy]['show_in_rest'] = isset($params['show_in_rest']) && !! $params['show_in_rest'] ? 1 : 0;
32
- $input[$taxonomy]['sort'] = isset($params['sort']) && !! $params['sort'] ? 1 : 0;
33
- $input[$taxonomy]['show_admin_column'] = isset($params['show_admin_column']) && !! $params['show_admin_column'] ? 1 : 0;
34
- $input[$taxonomy]['show_in_nav_menus'] = isset($params['show_in_nav_menus']) && !! $params['show_in_nav_menus'] ? 1 : 0;
 
 
 
 
 
 
 
 
 
 
35
  $input[$taxonomy]['assigned'] = isset($params['assigned']) && !! $params['assigned'] ? 1 : 0;
36
  $input[$taxonomy]['admin_filter'] = isset($params['admin_filter']) && !! $params['admin_filter'] ? 1 : 0;
37
  $input[$taxonomy]['media_uploader_filter'] = isset($params['media_uploader_filter']) && !! $params['media_uploader_filter'] ? 1 : 0;
38
  $input[$taxonomy]['media_popup_taxonomy_edit'] = isset($params['media_popup_taxonomy_edit']) && !! $params['media_popup_taxonomy_edit'] ? 1 : 0;
39
- $input[$taxonomy]['rewrite']['with_front'] = isset($params['rewrite']['with_front']) && !! $params['rewrite']['with_front'] ? 1 : 0;
40
- $input[$taxonomy]['rewrite']['slug'] = isset($params['rewrite']['slug']) ? wpuxss_eml_sanitize_slug( $params['rewrite']['slug'], $taxonomy ) : '';
41
 
42
  if ( isset( $params['labels'] ) ) {
43
 
@@ -281,7 +293,7 @@ if( ! function_exists( 'wpuxss_eml_ajax_query_attachments' ) ) {
281
  * @created 11/08/13
282
  */
283
 
284
- add_action('restrict_manage_posts','wpuxss_eml_restrict_manage_posts');
285
 
286
  if( ! function_exists( 'wpuxss_eml_restrict_manage_posts' ) ) {
287
 
@@ -349,15 +361,18 @@ if( ! function_exists( 'wpuxss_eml_dropdown_cats' ) ) {
349
 
350
  global $current_screen;
351
 
352
- if ( ! is_admin() || empty( $output ) )
 
353
  return $output;
 
354
 
355
 
356
  $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
357
 
358
 
359
- if ( ! isset( $current_screen ) || 'upload' !== $current_screen->base || 'list' !== $media_library_mode )
360
- return $output;
 
361
 
362
 
363
  $whole_select = $output;
@@ -399,39 +414,6 @@ if( ! function_exists( 'wpuxss_eml_dropdown_cats' ) ) {
399
 
400
 
401
 
402
- /**
403
- * wpuxss_eml_custom_media
404
- *
405
- * Replaces upload.php with the custom one
406
- *
407
- * @since 2.0.4
408
- * @created 21/02/15
409
- */
410
-
411
- add_action( 'load-upload.php', 'wpuxss_eml_custom_media', 999 );
412
-
413
- if( ! function_exists( 'wpuxss_eml_custom_media' ) ) {
414
-
415
- function wpuxss_eml_custom_media() {
416
-
417
- global $wpdb,
418
- $wp_version;
419
-
420
-
421
- require_once( ABSPATH . 'wp-admin/includes/class-wp-media-list-table.php' );
422
- require_once( 'class-eml-media-list-table.php' );
423
-
424
- if ( version_compare( $wp_version, '4.2', '<' ) )
425
- require_once( 'eml-upload-4.1.php' );
426
- else
427
- require_once( 'eml-upload-4.4.php' );
428
-
429
- exit();
430
- }
431
- }
432
-
433
-
434
-
435
  /**
436
  * wpuxss_eml_parse_tax_query
437
  *
@@ -448,116 +430,104 @@ if( ! function_exists( 'wpuxss_eml_parse_tax_query' ) ) {
448
  global $current_screen;
449
 
450
 
451
- if ( ! is_admin() ) {
452
  return;
453
  }
454
 
455
 
456
- /**
457
- * actually just the fix for
458
- *
459
- * Fatal error: Call to undefined function get_userdata()
460
- * in /wp-includes/user.php on line 360
461
- *
462
- * caused by, in particular, "Woocommerce Product Tabs" plugin
463
- * /admin/class-woocommerce-product-tabs-admin.php
464
- * line 56
465
- * get_posts()!!!
466
- *
467
- * very strange error! test it more carefully!
468
- */
469
- require_once( ABSPATH . 'wp-includes/pluggable.php' );
470
 
471
 
472
- $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
 
 
473
 
474
 
475
- if ( isset( $current_screen ) && 'upload' === $current_screen->base && 'list' === $media_library_mode ) {
476
 
477
- $uncategorized = ( isset( $_REQUEST['attachment-filter'] ) && 'uncategorized' === $_REQUEST['attachment-filter'] ) ? 1 : 0;
 
478
 
479
- if ( isset( $_REQUEST['category'] ) )
480
- $query->query['category'] = $query->query_vars['category'] = $_REQUEST['category'];
481
 
482
- if ( isset( $_REQUEST['post_tag'] ) )
483
- $query->query['post_tag'] = $query->query_vars['post_tag'] = $_REQUEST['post_tag'];
484
 
485
- if ( isset( $query->query_vars['taxonomy'] ) && isset( $query->query_vars['term'] ) ) {
 
486
 
487
- $tax = $query->query_vars['taxonomy'];
488
- $term = get_term_by( 'slug', $query->query_vars['term'], $tax );
489
 
490
- if ( $term ) {
 
491
 
492
- $query->query_vars[$tax] = $term->term_id;
493
- $query->query[$tax] = $term->term_id;
494
 
495
- unset( $query->query_vars['taxonomy'] );
496
- unset( $query->query_vars['term'] );
 
 
497
 
498
- unset( $query->query['taxonomy'] );
499
- unset( $query->query['term'] );
500
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
501
  }
 
502
 
503
- foreach ( get_object_taxonomies( 'attachment','names' ) as $taxonomy ) {
504
 
505
- if ( $uncategorized ) {
506
 
507
- $terms = get_terms( $taxonomy, array('fields'=>'ids','get'=>'all') );
 
 
 
 
 
 
508
 
509
- $tax_query[] = array(
510
- 'taxonomy' => $taxonomy,
511
- 'field' => 'term_id',
512
- 'terms' => $terms,
513
- 'operator' => 'NOT IN',
514
- );
515
 
516
- if ( isset( $query->query[$taxonomy] ) ) unset( $query->query[$taxonomy] );
517
- if ( isset( $query->query_vars[$taxonomy] ) ) unset( $query->query_vars[$taxonomy] );
518
- }
519
- else {
520
-
521
- if ( isset( $query->query[$taxonomy] ) && $query->query[$taxonomy] ) {
522
-
523
- if( is_numeric( $query->query[$taxonomy] ) ) {
524
-
525
- $tax_query[] = array(
526
- 'taxonomy' => $taxonomy,
527
- 'field' => 'term_id',
528
- 'terms' => array( $query->query[$taxonomy] )
529
- );
530
- }
531
- elseif ( 'not_in' === $query->query[$taxonomy] ) {
532
-
533
- $terms = get_terms( $taxonomy, array('fields'=>'ids','get'=>'all') );
534
-
535
- $tax_query[] = array(
536
- 'taxonomy' => $taxonomy,
537
- 'field' => 'term_id',
538
- 'terms' => $terms,
539
- 'operator' => 'NOT IN',
540
- );
541
- }
542
- elseif ( 'in' === $query->query[$taxonomy] ) {
543
-
544
- $terms = get_terms( $taxonomy, array('fields'=>'ids','get'=>'all') );
545
-
546
- $tax_query[] = array(
547
- 'taxonomy' => $taxonomy,
548
- 'field' => 'term_id',
549
- 'terms' => $terms,
550
- 'operator' => 'IN',
551
- );
552
- }
553
  }
554
  }
555
- } // endforeach
 
556
 
557
- if ( ! empty( $tax_query ) )
558
- $query->tax_query = new WP_Tax_Query( $tax_query );
559
 
560
- } // endif
 
 
561
  }
562
  }
563
 
@@ -800,6 +770,95 @@ if( ! function_exists('wpuxss_eml_save_attachment_compat') ) {
800
 
801
 
802
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
803
  // TODO: Quick Edit for the List mode (MediaFrame.EditAttachments)
804
  // add_filter( 'media_row_actions', 'wpuxss_eml_media_row_actions', 10, 2 );
805
  //
@@ -856,12 +915,17 @@ if( ! function_exists('wpuxss_eml_pre_get_posts') ) {
856
 
857
  $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
858
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
859
- $orderby = $query->get('orderby');
860
- $order = $query->get('order');
861
 
862
- if ( isset( $current_screen ) && 'upload' === $current_screen->base && 'list' === $media_library_mode && empty( $orderby ) && empty( $order ) ) {
863
- $query->set('orderby', $wpuxss_eml_tax_options['media_orderby'] );
864
- $query->set('order', $wpuxss_eml_tax_options['media_order'] );
 
 
 
 
 
 
 
865
  }
866
  }
867
  }
1
  <?php
2
 
3
+ if ( ! defined( 'ABSPATH' ) )
4
+ exit;
5
+
6
 
7
 
8
  /**
30
  $taxonomy = $sanitized_taxonomy;
31
  }
32
 
33
+ if ( $params['eml_media'] ) {
34
+ $input[$taxonomy]['hierarchical'] = isset($params['hierarchical']) && !! $params['hierarchical'] ? 1 : 0;
35
+ $input[$taxonomy]['show_in_rest'] = isset($params['show_in_rest']) && !! $params['show_in_rest'] ? 1 : 0;
36
+ $input[$taxonomy]['sort'] = isset($params['sort']) && !! $params['sort'] ? 1 : 0;
37
+ $input[$taxonomy]['show_admin_column'] = isset($params['show_admin_column']) && !! $params['show_admin_column'] ? 1 : 0;
38
+ $input[$taxonomy]['show_in_nav_menus'] = isset($params['show_in_nav_menus']) && !! $params['show_in_nav_menus'] ? 1 : 0;
39
+ $input[$taxonomy]['rewrite']['with_front'] = isset($params['rewrite']['with_front']) && !! $params['rewrite']['with_front'] ? 1 : 0;
40
+ $input[$taxonomy]['rewrite']['slug'] = isset($params['rewrite']['slug']) ? wpuxss_eml_sanitize_slug( $params['rewrite']['slug'], $taxonomy ) : '';
41
+ }
42
+
43
+ if ( ! $params['eml_media'] ) {
44
+ $input[$taxonomy]['taxonomy_auto_assign'] = isset($params['taxonomy_auto_assign']) && !! $params['taxonomy_auto_assign'] ? 1 : 0;
45
+ }
46
+
47
+
48
  $input[$taxonomy]['assigned'] = isset($params['assigned']) && !! $params['assigned'] ? 1 : 0;
49
  $input[$taxonomy]['admin_filter'] = isset($params['admin_filter']) && !! $params['admin_filter'] ? 1 : 0;
50
  $input[$taxonomy]['media_uploader_filter'] = isset($params['media_uploader_filter']) && !! $params['media_uploader_filter'] ? 1 : 0;
51
  $input[$taxonomy]['media_popup_taxonomy_edit'] = isset($params['media_popup_taxonomy_edit']) && !! $params['media_popup_taxonomy_edit'] ? 1 : 0;
52
+
 
53
 
54
  if ( isset( $params['labels'] ) ) {
55
 
293
  * @created 11/08/13
294
  */
295
 
296
+ add_action( 'restrict_manage_posts', 'wpuxss_eml_restrict_manage_posts' );
297
 
298
  if( ! function_exists( 'wpuxss_eml_restrict_manage_posts' ) ) {
299
 
361
 
362
  global $current_screen;
363
 
364
+
365
+ if ( ! is_admin() || empty( $output ) || ! isset( $current_screen ) ) {
366
  return $output;
367
+ }
368
 
369
 
370
  $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
371
 
372
 
373
+ if ( 'upload' !== $current_screen->base || 'list' !== $media_library_mode ) {
374
+ return $output;
375
+ }
376
 
377
 
378
  $whole_select = $output;
414
 
415
 
416
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
  /**
418
  * wpuxss_eml_parse_tax_query
419
  *
430
  global $current_screen;
431
 
432
 
433
+ if ( ! is_admin() || ! isset( $current_screen ) ) {
434
  return;
435
  }
436
 
437
 
438
+ $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
 
 
 
 
 
 
 
 
 
 
 
 
 
439
 
440
 
441
+ if ( 'upload' !== $current_screen->base || 'list' !== $media_library_mode ) {
442
+ return;
443
+ }
444
 
445
 
446
+ $uncategorized = ( isset( $_REQUEST['attachment-filter'] ) && 'uncategorized' === $_REQUEST['attachment-filter'] ) ? 1 : 0;
447
 
448
+ if ( isset( $_REQUEST['category'] ) )
449
+ $query->query['category'] = $query->query_vars['category'] = $_REQUEST['category'];
450
 
451
+ if ( isset( $_REQUEST['post_tag'] ) )
452
+ $query->query['post_tag'] = $query->query_vars['post_tag'] = $_REQUEST['post_tag'];
453
 
454
+ if ( isset( $query->query_vars['taxonomy'] ) && isset( $query->query_vars['term'] ) ) {
 
455
 
456
+ $tax = $query->query_vars['taxonomy'];
457
+ $term = get_term_by( 'slug', $query->query_vars['term'], $tax );
458
 
459
+ if ( $term ) {
 
460
 
461
+ $query->query_vars[$tax] = $term->term_id;
462
+ $query->query[$tax] = $term->term_id;
463
 
464
+ unset( $query->query_vars['taxonomy'] );
465
+ unset( $query->query_vars['term'] );
466
 
467
+ unset( $query->query['taxonomy'] );
468
+ unset( $query->query['term'] );
469
+ }
470
+ }
471
 
472
+
473
+ foreach ( get_object_taxonomies( 'attachment','names' ) as $taxonomy ) {
474
+
475
+ if ( $uncategorized ) {
476
+
477
+ $terms = get_terms( $taxonomy, array('fields'=>'ids','get'=>'all') );
478
+
479
+ $tax_query[] = array(
480
+ 'taxonomy' => $taxonomy,
481
+ 'field' => 'term_id',
482
+ 'terms' => $terms,
483
+ 'operator' => 'NOT IN',
484
+ );
485
+
486
+ if ( isset( $query->query[$taxonomy] ) ) unset( $query->query[$taxonomy] );
487
+ if ( isset( $query->query_vars[$taxonomy] ) ) unset( $query->query_vars[$taxonomy] );
488
  }
489
+ else {
490
 
491
+ if ( isset( $query->query[$taxonomy] ) && $query->query[$taxonomy] ) {
492
 
493
+ if( is_numeric( $query->query[$taxonomy] ) ) {
494
 
495
+ $tax_query[] = array(
496
+ 'taxonomy' => $taxonomy,
497
+ 'field' => 'term_id',
498
+ 'terms' => array( $query->query[$taxonomy] )
499
+ );
500
+ }
501
+ elseif ( 'not_in' === $query->query[$taxonomy] ) {
502
 
503
+ $terms = get_terms( $taxonomy, array('fields'=>'ids','get'=>'all') );
 
 
 
 
 
504
 
505
+ $tax_query[] = array(
506
+ 'taxonomy' => $taxonomy,
507
+ 'field' => 'term_id',
508
+ 'terms' => $terms,
509
+ 'operator' => 'NOT IN',
510
+ );
511
+ }
512
+ elseif ( 'in' === $query->query[$taxonomy] ) {
513
+
514
+ $terms = get_terms( $taxonomy, array('fields'=>'ids','get'=>'all') );
515
+
516
+ $tax_query[] = array(
517
+ 'taxonomy' => $taxonomy,
518
+ 'field' => 'term_id',
519
+ 'terms' => $terms,
520
+ 'operator' => 'IN',
521
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  }
523
  }
524
+ }
525
+ } // endforeach
526
 
 
 
527
 
528
+ if ( ! empty( $tax_query ) ) {
529
+ $query->tax_query = new WP_Tax_Query( $tax_query );
530
+ }
531
  }
532
  }
533
 
770
 
771
 
772
 
773
+ /**
774
+ * wpuxss_eml_save_attachment_order
775
+ *
776
+ * Based on /wp-admin/includes/ajax-actions.php
777
+ *
778
+ * @since 2.2
779
+ * @created 11/02/16
780
+ */
781
+
782
+ add_action( 'wp_ajax_save-attachment-order', 'wpuxss_eml_save_attachment_order', 0 );
783
+
784
+ if( ! function_exists( 'wpuxss_eml_save_attachment_order' ) ) {
785
+
786
+ function wpuxss_eml_save_attachment_order() {
787
+
788
+ if ( ! isset( $_REQUEST['post_id'] ) )
789
+ wp_send_json_error();
790
+
791
+ if ( empty( $_REQUEST['attachments'] ) )
792
+ wp_send_json_error();
793
+
794
+ if ( $post_id = absint( $_REQUEST['post_id'] ) ) {
795
+
796
+ check_ajax_referer( 'update-post_' . $post_id, 'nonce' );
797
+
798
+ if ( ! current_user_can( 'edit_post', $post_id ) )
799
+ wp_send_json_error();
800
+ }
801
+ else {
802
+ check_ajax_referer( 'eml-bulk-edit-nonce', 'nonce' );
803
+ }
804
+
805
+ $attachments = $_REQUEST['attachments'];
806
+
807
+ foreach ( $attachments as $attachment_id => $menu_order ) {
808
+
809
+ if ( ! current_user_can( 'edit_post', $attachment_id ) )
810
+ continue;
811
+ if ( ! $attachment = get_post( $attachment_id ) )
812
+ continue;
813
+ if ( 'attachment' != $attachment->post_type )
814
+ continue;
815
+
816
+ wp_update_post( array( 'ID' => $attachment_id, 'menu_order' => $menu_order ) );
817
+ }
818
+
819
+ wp_send_json_success();
820
+ }
821
+ }
822
+
823
+
824
+
825
+ /**
826
+ * wpuxss_eml_get_eml_taxonomies
827
+ *
828
+ * @since 2.2
829
+ * @created 13/03/16
830
+ */
831
+
832
+ if( ! function_exists( 'wpuxss_eml_get_eml_taxonomies' ) ) {
833
+
834
+ function wpuxss_eml_get_eml_taxonomies() {
835
+
836
+ $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies', array() );
837
+ $return = array_filter( $wpuxss_eml_taxonomies, 'wpuxss_eml_filter_by_eml_taxonomies' );
838
+
839
+ return $return;
840
+ }
841
+ }
842
+
843
+
844
+
845
+ /**
846
+ * wpuxss_eml_filter_by_eml_taxonomies
847
+ *
848
+ * @since 2.2
849
+ * @created 13/03/16
850
+ */
851
+
852
+ if( ! function_exists( 'wpuxss_eml_filter_by_eml_taxonomies' ) ) {
853
+
854
+ function wpuxss_eml_filter_by_eml_taxonomies( $taxonomy ) {
855
+
856
+ return $taxonomy['eml_media'];
857
+ }
858
+ }
859
+
860
+
861
+
862
  // TODO: Quick Edit for the List mode (MediaFrame.EditAttachments)
863
  // add_filter( 'media_row_actions', 'wpuxss_eml_media_row_actions', 10, 2 );
864
  //
915
 
916
  $media_library_mode = get_user_option( 'media_library_mode' ) ? get_user_option( 'media_library_mode' ) : 'grid';
917
  $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
 
 
918
 
919
+ $query_orderby = $query->get('orderby');
920
+ $query_order = $query->get('order');
921
+
922
+ if ( isset( $current_screen ) && 'upload' === $current_screen->base && 'list' === $media_library_mode && empty( $query_orderby ) && empty( $query_order ) ) {
923
+
924
+ $orderby = 'menuOrder' === $wpuxss_eml_tax_options['media_orderby'] ? 'menu_order' : $wpuxss_eml_tax_options['media_orderby'];
925
+ $order = $wpuxss_eml_tax_options['media_order'];
926
+
927
+ $query->set('orderby', $orderby );
928
+ $query->set('order', $order );
929
  }
930
  }
931
  }
css/eml-admin.css CHANGED
@@ -194,6 +194,41 @@ body.eml-media-css .media-modal.acf-expanded .attachments-browser .media-toolbar
194
 
195
 
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  /* == Taxonomies Option Page Styles == */
198
 
199
  .wpuxss-eml-settings-list {
@@ -241,6 +276,10 @@ body.eml-media-css .media-modal.acf-expanded .attachments-browser .media-toolbar
241
  display: inline-block;
242
  width: 210px;
243
  }
 
 
 
 
244
  .wpuxss-eml-taxonomy-edit .wpuxss-eml-labels-edit {
245
  float: left;
246
  width: 48%;
@@ -316,6 +355,54 @@ body.eml-media-css .media-modal.acf-expanded .attachments-browser .media-toolbar
316
 
317
 
318
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  /* == Option Page Generic Styles == */
320
 
321
  #toplevel_page_media-library .wp-menu-image {
@@ -326,6 +413,9 @@ body.eml-media-css .media-modal.acf-expanded .attachments-browser .media-toolbar
326
  background-image:none !important;
327
  position: relative;
328
  }
 
 
 
329
  #wpuxss-eml-global-options-wrap #poststuff .inside {
330
  margin: 20px 0 0;
331
  }
@@ -375,3 +465,12 @@ body.eml-media-css .media-modal.acf-expanded .attachments-browser .media-toolbar
375
  font-weight: normal;
376
  font-style: normal;
377
  }
 
 
 
 
 
 
 
 
 
194
 
195
 
196
 
197
+ /* == Plugin Options Page Styles == */
198
+
199
+ .wp-core-ui #eml-settings-cleanup,
200
+ .wp-core-ui .button-primary.eml-warning-button {
201
+ background: #d54e21;
202
+ border-color: #EC5F30 #940B0B #940B0B;
203
+ -webkit-box-shadow: 0 1px 0 #940B0B;
204
+ box-shadow: 0 1px 0 #940B0B;
205
+ color: #fff;
206
+ text-decoration: none;
207
+ text-shadow: 0 -1px 1px #940B0B, 1px 0 1px #940B0B, 0 1px 1px #940B0B, -1px 0 1px #940B0B;
208
+ }
209
+ .wp-core-ui #eml-settings-cleanup:hover,
210
+ .wp-core-ui .button-primary.eml-warning-button:hover {
211
+ background: #E45728;
212
+ border-color: #940B0B;
213
+ color: #fff;
214
+ }
215
+ .wp-core-ui #eml-settings-cleanup:active,
216
+ .wp-core-ui .button-primary.eml-warning-button:active {
217
+ background: #D54E21;
218
+ border-color: #940B0B;
219
+ -webkit-box-shadow: inset 0 2px 0 #940B0B;
220
+ box-shadow: inset 0 2px 0 #940B0B;
221
+ color: #fff;
222
+ }
223
+ .wp-core-ui #eml-settings-cleanup:focus,
224
+ .wp-core-ui .button-primary.eml-warning-button:focus {
225
+ -webkit-box-shadow: 0 1px 0 #D54E21, 0 0 2px 1px #F17349;
226
+ box-shadow: 0 1px 0 #D54E21, 0 0 2px 1px #F17349;
227
+ }
228
+
229
+
230
+
231
+
232
  /* == Taxonomies Option Page Styles == */
233
 
234
  .wpuxss-eml-settings-list {
276
  display: inline-block;
277
  width: 210px;
278
  }
279
+ .wpuxss-eml-non-media-taxonomy-list .wpuxss-eml-taxonomy-edit label {
280
+ width: auto;
281
+ margin-left: 10px;
282
+ }
283
  .wpuxss-eml-taxonomy-edit .wpuxss-eml-labels-edit {
284
  float: left;
285
  width: 48%;
355
 
356
 
357
 
358
+ /* == ui-dialog Styles == */
359
+
360
+ .ui-dialog {
361
+ z-index: 300000 !important;
362
+ }
363
+
364
+
365
+
366
+
367
+ /* == Fullscreen Spinner Styles == */
368
+
369
+ .fullscreen-spinner-box {
370
+ background: rgba( 0, 86, 132, 0.9 );
371
+ position: fixed;
372
+ top: 0;
373
+ left: 0;
374
+ width: 100%;
375
+ height: 100%;
376
+ z-index: 300000;
377
+ text-align: center;
378
+ }
379
+ .fullscreen-spinner-inner-box {
380
+ border: 1px dashed #fff;
381
+ position: absolute;
382
+ top: 10px;
383
+ left: 10px;
384
+ right: 10px;
385
+ bottom: 10px;
386
+ }
387
+ .fullscreen-spinner-box .eml-spinner {
388
+ position: absolute;
389
+ top: 50%;
390
+ left: 0;
391
+
392
+ background: url(../images/spinner.gif) no-repeat center bottom;
393
+ width: 100%;
394
+ height: 120px;
395
+ margin: -60px 0 0 0;
396
+ text-align: center;
397
+ color: #fff;
398
+ font-size: 3em;
399
+ line-height: 1.3;
400
+ font-weight: bold;
401
+ }
402
+
403
+
404
+
405
+
406
  /* == Option Page Generic Styles == */
407
 
408
  #toplevel_page_media-library .wp-menu-image {
413
  background-image:none !important;
414
  position: relative;
415
  }
416
+ #wpuxss-eml-global-options-wrap .postbox ul {
417
+ margin-bottom: 25px;
418
+ }
419
  #wpuxss-eml-global-options-wrap #poststuff .inside {
420
  margin: 20px 0 0;
421
  }
465
  font-weight: normal;
466
  font-style: normal;
467
  }
468
+
469
+ @media print,
470
+ (-webkit-min-device-pixel-ratio: 1.25),
471
+ (min-resolution: 120dpi) {
472
+
473
+ .fullscreen-spinner-box .eml-spinner {
474
+ background-image: url(../images/spinner-2x.gif);
475
+ }
476
+ }
enhanced-media-library.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Enhanced Media Library
4
  Plugin URI: http://wpUXsolutions.com
5
  Description: This plugin will be handy for those who need to manage a lot of media files.
6
- Version: 2.1.7
7
  Author: wpUXsolutions
8
  Author URI: http://wpUXsolutions.com
9
  Text Domain: eml
@@ -15,6 +15,11 @@ Copyright 2013-2016 wpUXsolutions (email : wpUXsolutions@gmail.com)
15
 
16
 
17
 
 
 
 
 
 
18
  global $wp_version,
19
  $wpuxss_eml_version,
20
  $wpuxss_eml_dir,
@@ -22,7 +27,7 @@ global $wp_version,
22
 
23
 
24
 
25
- $wpuxss_eml_version = '2.1.7';
26
 
27
 
28
 
@@ -136,21 +141,32 @@ if ( ! function_exists( 'wpuxss_eml_on_init' ) ) {
136
  function wpuxss_eml_on_init() {
137
 
138
  global $wpuxss_eml_dir,
139
- $wpuxss_eml_path;
 
140
 
141
 
142
  $wpuxss_eml_dir = plugin_dir_url( __FILE__ );
143
  $wpuxss_eml_path = plugin_dir_path( __FILE__ );
144
 
145
 
146
- wpuxss_eml_on_activation_update();
147
 
 
 
 
148
 
149
- $wpuxss_eml_taxonomies = get_option('wpuxss_eml_taxonomies');
150
- if ( empty($wpuxss_eml_taxonomies) ) $wpuxss_eml_taxonomies = array();
 
 
 
 
 
 
 
151
 
152
  // register eml taxonomies
153
- foreach ( $wpuxss_eml_taxonomies as $taxonomy => $params ) {
154
 
155
  if ( $params['eml_media'] && ! empty( $params['labels']['singular_name'] ) && ! empty( $params['labels']['name'] ) ) {
156
 
@@ -194,24 +210,20 @@ if ( ! function_exists( 'wpuxss_eml_on_wp_loaded' ) ) {
194
 
195
  global $wp_taxonomies;
196
 
197
- $wpuxss_eml_taxonomies = get_option('wpuxss_eml_taxonomies');
198
- if ( empty($wpuxss_eml_taxonomies) ) $wpuxss_eml_taxonomies = array();
199
- $taxonomies = get_taxonomies(array(),'object');
200
 
201
  // discover 'foreign' taxonomies
202
  foreach ( $taxonomies as $taxonomy => $params ) {
203
 
204
- if ( !empty($params->object_type) && !array_key_exists($taxonomy,$wpuxss_eml_taxonomies) && !in_array('revision',$params->object_type) && !in_array('nav_menu_item',$params->object_type) && $taxonomy != 'post_format' ) {
205
 
206
  $wpuxss_eml_taxonomies[$taxonomy] = array(
207
  'eml_media' => 0,
208
  'admin_filter' => 0,
209
  'media_uploader_filter' => 0,
210
  'media_popup_taxonomy_edit' => 0,
211
- 'show_admin_column' => isset($params->show_admin_column) ? $params->show_admin_column : 0,
212
- 'show_in_nav_menus' => isset($params->show_in_nav_menus) ? $params->show_in_nav_menus : 0,
213
- 'hierarchical' => $params->hierarchical ? 1 : 0,
214
- 'sort' => isset($params->sort) ? $params->sort : 0
215
  );
216
 
217
  if ( in_array('attachment',$params->object_type) )
@@ -280,6 +292,20 @@ if ( ! function_exists( 'wpuxss_eml_admin_enqueue_scripts' ) ) {
280
  'all'
281
  );
282
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  // scripts for list view :: /wp-admin/upload.php
284
  if ( isset( $current_screen ) && 'upload' === $current_screen->base && 'list' === $media_library_mode ) {
285
 
@@ -290,6 +316,18 @@ if ( ! function_exists( 'wpuxss_eml_admin_enqueue_scripts' ) ) {
290
  $wpuxss_eml_version,
291
  true
292
  );
 
 
 
 
 
 
 
 
 
 
 
 
293
  }
294
  }
295
  }
@@ -418,8 +456,9 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
418
 
419
 
420
  $media_models_l10n = array(
421
- 'media_orderby' => $wpuxss_eml_tax_options['media_orderby'],
422
- 'media_order' => $wpuxss_eml_tax_options['media_order']
 
423
  );
424
 
425
  wp_localize_script(
@@ -499,164 +538,194 @@ if ( ! function_exists( 'wpuxss_eml_enqueue_media' ) ) {
499
 
500
 
501
 
 
502
  /**
503
- * wpuxss_eml_on_activation_update
504
  *
505
- * It is performed during activation or update
506
- *
507
- * @since 2.0.4
508
- * @created 30/01/15
509
  */
510
 
511
- if ( ! function_exists( 'wpuxss_eml_on_activation_update' ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
 
513
- function wpuxss_eml_on_activation_update() {
 
 
 
 
 
 
 
514
 
515
- global $wpuxss_eml_version;
516
 
517
- $wpuxss_eml_old_version = get_option('wpuxss_eml_version', false);
518
 
519
- if ( version_compare( $wpuxss_eml_version, $wpuxss_eml_old_version, '<>' ) ) {
 
 
 
 
 
 
 
520
 
521
- update_option('wpuxss_eml_version', $wpuxss_eml_version );
522
-
523
- if ( empty($wpuxss_eml_old_version) ) {
524
-
525
- $wpuxss_eml_taxonomies['media_category'] = array(
526
- 'assigned' => 1,
527
- 'eml_media' => 1,
528
- 'public' => 1,
529
-
530
- 'labels' => array(
531
- 'name' => 'Media Categories',
532
- 'singular_name' => 'Media Category',
533
- 'menu_name' => 'Media Categories',
534
- 'all_items' => 'All Media Categories',
535
- 'edit_item' => 'Edit Media Category',
536
- 'view_item' => 'View Media Category',
537
- 'update_item' => 'Update Media Category',
538
- 'add_new_item' => 'Add New Media Category',
539
- 'new_item_name' => 'New Media Category Name',
540
- 'parent_item' => 'Parent Media Category',
541
- 'parent_item_colon' => 'Parent Media Category:',
542
- 'search_items' => 'Search Media Categories'
543
- ),
544
-
545
- 'hierarchical' => 1,
546
-
547
- 'show_admin_column' => 1,
548
- 'admin_filter' => 1, // list view filter
549
- 'media_uploader_filter' => 1, // grid view filter
550
- 'media_popup_taxonomy_edit' => 1,
551
-
552
- 'show_in_nav_menus' => 1,
553
- 'sort' => 0,
554
- 'show_in_rest' => 0,
555
- 'rewrite' => array(
556
- 'slug' => 'media_category',
557
- 'with_front' => 1
558
- )
559
- );
560
 
561
- $wpuxss_eml_tax_options = array(
562
- 'tax_archives' => 1,
563
- 'edit_all_as_hierarchical' => 0,
564
- 'force_filters' => 0,
565
- 'enhance_media_shortcodes' => 0,
566
- 'media_orderby' => 'date',
567
- 'media_order' => 'DESC'
568
- );
569
 
570
- $allowed_mimes = get_allowed_mime_types();
 
571
 
572
- foreach ( wp_get_mime_types() as $type => $mime ) {
 
 
573
 
574
- $wpuxss_eml_mimes[$type] = array(
575
- 'mime' => $mime,
576
- 'singular' => $mime,
577
- 'plural' => $mime,
578
- 'filter' => 0,
579
- 'upload' => isset($allowed_mimes[$type]) ? 1 : 0
580
- );
581
- }
582
 
583
- // backup mimes without PDF
584
- update_option( 'wpuxss_eml_mimes_backup', $wpuxss_eml_mimes );
585
 
586
- $wpuxss_eml_mimes['pdf']['singular'] = 'PDF';
587
- $wpuxss_eml_mimes['pdf']['plural'] = 'PDFs';
588
- $wpuxss_eml_mimes['pdf']['filter'] = 1;
 
 
 
589
 
590
- update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
591
- update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
592
 
593
- update_option( 'wpuxss_eml_mimes', $wpuxss_eml_mimes );
594
 
 
 
595
 
596
- return;
597
- } // endif :: old version absent
598
 
599
- if ( version_compare( $wpuxss_eml_old_version, '2.0.2', '<' ) ) {
600
 
601
- $wpuxss_eml_taxonomies = get_option('wpuxss_eml_taxonomies');
602
 
603
- foreach( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
 
 
 
604
 
605
- if ( $params['eml_media'] )
606
- $wpuxss_eml_taxonomies[$taxonomy]['rewrite']['with_front'] = 1;
607
- }
 
608
 
609
- update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
 
 
610
  }
611
 
612
- if ( version_compare( $wpuxss_eml_old_version, '2.0.4', '<' ) ) {
 
 
 
613
 
614
- $wpuxss_eml_taxonomies = get_option('wpuxss_eml_taxonomies');
 
 
 
 
615
 
616
- foreach( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
617
- $wpuxss_eml_taxonomies[$taxonomy]['media_popup_taxonomy_edit'] = 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  }
619
-
620
- $wpuxss_eml_tax_options = array(
621
- 'tax_archives' => 1,
622
- 'edit_all_as_hierarchical' => 0,
623
- 'force_filters' => 0
624
- );
625
-
626
- update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
627
- update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
628
  }
 
629
 
630
- if ( version_compare( $wpuxss_eml_old_version, '2.1.4', '<' ) ) {
631
 
632
- $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
 
 
 
 
 
 
 
 
 
 
 
 
633
 
 
 
634
  $wpuxss_eml_tax_options['media_orderby'] = 'date';
635
  $wpuxss_eml_tax_options['media_order'] = 'DESC';
636
-
637
- update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
638
  }
639
 
640
- if ( version_compare( $wpuxss_eml_old_version, '2.1.6', '<' ) ) {
641
-
642
- $wpuxss_eml_tax_options = get_option('wpuxss_eml_tax_options');
643
- $wpuxss_eml_taxonomies = get_option('wpuxss_eml_taxonomies');
644
 
645
  if ( isset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] ) ) {
646
  $wpuxss_eml_tax_options['enhance_media_shortcodes'] = $wpuxss_eml_tax_options['enhance_gallery_shortcode'];
 
647
  }
648
  else {
649
  $wpuxss_eml_tax_options['enhance_media_shortcodes'] = 0;
650
  }
651
-
652
- foreach( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
653
- $wpuxss_eml_taxonomies[$taxonomy]['show_in_rest'] = 0;
654
- }
655
-
656
- update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
657
- update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
658
  }
659
- } // endif :: new and old versions are not the same
 
 
 
660
  }
661
  }
662
 
3
  Plugin Name: Enhanced Media Library
4
  Plugin URI: http://wpUXsolutions.com
5
  Description: This plugin will be handy for those who need to manage a lot of media files.
6
+ Version: 2.2
7
  Author: wpUXsolutions
8
  Author URI: http://wpUXsolutions.com
9
  Text Domain: eml
15
 
16
 
17
 
18
+ if ( ! defined( 'ABSPATH' ) )
19
+ exit;
20
+
21
+
22
+
23
  global $wp_version,
24
  $wpuxss_eml_version,
25
  $wpuxss_eml_dir,
27
 
28
 
29
 
30
+ $wpuxss_eml_version = '2.2';
31
 
32
 
33
 
141
  function wpuxss_eml_on_init() {
142
 
143
  global $wpuxss_eml_dir,
144
+ $wpuxss_eml_path,
145
+ $wpuxss_eml_version;
146
 
147
 
148
  $wpuxss_eml_dir = plugin_dir_url( __FILE__ );
149
  $wpuxss_eml_path = plugin_dir_path( __FILE__ );
150
 
151
 
152
+ $wpuxss_eml_old_version = get_option( 'wpuxss_eml_version', null );
153
 
154
+ if ( version_compare( $wpuxss_eml_version, $wpuxss_eml_old_version, '<>' ) ) {
155
+ update_option( 'wpuxss_eml_version', $wpuxss_eml_version );
156
+ }
157
 
158
+ if ( is_null( $wpuxss_eml_old_version ) ) {
159
+ wpuxss_eml_on_activation();
160
+ }
161
+ elseif ( version_compare( $wpuxss_eml_version, $wpuxss_eml_old_version, '>' ) ) {
162
+ wpuxss_eml_on_update();
163
+ }
164
+
165
+
166
+ $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies', array() );
167
 
168
  // register eml taxonomies
169
+ foreach ( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
170
 
171
  if ( $params['eml_media'] && ! empty( $params['labels']['singular_name'] ) && ! empty( $params['labels']['name'] ) ) {
172
 
210
 
211
  global $wp_taxonomies;
212
 
213
+ $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies', array() );
214
+ $taxonomies = get_taxonomies( array(), 'object' );
 
215
 
216
  // discover 'foreign' taxonomies
217
  foreach ( $taxonomies as $taxonomy => $params ) {
218
 
219
+ if ( ! empty( $params->object_type ) && ! array_key_exists( $taxonomy,$wpuxss_eml_taxonomies ) && ! in_array( 'revision', $params->object_type ) && ! in_array( 'nav_menu_item', $params->object_type ) && $taxonomy !== 'post_format' && $taxonomy !== 'link_category' ) {
220
 
221
  $wpuxss_eml_taxonomies[$taxonomy] = array(
222
  'eml_media' => 0,
223
  'admin_filter' => 0,
224
  'media_uploader_filter' => 0,
225
  'media_popup_taxonomy_edit' => 0,
226
+ 'taxonomy_auto_assign' => 0
 
 
 
227
  );
228
 
229
  if ( in_array('attachment',$params->object_type) )
292
  'all'
293
  );
294
 
295
+ wp_enqueue_style ( 'wp-jquery-ui-dialog' );
296
+
297
+
298
+ // admin scripts
299
+ wp_enqueue_script(
300
+ 'wpuxss-eml-admin-script',
301
+ $wpuxss_eml_dir . 'js/eml-admin.js',
302
+ array( 'jquery', 'jquery-ui-dialog' ),
303
+ $wpuxss_eml_version,
304
+ true
305
+ );
306
+
307
+
308
+
309
  // scripts for list view :: /wp-admin/upload.php
310
  if ( isset( $current_screen ) && 'upload' === $current_screen->base && 'list' === $media_library_mode ) {
311
 
316
  $wpuxss_eml_version,
317
  true
318
  );
319
+
320
+ $media_list_l10n = array(
321
+ '$_GET' => wp_json_encode($_GET),
322
+ 'uncategorized' => __( 'All Uncategorized', 'eml' ),
323
+ 'reset_all_filters' => __( 'Reset All Filters', 'eml' )
324
+ );
325
+
326
+ wp_localize_script(
327
+ 'wpuxss-eml-media-list-script',
328
+ 'wpuxss_eml_media_list_l10n',
329
+ $media_list_l10n
330
+ );
331
  }
332
  }
333
  }
456
 
457
 
458
  $media_models_l10n = array(
459
+ 'media_orderby' => $wpuxss_eml_tax_options['media_orderby'],
460
+ 'media_order' => $wpuxss_eml_tax_options['media_order'],
461
+ 'bulk_edit_nonce' => wp_create_nonce( 'eml-bulk-edit-nonce' )
462
  );
463
 
464
  wp_localize_script(
538
 
539
 
540
 
541
+
542
  /**
543
+ * wpuxss_eml_on_activation
544
  *
545
+ * @since 2.2
546
+ * @created 12/03/16
 
 
547
  */
548
 
549
+ if ( ! function_exists( 'wpuxss_eml_on_activation' ) ) {
550
+
551
+ function wpuxss_eml_on_activation() {
552
+
553
+ $wpuxss_eml_taxonomies['media_category'] = array(
554
+ 'assigned' => 1,
555
+ 'eml_media' => 1,
556
+ 'public' => 1,
557
+
558
+ 'labels' => array(
559
+ 'name' => 'Media Categories',
560
+ 'singular_name' => 'Media Category',
561
+ 'menu_name' => 'Media Categories',
562
+ 'all_items' => 'All Media Categories',
563
+ 'edit_item' => 'Edit Media Category',
564
+ 'view_item' => 'View Media Category',
565
+ 'update_item' => 'Update Media Category',
566
+ 'add_new_item' => 'Add New Media Category',
567
+ 'new_item_name' => 'New Media Category Name',
568
+ 'parent_item' => 'Parent Media Category',
569
+ 'parent_item_colon' => 'Parent Media Category:',
570
+ 'search_items' => 'Search Media Categories'
571
+ ),
572
+
573
+ 'hierarchical' => 1,
574
+
575
+ 'show_admin_column' => 1,
576
+ 'admin_filter' => 1, // list view filter
577
+ 'media_uploader_filter' => 1, // grid view filter
578
+ 'media_popup_taxonomy_edit' => 1,
579
+
580
+ 'show_in_nav_menus' => 1,
581
+ 'sort' => 0,
582
+ 'show_in_rest' => 0,
583
+ 'rewrite' => array(
584
+ 'slug' => 'media_category',
585
+ 'with_front' => 1
586
+ )
587
+ );
588
 
589
+ $wpuxss_eml_tax_options = array(
590
+ 'tax_archives' => 1,
591
+ 'edit_all_as_hierarchical' => 0,
592
+ 'force_filters' => 0,
593
+ 'enhance_media_shortcodes' => 0,
594
+ 'media_orderby' => 'date',
595
+ 'media_order' => 'DESC'
596
+ );
597
 
598
+ $allowed_mimes = get_allowed_mime_types();
599
 
600
+ foreach ( wp_get_mime_types() as $type => $mime ) {
601
 
602
+ $wpuxss_eml_mimes[$type] = array(
603
+ 'mime' => $mime,
604
+ 'singular' => $mime,
605
+ 'plural' => $mime,
606
+ 'filter' => 0,
607
+ 'upload' => isset($allowed_mimes[$type]) ? 1 : 0
608
+ );
609
+ }
610
 
611
+ // backup mimes without PDF
612
+ update_option( 'wpuxss_eml_mimes_backup', $wpuxss_eml_mimes );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
613
 
614
+ $wpuxss_eml_mimes['pdf']['singular'] = 'PDF';
615
+ $wpuxss_eml_mimes['pdf']['plural'] = 'PDFs';
616
+ $wpuxss_eml_mimes['pdf']['filter'] = 1;
 
 
 
 
 
617
 
618
+ update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
619
+ update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
620
 
621
+ update_option( 'wpuxss_eml_mimes', $wpuxss_eml_mimes );
622
+ }
623
+ }
624
 
 
 
 
 
 
 
 
 
625
 
 
 
626
 
627
+ /**
628
+ * wpuxss_eml_on_update
629
+ *
630
+ * @since 2.2
631
+ * @created 12/03/16
632
+ */
633
 
634
+ if ( ! function_exists( 'wpuxss_eml_on_update' ) ) {
 
635
 
636
+ function wpuxss_eml_on_update() {
637
 
638
+ $wpuxss_eml_taxonomies = get_option( 'wpuxss_eml_taxonomies' );
639
+ $wpuxss_eml_tax_options = get_option( 'wpuxss_eml_tax_options', null );
640
 
 
 
641
 
642
+ foreach( (array) $wpuxss_eml_taxonomies as $taxonomy => $params ) {
643
 
644
+ $eml_media = intval( $params['eml_media'] );
645
 
646
+ // since 2.0.2
647
+ if ( $eml_media && ! isset( $params['rewrite']['with_front'] ) ) {
648
+ $wpuxss_eml_taxonomies[$taxonomy]['rewrite']['with_front'] = 1;
649
+ }
650
 
651
+ // since 2.0.4
652
+ if ( ! isset( $wpuxss_eml_taxonomies[$taxonomy]['media_popup_taxonomy_edit'] ) ) {
653
+ $wpuxss_eml_taxonomies[$taxonomy]['media_popup_taxonomy_edit'] = 0;
654
+ }
655
 
656
+ // since 2.1.6
657
+ if ( $eml_media && ! isset( $params['show_in_rest'] ) ) {
658
+ $wpuxss_eml_taxonomies[$taxonomy]['show_in_rest'] = 0;
659
  }
660
 
661
+ // since 2.2
662
+ if ( ! $eml_media && ! isset( $params['taxonomy_auto_assign'] ) ) {
663
+ $wpuxss_eml_taxonomies[$taxonomy]['taxonomy_auto_assign'] = 0;
664
+ }
665
 
666
+ // unset since 2.2
667
+ if ( $taxonomy == 'link_category' ) {
668
+ unset( $wpuxss_eml_taxonomies[$taxonomy] );
669
+ }
670
+ if ( ! $eml_media ) {
671
 
672
+ if ( isset( $params['hierarchical'] ) ) {
673
+ unset( $wpuxss_eml_taxonomies[$taxonomy]['hierarchical'] );
674
+ }
675
+ if ( isset( $params['rewrite'] ) ) {
676
+ unset( $wpuxss_eml_taxonomies[$taxonomy]['rewrite'] );
677
+ }
678
+ if ( isset( $params['sort'] ) ) {
679
+ unset( $wpuxss_eml_taxonomies[$taxonomy]['sort'] );
680
+ }
681
+ if ( isset( $params['show_admin_column'] ) ) {
682
+ unset( $wpuxss_eml_taxonomies[$taxonomy]['show_admin_column'] );
683
+ }
684
+ if ( isset( $params['show_in_nav_menus'] ) ) {
685
+ unset( $wpuxss_eml_taxonomies[$taxonomy]['show_in_nav_menus'] );
686
+ }
687
+ if ( isset( $params['show_in_rest'] ) ) {
688
+ unset( $wpuxss_eml_taxonomies[$taxonomy]['show_in_rest'] );
689
  }
 
 
 
 
 
 
 
 
 
690
  }
691
+ }
692
 
 
693
 
694
+ // since 2.0.4
695
+ if ( is_null( $wpuxss_eml_tax_options ) ) {
696
+
697
+ $wpuxss_eml_tax_options = array(
698
+ 'tax_archives' => 1,
699
+ 'edit_all_as_hierarchical' => 0,
700
+ 'force_filters' => 0,
701
+ 'enhance_media_shortcodes' => 0,
702
+ 'media_orderby' => 'date',
703
+ 'media_order' => 'DESC'
704
+ );
705
+ }
706
+ else {
707
 
708
+ // since 2.1.4
709
+ if ( ! isset( $wpuxss_eml_tax_options['media_orderby'] ) || ! isset( $wpuxss_eml_tax_options['media_order'] ) ) {
710
  $wpuxss_eml_tax_options['media_orderby'] = 'date';
711
  $wpuxss_eml_tax_options['media_order'] = 'DESC';
 
 
712
  }
713
 
714
+ // since 2.1.6
715
+ if ( ! isset( $wpuxss_eml_tax_options['enhance_media_shortcodes'] ) ) {
 
 
716
 
717
  if ( isset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] ) ) {
718
  $wpuxss_eml_tax_options['enhance_media_shortcodes'] = $wpuxss_eml_tax_options['enhance_gallery_shortcode'];
719
+ unset( $wpuxss_eml_tax_options['enhance_gallery_shortcode'] );
720
  }
721
  else {
722
  $wpuxss_eml_tax_options['enhance_media_shortcodes'] = 0;
723
  }
 
 
 
 
 
 
 
724
  }
725
+ }
726
+
727
+ update_option( 'wpuxss_eml_taxonomies', $wpuxss_eml_taxonomies );
728
+ update_option( 'wpuxss_eml_tax_options', $wpuxss_eml_tax_options );
729
  }
730
  }
731
 
images/spinner-2x.gif ADDED
Binary file
images/spinner.gif ADDED
Binary file
index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
js/eml-admin.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $ ) {
2
+
3
+ var w;
4
+
5
+
6
+ if ( $(window).width() < 600 )
7
+ w = '90%';
8
+ else if ( $(window).width() > 1024 )
9
+ w = '500';
10
+ else
11
+ w = '50%';
12
+
13
+
14
+ window.emlConfirmDialog = function( title, html, yes, no, yesClass ) {
15
+
16
+ var def = $.Deferred(),
17
+
18
+ confirmdialog = $('<div id="dialog-modal"></div>').appendTo('body')
19
+ .html( html )
20
+ .dialog({
21
+ modal : true,
22
+ resizable : false,
23
+ width : w,
24
+ autoOpen : false,
25
+ title : title,
26
+ buttons : [
27
+ {
28
+ 'text' : yes,
29
+ 'class' : yesClass,
30
+ 'click' : function() {
31
+ $(this).dialog( 'close' );
32
+ def.resolve();
33
+ }
34
+ },
35
+ {
36
+ 'text' : no,
37
+ 'click': function() {
38
+ $(this).dialog( 'close' );
39
+ def.reject();
40
+ }
41
+ }
42
+ ],
43
+ close: function() {
44
+ $(this).remove();
45
+ }
46
+ });
47
+
48
+ confirmdialog.dialog('open');
49
+
50
+ return def.promise();
51
+ }
52
+
53
+
54
+ window.emlFullscreenSpinnerStart = function( text ) {
55
+ $('body').append( '<div class="fullscreen-spinner-box"><div class="fullscreen-spinner-inner-box"><span class="eml-spinner">'+text+'</span></div></div>' );
56
+ }
57
+
58
+
59
+ window.emlFullscreenSpinnerStop = function( text ) {
60
+ $('.fullscreen-spinner-box').remove();
61
+ }
62
+
63
+ })( jQuery );
js/eml-media-editor.js CHANGED
@@ -223,6 +223,7 @@ window.eml = window.eml || { l10n: {} };
223
  defaultPostId = this.defaults.id,
224
  attachments, selection, state, props;
225
 
 
226
  // Bail if we didn't match the shortcode or all of the content.
227
  if ( ! shortcode || shortcode.content !== content ) {
228
  return;
@@ -285,7 +286,8 @@ window.eml = window.eml || { l10n: {} };
285
  *
286
  */
287
  _.extend( media.gallery.defaults, {
288
- orderby : 'menuOrder'
 
289
  });
290
 
291
  delete media.gallery.defaults.id;
223
  defaultPostId = this.defaults.id,
224
  attachments, selection, state, props;
225
 
226
+
227
  // Bail if we didn't match the shortcode or all of the content.
228
  if ( ! shortcode || shortcode.content !== content ) {
229
  return;
286
  *
287
  */
288
  _.extend( media.gallery.defaults, {
289
+ orderby : 'menuOrder',
290
+ order: 'ASC'
291
  });
292
 
293
  delete media.gallery.defaults.id;
js/eml-media-list.js CHANGED
@@ -1,11 +1,28 @@
1
  ( function( $ ) {
2
 
 
 
 
 
3
  $( document ).ready( function()
4
  {
5
  var $mainFilter = $('select[name="attachment-filter"]'),
6
  $dataFilter = $('select#filter-by-date'),
7
  $taxFilters = $('select.eml-taxonomy-filters'),
8
- $resetFilters = $('#eml-reset-filters-query-submit');
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
 
11
  if ( ! $mainFilter.prop( 'selectedIndex' ) &&
@@ -20,12 +37,13 @@
20
  }
21
 
22
 
 
23
  $( document ).on( 'change', 'select[name="attachment-filter"]', {
24
  checkFilter : $mainFilter,
25
  resetFilter : $taxFilters
26
  }, resetFilters );
27
 
28
- $( document ).on( 'change', 'select.eml-taxonomy-filters', {
29
  checkFilter : $mainFilter,
30
  resetFilter : $mainFilter
31
  }, resetFilters );
1
  ( function( $ ) {
2
 
3
+ var l10n = wpuxss_eml_media_list_l10n;
4
+
5
+
6
+
7
  $( document ).ready( function()
8
  {
9
  var $mainFilter = $('select[name="attachment-filter"]'),
10
  $dataFilter = $('select#filter-by-date'),
11
  $taxFilters = $('select.eml-taxonomy-filters'),
12
+ $resetFilters,
13
+ $_GET = $.parseJSON( l10n.$_GET );
14
+
15
+
16
+ // Add "All Uncategorized" option
17
+ $mainFilter.append('<option value="uncategorized">'+l10n.uncategorized+'</option>');
18
+
19
+ // Add "Reset All Filters" button
20
+ $('#post-query-submit').after('<input type="submit" name="filter_action" id="eml-reset-filters-query-submit" class="button" value="'+l10n.reset_all_filters+'">');
21
+ $resetFilters = $('#eml-reset-filters-query-submit');
22
+
23
+ if ( 'uncategorized' == $_GET['attachment-filter'] ) {
24
+ $mainFilter.val("uncategorized");
25
+ }
26
 
27
 
28
  if ( ! $mainFilter.prop( 'selectedIndex' ) &&
37
  }
38
 
39
 
40
+
41
  $( document ).on( 'change', 'select[name="attachment-filter"]', {
42
  checkFilter : $mainFilter,
43
  resetFilter : $taxFilters
44
  }, resetFilters );
45
 
46
+ $( document ).on( 'change', 'select.eml-taxonomy-filters', {
47
  checkFilter : $mainFilter,
48
  resetFilter : $mainFilter
49
  }, resetFilters );
js/eml-media-models.js CHANGED
@@ -14,6 +14,42 @@ window.eml = window.eml || { l10n: {} };
14
 
15
 
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  _.extend( Query.prototype, {
18
 
19
  initialize: function( models, options ) {
@@ -32,12 +68,13 @@ window.eml = window.eml || { l10n: {} };
32
  var orderby = this.props.get('orderby'),
33
  order = this.props.get('order');
34
 
 
35
  if ( ! this.comparator ) {
36
  return true;
37
  }
38
 
39
  if ( 'title' === orderby ) {
40
- return attachment.get( 'modified' ) >= this.created;
41
 
42
  // We want any items that can be placed before the last
43
  // item in the set. If we add any items after the last
@@ -84,9 +121,9 @@ window.eml = window.eml || { l10n: {} };
84
  _.extend( Query, {
85
 
86
  defaultProps: {
87
- orderby: eml.l10n.media_orderby,
88
- order: eml.l10n.media_order
89
- },
90
 
91
  queries: [],
92
 
@@ -166,12 +203,12 @@ window.eml = window.eml || { l10n: {} };
166
 
167
  media.query = function( props ) {
168
 
169
- return new Attachments( null, {
170
- props: _.extend( _.defaults( props || {}, {
171
  orderby: eml.l10n.media_orderby,
172
  order: eml.l10n.media_order
173
  } ), { query: true } )
174
- });
175
  };
176
 
177
  })( jQuery, _ );
14
 
15
 
16
 
17
+ _.extend( Attachments.prototype, {
18
+
19
+ saveMenuOrder: function() {
20
+
21
+ var nonce = wp.media.model.settings.post.nonce || eml.l10n.bulk_edit_nonce;
22
+
23
+ if ( 'menuOrder' !== this.props.get('orderby') ) {
24
+ return;
25
+ }
26
+
27
+ // Removes any uploading attachments, updates each attachment's
28
+ // menu order, and returns an object with an { id: menuOrder }
29
+ // mapping to pass to the request.
30
+ var attachments = this.chain().filter( function( attachment ) {
31
+ return ! _.isUndefined( attachment.id );
32
+ }).map( function( attachment, index ) {
33
+ // Indices start at 1.
34
+ index = index + 1;
35
+ attachment.set( 'menuOrder', index );
36
+ return [ attachment.id, index ];
37
+ }).object().value();
38
+
39
+ if ( _.isEmpty( attachments ) ) {
40
+ return;
41
+ }
42
+
43
+ return wp.media.post( 'save-attachment-order', {
44
+ nonce: nonce,
45
+ post_id: wp.media.model.settings.post.id,
46
+ attachments: attachments
47
+ });
48
+ }
49
+ });
50
+
51
+
52
+
53
  _.extend( Query.prototype, {
54
 
55
  initialize: function( models, options ) {
68
  var orderby = this.props.get('orderby'),
69
  order = this.props.get('order');
70
 
71
+
72
  if ( ! this.comparator ) {
73
  return true;
74
  }
75
 
76
  if ( 'title' === orderby ) {
77
+ return attachment.get( 'modified' ) >= this.created;
78
 
79
  // We want any items that can be placed before the last
80
  // item in the set. If we add any items after the last
121
  _.extend( Query, {
122
 
123
  defaultProps: {
124
+ orderby: eml.l10n.media_orderby,
125
+ order: eml.l10n.media_order
126
+ },
127
 
128
  queries: [],
129
 
203
 
204
  media.query = function( props ) {
205
 
206
+ return new Attachments( null, {
207
+ props: _.extend( _.defaults( props || {}, {
208
  orderby: eml.l10n.media_orderby,
209
  order: eml.l10n.media_order
210
  } ), { query: true } )
211
+ });
212
  };
213
 
214
  })( jQuery, _ );
js/eml-media-views.js CHANGED
@@ -18,12 +18,39 @@ window.eml = window.eml || { l10n: {} };
18
  * wp.media.controller.Library
19
  *
20
  */
 
 
 
 
 
21
  _.extend( media.controller.Library.prototype, {
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  uploading: function( attachment ) {
24
 
25
  var content = this.frame.content,
26
- selection = this.get('selection');
27
 
28
 
29
  if ( 'upload' === content.mode() ) {
@@ -349,7 +376,9 @@ window.eml = window.eml || { l10n: {} };
349
  event.preventDefault();
350
  }
351
 
352
- $('.attachment-filters:has(option[value!="all"]:selected)').val( 'all' ).change();
 
 
353
  }
354
  });
355
 
18
  * wp.media.controller.Library
19
  *
20
  */
21
+ original.controllerLibrary = {
22
+
23
+ activate: media.controller.Library.prototype.activate
24
+ };
25
+
26
  _.extend( media.controller.Library.prototype, {
27
 
28
+ activate: function() {
29
+
30
+ original.controllerLibrary.activate.apply( this, arguments );
31
+
32
+ wp.Uploader.queue.on( 'reset', this.afterUpload, this );
33
+ },
34
+
35
+ afterUpload: function() {
36
+
37
+ var library = this.get( 'library' ),
38
+ selection = this.get( 'selection' ),
39
+ orderby = library.props.get( 'orderby' );
40
+
41
+
42
+ if ( 'menuOrder' === orderby ) {
43
+ library.saveMenuOrder();
44
+ }
45
+
46
+ selection.trigger( 'selection:unsingle', selection.model, selection );
47
+ selection.trigger( 'selection:single', selection.model, selection );
48
+ },
49
+
50
  uploading: function( attachment ) {
51
 
52
  var content = this.frame.content,
53
+ selection = this.get( 'selection' );
54
 
55
 
56
  if ( 'upload' === content.mode() ) {
376
  event.preventDefault();
377
  }
378
 
379
+ $('.attachment-filters:has(option[value!="all"]:selected)').each( function( index ) {
380
+ $(this).val( 'all' ).change();
381
+ });
382
  }
383
  });
384
 
js/eml-mimetype-options.js ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.eml = window.eml || { l10n: {} };
2
+
3
+
4
+
5
+ ( function( $, _ ) {
6
+
7
+ _.extend( eml.l10n, { mime: wpuxss_eml_mimetype_options_l10n_data } );
8
+
9
+
10
+
11
+ // create new mime type
12
+ $( document ).on( 'click', '.wpuxss-eml-button-create-mime', function() {
13
+
14
+ $('.wpuxss-eml-mime-type-list').find('.wpuxss-eml-clone').clone().attr('class','wpuxss-eml-clone-mime').prependTo('.wpuxss-eml-mime-type-list tbody').show(300);
15
+
16
+ return false;
17
+ });
18
+
19
+ // remove mime type
20
+ $( document ).on( 'click', 'tr .wpuxss-eml-button-remove', function() {
21
+
22
+ $(this).closest('tr').hide( 300, function() {
23
+ $(this).remove();
24
+ });
25
+
26
+ return false;
27
+ });
28
+
29
+ // on change of an extension during creation
30
+ $(document).on('blur', '.wpuxss-eml-clone-mime .wpuxss-eml-type', function()
31
+ {
32
+ var extension = $(this).val().toLowerCase(),
33
+ mime_type_tr = $(this).closest('tr');
34
+
35
+ $(this).val(extension);
36
+
37
+ mime_type_tr.find('.wpuxss-eml-mime').attr('name','wpuxss_eml_mimes['+extension+'][mime]');
38
+ mime_type_tr.find('.wpuxss-eml-singular').attr('name','wpuxss_eml_mimes['+extension+'][singular]');
39
+ mime_type_tr.find('.wpuxss-eml-plural').attr('name','wpuxss_eml_mimes['+extension+'][plural]');
40
+ mime_type_tr.find('.wpuxss-eml-filter').attr('name','wpuxss_eml_mimes['+extension+'][filter]');
41
+ mime_type_tr.find('.wpuxss-eml-upload').attr('name','wpuxss_eml_mimes['+extension+'][upload]');
42
+ });
43
+
44
+
45
+ // on change of a mime type during creation
46
+ $(document).on('blur', '.wpuxss-eml-clone-mime .wpuxss-eml-mime', function()
47
+ {
48
+ var mime_type = $(this).val().toLowerCase(),
49
+ mime_type_tr = $(this).closest('tr');
50
+
51
+ $(this).val(mime_type);
52
+ });
53
+
54
+ // mime types restoration warning
55
+ $(document).on('click', '#wpuxss_eml_restore_mimes_backup', function()
56
+ {
57
+ if ( confirm(eml.l10n.mime.mime_deletion_confirm) )
58
+ {
59
+ return true;
60
+ }
61
+
62
+ return false;
63
+ });
64
+
65
+ // on mime types form submit
66
+ $('#wpuxss-eml-form-mimetypes').submit(function( event )
67
+ {
68
+ submit_it = true;
69
+ alert_text = '';
70
+
71
+ $('.wpuxss-eml-clone-mime').each(function( index )
72
+ {
73
+ if ( !$('.wpuxss-eml-type',this).val() || $('.wpuxss-eml-type',this).val() == '' || !$('.wpuxss-eml-mime',this).val() || $('.wpuxss-eml-mime',this).val() == '' )
74
+ {
75
+ submit_it = false;
76
+ alert_text = eml.l10n.mime.mime_error_empty_fields;
77
+ }
78
+ else if ( $('[id="'+$('.wpuxss-eml-type',this).val()+'"]').length > 0 || $('.wpuxss-eml-mime[value="'+$('.wpuxss-eml-mime',this).val()+'"]').length > 0 )
79
+ {
80
+ submit_it = false;
81
+ alert_text = eml.l10n.mime.mime_error_duplicate;
82
+ }
83
+
84
+ if ( !$('.wpuxss-eml-singular',this).val() || $('.wpuxss-eml-singular',this).val() == '' || !$('.wpuxss-eml-plural',this).val() || $('.wpuxss-eml-plural',this).val() == '' )
85
+ {
86
+ $('.wpuxss-eml-singular',this).val($('.wpuxss-eml-mime',this).val());
87
+ $('.wpuxss-eml-plural',this).val($('.wpuxss-eml-mime',this).val());
88
+ }
89
+ });
90
+
91
+ if ( !submit_it && alert_text != '' ) alert(alert_text);
92
+
93
+ return submit_it;
94
+ });
95
+
96
+ })( jQuery, _ );
js/eml-options.js CHANGED
@@ -1,373 +1,24 @@
1
  ( function( $ ) {
2
 
3
- var orderValue;
4
 
5
 
6
 
7
- // remove taxonomy
8
- $( document ).on('click', 'li .wpuxss-eml-button-remove', function() {
9
 
10
- target = $(this).parent();
11
 
12
- if ( target.hasClass('wpuxss-eml-clone-taxonomy') )
13
- {
14
- target.hide( 300, function() {
15
- $(this).remove();
16
- });
17
- }
18
- else
19
- {
20
- if ( confirm(wpuxss_eml_i18n_data.tax_deletion_confirm) )
21
- {
22
- target.hide( 300, function() {
23
- $(this).remove();
24
- });
25
- }
26
- }
27
 
28
- return false;
29
- });
30
-
31
- // create new taxonomy
32
- $(document).on('click', '.wpuxss-eml-button-create-taxonomy', function()
33
- {
34
- $('.wpuxss-eml-media-taxonomy-list').find('.wpuxss-eml-clone').clone().attr('class','wpuxss-eml-clone-taxonomy').appendTo('.wpuxss-eml-media-taxonomy-list').show(300);
35
 
36
- return false;
37
- });
38
 
39
- // edit taxonomy parameters
40
- $(document).on('click', '.wpuxss-eml-button-edit', function()
41
- {
42
- $(this).parent().find('.wpuxss-eml-taxonomy-edit').toggle(300);
43
-
44
- $(this).html(function(i, html)
45
- {
46
- return html == wpuxss_eml_i18n_data.edit+' \u2193' ? wpuxss_eml_i18n_data.close+' \u2191' : wpuxss_eml_i18n_data.edit+' \u2193';
47
  });
48
-
49
- return false;
50
- });
51
-
52
- // on change of a singular taxonomy name during creation
53
- $(document).on('blur', '.wpuxss-eml-clone-taxonomy .wpuxss-eml-singular_name', function()
54
- {
55
- var dictionary,
56
- taxonomy_name = $(this).val().toLowerCase(),
57
- taxonomy_edit_box = $(this).parents('.wpuxss-eml-taxonomy-edit');
58
-
59
- taxonomy_name = taxonomy_name.replace(/(<([^>]+)>)/g,'');
60
-
61
- if ( taxonomy_name != '' )
62
- {
63
- // thanks to
64
- // https://github.com/borodean/jquery-translit
65
- // https://gist.github.com/richardsweeney/5317392
66
- // http://www.advancedcustomfields.com/
67
- // for the 'dictionary' code!
68
- dictionary = {
69
- 'а': 'a',
70
- 'б': 'b',
71
- 'в': 'v',
72
- 'г': 'g',
73
- 'д': 'd',
74
- 'е': 'e',
75
- 'ё': 'e',
76
- 'ж': 'zh',
77
- 'з': 'z',
78
- 'и': 'i',
79
- 'й': 'i',
80
- 'к': 'k',
81
- 'л': 'l',
82
- 'м': 'm',
83
- 'н': 'n',
84
- 'о': 'o',
85
- 'п': 'p',
86
- 'р': 'r',
87
- 'с': 's',
88
- 'т': 't',
89
- 'у': 'u',
90
- 'ф': 'f',
91
- 'х': 'kh',
92
- 'ц': 'tc',
93
- 'ч': 'ch',
94
- 'ш': 'sh',
95
- 'щ': 'shch',
96
- 'ъ': '',
97
- 'ы': 'y',
98
- 'ь': '',
99
- 'э': 'e',
100
- 'ю': 'iu',
101
- 'я': 'ia',
102
- 'ä': 'a',
103
- 'æ': 'a',
104
- 'å': 'a',
105
- 'ö': 'o',
106
- 'ø': 'o',
107
- 'é': 'e',
108
- 'ë': 'e',
109
- 'ü': 'u',
110
- 'ó': 'o',
111
- 'ő': 'o',
112
- 'ú': 'u',
113
- 'é': 'e',
114
- 'á': 'a',
115
- 'ű': 'u',
116
- 'í': 'i',
117
- ' ' : '_',
118
- '-' : '_',
119
- '\'' : '',
120
- '&' : '_'
121
- };
122
-
123
- $.each( dictionary, function(k, v)
124
- {
125
- var regex = new RegExp( k, 'g' );
126
- taxonomy_name = taxonomy_name.replace( regex, v );
127
- });
128
-
129
- taxonomy_name = taxonomy_name.replace(/[^a-z0-9_\s]/g, '');
130
-
131
- $(this).closest('.wpuxss-eml-clone-taxonomy').attr('id',taxonomy_name);
132
-
133
- if ( $('.wpuxss-eml-clone-taxonomy[id='+taxonomy_name+'], .wpuxss-eml-taxonomy[id='+taxonomy_name+'], .wpuxss-non-eml-taxonomy[id='+taxonomy_name+']').length > 1 )
134
- {
135
- alert(wpuxss_eml_i18n_data.tax_error_duplicate);
136
- }
137
-
138
- $(this).attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][singular_name]');
139
- taxonomy_edit_box.find('.wpuxss-eml-name').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][name]');
140
- taxonomy_edit_box.find('.wpuxss-eml-menu_name').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][menu_name]');
141
- taxonomy_edit_box.find('.wpuxss-eml-all_items').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][all_items]');
142
- taxonomy_edit_box.find('.wpuxss-eml-edit_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][edit_item]');
143
- taxonomy_edit_box.find('.wpuxss-eml-view_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][view_item]');
144
- taxonomy_edit_box.find('.wpuxss-eml-update_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][update_item]');
145
- taxonomy_edit_box.find('.wpuxss-eml-add_new_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][add_new_item]');
146
- taxonomy_edit_box.find('.wpuxss-eml-new_item_name').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][new_item_name]');
147
- taxonomy_edit_box.find('.wpuxss-eml-parent_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][parent_item]');
148
- taxonomy_edit_box.find('.wpuxss-eml-search_items').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][search_items]');
149
-
150
- if( taxonomy_edit_box.find('.wpuxss-eml-edit_item').val() == '' )
151
- taxonomy_edit_box.find('.wpuxss-eml-edit_item').val(wpuxss_eml_i18n_data.edit+' '+$(this).val());
152
-
153
- if( taxonomy_edit_box.find('.wpuxss-eml-view_item').val() == '' )
154
- taxonomy_edit_box.find('.wpuxss-eml-view_item').val(wpuxss_eml_i18n_data.view+' '+$(this).val());
155
-
156
- if( taxonomy_edit_box.find('.wpuxss-eml-update_item').val() == '' )
157
- taxonomy_edit_box.find('.wpuxss-eml-update_item').val(wpuxss_eml_i18n_data.update+' '+$(this).val());
158
-
159
- if( taxonomy_edit_box.find('.wpuxss-eml-add_new_item').val() == '' )
160
- taxonomy_edit_box.find('.wpuxss-eml-add_new_item').val(wpuxss_eml_i18n_data.add_new+' '+$(this).val());
161
-
162
- if( taxonomy_edit_box.find('.wpuxss-eml-new_item_name').val() == '' )
163
- taxonomy_edit_box.find('.wpuxss-eml-new_item_name').val(wpuxss_eml_i18n_data.new+' '+$(this).val()+' '+wpuxss_eml_i18n_data.name);
164
-
165
- if( taxonomy_edit_box.find('.wpuxss-eml-parent_item').val() == '' )
166
- taxonomy_edit_box.find('.wpuxss-eml-parent_item').val(wpuxss_eml_i18n_data.parent+' '+$(this).val());
167
-
168
- taxonomy_edit_box.find('.wpuxss-eml-taxonomy-name').val(taxonomy_name);
169
-
170
- taxonomy_edit_box.find('.wpuxss-eml-hierarchical').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][hierarchical]');
171
- taxonomy_edit_box.find('.wpuxss-eml-public').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][public]');
172
- taxonomy_edit_box.find('.wpuxss-eml-show_admin_column').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][show_admin_column]');
173
- taxonomy_edit_box.find('.wpuxss-eml-show_in_nav_menus').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][show_in_nav_menus]');
174
- taxonomy_edit_box.find('.wpuxss-eml-sort').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][sort]');
175
- taxonomy_edit_box.find('.wpuxss-eml-slug').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][rewrite][slug]').val(taxonomy_name);
176
-
177
- taxonomy_edit_box.find('.wpuxss-eml-admin_filter').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][admin_filter]');
178
- taxonomy_edit_box.find('.wpuxss-eml-media_uploader_filter').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][media_uploader_filter]');
179
- taxonomy_edit_box.find('.wpuxss-eml-media_popup_taxonomy_edit').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][media_popup_taxonomy_edit]');
180
-
181
- $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-assigned').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][assigned]');
182
- $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-eml_media').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][eml_media]');
183
- }
184
- else
185
- {
186
- $(this).val('');
187
- taxonomy_edit_box.find('.wpuxss-eml-edit_item').val('');
188
- taxonomy_edit_box.find('.wpuxss-eml-view_item').val('');
189
- taxonomy_edit_box.find('.wpuxss-eml-update_item').val('');
190
- taxonomy_edit_box.find('.wpuxss-eml-add_new_item').val('');
191
- taxonomy_edit_box.find('.wpuxss-eml-new_item_name').val('');
192
- taxonomy_edit_box.find('.wpuxss-eml-parent_item').val('');
193
- taxonomy_edit_box.find('.wpuxss-eml-slug').val('');
194
- }
195
- });
196
-
197
- // on change of a plural taxonomy name during creation
198
- $(document).on('blur', '.wpuxss-eml-clone-taxonomy .wpuxss-eml-name', function()
199
- {
200
- var taxonomy_plural_name = $(this).val();
201
- taxonomy_edit_box = $(this).parents('.wpuxss-eml-taxonomy-edit');
202
-
203
- taxonomy_plural_name = taxonomy_plural_name.replace(/(<([^>]+)>)/g,'');
204
-
205
- if ( taxonomy_plural_name != '' )
206
- {
207
- if( taxonomy_edit_box.find('.wpuxss-eml-menu_name').val() == '' )
208
- taxonomy_edit_box.find('.wpuxss-eml-menu_name').val($(this).val());
209
-
210
- if( taxonomy_edit_box.find('.wpuxss-eml-all_items').val() == '' )
211
- taxonomy_edit_box.find('.wpuxss-eml-all_items').val(wpuxss_eml_i18n_data.all+' '+$(this).val());
212
-
213
- if( taxonomy_edit_box.find('.wpuxss-eml-search_items').val() == '' )
214
- taxonomy_edit_box.find('.wpuxss-eml-search_items').val(wpuxss_eml_i18n_data.search+' '+$(this).val());
215
-
216
- $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-taxonomy-label').text($(this).val());
217
- }
218
- else
219
- {
220
- $(this).val('');
221
- taxonomy_edit_box.find('.wpuxss-eml-menu_name').val('');
222
- taxonomy_edit_box.find('.wpuxss-eml-all_items').val('');
223
- taxonomy_edit_box.find('.wpuxss-eml-search_items').val('');
224
- $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-taxonomy-label').text(wpuxss_eml_i18n_data.tax_new);
225
- }
226
- });
227
-
228
- // on taxonomy form submit
229
- $('#wpuxss-eml-form-taxonomies').submit(function( event )
230
- {
231
- submit_it = true;
232
- alert_text = '';
233
-
234
- $('.wpuxss-eml-clone-taxonomy, .wpuxss-eml-taxonomy').each(function( index )
235
- {
236
- current_taxonomy = $(this).attr('id');
237
-
238
- if ( !$('.wpuxss-eml-singular_name',this).val() && !$('.wpuxss-eml-name',this).val() )
239
- {
240
- submit_it = false;
241
- alert_text = wpuxss_eml_i18n_data.tax_error_empty_both;
242
- }
243
- else if ( !$('.wpuxss-eml-singular_name',this).val() )
244
- {
245
- submit_it = false;
246
- alert_text = wpuxss_eml_i18n_data.tax_error_empty_singular;
247
- }
248
- else if ( !$('.wpuxss-eml-name',this).val() )
249
- {
250
- submit_it = false;
251
- alert_text = wpuxss_eml_i18n_data.tax_error_empty_plural;
252
- }
253
- else if ( $('.wpuxss-eml-clone-taxonomy[id='+current_taxonomy+'], .wpuxss-eml-taxonomy[id='+current_taxonomy+'], .wpuxss-non-eml-taxonomy[id='+current_taxonomy+']').length > 1 )
254
- {
255
- submit_it = false;
256
- alert_text = wpuxss_eml_i18n_data.tax_error_duplicate;
257
- }
258
- });
259
-
260
- if ( !submit_it ) alert(alert_text);
261
-
262
- return submit_it;
263
- });
264
-
265
-
266
-
267
- $( document ).ready( function() {
268
-
269
- orderValue = $('#wpuxss_eml_tax_options_media_order').val();
270
- $('#wpuxss_eml_tax_options_media_orderby').change();
271
- });
272
-
273
-
274
-
275
- $( document ).on('change', '#wpuxss_eml_tax_options_media_orderby', function( event ) {
276
-
277
- var isMenuOrder = 'menuOrder' === $( event.target ).val(),
278
- value;
279
-
280
- orderValue = isMenuOrder ? $('#wpuxss_eml_tax_options_media_order').val() : orderValue;
281
- value = isMenuOrder ? 'ASC' : orderValue;
282
-
283
- $('#wpuxss_eml_tax_options_media_order').prop( 'disabled', isMenuOrder ).val( value );
284
- });
285
-
286
-
287
-
288
- // create new mime type
289
- $(document).on('click', '.wpuxss-eml-button-create-mime', function()
290
- {
291
- $('.wpuxss-eml-mime-type-list').find('.wpuxss-eml-clone').clone().attr('class','wpuxss-eml-clone-mime').prependTo('.wpuxss-eml-mime-type-list tbody').show(300);
292
-
293
- return false;
294
- });
295
-
296
- // remove mime type
297
- $(document).on('click', 'tr .wpuxss-eml-button-remove', function()
298
- {
299
- $(this).closest('tr').hide( 300, function() {
300
- $(this).remove();
301
- });
302
-
303
- return false;
304
- });
305
-
306
- // on change of an extension during creation
307
- $(document).on('blur', '.wpuxss-eml-clone-mime .wpuxss-eml-type', function()
308
- {
309
- var extension = $(this).val().toLowerCase(),
310
- mime_type_tr = $(this).closest('tr');
311
-
312
- $(this).val(extension);
313
-
314
- mime_type_tr.find('.wpuxss-eml-mime').attr('name','wpuxss_eml_mimes['+extension+'][mime]');
315
- mime_type_tr.find('.wpuxss-eml-singular').attr('name','wpuxss_eml_mimes['+extension+'][singular]');
316
- mime_type_tr.find('.wpuxss-eml-plural').attr('name','wpuxss_eml_mimes['+extension+'][plural]');
317
- mime_type_tr.find('.wpuxss-eml-filter').attr('name','wpuxss_eml_mimes['+extension+'][filter]');
318
- mime_type_tr.find('.wpuxss-eml-upload').attr('name','wpuxss_eml_mimes['+extension+'][upload]');
319
- });
320
-
321
-
322
- // on change of a mime type during creation
323
- $(document).on('blur', '.wpuxss-eml-clone-mime .wpuxss-eml-mime', function()
324
- {
325
- var mime_type = $(this).val().toLowerCase(),
326
- mime_type_tr = $(this).closest('tr');
327
-
328
- $(this).val(mime_type);
329
- });
330
-
331
- // mime types restoration warning
332
- $(document).on('click', '#wpuxss_eml_restore_mimes_backup', function()
333
- {
334
- if ( confirm(wpuxss_eml_i18n_data.mime_deletion_confirm) )
335
- {
336
- return true;
337
- }
338
-
339
- return false;
340
- });
341
-
342
- // on mime types form submit
343
- $('#wpuxss-eml-form-mimetypes').submit(function( event )
344
- {
345
- submit_it = true;
346
- alert_text = '';
347
-
348
- $('.wpuxss-eml-clone-mime').each(function( index )
349
- {
350
- if ( !$('.wpuxss-eml-type',this).val() || $('.wpuxss-eml-type',this).val() == '' || !$('.wpuxss-eml-mime',this).val() || $('.wpuxss-eml-mime',this).val() == '' )
351
- {
352
- submit_it = false;
353
- alert_text = wpuxss_eml_i18n_data.mime_error_empty_fields;
354
- }
355
- else if ( $('[id="'+$('.wpuxss-eml-type',this).val()+'"]').length > 0 || $('.wpuxss-eml-mime[value="'+$('.wpuxss-eml-mime',this).val()+'"]').length > 0 )
356
- {
357
- submit_it = false;
358
- alert_text = wpuxss_eml_i18n_data.mime_error_duplicate;
359
- }
360
-
361
- if ( !$('.wpuxss-eml-singular',this).val() || $('.wpuxss-eml-singular',this).val() == '' || !$('.wpuxss-eml-plural',this).val() || $('.wpuxss-eml-plural',this).val() == '' )
362
- {
363
- $('.wpuxss-eml-singular',this).val($('.wpuxss-eml-mime',this).val());
364
- $('.wpuxss-eml-plural',this).val($('.wpuxss-eml-mime',this).val());
365
- }
366
- });
367
-
368
- if ( !submit_it && alert_text != '' ) alert(alert_text);
369
-
370
- return submit_it;
371
  });
372
 
373
  })( jQuery );
1
  ( function( $ ) {
2
 
3
+ var l10n = wpuxss_eml_options_l10n_data;
4
 
5
 
6
 
7
+ $( document ).on('click', '#eml-settings-cleanup', function( event ) {
 
8
 
9
+ event.preventDefault();
10
 
11
+ emlConfirmDialog( l10n.cleanup_warning_title, l10n.cleanup_warning_p1+l10n.cleanup_warning_p2, l10n.cleanup_warning_yes, l10n.cleanup_warning_no, 'button button-primary eml-warning-button' )
12
+ .done( function() {
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
+ emlFullscreenSpinnerStart( l10n.in_progress_cleanup_text );
 
 
 
 
 
 
15
 
16
+ $('#eml-form-cleanup').submit();
 
17
 
18
+ })
19
+ .fail(function() {
20
+ return false;
 
 
 
 
 
21
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  });
23
 
24
  })( jQuery );
js/eml-taxonomies-options.js ADDED
@@ -0,0 +1,329 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $ ) {
2
+
3
+ var orderValue,
4
+ l10n = wpuxss_eml_taxonomies_options_l10n_data;
5
+
6
+
7
+
8
+ // remove taxonomy
9
+ $( document ).on( 'click', 'li .wpuxss-eml-button-remove', function() {
10
+
11
+ target = $(this).parent();
12
+
13
+ if ( target.hasClass( 'wpuxss-eml-clone-taxonomy' ) )
14
+ {
15
+ target.hide( 300, function() {
16
+ $(this).remove();
17
+ });
18
+ }
19
+ else
20
+ {
21
+ if ( confirm( l10n.tax_deletion_confirm ) )
22
+ {
23
+ target.hide( 300, function() {
24
+ $(this).remove();
25
+ });
26
+ }
27
+ }
28
+
29
+ return false;
30
+ });
31
+
32
+
33
+
34
+ // create new taxonomy
35
+ $(document).on( 'click', '.wpuxss-eml-button-create-taxonomy', function()
36
+ {
37
+ $('.wpuxss-eml-media-taxonomy-list').find('.wpuxss-eml-clone').clone().attr('class','wpuxss-eml-clone-taxonomy').appendTo('.wpuxss-eml-media-taxonomy-list').show(300);
38
+
39
+ return false;
40
+ });
41
+
42
+
43
+
44
+ // edit taxonomy parameters
45
+ $(document).on( 'click', '.wpuxss-eml-button-edit', function() {
46
+
47
+ $(this).parent().find('.wpuxss-eml-taxonomy-edit').toggle(300);
48
+
49
+ $(this).html(function(i, html)
50
+ {
51
+ return html == l10n.edit+' \u2193' ? l10n.close+' \u2191' : l10n.edit+' \u2193';
52
+ });
53
+
54
+ return false;
55
+ });
56
+
57
+
58
+
59
+ // on change of a singular taxonomy name during creation
60
+ $(document).on( 'blur', '.wpuxss-eml-clone-taxonomy .wpuxss-eml-singular_name', function()
61
+ {
62
+ var dictionary,
63
+ taxonomy_name = $(this).val().toLowerCase(),
64
+ taxonomy_edit_box = $(this).parents('.wpuxss-eml-taxonomy-edit');
65
+
66
+ taxonomy_name = taxonomy_name.replace(/(<([^>]+)>)/g,'');
67
+
68
+ if ( taxonomy_name != '' )
69
+ {
70
+ // thanks to
71
+ // https://github.com/borodean/jquery-translit
72
+ // https://gist.github.com/richardsweeney/5317392
73
+ // http://www.advancedcustomfields.com/
74
+ // for the 'dictionary' code!
75
+ dictionary = {
76
+ 'а': 'a',
77
+ 'б': 'b',
78
+ 'в': 'v',
79
+ 'г': 'g',
80
+ 'д': 'd',
81
+ 'е': 'e',
82
+ 'ё': 'e',
83
+ 'ж': 'zh',
84
+ 'з': 'z',
85
+ 'и': 'i',
86
+ 'й': 'i',
87
+ 'к': 'k',
88
+ 'л': 'l',
89
+ 'м': 'm',
90
+ 'н': 'n',
91
+ 'о': 'o',
92
+ 'п': 'p',
93
+ 'р': 'r',
94
+ 'с': 's',
95
+ 'т': 't',
96
+ 'у': 'u',
97
+ 'ф': 'f',
98
+ 'х': 'kh',
99
+ 'ц': 'tc',
100
+ 'ч': 'ch',
101
+ 'ш': 'sh',
102
+ 'щ': 'shch',
103
+ 'ъ': '',
104
+ 'ы': 'y',
105
+ 'ь': '',
106
+ 'э': 'e',
107
+ 'ю': 'iu',
108
+ 'я': 'ia',
109
+ 'ä': 'a',
110
+ 'æ': 'a',
111
+ 'å': 'a',
112
+ 'ö': 'o',
113
+ 'ø': 'o',
114
+ 'é': 'e',
115
+ 'ë': 'e',
116
+ 'ü': 'u',
117
+ 'ó': 'o',
118
+ 'ő': 'o',
119
+ 'ú': 'u',
120
+ 'é': 'e',
121
+ 'á': 'a',
122
+ 'ű': 'u',
123
+ 'í': 'i',
124
+ ' ' : '_',
125
+ '-' : '_',
126
+ '\'' : '',
127
+ '&' : '_'
128
+ };
129
+
130
+ $.each( dictionary, function(k, v)
131
+ {
132
+ var regex = new RegExp( k, 'g' );
133
+ taxonomy_name = taxonomy_name.replace( regex, v );
134
+ });
135
+
136
+ taxonomy_name = taxonomy_name.replace(/[^a-z0-9_\s]/g, '');
137
+
138
+ $(this).closest('.wpuxss-eml-clone-taxonomy').attr('id',taxonomy_name);
139
+
140
+ if ( $('.wpuxss-eml-clone-taxonomy[id='+taxonomy_name+'], .wpuxss-eml-taxonomy[id='+taxonomy_name+'], .wpuxss-non-eml-taxonomy[id='+taxonomy_name+']').length > 1 )
141
+ {
142
+ alert(l10n.tax_error_duplicate);
143
+ }
144
+
145
+ $(this).attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][singular_name]');
146
+ taxonomy_edit_box.find('.wpuxss-eml-name').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][name]');
147
+ taxonomy_edit_box.find('.wpuxss-eml-menu_name').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][menu_name]');
148
+ taxonomy_edit_box.find('.wpuxss-eml-all_items').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][all_items]');
149
+ taxonomy_edit_box.find('.wpuxss-eml-edit_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][edit_item]');
150
+ taxonomy_edit_box.find('.wpuxss-eml-view_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][view_item]');
151
+ taxonomy_edit_box.find('.wpuxss-eml-update_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][update_item]');
152
+ taxonomy_edit_box.find('.wpuxss-eml-add_new_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][add_new_item]');
153
+ taxonomy_edit_box.find('.wpuxss-eml-new_item_name').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][new_item_name]');
154
+ taxonomy_edit_box.find('.wpuxss-eml-parent_item').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][parent_item]');
155
+ taxonomy_edit_box.find('.wpuxss-eml-search_items').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][labels][search_items]');
156
+
157
+ if( taxonomy_edit_box.find('.wpuxss-eml-edit_item').val() == '' )
158
+ taxonomy_edit_box.find('.wpuxss-eml-edit_item').val(l10n.edit+' '+$(this).val());
159
+
160
+ if( taxonomy_edit_box.find('.wpuxss-eml-view_item').val() == '' )
161
+ taxonomy_edit_box.find('.wpuxss-eml-view_item').val(l10n.view+' '+$(this).val());
162
+
163
+ if( taxonomy_edit_box.find('.wpuxss-eml-update_item').val() == '' )
164
+ taxonomy_edit_box.find('.wpuxss-eml-update_item').val(l10n.update+' '+$(this).val());
165
+
166
+ if( taxonomy_edit_box.find('.wpuxss-eml-add_new_item').val() == '' )
167
+ taxonomy_edit_box.find('.wpuxss-eml-add_new_item').val(l10n.add_new+' '+$(this).val());
168
+
169
+ if( taxonomy_edit_box.find('.wpuxss-eml-new_item_name').val() == '' )
170
+ taxonomy_edit_box.find('.wpuxss-eml-new_item_name').val(l10n.new+' '+$(this).val()+' '+l10n.name);
171
+
172
+ if( taxonomy_edit_box.find('.wpuxss-eml-parent_item').val() == '' )
173
+ taxonomy_edit_box.find('.wpuxss-eml-parent_item').val(l10n.parent+' '+$(this).val());
174
+
175
+ taxonomy_edit_box.find('.wpuxss-eml-taxonomy-name').val(taxonomy_name);
176
+
177
+ taxonomy_edit_box.find('.wpuxss-eml-hierarchical').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][hierarchical]');
178
+ taxonomy_edit_box.find('.wpuxss-eml-public').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][public]');
179
+ taxonomy_edit_box.find('.wpuxss-eml-show_admin_column').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][show_admin_column]');
180
+ taxonomy_edit_box.find('.wpuxss-eml-show_in_nav_menus').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][show_in_nav_menus]');
181
+ taxonomy_edit_box.find('.wpuxss-eml-sort').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][sort]');
182
+ taxonomy_edit_box.find('.wpuxss-eml-slug').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][rewrite][slug]').val(taxonomy_name);
183
+
184
+ taxonomy_edit_box.find('.wpuxss-eml-admin_filter').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][admin_filter]');
185
+ taxonomy_edit_box.find('.wpuxss-eml-media_uploader_filter').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][media_uploader_filter]');
186
+ taxonomy_edit_box.find('.wpuxss-eml-media_popup_taxonomy_edit').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][media_popup_taxonomy_edit]');
187
+
188
+ $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-assigned').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][assigned]');
189
+ $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-eml_media').attr('name','wpuxss_eml_taxonomies['+taxonomy_name+'][eml_media]');
190
+ }
191
+ else
192
+ {
193
+ $(this).val('');
194
+ taxonomy_edit_box.find('.wpuxss-eml-edit_item').val('');
195
+ taxonomy_edit_box.find('.wpuxss-eml-view_item').val('');
196
+ taxonomy_edit_box.find('.wpuxss-eml-update_item').val('');
197
+ taxonomy_edit_box.find('.wpuxss-eml-add_new_item').val('');
198
+ taxonomy_edit_box.find('.wpuxss-eml-new_item_name').val('');
199
+ taxonomy_edit_box.find('.wpuxss-eml-parent_item').val('');
200
+ taxonomy_edit_box.find('.wpuxss-eml-slug').val('');
201
+ }
202
+ });
203
+
204
+
205
+
206
+ // on change of a plural taxonomy name during creation
207
+ $(document).on( 'blur', '.wpuxss-eml-clone-taxonomy .wpuxss-eml-name', function()
208
+ {
209
+ var taxonomy_plural_name = $(this).val();
210
+ taxonomy_edit_box = $(this).parents('.wpuxss-eml-taxonomy-edit');
211
+
212
+ taxonomy_plural_name = taxonomy_plural_name.replace(/(<([^>]+)>)/g,'');
213
+
214
+ if ( taxonomy_plural_name != '' )
215
+ {
216
+ if( taxonomy_edit_box.find('.wpuxss-eml-menu_name').val() == '' )
217
+ taxonomy_edit_box.find('.wpuxss-eml-menu_name').val($(this).val());
218
+
219
+ if( taxonomy_edit_box.find('.wpuxss-eml-all_items').val() == '' )
220
+ taxonomy_edit_box.find('.wpuxss-eml-all_items').val(l10n.all+' '+$(this).val());
221
+
222
+ if( taxonomy_edit_box.find('.wpuxss-eml-search_items').val() == '' )
223
+ taxonomy_edit_box.find('.wpuxss-eml-search_items').val(l10n.search+' '+$(this).val());
224
+
225
+ $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-taxonomy-label').text($(this).val());
226
+ }
227
+ else
228
+ {
229
+ $(this).val('');
230
+ taxonomy_edit_box.find('.wpuxss-eml-menu_name').val('');
231
+ taxonomy_edit_box.find('.wpuxss-eml-all_items').val('');
232
+ taxonomy_edit_box.find('.wpuxss-eml-search_items').val('');
233
+ $(this).closest('.wpuxss-eml-clone-taxonomy').find('.wpuxss-eml-taxonomy-label').text(l10n.tax_new);
234
+ }
235
+ });
236
+
237
+
238
+
239
+ // on taxonomy form submit
240
+ $('#wpuxss-eml-form-taxonomies').submit(function( event )
241
+ {
242
+ submit_it = true;
243
+ alert_text = '';
244
+
245
+ $('.wpuxss-eml-clone-taxonomy, .wpuxss-eml-taxonomy').each(function( index )
246
+ {
247
+ current_taxonomy = $(this).attr('id');
248
+
249
+ if ( !$('.wpuxss-eml-singular_name',this).val() && !$('.wpuxss-eml-name',this).val() )
250
+ {
251
+ submit_it = false;
252
+ alert_text = l10n.tax_error_empty_both;
253
+ }
254
+ else if ( !$('.wpuxss-eml-singular_name',this).val() )
255
+ {
256
+ submit_it = false;
257
+ alert_text = l10n.tax_error_empty_singular;
258
+ }
259
+ else if ( !$('.wpuxss-eml-name',this).val() )
260
+ {
261
+ submit_it = false;
262
+ alert_text = l10n.tax_error_empty_plural;
263
+ }
264
+ else if ( $('.wpuxss-eml-clone-taxonomy[id='+current_taxonomy+'], .wpuxss-eml-taxonomy[id='+current_taxonomy+'], .wpuxss-non-eml-taxonomy[id='+current_taxonomy+']').length > 1 )
265
+ {
266
+ submit_it = false;
267
+ alert_text = l10n.tax_error_duplicate;
268
+ }
269
+ });
270
+
271
+ if ( !submit_it ) alert(alert_text);
272
+
273
+ return submit_it;
274
+ });
275
+
276
+
277
+
278
+ $( document ).ready( function() {
279
+
280
+ orderValue = $('#wpuxss_eml_tax_options_media_order').val();
281
+ $('#wpuxss_eml_tax_options_media_orderby').change();
282
+ });
283
+
284
+
285
+
286
+ $( document ).on( 'change', '#wpuxss_eml_tax_options_media_orderby', function( event ) {
287
+
288
+ var isMenuOrder = 'menuOrder' === $( event.target ).val(),
289
+ value;
290
+
291
+ orderValue = isMenuOrder ? $('#wpuxss_eml_tax_options_media_order').val() : orderValue;
292
+ value = isMenuOrder ? 'ASC' : orderValue;
293
+
294
+ $('#wpuxss_eml_tax_options_media_order').prop( 'disabled', isMenuOrder ).val( value );
295
+ });
296
+
297
+
298
+
299
+ // synchronize parent terms to media items (PRO)
300
+ $( document ).on( 'click', '.eml-button-synchronize-terms', function( event ) {
301
+
302
+ var $el, post_type, taxonomy;
303
+
304
+
305
+ emlConfirmDialog( l10n.sync_warning_title, l10n.sync_warning_text, l10n.sync_warning_yes, l10n.sync_warning_no, 'button button-primary' )
306
+ .done( function() {
307
+
308
+ $el = $( event.target );
309
+
310
+ post_type = $el.attr( 'data-post-type' );
311
+ taxonomy = $el.attr( 'data-taxonomy' );
312
+
313
+ emlFullscreenSpinnerStart( l10n.in_progress_sync_text );
314
+
315
+ $.post( ajaxurl, {
316
+ nonce: l10n.bulk_edit_nonce,
317
+ action: 'eml-synchronize-terms',
318
+ post_type: post_type,
319
+ taxonomy: taxonomy
320
+ },function( response ) {
321
+ emlFullscreenSpinnerStop();
322
+ });
323
+ })
324
+ .fail(function() {
325
+ return;
326
+ });
327
+ });
328
+
329
+ })( jQuery );
languages/eml-es_ES.mo ADDED
Binary file
languages/eml-es_ES.po ADDED
@@ -0,0 +1,1210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2015 Enhanced Media Library PRO
2
+ # This file is distributed under the same license as the Enhanced Media Library PRO package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Enhanced Media Library PRO\n"
6
+ "POT-Creation-Date: 2016-02-13 11:02+0100\n"
7
+ "Language-Team: \n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Generator: Poedit 1.8.6\n"
12
+ "X-Poedit-Basepath: ..\n"
13
+ "X-Poedit-SourceCharset: UTF-8\n"
14
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
15
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
16
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
17
+ "PO-Revision-Date: \n"
18
+ "Last-Translator: \n"
19
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
+ "Language: es_ES\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+
24
+ #: core/class-eml-media-list-table.php:52
25
+ #, php-format
26
+ msgctxt "uploaded files"
27
+ msgid "All (%s)"
28
+ msgid_plural "All (%s)"
29
+ msgstr[0] "Todo (%s)"
30
+ msgstr[1] "Todos %s"
31
+
32
+ #: core/class-eml-media-list-table.php:63
33
+ #, php-format
34
+ msgctxt "detached files"
35
+ msgid "Unattached (%s)"
36
+ msgid_plural "Unattached (%s)"
37
+ msgstr[0] "No Disponible (%s)"
38
+ msgstr[1] "No Disponibles (%s)"
39
+
40
+ #: core/class-eml-media-list-table.php:65 enhanced-media-library.php:453
41
+ msgid "All Uncategorized"
42
+ msgstr "Todo Sin Categoria"
43
+
44
+ #: core/class-eml-media-list-table.php:68
45
+ #, php-format
46
+ msgctxt "uploaded files"
47
+ msgid "Trash (%s)"
48
+ msgid_plural "Trash (%s)"
49
+ msgstr[0] "Papelera (%s)"
50
+ msgstr[1] "Papeleras (%s)"
51
+
52
+ #: core/class-eml-media-list-table.php:88
53
+ msgid "Filter"
54
+ msgstr "Filtro"
55
+
56
+ #: core/class-eml-media-list-table.php:90 enhanced-media-library.php:457
57
+ msgid "Reset All Filters"
58
+ msgstr "Restablecer filtros"
59
+
60
+ #: core/class-eml-media-list-table.php:94
61
+ msgid "Empty Trash"
62
+ msgstr "Vaciar Papelera"
63
+
64
+ #: core/eml-upload-4.1.php:21 core/eml-upload-4.4.php:20
65
+ msgid "You do not have permission to upload files."
66
+ msgstr "No tienes autorización para subir archivos."
67
+
68
+ #: core/eml-upload-4.1.php:41 core/eml-upload-4.1.php:215
69
+ #: core/eml-upload-4.4.php:55 core/eml-upload-4.4.php:197
70
+ msgid "Overview"
71
+ msgstr "Presentación"
72
+
73
+ #: core/eml-upload-4.1.php:43 core/eml-upload-4.4.php:57
74
+ msgid ""
75
+ "All the files you&#8217;ve uploaded are listed in the Media Library, with "
76
+ "the most recent uploads listed first."
77
+ msgstr ""
78
+ "Todos los archivos que has subido se enumeran en la biblioteca de medios, "
79
+ "con los más recientes archivos mencionados en primer lugar."
80
+
81
+ #: core/eml-upload-4.1.php:44 core/eml-upload-4.1.php:219
82
+ #: core/eml-upload-4.4.php:58 core/eml-upload-4.4.php:201
83
+ msgid ""
84
+ "You can view your media in a simple visual grid or a list with columns. "
85
+ "Switch between these views using the icons to the left above the media."
86
+ msgstr ""
87
+ "Puede ver sus medios de comunicación en una rejilla visual simple o una "
88
+ "lista con las columnas. Cambiar entre estas vistas utilizando los iconos "
89
+ "situados a la izquierda por encima de la media."
90
+
91
+ #: core/eml-upload-4.1.php:45 core/eml-upload-4.4.php:59
92
+ msgid ""
93
+ "To delete media items, click the Bulk Select button at the top of the "
94
+ "screen. Select any items you wish to delete, then click the Delete Selected "
95
+ "button. Clicking the Cancel Selection button takes you back to viewing your "
96
+ "media."
97
+ msgstr ""
98
+ "Para eliminar elementos multimedia, haga clic en el botón de selección a "
99
+ "granel en la parte superior de la pantalla. Seleccione los elementos que "
100
+ "desea eliminar y, a continuación, haga clic en el botón Eliminar el artículo "
101
+ "seleccionado. Al hacer clic en el botón Cancelar Selección le lleva de "
102
+ "vuelta a la visualización de sus medios de comunicación."
103
+
104
+ #: core/eml-upload-4.1.php:50 core/eml-upload-4.4.php:64
105
+ msgid "Attachment Details"
106
+ msgstr "Detalles de Adjuntos"
107
+
108
+ #: core/eml-upload-4.1.php:52 core/eml-upload-4.4.php:66
109
+ msgid ""
110
+ "Clicking an item will display an Attachment Details dialog, which allows you "
111
+ "to preview media and make quick edits. Any changes you make to the "
112
+ "attachment details will be automatically saved."
113
+ msgstr ""
114
+ "Al hacer clic en un elemento mostrará un archivo adjunto Detalles de "
115
+ "diálogo, que le permite una vista previa de los medios de comunicación y "
116
+ "realizar ediciones rápidas. Cualquier cambio que realice en los detalles de "
117
+ "fijación se guardarán automáticamente."
118
+
119
+ #: core/eml-upload-4.1.php:53 core/eml-upload-4.4.php:67
120
+ msgid ""
121
+ "Use the arrow buttons at the top of the dialog, or the left and right arrow "
122
+ "keys on your keyboard, to navigate between media items quickly."
123
+ msgstr ""
124
+ "Utilice los botones de flecha en la parte superior del cuadro de diálogo, o "
125
+ "las teclas de flecha izquierda y derecha de tu teclado, para navegar entre "
126
+ "los elementos multimedia de forma rápida."
127
+
128
+ #: core/eml-upload-4.1.php:54 core/eml-upload-4.4.php:68
129
+ msgid ""
130
+ "You can also delete individual items and access the extended edit screen "
131
+ "from the details dialog."
132
+ msgstr ""
133
+ "También puede eliminar elementos individuales y acceder a la pantalla de "
134
+ "edición se extendía desde el diálogo de detalles."
135
+
136
+ #: core/eml-upload-4.1.php:58 core/eml-upload-4.1.php:235
137
+ #: core/eml-upload-4.4.php:72 core/eml-upload-4.4.php:217
138
+ msgid "For more information:"
139
+ msgstr "Para más información:"
140
+
141
+ #: core/eml-upload-4.1.php:59 core/eml-upload-4.1.php:236
142
+ msgid ""
143
+ "<a href=\"http://codex.wordpress.org/Media_Library_Screen\" target=\"_blank"
144
+ "\">Documentation on Media Library</a>"
145
+ msgstr ""
146
+ "<a href=\"http://codex.wordpress.org/Media_Library_Screen\" target=\"_blank"
147
+ "\">Documentation on Media Library</a>"
148
+
149
+ #: core/eml-upload-4.1.php:60 core/eml-upload-4.1.php:237
150
+ #: core/eml-upload-4.4.php:74 core/eml-upload-4.4.php:219
151
+ msgid ""
152
+ "<a href=\"https://wordpress.org/support/\" target=\"_blank\">Support Forums</"
153
+ "a>"
154
+ msgstr ""
155
+ "<a href=\"https://wordpress.org/support/\" target=\"_blank\">Support Forums</"
156
+ "a>"
157
+
158
+ #: core/eml-upload-4.1.php:63 core/eml-upload-4.1.php:206
159
+ #: core/eml-upload-4.4.php:77 core/eml-upload-4.4.php:188
160
+ msgid "Media Library"
161
+ msgstr "Media Library"
162
+
163
+ #: core/eml-upload-4.1.php:73 core/eml-upload-4.1.php:248
164
+ #: core/eml-upload-4.4.php:87 core/eml-upload-4.4.php:238
165
+ msgctxt "file"
166
+ msgid "Add New"
167
+ msgstr "Añadir Nuevo"
168
+
169
+ #: core/eml-upload-4.1.php:78 core/eml-upload-4.4.php:92
170
+ msgid ""
171
+ "The grid view for the Media Library requires JavaScript. <a href=\"upload."
172
+ "php?mode=list\">Switch to the list view</a>."
173
+ msgstr ""
174
+ "La vista de cuadrícula para Media Library requiere JavaScript. <a href="
175
+ "\"upload.php?mode=list\">Cambiar a la vista de lista.</a>"
176
+
177
+ #: core/eml-upload-4.1.php:127
178
+ msgid "You are not allowed to edit this post."
179
+ msgstr "No tienes permiso para editar esta publicación"
180
+
181
+ #: core/eml-upload-4.1.php:164
182
+ msgid "You are not allowed to move this post to the trash."
183
+ msgstr "No tienes autorización para mover esta Publicación a la papelera."
184
+
185
+ #: core/eml-upload-4.1.php:167 core/eml-upload-4.4.php:149
186
+ msgid "Error in moving to trash."
187
+ msgstr "Error en el movimiento a la Papelera."
188
+
189
+ #: core/eml-upload-4.1.php:176
190
+ msgid "You are not allowed to move this post out of the trash."
191
+ msgstr "No tienes autorización para sacar esta Publicación de la papelera."
192
+
193
+ #: core/eml-upload-4.1.php:179 core/eml-upload-4.4.php:161
194
+ msgid "Error in restoring from trash."
195
+ msgstr "Error en la restauración de la Papelera."
196
+
197
+ #: core/eml-upload-4.1.php:188
198
+ msgid "You are not allowed to delete this post."
199
+ msgstr "Perdón, no tienes permisos para borrar esta Publicacion."
200
+
201
+ #: core/eml-upload-4.1.php:191 core/eml-upload-4.4.php:173
202
+ msgid "Error in deleting."
203
+ msgstr "Error al eliminar."
204
+
205
+ #: core/eml-upload-4.1.php:211
206
+ msgctxt "items per page (screen options)"
207
+ msgid "Media items"
208
+ msgstr "Elementos de la biblioteca de medios"
209
+
210
+ #: core/eml-upload-4.1.php:217 core/eml-upload-4.4.php:199
211
+ msgid ""
212
+ "All the files you&#8217;ve uploaded are listed in the Media Library, with "
213
+ "the most recent uploads listed first. You can use the Screen Options tab to "
214
+ "customize the display of this screen."
215
+ msgstr ""
216
+ "Todos los archivos&#8217; que has subido se enumeran en Media Library, con "
217
+ "los más recientes archivos mencionados en primer lugar. Puede usar la "
218
+ "pestaña Opciones de la pantalla para personalizar la visualización de esta "
219
+ "pantalla."
220
+
221
+ #: core/eml-upload-4.1.php:218 core/eml-upload-4.4.php:200
222
+ msgid ""
223
+ "You can narrow the list by file type/status using the text link filters at "
224
+ "the top of the screen. You also can refine the list by date using the "
225
+ "dropdown menu above the media table."
226
+ msgstr ""
227
+ "Puedes filtrar la lista por tipo de archivo / estado usando los filtros de "
228
+ "enlaces de texto en la parte superior de la pantalla. También puede refinar "
229
+ "la lista por fecha usando el menú desplegable encima de la tabla de medios."
230
+
231
+ #: core/eml-upload-4.1.php:223 core/eml-upload-4.4.php:205
232
+ msgid "Available Actions"
233
+ msgstr "Acciones Disponibles"
234
+
235
+ #: core/eml-upload-4.1.php:225 core/eml-upload-4.4.php:207
236
+ msgid ""
237
+ "Hovering over a row reveals action links: Edit, Delete Permanently, and "
238
+ "View. Clicking Edit or on the media file&#8217;s name displays a simple "
239
+ "screen to edit that individual file&#8217;s metadata. Clicking Delete "
240
+ "Permanently will delete the file from the media library (as well as from any "
241
+ "posts to which it is currently attached). View will take you to the display "
242
+ "page for that file."
243
+ msgstr ""
244
+ "Al pasar por encima de una fila revela vínculos de acción: Editar, Borrar "
245
+ "permanentemente, y Vista. Al hacer clic en Editar o en el nombre del archivo "
246
+ "de medios muestra una pantalla fácil de editar los metadatos de ese archivo "
247
+ "individual. Al hacer clic en Eliminar permanentemente borrará el archivo de "
248
+ "la biblioteca de medios (así como de cualquier puestos a los que se une en "
249
+ "la actualidad). Ver le llevará a la página de visualización para ese archivo."
250
+
251
+ #: core/eml-upload-4.1.php:229 core/eml-upload-4.4.php:211
252
+ msgid "Attaching Files"
253
+ msgstr "Adjuntar archivos"
254
+
255
+ #: core/eml-upload-4.1.php:231 core/eml-upload-4.4.php:213
256
+ msgid ""
257
+ "If a media file has not been attached to any post, you will see that in the "
258
+ "Attached To column, and can click on Attach File to launch a small popup "
259
+ "that will allow you to search for a post and attach the file."
260
+ msgstr ""
261
+ "Si no se adjunta un archivo multimedia a cualquier publicación, a ver en la "
262
+ "columna adjunta a y puede hacer clic en adjuntar archivo para poner en "
263
+ "marcha un pequeño popup que te permitirá buscar un mensaje y adjuntar el "
264
+ "archivo."
265
+
266
+ #: core/eml-upload-4.1.php:251 core/eml-upload-4.4.php:241
267
+ #, php-format
268
+ msgid "Search results for &#8220;%s&#8221;"
269
+ msgstr "Buscar resultados para &#8220;%s&#8221;"
270
+
271
+ #: core/eml-upload-4.1.php:257 core/eml-upload-4.1.php:282
272
+ #: core/eml-upload-4.4.php:247 core/eml-upload-4.4.php:292
273
+ msgid "Media attachment updated."
274
+ msgstr "Medios adjuntos actualizados."
275
+
276
+ #: core/eml-upload-4.1.php:262 core/eml-upload-4.4.php:252
277
+ #, php-format
278
+ msgid "Reattached %d attachment."
279
+ msgid_plural "Reattached %d attachments."
280
+ msgstr[0] "Unir %d archivo adjunto."
281
+ msgstr[1] "Unir %d archivos adjuntos."
282
+
283
+ #: core/eml-upload-4.1.php:267 core/eml-upload-4.4.php:263
284
+ #: core/eml-upload-4.4.php:293
285
+ #, php-format
286
+ msgid "Media attachment permanently deleted."
287
+ msgid_plural "%d media attachments permanently deleted."
288
+ msgstr[0] "Medio eliminado permanentemente."
289
+ msgstr[1] "%d Medios eliminados permanentemente."
290
+
291
+ #: core/eml-upload-4.1.php:272 core/eml-upload-4.4.php:273
292
+ #: core/eml-upload-4.4.php:295
293
+ #, php-format
294
+ msgid "Media attachment moved to the trash."
295
+ msgid_plural "%d media attachments moved to the trash."
296
+ msgstr[0] "Medio trasladado a la papelera."
297
+ msgstr[1] "%d medios trasladados a la papelera."
298
+
299
+ #: core/eml-upload-4.1.php:273 core/eml-upload-4.1.php:285
300
+ #: core/eml-upload-4.4.php:278 core/eml-upload-4.4.php:295
301
+ msgid "Undo"
302
+ msgstr "Deshacer"
303
+
304
+ #: core/eml-upload-4.1.php:278 core/eml-upload-4.4.php:284
305
+ #: core/eml-upload-4.4.php:296
306
+ #, php-format
307
+ msgid "Media attachment restored from the trash."
308
+ msgid_plural "%d media attachments restored from the trash."
309
+ msgstr[0] "Medio restaurado desde la papelera."
310
+ msgstr[1] "%d medios restaurados desde la papelera."
311
+
312
+ #: core/eml-upload-4.1.php:283
313
+ msgid "Media permanently deleted."
314
+ msgstr "Medios eliminados permanentemente."
315
+
316
+ #: core/eml-upload-4.1.php:284 core/eml-upload-4.4.php:294
317
+ msgid "Error saving media attachment."
318
+ msgstr "Medios adjuntos actualizados."
319
+
320
+ #: core/eml-upload-4.1.php:285
321
+ msgid "Media moved to the trash."
322
+ msgstr "Medios movidos a la papelera."
323
+
324
+ #: core/eml-upload-4.1.php:286
325
+ msgid "Media restored from the trash."
326
+ msgstr "Medios restaurados de la papelera."
327
+
328
+ #: core/eml-upload-4.4.php:73 core/eml-upload-4.4.php:218
329
+ msgid ""
330
+ "<a href=\"https://codex.wordpress.org/Media_Library_Screen\" target=\"_blank"
331
+ "\">Documentation on Media Library</a>"
332
+ msgstr ""
333
+ "<a href=\"https://codex.wordpress.org/Media_Library_Screen\" target=\"_blank"
334
+ "\">Documentación de Media Library</a>"
335
+
336
+ #: core/eml-upload-4.4.php:146
337
+ msgid "You are not allowed to move this item to the Trash."
338
+ msgstr "No se te permite mover este elemento a la papelera."
339
+
340
+ #: core/eml-upload-4.4.php:158
341
+ msgid "You are not allowed to move this item out of the Trash."
342
+ msgstr "No se te permite para sacar este elemento de la papelera."
343
+
344
+ #: core/eml-upload-4.4.php:170
345
+ msgid "You are not allowed to delete this item."
346
+ msgstr "No se te permite eliminar este elemento."
347
+
348
+ #: core/eml-upload-4.4.php:224
349
+ msgid "Filter media items list"
350
+ msgstr "Filtrar la lista de elementos de medios."
351
+
352
+ #: core/eml-upload-4.4.php:225
353
+ msgid "Media items list navigation"
354
+ msgstr "Lista de navegación de elementos de medios"
355
+
356
+ #: core/eml-upload-4.4.php:226
357
+ msgid "Media items list"
358
+ msgstr "Lista de elementos de medios"
359
+
360
+ #: core/eml-upload-4.4.php:257
361
+ #, php-format
362
+ msgid "Detached %d attachment."
363
+ msgid_plural "Detached %d attachments."
364
+ msgstr[0] "Archivo adjunto %d individual."
365
+ msgstr[1] "Archivos adjuntos %d individuales."
366
+
367
+ #: core/eml-upload-4.4.php:265
368
+ #, php-format
369
+ msgid "%d media attachment permanently deleted."
370
+ msgid_plural "%d media attachments permanently deleted."
371
+ msgstr[0] "%d adjunto multimedia se eliminará de forma permanente."
372
+ msgstr[1] "%d adjuntos multimedia se eliminarán de forma permanente."
373
+
374
+ #: core/eml-upload-4.4.php:275
375
+ #, php-format
376
+ msgid "%d media attachment moved to the trash."
377
+ msgid_plural "%d media attachments moved to the trash."
378
+ msgstr[0] "%d medio trasladado a la papelera. "
379
+ msgstr[1] "%d medios trasladados a la papelera. "
380
+
381
+ #: core/eml-upload-4.4.php:286
382
+ #, php-format
383
+ msgid "%d media attachment restored from the trash."
384
+ msgid_plural "%d media attachments restored from the trash."
385
+ msgstr[0] "%d medio restaurado desde la papelera."
386
+ msgstr[1] "%d medios restaurados desde la papelera."
387
+
388
+ #: core/mime-types.php:27
389
+ msgid "MIME type settings restored."
390
+ msgstr "Configuración de tipo MIME restaurado."
391
+
392
+ #: core/mime-types.php:36
393
+ msgid "MIME type settings saved."
394
+ msgstr "Configuración de tipo MIME guardada."
395
+
396
+ #: core/mime-types.php:112
397
+ #, php-format
398
+ msgid " <span class=\"count\">(%s)</span>"
399
+ msgid_plural " <span class=\"count\">(%s)</span>"
400
+ msgstr[0] " <span class=\"count\">(%s)</span>"
401
+ msgstr[1] " <span class=\"count\">(%s)</span>"
402
+
403
+ #: core/options-pages.php:69 core/options-pages.php:70
404
+ msgid "Enhanced Media Library"
405
+ msgstr "Media Library Mejorada"
406
+
407
+ #: core/options-pages.php:79 core/options-pages.php:80
408
+ #: core/options-pages.php:89
409
+ msgid "Media Settings"
410
+ msgstr "Configuración de Medios"
411
+
412
+ #: core/options-pages.php:90 core/options-pages.php:561
413
+ #: core/options-pages.php:584 core/options-pages.php:630
414
+ #: core/options-pages.php:696 core/options-pages.php:1058
415
+ msgid "Settings"
416
+ msgstr "Configuración"
417
+
418
+ #: core/options-pages.php:97 core/options-pages.php:98
419
+ #: core/options-pages.php:494
420
+ msgid "Taxonomies"
421
+ msgstr "Taxonomías"
422
+
423
+ #: core/options-pages.php:106 core/options-pages.php:107
424
+ #: core/options-pages.php:886
425
+ msgid "MIME Types"
426
+ msgstr "Tipos MIME"
427
+
428
+ #: core/options-pages.php:143 core/options-pages.php:535
429
+ #: core/options-pages.php:550 core/options-pages.php:619
430
+ #: core/options-pages.php:693
431
+ msgid "Edit"
432
+ msgstr "Editar"
433
+
434
+ #: core/options-pages.php:144 pro/enhanced-media-library-pro.php:180
435
+ msgid "Close"
436
+ msgstr "Cerrar"
437
+
438
+ #: core/options-pages.php:145 core/options-pages.php:551
439
+ #: core/options-pages.php:620
440
+ msgid "View"
441
+ msgstr "Ver"
442
+
443
+ #: core/options-pages.php:146 core/options-pages.php:552
444
+ #: core/options-pages.php:621
445
+ msgid "Update"
446
+ msgstr "Actualización"
447
+
448
+ #: core/options-pages.php:147 core/options-pages.php:553
449
+ #: core/options-pages.php:622
450
+ msgid "Add New"
451
+ msgstr "Añadir Nuevo"
452
+
453
+ #: core/options-pages.php:148 core/options-pages.php:554
454
+ #: core/options-pages.php:623
455
+ msgid "New"
456
+ msgstr "Nuevo"
457
+
458
+ #: core/options-pages.php:149
459
+ msgid "Name"
460
+ msgstr "Nombre"
461
+
462
+ #: core/options-pages.php:150 core/options-pages.php:555
463
+ #: core/options-pages.php:624
464
+ msgid "Parent"
465
+ msgstr "Padre"
466
+
467
+ #: core/options-pages.php:151 core/options-pages.php:549
468
+ #: core/options-pages.php:618
469
+ msgid "All"
470
+ msgstr "Todo"
471
+
472
+ #: core/options-pages.php:152 core/options-pages.php:556
473
+ #: core/options-pages.php:625
474
+ msgid "Search"
475
+ msgstr "Buscar"
476
+
477
+ #: core/options-pages.php:154
478
+ msgid ""
479
+ "Taxonomy will be deleted permanently! Your media files will remain intacted, "
480
+ "but all the connections with this taxonomy and its terms will be lost."
481
+ msgstr ""
482
+ "Taxonomía se eliminará permanentemente! Sus archivos de medios permanecerán "
483
+ "intactos, pero se pierden todas las conexiones con esta taxonomía y sus "
484
+ "términos."
485
+
486
+ #: core/options-pages.php:155
487
+ msgid "There is already a taxonomy with the same name. Please chose other one."
488
+ msgstr "Ya existe una taxonomía con el mismo nombre. Por favor elija otro."
489
+
490
+ #: core/options-pages.php:156 core/options-pages.php:606
491
+ msgid "New Taxonomy"
492
+ msgstr "Nueva Taxonomía"
493
+
494
+ #: core/options-pages.php:157
495
+ msgid "Please choose Singular and Plural names for all your new taxomonies."
496
+ msgstr ""
497
+ "Por favor seleccione los nombres en singular y plural para todos sus nuevas "
498
+ "taxonomías."
499
+
500
+ #: core/options-pages.php:158
501
+ msgid "Please choose Singilar name for all your new taxomonies."
502
+ msgstr "Por favor, elija el nombre Singular para todas sus nuevas taxonomías."
503
+
504
+ #: core/options-pages.php:159
505
+ msgid "Please choose Plural Name for all your new taxomonies."
506
+ msgstr "Por favor, elija el Nombre Plural para todas sus nuevas taxonomías."
507
+
508
+ #: core/options-pages.php:161
509
+ msgid "Warning! All your custom MIME Types will be deleted by this operation."
510
+ msgstr ""
511
+ "¡Advertencia! Todos los tipos MIME personalizados serán eliminados por esta "
512
+ "operación."
513
+
514
+ #: core/options-pages.php:162
515
+ msgid "Please fill into all fields."
516
+ msgstr "Por favor, rellene todos los campos."
517
+
518
+ #: core/options-pages.php:163
519
+ msgid "Duplicate extensions or MIME types. Please chose other one."
520
+ msgstr "Duplicar extensiones o tipos MIME. Por favor elija otra."
521
+
522
+ #: core/options-pages.php:189 core/options-pages.php:486
523
+ #: core/options-pages.php:878
524
+ msgid "You do not have sufficient permissions to access this page."
525
+ msgstr "No tiene permisos suficientes para acceder a esta página."
526
+
527
+ #: core/options-pages.php:194
528
+ msgid "Enhanced Media Library Settings"
529
+ msgstr "Configuración Media Library Mejorada"
530
+
531
+ #: core/options-pages.php:205
532
+ msgid "Export"
533
+ msgstr "Exportar"
534
+
535
+ #: core/options-pages.php:209
536
+ msgid ""
537
+ "The plugin settings <strong>Media Settings > Taxonomies</strong> and "
538
+ "<strong>Media Settings > MIME Types</strong> will be exported to a "
539
+ "configuration file. It allows you to easily import the configuration into "
540
+ "another website."
541
+ msgstr ""
542
+ "La configuración del plugin <strong>Ajustes de Medios> Taxonomías</strong> y "
543
+ "<strong>Configuración de Contenido> Tipos MIME</strong> se pueden exportar a "
544
+ "un archivo de configuración. Le permite importar fácilmente la configuración "
545
+ "en otro sitio web."
546
+
547
+ #: core/options-pages.php:214
548
+ msgid "Export Plugin Settings"
549
+ msgstr "Exportar la Configuración de Plugin"
550
+
551
+ #: core/options-pages.php:224
552
+ msgid "Import"
553
+ msgstr "Importar"
554
+
555
+ #: core/options-pages.php:228
556
+ msgid ""
557
+ "The plugin settings <strong>Media Settings > Taxonomies</strong> and "
558
+ "<strong>Media Settings > MIME Types</strong> will be imported from a "
559
+ "configuration file which can be obtained by exporting the settings on "
560
+ "another website using the export button above."
561
+ msgstr ""
562
+ "La configuración del plugin <strong>Ajustes medios> Taxonomías</strong> y "
563
+ "<strong>Ajustes de este contenido> Tipos MIME</strong> serán importados de "
564
+ "un archivo de configuración que se puede obtener mediante la exportación de "
565
+ "la configuración de otro sitio web mediante el botón de exportación arriba."
566
+
567
+ #: core/options-pages.php:229
568
+ msgid ""
569
+ "All plugin settings will be overriden by the import. You will have a chance "
570
+ "to restore current data from an automatic backup in case you are not "
571
+ "satisfied with the result of the import."
572
+ msgstr ""
573
+ "Todos los ajustes del plugin serán invalidados por la importación. Tendrá la "
574
+ "oportunidad de restaurar los datos actuales desde una copia de seguridad "
575
+ "automática en caso de que no está satisfecho con el resultado de la "
576
+ "importación."
577
+
578
+ #: core/options-pages.php:236
579
+ msgid "Import Plugin Settings"
580
+ msgstr "Importar la Configuración de Plugin"
581
+
582
+ #: core/options-pages.php:248
583
+ msgid "Restore"
584
+ msgstr "Restaurar"
585
+
586
+ #: core/options-pages.php:254
587
+ msgid "No backup available at the moment."
588
+ msgstr "Ninguna copia de seguridad disponible en este momento."
589
+
590
+ #: core/options-pages.php:256
591
+ msgid "Backup will be created automatically before any import operation."
592
+ msgstr ""
593
+ "Copia de seguridad se crea automáticamente antes de cualquier operación de "
594
+ "importación."
595
+
596
+ #: core/options-pages.php:260
597
+ msgid ""
598
+ "The backup had been automatically created before the latest import opetarion."
599
+ msgstr ""
600
+ "La copia de seguridad se ha creado de forma automática antes de la última "
601
+ "operación de importación."
602
+
603
+ #: core/options-pages.php:264
604
+ msgid "Restore Settings from the Backup"
605
+ msgstr "Restaurar la Configuración de la Copia de Seguridad"
606
+
607
+ #: core/options-pages.php:371
608
+ msgid "Please upload a file to import settings."
609
+ msgstr "Por favor, sube un archivo para importar la configuración."
610
+
611
+ #: core/options-pages.php:390
612
+ msgid "Plugin settings imported."
613
+ msgstr "Configuración del plugin importada."
614
+
615
+ #: core/options-pages.php:436
616
+ msgid "Plugin settings restored from the backup."
617
+ msgstr "Configuración del plugin restaurada desde la copia de seguridad."
618
+
619
+ #: core/options-pages.php:510
620
+ msgid "Media Taxonomies"
621
+ msgstr "Taxonomías de Medios"
622
+
623
+ #: core/options-pages.php:514 core/options-pages.php:668
624
+ msgid "Assign following taxonomies to Media Library:"
625
+ msgstr "Asignar las siguientes taxonomías a Media Library:"
626
+
627
+ #: core/options-pages.php:532 core/options-pages.php:604
628
+ #: core/options-pages.php:686
629
+ msgid "Assign Taxonomy"
630
+ msgstr "Asignar Taxonomía"
631
+
632
+ #: core/options-pages.php:535 core/options-pages.php:693
633
+ msgid "Edit Taxonomy"
634
+ msgstr "Editar Taxonomía"
635
+
636
+ #: core/options-pages.php:539 core/options-pages.php:608
637
+ msgid "Delete Taxonomy"
638
+ msgstr "Eliminar Taxonomía"
639
+
640
+ #: core/options-pages.php:544 core/options-pages.php:613
641
+ msgid "Labels"
642
+ msgstr "Etiquetas"
643
+
644
+ #: core/options-pages.php:546 core/options-pages.php:615
645
+ msgid "Singular"
646
+ msgstr "Singular"
647
+
648
+ #: core/options-pages.php:547 core/options-pages.php:616
649
+ msgid "Plural"
650
+ msgstr "Plural"
651
+
652
+ #: core/options-pages.php:548 core/options-pages.php:617
653
+ msgid "Menu Name"
654
+ msgstr "Nombre del menú"
655
+
656
+ #: core/options-pages.php:563 core/options-pages.php:632
657
+ msgid "Taxonomy Name"
658
+ msgstr "Nombre deTaxonomía"
659
+
660
+ #: core/options-pages.php:564 core/options-pages.php:633
661
+ msgid "Hierarchical"
662
+ msgstr "Jerarquizado"
663
+
664
+ #: core/options-pages.php:565 core/options-pages.php:634
665
+ msgid "Column in List View"
666
+ msgstr "Columna en Vista de Lista"
667
+
668
+ #: core/options-pages.php:566 core/options-pages.php:586
669
+ #: core/options-pages.php:635 core/options-pages.php:698
670
+ msgid "Filter in List View"
671
+ msgstr "Filtro en Vista de Lista"
672
+
673
+ #: core/options-pages.php:567 core/options-pages.php:587
674
+ #: core/options-pages.php:636 core/options-pages.php:699
675
+ msgid "Filter in Grid View / Media Popup"
676
+ msgstr "Filtro en cuadrícula / Medios Popup"
677
+
678
+ #: core/options-pages.php:568 core/options-pages.php:588
679
+ #: core/options-pages.php:637 core/options-pages.php:700
680
+ msgid "Edit in Media Popup"
681
+ msgstr "Edición en Medios Popup"
682
+
683
+ #: core/options-pages.php:569 core/options-pages.php:638
684
+ msgid "Show in Nav Menu"
685
+ msgstr "Mostrar en el Menú de Navegación"
686
+
687
+ #: core/options-pages.php:570 core/options-pages.php:639
688
+ msgid "Remember Terms Order (sort)"
689
+ msgstr "Recordar Términos Orden (clasificar)"
690
+
691
+ #: core/options-pages.php:571 core/options-pages.php:640
692
+ msgid "Show in REST"
693
+ msgstr "Mostrar en REST"
694
+
695
+ #: core/options-pages.php:572 core/options-pages.php:641
696
+ msgid "Rewrite Slug"
697
+ msgstr "Reescribir Slug"
698
+
699
+ #: core/options-pages.php:573 core/options-pages.php:642
700
+ msgid "Slug with Front"
701
+ msgstr "Slug Frontal"
702
+
703
+ #: core/options-pages.php:654
704
+ msgid "Add New Taxonomy"
705
+ msgstr "Agregar Nueva Taxonomía"
706
+
707
+ #: core/options-pages.php:664
708
+ msgid "Non-Media Taxonomies"
709
+ msgstr "Sin-Medios Taxonomías "
710
+
711
+ #: core/options-pages.php:727
712
+ msgid "Options"
713
+ msgstr "Opciones"
714
+
715
+ #: core/options-pages.php:733
716
+ msgid "General"
717
+ msgstr "General"
718
+
719
+ #: core/options-pages.php:739 core/options-pages.php:742
720
+ msgid "Taxonomy archive pages"
721
+ msgstr "Páginas de archivo taxonomía"
722
+
723
+ #: core/options-pages.php:743
724
+ msgid "Turn on media taxonomy archive pages on the front-end"
725
+ msgstr "Activar páginas de archivo de taxonomía multimedia en el front-end"
726
+
727
+ #: core/options-pages.php:744
728
+ msgid ""
729
+ "Re-save your permalink settings after this option change to make it work."
730
+ msgstr ""
731
+ "Vuelva a guardar la configuración de enlace permanente después de este "
732
+ "cambio de opción de hacer que funcione."
733
+
734
+ #: core/options-pages.php:750
735
+ msgid "Assign all like hierarchical"
736
+ msgstr "Asignar todos como jerárquica"
737
+
738
+ #: core/options-pages.php:753 core/options-pages.php:754
739
+ msgid ""
740
+ "Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup"
741
+ msgstr ""
742
+ "Mostrar taxonomías sin jerárquicas como jerárquica en cuadrícula / Medios "
743
+ "emergente"
744
+
745
+ #: core/options-pages.php:768
746
+ msgid "Filters"
747
+ msgstr "Filtros"
748
+
749
+ #: core/options-pages.php:775
750
+ msgid "Force filters"
751
+ msgstr "Restablecer filtros"
752
+
753
+ #: core/options-pages.php:777
754
+ msgid "Show media filters for ANY Media Popup"
755
+ msgstr "Mostrar filtros de medios para cualquier medio emergente"
756
+
757
+ #: core/options-pages.php:778
758
+ msgid "Try this if filters are not shown for third-party plugins or themes."
759
+ msgstr ""
760
+ "Prueba esto si los filtros no se muestran para plugins de terceros o temas."
761
+
762
+ #: core/options-pages.php:783
763
+ msgid "Order media items by"
764
+ msgstr "Ordenar por elementos de medios"
765
+
766
+ #: core/options-pages.php:790 core/options-pages.php:802
767
+ msgid "For media library and media popups"
768
+ msgstr "Para la biblioteca de medios y medios ventanas emergentes"
769
+
770
+ #: core/options-pages.php:791
771
+ msgid "Option allows to change order by drag and drop with Custom Order value."
772
+ msgstr ""
773
+ "Opción permite cambiar el orden de arrastrar y soltar con el valor de la "
774
+ "orden de encargo."
775
+
776
+ #: core/options-pages.php:796
777
+ msgid "Sort order"
778
+ msgstr "Orden de clasificación"
779
+
780
+ #: core/options-pages.php:815
781
+ msgid "Media Shortcodes"
782
+ msgstr "Medios Shortcodes"
783
+
784
+ #: core/options-pages.php:822 core/options-pages.php:825
785
+ msgid "Enhanced media shortcodes"
786
+ msgstr "Códigos cortos multimedia mejorados"
787
+
788
+ #: core/options-pages.php:826
789
+ msgid ""
790
+ "Enhance WordPress media shortcodes to make them understand media taxonomies, "
791
+ "uploade date, and media items number limit"
792
+ msgstr ""
793
+ "Mejorar códigos cortos de WordPress medios para hacerles entender las "
794
+ "taxonomías de los medios, la fecha actualizada y elementos multimedia límite "
795
+ "de número"
796
+
797
+ #: core/options-pages.php:827
798
+ msgid ""
799
+ "Gallery example: [gallery media_category=\"5\" limit=\"10\" monthnum=\"12\" "
800
+ "year=\"2015\"]"
801
+ msgstr ""
802
+ "Ejemplo de Galería: [categoría de galería de medios =\"5\" límite = \"10\" "
803
+ "numero de mes = \"12\" año = \"2015\"]"
804
+
805
+ #: core/options-pages.php:828
806
+ msgid ""
807
+ "Audio playlist example: [playlist media_category=\"5\" limit=\"10\" monthnum="
808
+ "\"12\" year=\"2015\"]"
809
+ msgstr ""
810
+ "Ejemplo de lista de reproducción de audio: [lista de reproducción categoría "
811
+ "de medios = límite de \"5\" = \"10\" numero de mes = \"12\" año = \"2015\"]"
812
+
813
+ #: core/options-pages.php:829
814
+ msgid ""
815
+ "Video playlist example: [playlist type=\"video\" media_category=\"5\" limit="
816
+ "\"10\" monthnum=\"12\" year=\"2015\"]"
817
+ msgstr ""
818
+ "vídeo de ejemplo lista de reproducción: [Tipo de lista de reproducción = "
819
+ "\"video\" categoría de medios = \"5\" límite = \"10\" numero de mes = \"12\" "
820
+ "año = \"2015\"]"
821
+
822
+ #: core/options-pages.php:831
823
+ #, php-format
824
+ msgid ""
825
+ "%sWarning:%s Incompatibility with other gallery plugins or themes possible!"
826
+ msgstr ""
827
+ "%sAtención: %s Incompatibilidad con otra galería plugins o temas posibles!"
828
+
829
+ #: core/options-pages.php:833
830
+ #, php-format
831
+ msgid "%sLearn more%s."
832
+ msgstr "%sLeer más%s"
833
+
834
+ #: core/options-pages.php:835
835
+ #, php-format
836
+ msgid ""
837
+ "Please check out your gallery front-end and back-end functionality once this "
838
+ "option activated. If you find an issue please inform plugin authors at %s or "
839
+ "%s."
840
+ msgstr ""
841
+ "Por favor revise su funcionalidad front-end y back-end de galería una vez "
842
+ "esta opción activada. Si encuentra un problema por favor informe a autores "
843
+ "de plugin %s o %s."
844
+
845
+ #: core/options-pages.php:887
846
+ msgid "Add New MIME Type"
847
+ msgstr "Añadir Nuevo Tipo MIME"
848
+
849
+ #: core/options-pages.php:905 core/options-pages.php:960
850
+ msgid "Extension"
851
+ msgstr "Extensiones"
852
+
853
+ #: core/options-pages.php:906 core/options-pages.php:961
854
+ msgid "MIME Type"
855
+ msgstr "Tipo MIME"
856
+
857
+ #: core/options-pages.php:907 core/options-pages.php:962
858
+ msgid "Singular Label"
859
+ msgstr "Etiqueta Singular"
860
+
861
+ #: core/options-pages.php:908 core/options-pages.php:963
862
+ msgid "Plural Label"
863
+ msgstr "Etiqueta Plural"
864
+
865
+ #: core/options-pages.php:909 core/options-pages.php:939
866
+ #: core/options-pages.php:952 core/options-pages.php:964
867
+ msgid "Add Filter"
868
+ msgstr "Añadir filtro"
869
+
870
+ #: core/options-pages.php:910 core/options-pages.php:940
871
+ #: core/options-pages.php:953 core/options-pages.php:965
872
+ msgid "Allow Upload"
873
+ msgstr "Permite Subir"
874
+
875
+ #: core/options-pages.php:954
876
+ msgid "Delete MIME Type"
877
+ msgstr "Eliminar Tipo MIME"
878
+
879
+ #: core/options-pages.php:971
880
+ msgid "Restore WordPress default MIME Types"
881
+ msgstr "Restaurar tipos MIME por defecto de WordPress "
882
+
883
+ #: core/options-pages.php:973 pro/enhanced-media-library-pro.php:179
884
+ msgid "Save Changes"
885
+ msgstr "Guardar Cambios"
886
+
887
+ #: core/taxonomies.php:71
888
+ msgid "Taxonomy settings saved."
889
+ msgstr "Ajustes de taxonomía guardados."
890
+
891
+ #: core/taxonomies.php:307 core/taxonomies.php:313
892
+ #: enhanced-media-library.php:454
893
+ msgid "Filter by "
894
+ msgstr "Filtrar por"
895
+
896
+ #: core/taxonomies.php:314 enhanced-media-library.php:455
897
+ msgid "All "
898
+ msgstr "Todo"
899
+
900
+ #: core/taxonomies.php:315 enhanced-media-library.php:456
901
+ msgid "Not in "
902
+ msgstr "No en"
903
+
904
+ #: enhanced-media-library.php:488
905
+ msgid "Uploaded to post #"
906
+ msgstr "Subido a post #"
907
+
908
+ #: enhanced-media-library.php:489
909
+ msgid "Based On"
910
+ msgstr "Basado en"
911
+
912
+ #: pro/core/bulk-edit.php:55 pro/core/bulk-edit.php:62
913
+ msgid "Remove"
914
+ msgstr "Eliminar"
915
+
916
+ #: pro/core/bulk-edit.php:57 pro/core/bulk-edit.php:64
917
+ msgid "Deselect"
918
+ msgstr "Deseleccionar"
919
+
920
+ #: pro/core/bulk-edit.php:109
921
+ msgid "Caption this image&hellip;"
922
+ msgstr "Titula esta imagen&hellip;"
923
+
924
+ #: pro/core/bulk-edit.php:113
925
+ msgid "Describe this video&hellip;"
926
+ msgstr "Describe este video&hellip;"
927
+
928
+ #: pro/core/bulk-edit.php:115
929
+ msgid "Describe this audio file&hellip;"
930
+ msgstr "Describe este archivo de audio&hellip;"
931
+
932
+ #: pro/core/bulk-edit.php:117
933
+ msgid "Describe this media file&hellip;"
934
+ msgstr "Describe este archivo multimedia&hellip;"
935
+
936
+ #: pro/core/bulk-edit.php:126
937
+ msgid "Attachments Details"
938
+ msgstr "Detalles de Adjuntos"
939
+
940
+ #: pro/core/bulk-edit.php:178 pro/core/bulk-edit.php:183
941
+ msgid "Select All"
942
+ msgstr "Seleccionar Todo"
943
+
944
+ #: pro/core/bulk-edit.php:179 pro/core/bulk-edit.php:184
945
+ msgid "Edit Selection"
946
+ msgstr "Editar Selección"
947
+
948
+ #: pro/core/bulk-edit.php:180 pro/core/bulk-edit.php:185
949
+ msgid "Deselect All"
950
+ msgstr "Deseleccionar Todo"
951
+
952
+ #: pro/core/bulk-edit.php:181 pro/core/bulk-edit.php:186
953
+ msgid "Delete Selected"
954
+ msgstr "Eliminar Selección"
955
+
956
+ #: pro/core/medialist.php:21 pro/core/medialist.php:66
957
+ msgid "Order By"
958
+ msgstr "Ordenar por"
959
+
960
+ #: pro/core/medialist.php:25 pro/core/medialist.php:70
961
+ msgid "Date"
962
+ msgstr "Fecha"
963
+
964
+ #: pro/core/medialist.php:28 pro/core/medialist.php:73
965
+ msgid "Title"
966
+ msgstr "Título "
967
+
968
+ #: pro/core/medialist.php:31 pro/core/medialist.php:76
969
+ msgid "Custom Order"
970
+ msgstr "Orden Personalizado"
971
+
972
+ #: pro/core/medialist.php:34 pro/core/medialist.php:79
973
+ msgid "Random"
974
+ msgstr "Aleatorio"
975
+
976
+ #: pro/core/medialist.php:40 pro/core/medialist.php:85
977
+ msgid "Order"
978
+ msgstr "Orden"
979
+
980
+ #: pro/core/medialist.php:44 pro/core/medialist.php:89
981
+ msgid "Ascending"
982
+ msgstr "Ascendente"
983
+
984
+ #: pro/core/medialist.php:47 pro/core/medialist.php:92
985
+ msgid "Descending"
986
+ msgstr "Descendente"
987
+
988
+ #: pro/core/medialist.php:57 pro/core/medialist.php:98
989
+ msgid "Limit"
990
+ msgstr "Limite"
991
+
992
+ #: pro/core/options-pages.php:72
993
+ msgid "Your license has been deactivated."
994
+ msgstr "La licencia ha sido desactivada."
995
+
996
+ #: pro/core/options-pages.php:82
997
+ msgid "Please check if your license key is correct and try again."
998
+ msgstr ""
999
+ "Por favor, compruebe si su clave de licencia es correcta e inténtelo de "
1000
+ "nuevo."
1001
+
1002
+ #: pro/core/options-pages.php:95
1003
+ msgid ""
1004
+ "Wrong license key or a server error occured. Please check your license key "
1005
+ "and try again."
1006
+ msgstr ""
1007
+ "Clave de licencia incorrecta o un error de servidor se ha producido. Por "
1008
+ "favor verifique su clave de licencia y vuelva a intentarlo."
1009
+
1010
+ #: pro/core/options-pages.php:105
1011
+ msgid "You license has been activated."
1012
+ msgstr "Licencia le ha sido activada."
1013
+
1014
+ #: pro/core/options-pages.php:156 pro/enhanced-media-library-pro.php:182
1015
+ msgid "Bulk Edit"
1016
+ msgstr "Edición Masiva"
1017
+
1018
+ #: pro/core/options-pages.php:164 pro/core/options-pages.php:167
1019
+ msgid "Turn off 'Save Changes' button"
1020
+ msgstr "Desactivar el botón \"Guardar cambios\""
1021
+
1022
+ #: pro/core/options-pages.php:168
1023
+ msgid "Save changes on the fly"
1024
+ msgstr "Guardar cambios sobre la marcha"
1025
+
1026
+ #: pro/core/options-pages.php:169
1027
+ msgid ""
1028
+ "Any click on a taxonomy checkbox during media files bulk edition will lead "
1029
+ "to an <strong style=\"color:red\">immediate saving</strong> of the data. "
1030
+ "Please, be careful! You have much greater chance to <strong style=\"color:red"
1031
+ "\">accidentally perform wrong re-assigning</strong> of a lot of your media "
1032
+ "files / taxonomies with this option turned on."
1033
+ msgstr ""
1034
+ "Cualquier clic en una casilla de la taxonomía en los medios de comunicación "
1035
+ "archivos edición mayor dará lugar a <strong style=\"color:red\">un</strong> "
1036
+ "ahorro inmediato de los datos. Por favor, tenga cuidado! Usted tiene muchas "
1037
+ "más posibilidades <strong style=\"color:red\">de</strong> realizar <strong "
1038
+ "style=\"color:red\">accidentalmente mal re-asignación de</strong> una gran "
1039
+ "cantidad de archivos multimedia / taxonomías con esta opción habilitada."
1040
+
1041
+ #: pro/core/options-pages.php:170
1042
+ msgid ""
1043
+ "Strongly NOT recommended option if you work with more than hundred of files "
1044
+ "at a time."
1045
+ msgstr ""
1046
+ "Fuertemente desaconsejada opción si trabaja con más de cientos de archivos a "
1047
+ "la vez."
1048
+
1049
+ #: pro/core/options-pages.php:209 pro/core/options-pages.php:227
1050
+ msgid "License Key"
1051
+ msgstr "Clave de Licencia"
1052
+
1053
+ #: pro/core/options-pages.php:220
1054
+ #, php-format
1055
+ msgid ""
1056
+ "To unlock updates please enter your license key below. You can get your "
1057
+ "license key in <a href=\"%s\">Your Account</a>. If you do not have a "
1058
+ "license, you are welcome to <a href=\"%s\">purchase it</a>."
1059
+ msgstr ""
1060
+ "Para desbloquear actualizaciones Introduzca su clave de licencia a "
1061
+ "continuación. Puede obtener su clave de licencia en <a href=\"%s\">Su "
1062
+ "cuenta</a>. Si no tienes una licencia, eres Bienvenido a <a href=\"%s"
1063
+ "\">comprarlo</a>."
1064
+
1065
+ #: pro/core/options-pages.php:230
1066
+ msgid "Activate License"
1067
+ msgstr "Activar Licencia"
1068
+
1069
+ #: pro/core/options-pages.php:237
1070
+ msgid "Your license is active!"
1071
+ msgstr "Su licencia está activa!"
1072
+
1073
+ #: pro/core/options-pages.php:241
1074
+ msgid "Deactivate License"
1075
+ msgstr "Desactivar Licencia"
1076
+
1077
+ #: pro/core/update.php:110 pro/core/update.php:116 pro/core/update.php:122
1078
+ msgid ""
1079
+ "An unexpected error occurred. Something may be wrong with WordPress.org or "
1080
+ "this server&#8217;s configuration. If you continue to have problems, please "
1081
+ "try the <a href=\"https://wordpress.org/support/\">support forums</a>."
1082
+ msgstr ""
1083
+ "Ha sucedido un error inesperado. Puede que haya un problema con WordPress."
1084
+ "org o con la configuración de este servidor. Si continuas teniendo "
1085
+ "problemas, por favor prueba en los <a href=\"https://es.forums.wordpress.org"
1086
+ "\">foros de soporte</a>."
1087
+
1088
+ #: pro/core/update.php:110
1089
+ msgid ""
1090
+ "(WordPress could not establish a secure connection to WordPress.org. Please "
1091
+ "contact your server administrator.)"
1092
+ msgstr ""
1093
+ "(WordPress no pudo establecer una conexión segura con WordPress.org. Por "
1094
+ "favor, contacta con el administrador de tu servidor.)"
1095
+
1096
+ #: pro/core/update.php:177
1097
+ #, php-format
1098
+ msgid ""
1099
+ "To unlock updates, please <a href=\"%s\">activate your license</a>. You can "
1100
+ "get your license key in <a href=\"%s\">Your Account</a>. If you do not have "
1101
+ "a license, you are welcome to <a href=\"%s\">purchase it</a>."
1102
+ msgstr ""
1103
+ "Para desbloquear las actualizaciones, por favor, <a href=\"%s\">activate "
1104
+ "your license</a>. Puede obtener su clave de licencia en <a href=\"%s\">Your "
1105
+ "Account</a>. Si no tienes una licencia, eres Bienvenido a <a href=\"%s"
1106
+ "\">purchase it</a>."
1107
+
1108
+ #: pro/enhanced-media-library-pro.php:101
1109
+ #: pro/enhanced-media-library-pro.php:113
1110
+ msgid "Expand Details"
1111
+ msgstr "Expandir Detalles"
1112
+
1113
+ #: pro/enhanced-media-library-pro.php:102
1114
+ #: pro/enhanced-media-library-pro.php:114
1115
+ msgid "Collapse Details"
1116
+ msgstr "Contraer Detalles"
1117
+
1118
+ #: pro/enhanced-media-library-pro.php:105
1119
+ msgid "Validation Failed. One or more fields below are required."
1120
+ msgstr "Validación fallida. Uno o más campos siguientes son obligatorios."
1121
+
1122
+ #: pro/enhanced-media-library-pro.php:112
1123
+ msgid "The changes you made will be lost if you navigate away from this page"
1124
+ msgstr ""
1125
+ "Los cambios realizados se perderán si usted navega fuera de esta página."
1126
+
1127
+ #: pro/enhanced-media-library-pro.php:174
1128
+ msgid "ALL files belong to this item"
1129
+ msgstr "TODOS los archivos pertenecen a esta partida"
1130
+
1131
+ #: pro/enhanced-media-library-pro.php:175
1132
+ msgid "SOME files belong to this item"
1133
+ msgstr "ALGUNOS ficheros pertenecen a esta partida"
1134
+
1135
+ #: pro/enhanced-media-library-pro.php:176
1136
+ msgid "NO files belong to this item"
1137
+ msgstr "No hay archivos pertenecientes a esta partida"
1138
+
1139
+ #: pro/enhanced-media-library-pro.php:177
1140
+ msgid "Changes saved."
1141
+ msgstr "Cambios guardados"
1142
+
1143
+ #: pro/enhanced-media-library-pro.php:178
1144
+ msgid "Something went wrong."
1145
+ msgstr "Algo ha salido mal"
1146
+
1147
+ #: pro/enhanced-media-library-pro.php:181
1148
+ msgid "Edit Media Files"
1149
+ msgstr "Editar Archivos de Medios"
1150
+
1151
+ #: pro/enhanced-media-library-pro.php:206
1152
+ msgid "Create a filter-based gallery"
1153
+ msgstr "Crear una galería basada en filtros"
1154
+
1155
+ #: pro/enhanced-media-library-pro.php:207
1156
+ msgid "Create a filter-based playlist"
1157
+ msgstr "Crear una lista de reproducción basada en filtros"
1158
+
1159
+ #: pro/enhanced-media-library-pro.php:208
1160
+ msgid "Create a filter-based video playlist"
1161
+ msgstr "Crear una lista de reproducción de vídeo basada en filtros"
1162
+
1163
+ #: pro/enhanced-media-library-pro.php:282
1164
+ msgid ""
1165
+ "Please deactivate and <strong>remove</strong> the old FREE version prior to "
1166
+ "the <strong>Enhanced Media Library PRO</strong> activation. All your data "
1167
+ "will remain intact."
1168
+ msgstr ""
1169
+ "Por favor, desactivar y <strong>eliminar</strong> la vieja versión libre "
1170
+ "antes de la activación de <strong>Enhanced Media Library PRO</strong> . "
1171
+ "Todos los datos permanecerán intactos."
1172
+
1173
+ #: pro/enhanced-media-library-pro.php:282
1174
+ msgid "Return to Plugins"
1175
+ msgstr "Regresar a la página de plugins"
1176
+
1177
+ #: pro/enhanced-media-library-pro.php:333
1178
+ msgid ""
1179
+ "Both FREE and PRO versions of the Enhanced Media Library are network active. "
1180
+ "<strong>Enhanced Media Library PRO</strong> does not require free version to "
1181
+ "be active. Please network deactivate and delete the free versions of the "
1182
+ "plugin. All your data will remail intact."
1183
+ msgstr ""
1184
+ "Ambas versiones libres y PRO de Enhanced Media Library están activas. "
1185
+ "<Strong>Enhanced Media Library </ strong> no requiere la versión libre "
1186
+ "activada. Por favor desactivar red y eliminar las versiones libres del "
1187
+ "plugin. Todos los datos permanecerán intactos."
1188
+
1189
+ #: pro/enhanced-media-library-pro.php:350
1190
+ msgid ""
1191
+ "<strong>Enhanced Media Library PRO</strong> does not require free version to "
1192
+ "be active. Please deactivate and delete the free version of the plugin. All "
1193
+ "your data will remain intact."
1194
+ msgstr ""
1195
+ "<Strong>Enhanced Media Library PRO </ strong> no requiere la versión libre "
1196
+ "activada. Por favor, desactivar y eliminar la versión gratuita del plug-in. "
1197
+ "Todos los datos permanecerán intactos."
1198
+
1199
+ #: pro/enhanced-media-library-pro.php:366
1200
+ msgid ""
1201
+ "Both FREE and PRO versions of the Enhanced Media Library are active for this "
1202
+ "site. <strong>Enhanced Media Library PRO</strong> does not require free "
1203
+ "version to be active. Please deactivate (or network deactivate) and delete "
1204
+ "the free version of the plugin for this site. All your data will remail "
1205
+ "intact."
1206
+ msgstr ""
1207
+ "Ambas versiones libres y PRO de Enhanced Media Library están activas en este "
1208
+ "sitio. <Strong> Enhanced Media Library </ strong> no requiere la versión "
1209
+ "libre activada. Por favor, desactive y elimine (o desactive) la versión "
1210
+ "gratuita del plug-in para este sitio. Todos los datos permanecerán intactos."
languages/eml.pot CHANGED
@@ -4,13 +4,13 @@
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: Enhanced Media Library PRO\n"
7
- "POT-Creation-Date: 2016-01-20 00:06+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 1.8.6\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
  "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
@@ -20,467 +20,189 @@ msgstr ""
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
23
- #: core/class-eml-media-list-table.php:52
24
- #, php-format
25
- msgctxt "uploaded files"
26
- msgid "All (%s)"
27
- msgid_plural "All (%s)"
28
- msgstr[0] ""
29
- msgstr[1] ""
30
-
31
- #: core/class-eml-media-list-table.php:63
32
- #, php-format
33
- msgctxt "detached files"
34
- msgid "Unattached (%s)"
35
- msgid_plural "Unattached (%s)"
36
- msgstr[0] ""
37
- msgstr[1] ""
38
-
39
- #: core/class-eml-media-list-table.php:65 enhanced-media-library.php:453
40
- msgid "All Uncategorized"
41
- msgstr ""
42
-
43
- #: core/class-eml-media-list-table.php:68
44
- #, php-format
45
- msgctxt "uploaded files"
46
- msgid "Trash (%s)"
47
- msgid_plural "Trash (%s)"
48
- msgstr[0] ""
49
- msgstr[1] ""
50
-
51
- #: core/class-eml-media-list-table.php:88
52
- msgid "Filter"
53
- msgstr ""
54
-
55
- #: core/class-eml-media-list-table.php:90 enhanced-media-library.php:457
56
- msgid "Reset All Filters"
57
- msgstr ""
58
-
59
- #: core/class-eml-media-list-table.php:94
60
- msgid "Empty Trash"
61
- msgstr ""
62
-
63
- #: core/eml-upload-4.1.php:21 core/eml-upload-4.4.php:20
64
- msgid "You do not have permission to upload files."
65
- msgstr ""
66
-
67
- #: core/eml-upload-4.1.php:41 core/eml-upload-4.1.php:215
68
- #: core/eml-upload-4.4.php:55 core/eml-upload-4.4.php:197
69
- msgid "Overview"
70
- msgstr ""
71
-
72
- #: core/eml-upload-4.1.php:43 core/eml-upload-4.4.php:57
73
- msgid ""
74
- "All the files you&#8217;ve uploaded are listed in the Media Library, with "
75
- "the most recent uploads listed first."
76
- msgstr ""
77
-
78
- #: core/eml-upload-4.1.php:44 core/eml-upload-4.1.php:219
79
- #: core/eml-upload-4.4.php:58 core/eml-upload-4.4.php:201
80
- msgid ""
81
- "You can view your media in a simple visual grid or a list with columns. "
82
- "Switch between these views using the icons to the left above the media."
83
- msgstr ""
84
-
85
- #: core/eml-upload-4.1.php:45 core/eml-upload-4.4.php:59
86
- msgid ""
87
- "To delete media items, click the Bulk Select button at the top of the "
88
- "screen. Select any items you wish to delete, then click the Delete Selected "
89
- "button. Clicking the Cancel Selection button takes you back to viewing your "
90
- "media."
91
- msgstr ""
92
-
93
- #: core/eml-upload-4.1.php:50 core/eml-upload-4.4.php:64
94
- msgid "Attachment Details"
95
- msgstr ""
96
-
97
- #: core/eml-upload-4.1.php:52 core/eml-upload-4.4.php:66
98
- msgid ""
99
- "Clicking an item will display an Attachment Details dialog, which allows you "
100
- "to preview media and make quick edits. Any changes you make to the "
101
- "attachment details will be automatically saved."
102
- msgstr ""
103
-
104
- #: core/eml-upload-4.1.php:53 core/eml-upload-4.4.php:67
105
- msgid ""
106
- "Use the arrow buttons at the top of the dialog, or the left and right arrow "
107
- "keys on your keyboard, to navigate between media items quickly."
108
- msgstr ""
109
-
110
- #: core/eml-upload-4.1.php:54 core/eml-upload-4.4.php:68
111
- msgid ""
112
- "You can also delete individual items and access the extended edit screen "
113
- "from the details dialog."
114
- msgstr ""
115
-
116
- #: core/eml-upload-4.1.php:58 core/eml-upload-4.1.php:235
117
- #: core/eml-upload-4.4.php:72 core/eml-upload-4.4.php:217
118
- msgid "For more information:"
119
- msgstr ""
120
-
121
- #: core/eml-upload-4.1.php:59 core/eml-upload-4.1.php:236
122
- msgid ""
123
- "<a href=\"http://codex.wordpress.org/Media_Library_Screen\" target=\"_blank"
124
- "\">Documentation on Media Library</a>"
125
- msgstr ""
126
-
127
- #: core/eml-upload-4.1.php:60 core/eml-upload-4.1.php:237
128
- #: core/eml-upload-4.4.php:74 core/eml-upload-4.4.php:219
129
- msgid ""
130
- "<a href=\"https://wordpress.org/support/\" target=\"_blank\">Support Forums</"
131
- "a>"
132
- msgstr ""
133
-
134
- #: core/eml-upload-4.1.php:63 core/eml-upload-4.1.php:206
135
- #: core/eml-upload-4.4.php:77 core/eml-upload-4.4.php:188
136
- msgid "Media Library"
137
- msgstr ""
138
-
139
- #: core/eml-upload-4.1.php:73 core/eml-upload-4.1.php:248
140
- #: core/eml-upload-4.4.php:87 core/eml-upload-4.4.php:238
141
- msgctxt "file"
142
- msgid "Add New"
143
- msgstr ""
144
-
145
- #: core/eml-upload-4.1.php:78 core/eml-upload-4.4.php:92
146
- msgid ""
147
- "The grid view for the Media Library requires JavaScript. <a href=\"upload."
148
- "php?mode=list\">Switch to the list view</a>."
149
- msgstr ""
150
-
151
- #: core/eml-upload-4.1.php:127
152
- msgid "You are not allowed to edit this post."
153
- msgstr ""
154
-
155
- #: core/eml-upload-4.1.php:164
156
- msgid "You are not allowed to move this post to the trash."
157
- msgstr ""
158
-
159
- #: core/eml-upload-4.1.php:167 core/eml-upload-4.4.php:149
160
- msgid "Error in moving to trash."
161
- msgstr ""
162
-
163
- #: core/eml-upload-4.1.php:176
164
- msgid "You are not allowed to move this post out of the trash."
165
- msgstr ""
166
-
167
- #: core/eml-upload-4.1.php:179 core/eml-upload-4.4.php:161
168
- msgid "Error in restoring from trash."
169
- msgstr ""
170
-
171
- #: core/eml-upload-4.1.php:188
172
- msgid "You are not allowed to delete this post."
173
- msgstr ""
174
-
175
- #: core/eml-upload-4.1.php:191 core/eml-upload-4.4.php:173
176
- msgid "Error in deleting."
177
- msgstr ""
178
-
179
- #: core/eml-upload-4.1.php:211
180
- msgctxt "items per page (screen options)"
181
- msgid "Media items"
182
- msgstr ""
183
-
184
- #: core/eml-upload-4.1.php:217 core/eml-upload-4.4.php:199
185
- msgid ""
186
- "All the files you&#8217;ve uploaded are listed in the Media Library, with "
187
- "the most recent uploads listed first. You can use the Screen Options tab to "
188
- "customize the display of this screen."
189
- msgstr ""
190
-
191
- #: core/eml-upload-4.1.php:218 core/eml-upload-4.4.php:200
192
- msgid ""
193
- "You can narrow the list by file type/status using the text link filters at "
194
- "the top of the screen. You also can refine the list by date using the "
195
- "dropdown menu above the media table."
196
- msgstr ""
197
-
198
- #: core/eml-upload-4.1.php:223 core/eml-upload-4.4.php:205
199
- msgid "Available Actions"
200
- msgstr ""
201
-
202
- #: core/eml-upload-4.1.php:225 core/eml-upload-4.4.php:207
203
- msgid ""
204
- "Hovering over a row reveals action links: Edit, Delete Permanently, and "
205
- "View. Clicking Edit or on the media file&#8217;s name displays a simple "
206
- "screen to edit that individual file&#8217;s metadata. Clicking Delete "
207
- "Permanently will delete the file from the media library (as well as from any "
208
- "posts to which it is currently attached). View will take you to the display "
209
- "page for that file."
210
- msgstr ""
211
-
212
- #: core/eml-upload-4.1.php:229 core/eml-upload-4.4.php:211
213
- msgid "Attaching Files"
214
- msgstr ""
215
-
216
- #: core/eml-upload-4.1.php:231 core/eml-upload-4.4.php:213
217
- msgid ""
218
- "If a media file has not been attached to any post, you will see that in the "
219
- "Attached To column, and can click on Attach File to launch a small popup "
220
- "that will allow you to search for a post and attach the file."
221
- msgstr ""
222
-
223
- #: core/eml-upload-4.1.php:251 core/eml-upload-4.4.php:241
224
- #, php-format
225
- msgid "Search results for &#8220;%s&#8221;"
226
- msgstr ""
227
-
228
- #: core/eml-upload-4.1.php:257 core/eml-upload-4.1.php:282
229
- #: core/eml-upload-4.4.php:247 core/eml-upload-4.4.php:292
230
- msgid "Media attachment updated."
231
- msgstr ""
232
-
233
- #: core/eml-upload-4.1.php:262 core/eml-upload-4.4.php:252
234
- #, php-format
235
- msgid "Reattached %d attachment."
236
- msgid_plural "Reattached %d attachments."
237
- msgstr[0] ""
238
- msgstr[1] ""
239
-
240
- #: core/eml-upload-4.1.php:267 core/eml-upload-4.4.php:263
241
- #: core/eml-upload-4.4.php:293
242
- #, php-format
243
- msgid "Media attachment permanently deleted."
244
- msgid_plural "%d media attachments permanently deleted."
245
- msgstr[0] ""
246
- msgstr[1] ""
247
-
248
- #: core/eml-upload-4.1.php:272 core/eml-upload-4.4.php:273
249
- #: core/eml-upload-4.4.php:295
250
- #, php-format
251
- msgid "Media attachment moved to the trash."
252
- msgid_plural "%d media attachments moved to the trash."
253
- msgstr[0] ""
254
- msgstr[1] ""
255
-
256
- #: core/eml-upload-4.1.php:273 core/eml-upload-4.1.php:285
257
- #: core/eml-upload-4.4.php:278 core/eml-upload-4.4.php:295
258
- msgid "Undo"
259
- msgstr ""
260
-
261
- #: core/eml-upload-4.1.php:278 core/eml-upload-4.4.php:284
262
- #: core/eml-upload-4.4.php:296
263
- #, php-format
264
- msgid "Media attachment restored from the trash."
265
- msgid_plural "%d media attachments restored from the trash."
266
- msgstr[0] ""
267
- msgstr[1] ""
268
-
269
- #: core/eml-upload-4.1.php:283
270
- msgid "Media permanently deleted."
271
- msgstr ""
272
-
273
- #: core/eml-upload-4.1.php:284 core/eml-upload-4.4.php:294
274
- msgid "Error saving media attachment."
275
- msgstr ""
276
-
277
- #: core/eml-upload-4.1.php:285
278
- msgid "Media moved to the trash."
279
- msgstr ""
280
-
281
- #: core/eml-upload-4.1.php:286
282
- msgid "Media restored from the trash."
283
- msgstr ""
284
-
285
- #: core/eml-upload-4.4.php:73 core/eml-upload-4.4.php:218
286
- msgid ""
287
- "<a href=\"https://codex.wordpress.org/Media_Library_Screen\" target=\"_blank"
288
- "\">Documentation on Media Library</a>"
289
- msgstr ""
290
-
291
- #: core/eml-upload-4.4.php:146
292
- msgid "You are not allowed to move this item to the Trash."
293
- msgstr ""
294
-
295
- #: core/eml-upload-4.4.php:158
296
- msgid "You are not allowed to move this item out of the Trash."
297
- msgstr ""
298
-
299
- #: core/eml-upload-4.4.php:170
300
- msgid "You are not allowed to delete this item."
301
- msgstr ""
302
-
303
- #: core/eml-upload-4.4.php:224
304
- msgid "Filter media items list"
305
- msgstr ""
306
-
307
- #: core/eml-upload-4.4.php:225
308
- msgid "Media items list navigation"
309
- msgstr ""
310
-
311
- #: core/eml-upload-4.4.php:226
312
- msgid "Media items list"
313
- msgstr ""
314
-
315
- #: core/eml-upload-4.4.php:257
316
- #, php-format
317
- msgid "Detached %d attachment."
318
- msgid_plural "Detached %d attachments."
319
- msgstr[0] ""
320
- msgstr[1] ""
321
-
322
- #: core/eml-upload-4.4.php:265
323
- #, php-format
324
- msgid "%d media attachment permanently deleted."
325
- msgid_plural "%d media attachments permanently deleted."
326
- msgstr[0] ""
327
- msgstr[1] ""
328
-
329
- #: core/eml-upload-4.4.php:275
330
- #, php-format
331
- msgid "%d media attachment moved to the trash."
332
- msgid_plural "%d media attachments moved to the trash."
333
- msgstr[0] ""
334
- msgstr[1] ""
335
-
336
- #: core/eml-upload-4.4.php:286
337
- #, php-format
338
- msgid "%d media attachment restored from the trash."
339
- msgid_plural "%d media attachments restored from the trash."
340
- msgstr[0] ""
341
- msgstr[1] ""
342
-
343
- #: core/mime-types.php:27
344
  msgid "MIME type settings restored."
345
  msgstr ""
346
 
347
- #: core/mime-types.php:36
348
  msgid "MIME type settings saved."
349
  msgstr ""
350
 
351
- #: core/mime-types.php:112
352
  #, php-format
353
  msgid " <span class=\"count\">(%s)</span>"
354
  msgid_plural " <span class=\"count\">(%s)</span>"
355
  msgstr[0] ""
356
  msgstr[1] ""
357
 
358
- #: core/options-pages.php:69 core/options-pages.php:70
359
  msgid "Enhanced Media Library"
360
  msgstr ""
361
 
362
- #: core/options-pages.php:79 core/options-pages.php:80
363
- #: core/options-pages.php:89
364
  msgid "Media Settings"
365
  msgstr ""
366
 
367
- #: core/options-pages.php:90 core/options-pages.php:561
368
- #: core/options-pages.php:584 core/options-pages.php:630
369
- #: core/options-pages.php:696 core/options-pages.php:1058
370
  msgid "Settings"
371
  msgstr ""
372
 
373
- #: core/options-pages.php:97 core/options-pages.php:98
374
- #: core/options-pages.php:494
375
  msgid "Taxonomies"
376
  msgstr ""
377
 
378
- #: core/options-pages.php:106 core/options-pages.php:107
379
- #: core/options-pages.php:886
380
  msgid "MIME Types"
381
  msgstr ""
382
 
383
- #: core/options-pages.php:143 core/options-pages.php:535
384
- #: core/options-pages.php:550 core/options-pages.php:619
385
- #: core/options-pages.php:693
386
  msgid "Edit"
387
  msgstr ""
388
 
389
- #: core/options-pages.php:144 pro/enhanced-media-library-pro.php:180
390
  msgid "Close"
391
  msgstr ""
392
 
393
- #: core/options-pages.php:145 core/options-pages.php:551
394
- #: core/options-pages.php:620
395
  msgid "View"
396
  msgstr ""
397
 
398
- #: core/options-pages.php:146 core/options-pages.php:552
399
- #: core/options-pages.php:621
400
  msgid "Update"
401
  msgstr ""
402
 
403
- #: core/options-pages.php:147 core/options-pages.php:553
404
- #: core/options-pages.php:622
405
  msgid "Add New"
406
  msgstr ""
407
 
408
- #: core/options-pages.php:148 core/options-pages.php:554
409
- #: core/options-pages.php:623
410
  msgid "New"
411
  msgstr ""
412
 
413
- #: core/options-pages.php:149
414
  msgid "Name"
415
  msgstr ""
416
 
417
- #: core/options-pages.php:150 core/options-pages.php:555
418
- #: core/options-pages.php:624
419
  msgid "Parent"
420
  msgstr ""
421
 
422
- #: core/options-pages.php:151 core/options-pages.php:549
423
- #: core/options-pages.php:618
424
  msgid "All"
425
  msgstr ""
426
 
427
- #: core/options-pages.php:152 core/options-pages.php:556
428
- #: core/options-pages.php:625
429
  msgid "Search"
430
  msgstr ""
431
 
432
- #: core/options-pages.php:154
433
  msgid ""
434
  "Taxonomy will be deleted permanently! Your media files will remain intacted, "
435
  "but all the connections with this taxonomy and its terms will be lost."
436
  msgstr ""
437
 
438
- #: core/options-pages.php:155
439
  msgid "There is already a taxonomy with the same name. Please chose other one."
440
  msgstr ""
441
 
442
- #: core/options-pages.php:156 core/options-pages.php:606
443
  msgid "New Taxonomy"
444
  msgstr ""
445
 
446
- #: core/options-pages.php:157
447
  msgid "Please choose Singular and Plural names for all your new taxomonies."
448
  msgstr ""
449
 
450
- #: core/options-pages.php:158
451
  msgid "Please choose Singilar name for all your new taxomonies."
452
  msgstr ""
453
 
454
- #: core/options-pages.php:159
455
  msgid "Please choose Plural Name for all your new taxomonies."
456
  msgstr ""
457
 
458
- #: core/options-pages.php:161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
459
  msgid "Warning! All your custom MIME Types will be deleted by this operation."
460
  msgstr ""
461
 
462
- #: core/options-pages.php:162
463
  msgid "Please fill into all fields."
464
  msgstr ""
465
 
466
- #: core/options-pages.php:163
467
  msgid "Duplicate extensions or MIME types. Please chose other one."
468
  msgstr ""
469
 
470
- #: core/options-pages.php:189 core/options-pages.php:486
471
- #: core/options-pages.php:878
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
472
  msgid "You do not have sufficient permissions to access this page."
473
  msgstr ""
474
 
475
- #: core/options-pages.php:194
476
  msgid "Enhanced Media Library Settings"
477
  msgstr ""
478
 
479
- #: core/options-pages.php:205
480
  msgid "Export"
481
  msgstr ""
482
 
483
- #: core/options-pages.php:209
484
  msgid ""
485
  "The plugin settings <strong>Media Settings > Taxonomies</strong> and "
486
  "<strong>Media Settings > MIME Types</strong> will be exported to a "
@@ -488,15 +210,15 @@ msgid ""
488
  "another website."
489
  msgstr ""
490
 
491
- #: core/options-pages.php:214
492
  msgid "Export Plugin Settings"
493
  msgstr ""
494
 
495
- #: core/options-pages.php:224
496
  msgid "Import"
497
  msgstr ""
498
 
499
- #: core/options-pages.php:228
500
  msgid ""
501
  "The plugin settings <strong>Media Settings > Taxonomies</strong> and "
502
  "<strong>Media Settings > MIME Types</strong> will be imported from a "
@@ -504,248 +226,288 @@ msgid ""
504
  "another website using the export button above."
505
  msgstr ""
506
 
507
- #: core/options-pages.php:229
508
  msgid ""
509
  "All plugin settings will be overriden by the import. You will have a chance "
510
  "to restore current data from an automatic backup in case you are not "
511
  "satisfied with the result of the import."
512
  msgstr ""
513
 
514
- #: core/options-pages.php:236
515
  msgid "Import Plugin Settings"
516
  msgstr ""
517
 
518
- #: core/options-pages.php:248
519
  msgid "Restore"
520
  msgstr ""
521
 
522
- #: core/options-pages.php:254
523
  msgid "No backup available at the moment."
524
  msgstr ""
525
 
526
- #: core/options-pages.php:256
527
  msgid "Backup will be created automatically before any import operation."
528
  msgstr ""
529
 
530
- #: core/options-pages.php:260
531
  msgid ""
532
  "The backup had been automatically created before the latest import opetarion."
533
  msgstr ""
534
 
535
- #: core/options-pages.php:264
536
  msgid "Restore Settings from the Backup"
537
  msgstr ""
538
 
539
- #: core/options-pages.php:371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
540
  msgid "Please upload a file to import settings."
541
  msgstr ""
542
 
543
- #: core/options-pages.php:390
544
  msgid "Plugin settings imported."
545
  msgstr ""
546
 
547
- #: core/options-pages.php:436
548
  msgid "Plugin settings restored from the backup."
549
  msgstr ""
550
 
551
- #: core/options-pages.php:510
552
  msgid "Media Taxonomies"
553
  msgstr ""
554
 
555
- #: core/options-pages.php:514 core/options-pages.php:668
556
  msgid "Assign following taxonomies to Media Library:"
557
  msgstr ""
558
 
559
- #: core/options-pages.php:532 core/options-pages.php:604
560
- #: core/options-pages.php:686
561
  msgid "Assign Taxonomy"
562
  msgstr ""
563
 
564
- #: core/options-pages.php:535 core/options-pages.php:693
565
  msgid "Edit Taxonomy"
566
  msgstr ""
567
 
568
- #: core/options-pages.php:539 core/options-pages.php:608
569
  msgid "Delete Taxonomy"
570
  msgstr ""
571
 
572
- #: core/options-pages.php:544 core/options-pages.php:613
573
  msgid "Labels"
574
  msgstr ""
575
 
576
- #: core/options-pages.php:546 core/options-pages.php:615
577
  msgid "Singular"
578
  msgstr ""
579
 
580
- #: core/options-pages.php:547 core/options-pages.php:616
581
  msgid "Plural"
582
  msgstr ""
583
 
584
- #: core/options-pages.php:548 core/options-pages.php:617
585
  msgid "Menu Name"
586
  msgstr ""
587
 
588
- #: core/options-pages.php:563 core/options-pages.php:632
589
  msgid "Taxonomy Name"
590
  msgstr ""
591
 
592
- #: core/options-pages.php:564 core/options-pages.php:633
593
  msgid "Hierarchical"
594
  msgstr ""
595
 
596
- #: core/options-pages.php:565 core/options-pages.php:634
597
- msgid "Column in List View"
598
  msgstr ""
599
 
600
- #: core/options-pages.php:566 core/options-pages.php:586
601
- #: core/options-pages.php:635 core/options-pages.php:698
602
- msgid "Filter in List View"
603
  msgstr ""
604
 
605
- #: core/options-pages.php:567 core/options-pages.php:587
606
- #: core/options-pages.php:636 core/options-pages.php:699
607
- msgid "Filter in Grid View / Media Popup"
608
  msgstr ""
609
 
610
- #: core/options-pages.php:568 core/options-pages.php:588
611
- #: core/options-pages.php:637 core/options-pages.php:700
612
  msgid "Edit in Media Popup"
613
  msgstr ""
614
 
615
- #: core/options-pages.php:569 core/options-pages.php:638
616
  msgid "Show in Nav Menu"
617
  msgstr ""
618
 
619
- #: core/options-pages.php:570 core/options-pages.php:639
620
  msgid "Remember Terms Order (sort)"
621
  msgstr ""
622
 
623
- #: core/options-pages.php:571 core/options-pages.php:640
624
  msgid "Show in REST"
625
  msgstr ""
626
 
627
- #: core/options-pages.php:572 core/options-pages.php:641
628
  msgid "Rewrite Slug"
629
  msgstr ""
630
 
631
- #: core/options-pages.php:573 core/options-pages.php:642
632
  msgid "Slug with Front"
633
  msgstr ""
634
 
635
- #: core/options-pages.php:654
636
  msgid "Add New Taxonomy"
637
  msgstr ""
638
 
639
- #: core/options-pages.php:664
640
  msgid "Non-Media Taxonomies"
641
  msgstr ""
642
 
643
- #: core/options-pages.php:727
644
  msgid "Options"
645
  msgstr ""
646
 
647
- #: core/options-pages.php:733
648
  msgid "General"
649
  msgstr ""
650
 
651
- #: core/options-pages.php:739 core/options-pages.php:742
652
  msgid "Taxonomy archive pages"
653
  msgstr ""
654
 
655
- #: core/options-pages.php:743
656
  msgid "Turn on media taxonomy archive pages on the front-end"
657
  msgstr ""
658
 
659
- #: core/options-pages.php:744
660
  msgid ""
661
  "Re-save your permalink settings after this option change to make it work."
662
  msgstr ""
663
 
664
- #: core/options-pages.php:750
665
  msgid "Assign all like hierarchical"
666
  msgstr ""
667
 
668
- #: core/options-pages.php:753 core/options-pages.php:754
669
  msgid ""
670
  "Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup"
671
  msgstr ""
672
 
673
- #: core/options-pages.php:768
674
  msgid "Filters"
675
  msgstr ""
676
 
677
- #: core/options-pages.php:775
678
  msgid "Force filters"
679
  msgstr ""
680
 
681
- #: core/options-pages.php:777
682
  msgid "Show media filters for ANY Media Popup"
683
  msgstr ""
684
 
685
- #: core/options-pages.php:778
686
  msgid "Try this if filters are not shown for third-party plugins or themes."
687
  msgstr ""
688
 
689
- #: core/options-pages.php:783
690
  msgid "Order media items by"
691
  msgstr ""
692
 
693
- #: core/options-pages.php:790 core/options-pages.php:802
694
  msgid "For media library and media popups"
695
  msgstr ""
696
 
697
- #: core/options-pages.php:791
698
  msgid "Option allows to change order by drag and drop with Custom Order value."
699
  msgstr ""
700
 
701
- #: core/options-pages.php:796
702
  msgid "Sort order"
703
  msgstr ""
704
 
705
- #: core/options-pages.php:815
706
  msgid "Media Shortcodes"
707
  msgstr ""
708
 
709
- #: core/options-pages.php:822 core/options-pages.php:825
710
  msgid "Enhanced media shortcodes"
711
  msgstr ""
712
 
713
- #: core/options-pages.php:826
714
  msgid ""
715
  "Enhance WordPress media shortcodes to make them understand media taxonomies, "
716
  "uploade date, and media items number limit"
717
  msgstr ""
718
 
719
- #: core/options-pages.php:827
720
  msgid ""
721
  "Gallery example: [gallery media_category=\"5\" limit=\"10\" monthnum=\"12\" "
722
  "year=\"2015\"]"
723
  msgstr ""
724
 
725
- #: core/options-pages.php:828
726
  msgid ""
727
  "Audio playlist example: [playlist media_category=\"5\" limit=\"10\" monthnum="
728
  "\"12\" year=\"2015\"]"
729
  msgstr ""
730
 
731
- #: core/options-pages.php:829
732
  msgid ""
733
  "Video playlist example: [playlist type=\"video\" media_category=\"5\" limit="
734
  "\"10\" monthnum=\"12\" year=\"2015\"]"
735
  msgstr ""
736
 
737
- #: core/options-pages.php:831
738
  #, php-format
739
  msgid ""
740
  "%sWarning:%s Incompatibility with other gallery plugins or themes possible!"
741
  msgstr ""
742
 
743
- #: core/options-pages.php:833
744
  #, php-format
745
  msgid "%sLearn more%s."
746
  msgstr ""
747
 
748
- #: core/options-pages.php:835
749
  #, php-format
750
  msgid ""
751
  "Please check out your gallery front-end and back-end functionality once this "
@@ -753,184 +515,206 @@ msgid ""
753
  "%s."
754
  msgstr ""
755
 
756
- #: core/options-pages.php:887
757
  msgid "Add New MIME Type"
758
  msgstr ""
759
 
760
- #: core/options-pages.php:905 core/options-pages.php:960
761
  msgid "Extension"
762
  msgstr ""
763
 
764
- #: core/options-pages.php:906 core/options-pages.php:961
765
  msgid "MIME Type"
766
  msgstr ""
767
 
768
- #: core/options-pages.php:907 core/options-pages.php:962
769
  msgid "Singular Label"
770
  msgstr ""
771
 
772
- #: core/options-pages.php:908 core/options-pages.php:963
773
  msgid "Plural Label"
774
  msgstr ""
775
 
776
- #: core/options-pages.php:909 core/options-pages.php:939
777
- #: core/options-pages.php:952 core/options-pages.php:964
778
  msgid "Add Filter"
779
  msgstr ""
780
 
781
- #: core/options-pages.php:910 core/options-pages.php:940
782
- #: core/options-pages.php:953 core/options-pages.php:965
783
  msgid "Allow Upload"
784
  msgstr ""
785
 
786
- #: core/options-pages.php:954
787
  msgid "Delete MIME Type"
788
  msgstr ""
789
 
790
- #: core/options-pages.php:971
791
  msgid "Restore WordPress default MIME Types"
792
  msgstr ""
793
 
794
- #: core/options-pages.php:973 pro/enhanced-media-library-pro.php:179
795
  msgid "Save Changes"
796
  msgstr ""
797
 
798
- #: core/taxonomies.php:71
799
  msgid "Taxonomy settings saved."
800
  msgstr ""
801
 
802
- #: core/taxonomies.php:307 core/taxonomies.php:313
803
- #: enhanced-media-library.php:454
804
  msgid "Filter by "
805
  msgstr ""
806
 
807
- #: core/taxonomies.php:314 enhanced-media-library.php:455
808
  msgid "All "
809
  msgstr ""
810
 
811
- #: core/taxonomies.php:315 enhanced-media-library.php:456
812
  msgid "Not in "
813
  msgstr ""
814
 
815
- #: enhanced-media-library.php:488
 
 
 
 
 
 
 
 
816
  msgid "Uploaded to post #"
817
  msgstr ""
818
 
819
- #: enhanced-media-library.php:489
820
  msgid "Based On"
821
  msgstr ""
822
 
823
- #: pro/core/bulk-edit.php:55 pro/core/bulk-edit.php:62
824
  msgid "Remove"
825
  msgstr ""
826
 
827
- #: pro/core/bulk-edit.php:57 pro/core/bulk-edit.php:64
828
  msgid "Deselect"
829
  msgstr ""
830
 
831
- #: pro/core/bulk-edit.php:109
832
  msgid "Caption this image&hellip;"
833
  msgstr ""
834
 
835
- #: pro/core/bulk-edit.php:113
836
  msgid "Describe this video&hellip;"
837
  msgstr ""
838
 
839
- #: pro/core/bulk-edit.php:115
840
  msgid "Describe this audio file&hellip;"
841
  msgstr ""
842
 
843
- #: pro/core/bulk-edit.php:117
844
  msgid "Describe this media file&hellip;"
845
  msgstr ""
846
 
847
- #: pro/core/bulk-edit.php:126
848
  msgid "Attachments Details"
849
  msgstr ""
850
 
851
- #: pro/core/bulk-edit.php:178 pro/core/bulk-edit.php:183
852
  msgid "Select All"
853
  msgstr ""
854
 
855
- #: pro/core/bulk-edit.php:179 pro/core/bulk-edit.php:184
856
  msgid "Edit Selection"
857
  msgstr ""
858
 
859
- #: pro/core/bulk-edit.php:180 pro/core/bulk-edit.php:185
860
  msgid "Deselect All"
861
  msgstr ""
862
 
863
- #: pro/core/bulk-edit.php:181 pro/core/bulk-edit.php:186
864
  msgid "Delete Selected"
865
  msgstr ""
866
 
867
- #: pro/core/medialist.php:21 pro/core/medialist.php:66
868
  msgid "Order By"
869
  msgstr ""
870
 
871
- #: pro/core/medialist.php:25 pro/core/medialist.php:70
872
  msgid "Date"
873
  msgstr ""
874
 
875
- #: pro/core/medialist.php:28 pro/core/medialist.php:73
876
  msgid "Title"
877
  msgstr ""
878
 
879
- #: pro/core/medialist.php:31 pro/core/medialist.php:76
880
  msgid "Custom Order"
881
  msgstr ""
882
 
883
- #: pro/core/medialist.php:34 pro/core/medialist.php:79
884
  msgid "Random"
885
  msgstr ""
886
 
887
- #: pro/core/medialist.php:40 pro/core/medialist.php:85
888
  msgid "Order"
889
  msgstr ""
890
 
891
- #: pro/core/medialist.php:44 pro/core/medialist.php:89
892
  msgid "Ascending"
893
  msgstr ""
894
 
895
- #: pro/core/medialist.php:47 pro/core/medialist.php:92
896
  msgid "Descending"
897
  msgstr ""
898
 
899
- #: pro/core/medialist.php:57 pro/core/medialist.php:98
900
  msgid "Limit"
901
  msgstr ""
902
 
903
- #: pro/core/options-pages.php:72
904
  msgid "Your license has been deactivated."
905
  msgstr ""
906
 
907
- #: pro/core/options-pages.php:82
908
  msgid "Please check if your license key is correct and try again."
909
  msgstr ""
910
 
911
- #: pro/core/options-pages.php:95
912
  msgid ""
913
  "Wrong license key or a server error occured. Please check your license key "
914
  "and try again."
915
  msgstr ""
916
 
917
- #: pro/core/options-pages.php:105
918
  msgid "You license has been activated."
919
  msgstr ""
920
 
921
- #: pro/core/options-pages.php:156 pro/enhanced-media-library-pro.php:182
 
 
 
 
 
 
 
 
 
 
 
 
 
 
922
  msgid "Bulk Edit"
923
  msgstr ""
924
 
925
- #: pro/core/options-pages.php:164 pro/core/options-pages.php:167
926
  msgid "Turn off 'Save Changes' button"
927
  msgstr ""
928
 
929
- #: pro/core/options-pages.php:168
930
  msgid "Save changes on the fly"
931
  msgstr ""
932
 
933
- #: pro/core/options-pages.php:169
934
  msgid ""
935
  "Any click on a taxonomy checkbox during media files bulk edition will lead "
936
  "to an <strong style=\"color:red\">immediate saving</strong> of the data. "
@@ -939,17 +723,17 @@ msgid ""
939
  "files / taxonomies with this option turned on."
940
  msgstr ""
941
 
942
- #: pro/core/options-pages.php:170
943
  msgid ""
944
  "Strongly NOT recommended option if you work with more than hundred of files "
945
  "at a time."
946
  msgstr ""
947
 
948
- #: pro/core/options-pages.php:209 pro/core/options-pages.php:227
949
  msgid "License Key"
950
  msgstr ""
951
 
952
- #: pro/core/options-pages.php:220
953
  #, php-format
954
  msgid ""
955
  "To unlock updates please enter your license key below. You can get your "
@@ -957,32 +741,32 @@ msgid ""
957
  "license, you are welcome to <a href=\"%s\">purchase it</a>."
958
  msgstr ""
959
 
960
- #: pro/core/options-pages.php:230
961
  msgid "Activate License"
962
  msgstr ""
963
 
964
- #: pro/core/options-pages.php:237
965
  msgid "Your license is active!"
966
  msgstr ""
967
 
968
- #: pro/core/options-pages.php:241
969
  msgid "Deactivate License"
970
  msgstr ""
971
 
972
- #: pro/core/update.php:110 pro/core/update.php:116 pro/core/update.php:122
973
  msgid ""
974
  "An unexpected error occurred. Something may be wrong with WordPress.org or "
975
  "this server&#8217;s configuration. If you continue to have problems, please "
976
  "try the <a href=\"https://wordpress.org/support/\">support forums</a>."
977
  msgstr ""
978
 
979
- #: pro/core/update.php:110
980
  msgid ""
981
  "(WordPress could not establish a secure connection to WordPress.org. Please "
982
  "contact your server administrator.)"
983
  msgstr ""
984
 
985
- #: pro/core/update.php:177
986
  #, php-format
987
  msgid ""
988
  "To unlock updates, please <a href=\"%s\">activate your license</a>. You can "
@@ -990,72 +774,72 @@ msgid ""
990
  "a license, you are welcome to <a href=\"%s\">purchase it</a>."
991
  msgstr ""
992
 
993
- #: pro/enhanced-media-library-pro.php:101
994
- #: pro/enhanced-media-library-pro.php:113
995
  msgid "Expand Details"
996
  msgstr ""
997
 
998
- #: pro/enhanced-media-library-pro.php:102
999
- #: pro/enhanced-media-library-pro.php:114
1000
  msgid "Collapse Details"
1001
  msgstr ""
1002
 
1003
- #: pro/enhanced-media-library-pro.php:105
1004
  msgid "Validation Failed. One or more fields below are required."
1005
  msgstr ""
1006
 
1007
- #: pro/enhanced-media-library-pro.php:112
1008
  msgid "The changes you made will be lost if you navigate away from this page"
1009
  msgstr ""
1010
 
1011
- #: pro/enhanced-media-library-pro.php:174
1012
  msgid "ALL files belong to this item"
1013
  msgstr ""
1014
 
1015
- #: pro/enhanced-media-library-pro.php:175
1016
  msgid "SOME files belong to this item"
1017
  msgstr ""
1018
 
1019
- #: pro/enhanced-media-library-pro.php:176
1020
  msgid "NO files belong to this item"
1021
  msgstr ""
1022
 
1023
- #: pro/enhanced-media-library-pro.php:177
1024
  msgid "Changes saved."
1025
  msgstr ""
1026
 
1027
- #: pro/enhanced-media-library-pro.php:178
1028
  msgid "Something went wrong."
1029
  msgstr ""
1030
 
1031
- #: pro/enhanced-media-library-pro.php:181
1032
  msgid "Edit Media Files"
1033
  msgstr ""
1034
 
1035
- #: pro/enhanced-media-library-pro.php:206
1036
  msgid "Create a filter-based gallery"
1037
  msgstr ""
1038
 
1039
- #: pro/enhanced-media-library-pro.php:207
1040
  msgid "Create a filter-based playlist"
1041
  msgstr ""
1042
 
1043
- #: pro/enhanced-media-library-pro.php:208
1044
  msgid "Create a filter-based video playlist"
1045
  msgstr ""
1046
 
1047
- #: pro/enhanced-media-library-pro.php:282
1048
  msgid ""
1049
  "Please deactivate and <strong>remove</strong> the old FREE version prior to "
1050
  "the <strong>Enhanced Media Library PRO</strong> activation. All your data "
1051
  "will remain intact."
1052
  msgstr ""
1053
 
1054
- #: pro/enhanced-media-library-pro.php:282
1055
  msgid "Return to Plugins"
1056
  msgstr ""
1057
 
1058
- #: pro/enhanced-media-library-pro.php:333
1059
  msgid ""
1060
  "Both FREE and PRO versions of the Enhanced Media Library are network active. "
1061
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
@@ -1063,14 +847,14 @@ msgid ""
1063
  "plugin. All your data will remail intact."
1064
  msgstr ""
1065
 
1066
- #: pro/enhanced-media-library-pro.php:350
1067
  msgid ""
1068
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
1069
  "be active. Please deactivate and delete the free version of the plugin. All "
1070
  "your data will remain intact."
1071
  msgstr ""
1072
 
1073
- #: pro/enhanced-media-library-pro.php:366
1074
  msgid ""
1075
  "Both FREE and PRO versions of the Enhanced Media Library are active for this "
1076
  "site. <strong>Enhanced Media Library PRO</strong> does not require free "
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: Enhanced Media Library PRO\n"
7
+ "POT-Creation-Date: 2016-03-19 20:59+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.7\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
  "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
23
+ #: core/mime-types.php:30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  msgid "MIME type settings restored."
25
  msgstr ""
26
 
27
+ #: core/mime-types.php:39
28
  msgid "MIME type settings saved."
29
  msgstr ""
30
 
31
+ #: core/mime-types.php:115
32
  #, php-format
33
  msgid " <span class=\"count\">(%s)</span>"
34
  msgid_plural " <span class=\"count\">(%s)</span>"
35
  msgstr[0] ""
36
  msgstr[1] ""
37
 
38
+ #: core/options-pages.php:72 core/options-pages.php:73
39
  msgid "Enhanced Media Library"
40
  msgstr ""
41
 
42
+ #: core/options-pages.php:82 core/options-pages.php:83
43
+ #: core/options-pages.php:92
44
  msgid "Media Settings"
45
  msgstr ""
46
 
47
+ #: core/options-pages.php:93 core/options-pages.php:754
48
+ #: core/options-pages.php:777 core/options-pages.php:817
49
+ #: core/options-pages.php:879 core/options-pages.php:1242
50
  msgid "Settings"
51
  msgstr ""
52
 
53
+ #: core/options-pages.php:100 core/options-pages.php:101
54
+ #: core/options-pages.php:687
55
  msgid "Taxonomies"
56
  msgstr ""
57
 
58
+ #: core/options-pages.php:109 core/options-pages.php:110
59
+ #: core/options-pages.php:1070
60
  msgid "MIME Types"
61
  msgstr ""
62
 
63
+ #: core/options-pages.php:148 core/options-pages.php:728
64
+ #: core/options-pages.php:743 core/options-pages.php:806
65
+ #: core/options-pages.php:876
66
  msgid "Edit"
67
  msgstr ""
68
 
69
+ #: core/options-pages.php:149 pro/enhanced-media-library-pro.php:184
70
  msgid "Close"
71
  msgstr ""
72
 
73
+ #: core/options-pages.php:150 core/options-pages.php:744
74
+ #: core/options-pages.php:807
75
  msgid "View"
76
  msgstr ""
77
 
78
+ #: core/options-pages.php:151 core/options-pages.php:745
79
+ #: core/options-pages.php:808
80
  msgid "Update"
81
  msgstr ""
82
 
83
+ #: core/options-pages.php:152 core/options-pages.php:746
84
+ #: core/options-pages.php:809
85
  msgid "Add New"
86
  msgstr ""
87
 
88
+ #: core/options-pages.php:153 core/options-pages.php:747
89
+ #: core/options-pages.php:810
90
  msgid "New"
91
  msgstr ""
92
 
93
+ #: core/options-pages.php:154
94
  msgid "Name"
95
  msgstr ""
96
 
97
+ #: core/options-pages.php:155 core/options-pages.php:748
98
+ #: core/options-pages.php:811
99
  msgid "Parent"
100
  msgstr ""
101
 
102
+ #: core/options-pages.php:156 core/options-pages.php:372
103
+ #: core/options-pages.php:742 core/options-pages.php:805
104
  msgid "All"
105
  msgstr ""
106
 
107
+ #: core/options-pages.php:157 core/options-pages.php:749
108
+ #: core/options-pages.php:812
109
  msgid "Search"
110
  msgstr ""
111
 
112
+ #: core/options-pages.php:159
113
  msgid ""
114
  "Taxonomy will be deleted permanently! Your media files will remain intacted, "
115
  "but all the connections with this taxonomy and its terms will be lost."
116
  msgstr ""
117
 
118
+ #: core/options-pages.php:160
119
  msgid "There is already a taxonomy with the same name. Please chose other one."
120
  msgstr ""
121
 
122
+ #: core/options-pages.php:161 core/options-pages.php:793
123
  msgid "New Taxonomy"
124
  msgstr ""
125
 
126
+ #: core/options-pages.php:162
127
  msgid "Please choose Singular and Plural names for all your new taxomonies."
128
  msgstr ""
129
 
130
+ #: core/options-pages.php:163
131
  msgid "Please choose Singilar name for all your new taxomonies."
132
  msgstr ""
133
 
134
+ #: core/options-pages.php:164
135
  msgid "Please choose Plural Name for all your new taxomonies."
136
  msgstr ""
137
 
138
+ #: core/options-pages.php:167 pro/core/options-pages.php:162
139
+ msgid "Synchronize Now"
140
+ msgstr ""
141
+
142
+ #: core/options-pages.php:168
143
+ msgid "This operation cannot be canceled. Are you still sure?"
144
+ msgstr ""
145
+
146
+ #: core/options-pages.php:169
147
+ msgid "Synchronize"
148
+ msgstr ""
149
+
150
+ #: core/options-pages.php:170 core/options-pages.php:249
151
+ msgid "Cancel"
152
+ msgstr ""
153
+
154
+ #: core/options-pages.php:171
155
+ msgid "Synchronizing..."
156
+ msgstr ""
157
+
158
+ #: core/options-pages.php:207
159
  msgid "Warning! All your custom MIME Types will be deleted by this operation."
160
  msgstr ""
161
 
162
+ #: core/options-pages.php:208
163
  msgid "Please fill into all fields."
164
  msgstr ""
165
 
166
+ #: core/options-pages.php:209
167
  msgid "Duplicate extensions or MIME types. Please chose other one."
168
  msgstr ""
169
 
170
+ #: core/options-pages.php:245
171
+ msgid ""
172
+ "You are about to <strong style=\"text-transform:uppercase\">delete all "
173
+ "plugin data</strong> from the database including backups."
174
+ msgstr ""
175
+
176
+ #: core/options-pages.php:246
177
+ msgid "The operation cannot be canceled! Are you still sure?"
178
+ msgstr ""
179
+
180
+ #: core/options-pages.php:247 core/options-pages.php:363
181
+ msgid "Complete Cleanup"
182
+ msgstr ""
183
+
184
+ #: core/options-pages.php:248
185
+ msgid "Yes, delete all data"
186
+ msgstr ""
187
+
188
+ #: core/options-pages.php:250
189
+ msgid "Cleaning..."
190
+ msgstr ""
191
+
192
+ #: core/options-pages.php:275 core/options-pages.php:679
193
+ #: core/options-pages.php:1062
194
  msgid "You do not have sufficient permissions to access this page."
195
  msgstr ""
196
 
197
+ #: core/options-pages.php:280
198
  msgid "Enhanced Media Library Settings"
199
  msgstr ""
200
 
201
+ #: core/options-pages.php:291
202
  msgid "Export"
203
  msgstr ""
204
 
205
+ #: core/options-pages.php:295
206
  msgid ""
207
  "The plugin settings <strong>Media Settings > Taxonomies</strong> and "
208
  "<strong>Media Settings > MIME Types</strong> will be exported to a "
210
  "another website."
211
  msgstr ""
212
 
213
+ #: core/options-pages.php:300
214
  msgid "Export Plugin Settings"
215
  msgstr ""
216
 
217
+ #: core/options-pages.php:310
218
  msgid "Import"
219
  msgstr ""
220
 
221
+ #: core/options-pages.php:314
222
  msgid ""
223
  "The plugin settings <strong>Media Settings > Taxonomies</strong> and "
224
  "<strong>Media Settings > MIME Types</strong> will be imported from a "
226
  "another website using the export button above."
227
  msgstr ""
228
 
229
+ #: core/options-pages.php:315
230
  msgid ""
231
  "All plugin settings will be overriden by the import. You will have a chance "
232
  "to restore current data from an automatic backup in case you are not "
233
  "satisfied with the result of the import."
234
  msgstr ""
235
 
236
+ #: core/options-pages.php:322
237
  msgid "Import Plugin Settings"
238
  msgstr ""
239
 
240
+ #: core/options-pages.php:334
241
  msgid "Restore"
242
  msgstr ""
243
 
244
+ #: core/options-pages.php:340
245
  msgid "No backup available at the moment."
246
  msgstr ""
247
 
248
+ #: core/options-pages.php:342
249
  msgid "Backup will be created automatically before any import operation."
250
  msgstr ""
251
 
252
+ #: core/options-pages.php:346
253
  msgid ""
254
  "The backup had been automatically created before the latest import opetarion."
255
  msgstr ""
256
 
257
+ #: core/options-pages.php:350
258
  msgid "Restore Settings from the Backup"
259
  msgstr ""
260
 
261
+ #: core/options-pages.php:370
262
+ msgid "What will be deleted:"
263
+ msgstr ""
264
+
265
+ #: core/options-pages.php:375
266
+ msgid "All plugin options"
267
+ msgstr ""
268
+
269
+ #: core/options-pages.php:376
270
+ msgid "All plugin backups stored in database"
271
+ msgstr ""
272
+
273
+ #: core/options-pages.php:380
274
+ msgid "What will remain intact:"
275
+ msgstr ""
276
+
277
+ #: core/options-pages.php:381
278
+ msgid "All media items"
279
+ msgstr ""
280
+
281
+ #: core/options-pages.php:382
282
+ msgid "All taxonomies not listed above"
283
+ msgstr ""
284
+
285
+ #: core/options-pages.php:385
286
+ msgid ""
287
+ "The plugin cannot delete itself because of security reason. Please delete it "
288
+ "manually from plugin list after cleanup."
289
+ msgstr ""
290
+
291
+ #: core/options-pages.php:387
292
+ msgid ""
293
+ "If you are not sure about this operation please create a backup of your "
294
+ "database prior to cleanup!"
295
+ msgstr ""
296
+
297
+ #: core/options-pages.php:393
298
+ msgid "Delete All Data & Deactivate"
299
+ msgstr ""
300
+
301
+ #: core/options-pages.php:498
302
  msgid "Please upload a file to import settings."
303
  msgstr ""
304
 
305
+ #: core/options-pages.php:517
306
  msgid "Plugin settings imported."
307
  msgstr ""
308
 
309
+ #: core/options-pages.php:563
310
  msgid "Plugin settings restored from the backup."
311
  msgstr ""
312
 
313
+ #: core/options-pages.php:703
314
  msgid "Media Taxonomies"
315
  msgstr ""
316
 
317
+ #: core/options-pages.php:707 core/options-pages.php:855
318
  msgid "Assign following taxonomies to Media Library:"
319
  msgstr ""
320
 
321
+ #: core/options-pages.php:725 core/options-pages.php:791
322
+ #: core/options-pages.php:873
323
  msgid "Assign Taxonomy"
324
  msgstr ""
325
 
326
+ #: core/options-pages.php:728 core/options-pages.php:876
327
  msgid "Edit Taxonomy"
328
  msgstr ""
329
 
330
+ #: core/options-pages.php:732 core/options-pages.php:795
331
  msgid "Delete Taxonomy"
332
  msgstr ""
333
 
334
+ #: core/options-pages.php:737 core/options-pages.php:800
335
  msgid "Labels"
336
  msgstr ""
337
 
338
+ #: core/options-pages.php:739 core/options-pages.php:802
339
  msgid "Singular"
340
  msgstr ""
341
 
342
+ #: core/options-pages.php:740 core/options-pages.php:803
343
  msgid "Plural"
344
  msgstr ""
345
 
346
+ #: core/options-pages.php:741 core/options-pages.php:804
347
  msgid "Menu Name"
348
  msgstr ""
349
 
350
+ #: core/options-pages.php:756 core/options-pages.php:819
351
  msgid "Taxonomy Name"
352
  msgstr ""
353
 
354
+ #: core/options-pages.php:757 core/options-pages.php:820
355
  msgid "Hierarchical"
356
  msgstr ""
357
 
358
+ #: core/options-pages.php:758 core/options-pages.php:821
359
+ msgid "Column for List View"
360
  msgstr ""
361
 
362
+ #: core/options-pages.php:759 core/options-pages.php:779
363
+ #: core/options-pages.php:822 core/options-pages.php:881
364
+ msgid "Filter for List View"
365
  msgstr ""
366
 
367
+ #: core/options-pages.php:760 core/options-pages.php:780
368
+ #: core/options-pages.php:823 core/options-pages.php:882
369
+ msgid "Filter for Grid View / Media Popup"
370
  msgstr ""
371
 
372
+ #: core/options-pages.php:761 core/options-pages.php:781
373
+ #: core/options-pages.php:824 core/options-pages.php:883
374
  msgid "Edit in Media Popup"
375
  msgstr ""
376
 
377
+ #: core/options-pages.php:762 core/options-pages.php:825
378
  msgid "Show in Nav Menu"
379
  msgstr ""
380
 
381
+ #: core/options-pages.php:763 core/options-pages.php:826
382
  msgid "Remember Terms Order (sort)"
383
  msgstr ""
384
 
385
+ #: core/options-pages.php:764 core/options-pages.php:827
386
  msgid "Show in REST"
387
  msgstr ""
388
 
389
+ #: core/options-pages.php:765 core/options-pages.php:828
390
  msgid "Rewrite Slug"
391
  msgstr ""
392
 
393
+ #: core/options-pages.php:766 core/options-pages.php:829
394
  msgid "Slug with Front"
395
  msgstr ""
396
 
397
+ #: core/options-pages.php:841
398
  msgid "Add New Taxonomy"
399
  msgstr ""
400
 
401
+ #: core/options-pages.php:851
402
  msgid "Non-Media Taxonomies"
403
  msgstr ""
404
 
405
+ #: core/options-pages.php:913
406
  msgid "Options"
407
  msgstr ""
408
 
409
+ #: core/options-pages.php:919
410
  msgid "General"
411
  msgstr ""
412
 
413
+ #: core/options-pages.php:925 core/options-pages.php:928
414
  msgid "Taxonomy archive pages"
415
  msgstr ""
416
 
417
+ #: core/options-pages.php:929
418
  msgid "Turn on media taxonomy archive pages on the front-end"
419
  msgstr ""
420
 
421
+ #: core/options-pages.php:930
422
  msgid ""
423
  "Re-save your permalink settings after this option change to make it work."
424
  msgstr ""
425
 
426
+ #: core/options-pages.php:936
427
  msgid "Assign all like hierarchical"
428
  msgstr ""
429
 
430
+ #: core/options-pages.php:938
431
  msgid ""
432
  "Show non-hierarchical taxonomies like hierarchical in Grid View / Media Popup"
433
  msgstr ""
434
 
435
+ #: core/options-pages.php:952
436
  msgid "Filters"
437
  msgstr ""
438
 
439
+ #: core/options-pages.php:959
440
  msgid "Force filters"
441
  msgstr ""
442
 
443
+ #: core/options-pages.php:961
444
  msgid "Show media filters for ANY Media Popup"
445
  msgstr ""
446
 
447
+ #: core/options-pages.php:962
448
  msgid "Try this if filters are not shown for third-party plugins or themes."
449
  msgstr ""
450
 
451
+ #: core/options-pages.php:967
452
  msgid "Order media items by"
453
  msgstr ""
454
 
455
+ #: core/options-pages.php:974 core/options-pages.php:986
456
  msgid "For media library and media popups"
457
  msgstr ""
458
 
459
+ #: core/options-pages.php:975
460
  msgid "Option allows to change order by drag and drop with Custom Order value."
461
  msgstr ""
462
 
463
+ #: core/options-pages.php:980
464
  msgid "Sort order"
465
  msgstr ""
466
 
467
+ #: core/options-pages.php:999
468
  msgid "Media Shortcodes"
469
  msgstr ""
470
 
471
+ #: core/options-pages.php:1006 core/options-pages.php:1009
472
  msgid "Enhanced media shortcodes"
473
  msgstr ""
474
 
475
+ #: core/options-pages.php:1010
476
  msgid ""
477
  "Enhance WordPress media shortcodes to make them understand media taxonomies, "
478
  "uploade date, and media items number limit"
479
  msgstr ""
480
 
481
+ #: core/options-pages.php:1011
482
  msgid ""
483
  "Gallery example: [gallery media_category=\"5\" limit=\"10\" monthnum=\"12\" "
484
  "year=\"2015\"]"
485
  msgstr ""
486
 
487
+ #: core/options-pages.php:1012
488
  msgid ""
489
  "Audio playlist example: [playlist media_category=\"5\" limit=\"10\" monthnum="
490
  "\"12\" year=\"2015\"]"
491
  msgstr ""
492
 
493
+ #: core/options-pages.php:1013
494
  msgid ""
495
  "Video playlist example: [playlist type=\"video\" media_category=\"5\" limit="
496
  "\"10\" monthnum=\"12\" year=\"2015\"]"
497
  msgstr ""
498
 
499
+ #: core/options-pages.php:1015
500
  #, php-format
501
  msgid ""
502
  "%sWarning:%s Incompatibility with other gallery plugins or themes possible!"
503
  msgstr ""
504
 
505
+ #: core/options-pages.php:1017
506
  #, php-format
507
  msgid "%sLearn more%s."
508
  msgstr ""
509
 
510
+ #: core/options-pages.php:1019
511
  #, php-format
512
  msgid ""
513
  "Please check out your gallery front-end and back-end functionality once this "
515
  "%s."
516
  msgstr ""
517
 
518
+ #: core/options-pages.php:1071
519
  msgid "Add New MIME Type"
520
  msgstr ""
521
 
522
+ #: core/options-pages.php:1089 core/options-pages.php:1144
523
  msgid "Extension"
524
  msgstr ""
525
 
526
+ #: core/options-pages.php:1090 core/options-pages.php:1145
527
  msgid "MIME Type"
528
  msgstr ""
529
 
530
+ #: core/options-pages.php:1091 core/options-pages.php:1146
531
  msgid "Singular Label"
532
  msgstr ""
533
 
534
+ #: core/options-pages.php:1092 core/options-pages.php:1147
535
  msgid "Plural Label"
536
  msgstr ""
537
 
538
+ #: core/options-pages.php:1093 core/options-pages.php:1123
539
+ #: core/options-pages.php:1136 core/options-pages.php:1148
540
  msgid "Add Filter"
541
  msgstr ""
542
 
543
+ #: core/options-pages.php:1094 core/options-pages.php:1124
544
+ #: core/options-pages.php:1137 core/options-pages.php:1149
545
  msgid "Allow Upload"
546
  msgstr ""
547
 
548
+ #: core/options-pages.php:1138
549
  msgid "Delete MIME Type"
550
  msgstr ""
551
 
552
+ #: core/options-pages.php:1155
553
  msgid "Restore WordPress default MIME Types"
554
  msgstr ""
555
 
556
+ #: core/options-pages.php:1157 pro/enhanced-media-library-pro.php:183
557
  msgid "Save Changes"
558
  msgstr ""
559
 
560
+ #: core/taxonomies.php:83
561
  msgid "Taxonomy settings saved."
562
  msgstr ""
563
 
564
+ #: core/taxonomies.php:319 core/taxonomies.php:325
565
+ #: enhanced-media-library.php:491
566
  msgid "Filter by "
567
  msgstr ""
568
 
569
+ #: core/taxonomies.php:326 enhanced-media-library.php:492
570
  msgid "All "
571
  msgstr ""
572
 
573
+ #: core/taxonomies.php:327 enhanced-media-library.php:493
574
  msgid "Not in "
575
  msgstr ""
576
 
577
+ #: enhanced-media-library.php:334 enhanced-media-library.php:490
578
+ msgid "All Uncategorized"
579
+ msgstr ""
580
+
581
+ #: enhanced-media-library.php:335 enhanced-media-library.php:494
582
+ msgid "Reset All Filters"
583
+ msgstr ""
584
+
585
+ #: enhanced-media-library.php:525
586
  msgid "Uploaded to post #"
587
  msgstr ""
588
 
589
+ #: enhanced-media-library.php:526
590
  msgid "Based On"
591
  msgstr ""
592
 
593
+ #: pro/core/bulk-edit.php:58 pro/core/bulk-edit.php:65
594
  msgid "Remove"
595
  msgstr ""
596
 
597
+ #: pro/core/bulk-edit.php:60 pro/core/bulk-edit.php:67
598
  msgid "Deselect"
599
  msgstr ""
600
 
601
+ #: pro/core/bulk-edit.php:112
602
  msgid "Caption this image&hellip;"
603
  msgstr ""
604
 
605
+ #: pro/core/bulk-edit.php:116
606
  msgid "Describe this video&hellip;"
607
  msgstr ""
608
 
609
+ #: pro/core/bulk-edit.php:118
610
  msgid "Describe this audio file&hellip;"
611
  msgstr ""
612
 
613
+ #: pro/core/bulk-edit.php:120
614
  msgid "Describe this media file&hellip;"
615
  msgstr ""
616
 
617
+ #: pro/core/bulk-edit.php:129
618
  msgid "Attachments Details"
619
  msgstr ""
620
 
621
+ #: pro/core/bulk-edit.php:181 pro/core/bulk-edit.php:186
622
  msgid "Select All"
623
  msgstr ""
624
 
625
+ #: pro/core/bulk-edit.php:182 pro/core/bulk-edit.php:187
626
  msgid "Edit Selection"
627
  msgstr ""
628
 
629
+ #: pro/core/bulk-edit.php:183 pro/core/bulk-edit.php:188
630
  msgid "Deselect All"
631
  msgstr ""
632
 
633
+ #: pro/core/bulk-edit.php:184 pro/core/bulk-edit.php:189
634
  msgid "Delete Selected"
635
  msgstr ""
636
 
637
+ #: pro/core/medialist.php:24 pro/core/medialist.php:69
638
  msgid "Order By"
639
  msgstr ""
640
 
641
+ #: pro/core/medialist.php:28 pro/core/medialist.php:73
642
  msgid "Date"
643
  msgstr ""
644
 
645
+ #: pro/core/medialist.php:31 pro/core/medialist.php:76
646
  msgid "Title"
647
  msgstr ""
648
 
649
+ #: pro/core/medialist.php:34 pro/core/medialist.php:79
650
  msgid "Custom Order"
651
  msgstr ""
652
 
653
+ #: pro/core/medialist.php:37 pro/core/medialist.php:82
654
  msgid "Random"
655
  msgstr ""
656
 
657
+ #: pro/core/medialist.php:43 pro/core/medialist.php:88
658
  msgid "Order"
659
  msgstr ""
660
 
661
+ #: pro/core/medialist.php:47 pro/core/medialist.php:92
662
  msgid "Ascending"
663
  msgstr ""
664
 
665
+ #: pro/core/medialist.php:50 pro/core/medialist.php:95
666
  msgid "Descending"
667
  msgstr ""
668
 
669
+ #: pro/core/medialist.php:60 pro/core/medialist.php:101
670
  msgid "Limit"
671
  msgstr ""
672
 
673
+ #: pro/core/options-pages.php:75
674
  msgid "Your license has been deactivated."
675
  msgstr ""
676
 
677
+ #: pro/core/options-pages.php:85
678
  msgid "Please check if your license key is correct and try again."
679
  msgstr ""
680
 
681
+ #: pro/core/options-pages.php:98
682
  msgid ""
683
  "Wrong license key or a server error occured. Please check your license key "
684
  "and try again."
685
  msgstr ""
686
 
687
+ #: pro/core/options-pages.php:108
688
  msgid "You license has been activated."
689
  msgstr ""
690
 
691
+ #: pro/core/options-pages.php:161
692
+ #, php-format
693
+ msgid "Auto-assign media items to parent %s %s on upload"
694
+ msgstr ""
695
+
696
+ #: pro/core/options-pages.php:162
697
+ #, php-format
698
+ msgid ""
699
+ "%sWarning:%s As a result of clicking \"Synchronize Now\" all media items "
700
+ "attached to a %s will be assigned to %s of their parent %s. Currently "
701
+ "assigned %s will not be saved. Media items that are not attached to any %s "
702
+ "will not be affected."
703
+ msgstr ""
704
+
705
+ #: pro/core/options-pages.php:185 pro/enhanced-media-library-pro.php:186
706
  msgid "Bulk Edit"
707
  msgstr ""
708
 
709
+ #: pro/core/options-pages.php:193 pro/core/options-pages.php:196
710
  msgid "Turn off 'Save Changes' button"
711
  msgstr ""
712
 
713
+ #: pro/core/options-pages.php:197
714
  msgid "Save changes on the fly"
715
  msgstr ""
716
 
717
+ #: pro/core/options-pages.php:198
718
  msgid ""
719
  "Any click on a taxonomy checkbox during media files bulk edition will lead "
720
  "to an <strong style=\"color:red\">immediate saving</strong> of the data. "
723
  "files / taxonomies with this option turned on."
724
  msgstr ""
725
 
726
+ #: pro/core/options-pages.php:199
727
  msgid ""
728
  "Strongly NOT recommended option if you work with more than hundred of files "
729
  "at a time."
730
  msgstr ""
731
 
732
+ #: pro/core/options-pages.php:238 pro/core/options-pages.php:256
733
  msgid "License Key"
734
  msgstr ""
735
 
736
+ #: pro/core/options-pages.php:249
737
  #, php-format
738
  msgid ""
739
  "To unlock updates please enter your license key below. You can get your "
741
  "license, you are welcome to <a href=\"%s\">purchase it</a>."
742
  msgstr ""
743
 
744
+ #: pro/core/options-pages.php:259
745
  msgid "Activate License"
746
  msgstr ""
747
 
748
+ #: pro/core/options-pages.php:266
749
  msgid "Your license is active!"
750
  msgstr ""
751
 
752
+ #: pro/core/options-pages.php:270
753
  msgid "Deactivate License"
754
  msgstr ""
755
 
756
+ #: pro/core/update.php:113 pro/core/update.php:119 pro/core/update.php:125
757
  msgid ""
758
  "An unexpected error occurred. Something may be wrong with WordPress.org or "
759
  "this server&#8217;s configuration. If you continue to have problems, please "
760
  "try the <a href=\"https://wordpress.org/support/\">support forums</a>."
761
  msgstr ""
762
 
763
+ #: pro/core/update.php:113
764
  msgid ""
765
  "(WordPress could not establish a secure connection to WordPress.org. Please "
766
  "contact your server administrator.)"
767
  msgstr ""
768
 
769
+ #: pro/core/update.php:180
770
  #, php-format
771
  msgid ""
772
  "To unlock updates, please <a href=\"%s\">activate your license</a>. You can "
774
  "a license, you are welcome to <a href=\"%s\">purchase it</a>."
775
  msgstr ""
776
 
777
+ #: pro/enhanced-media-library-pro.php:105
778
+ #: pro/enhanced-media-library-pro.php:117
779
  msgid "Expand Details"
780
  msgstr ""
781
 
782
+ #: pro/enhanced-media-library-pro.php:106
783
+ #: pro/enhanced-media-library-pro.php:118
784
  msgid "Collapse Details"
785
  msgstr ""
786
 
787
+ #: pro/enhanced-media-library-pro.php:109
788
  msgid "Validation Failed. One or more fields below are required."
789
  msgstr ""
790
 
791
+ #: pro/enhanced-media-library-pro.php:116
792
  msgid "The changes you made will be lost if you navigate away from this page"
793
  msgstr ""
794
 
795
+ #: pro/enhanced-media-library-pro.php:178
796
  msgid "ALL files belong to this item"
797
  msgstr ""
798
 
799
+ #: pro/enhanced-media-library-pro.php:179
800
  msgid "SOME files belong to this item"
801
  msgstr ""
802
 
803
+ #: pro/enhanced-media-library-pro.php:180
804
  msgid "NO files belong to this item"
805
  msgstr ""
806
 
807
+ #: pro/enhanced-media-library-pro.php:181
808
  msgid "Changes saved."
809
  msgstr ""
810
 
811
+ #: pro/enhanced-media-library-pro.php:182
812
  msgid "Something went wrong."
813
  msgstr ""
814
 
815
+ #: pro/enhanced-media-library-pro.php:185
816
  msgid "Edit Media Files"
817
  msgstr ""
818
 
819
+ #: pro/enhanced-media-library-pro.php:210
820
  msgid "Create a filter-based gallery"
821
  msgstr ""
822
 
823
+ #: pro/enhanced-media-library-pro.php:211
824
  msgid "Create a filter-based playlist"
825
  msgstr ""
826
 
827
+ #: pro/enhanced-media-library-pro.php:212
828
  msgid "Create a filter-based video playlist"
829
  msgstr ""
830
 
831
+ #: pro/enhanced-media-library-pro.php:290
832
  msgid ""
833
  "Please deactivate and <strong>remove</strong> the old FREE version prior to "
834
  "the <strong>Enhanced Media Library PRO</strong> activation. All your data "
835
  "will remain intact."
836
  msgstr ""
837
 
838
+ #: pro/enhanced-media-library-pro.php:290
839
  msgid "Return to Plugins"
840
  msgstr ""
841
 
842
+ #: pro/enhanced-media-library-pro.php:341
843
  msgid ""
844
  "Both FREE and PRO versions of the Enhanced Media Library are network active. "
845
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
847
  "plugin. All your data will remail intact."
848
  msgstr ""
849
 
850
+ #: pro/enhanced-media-library-pro.php:358
851
  msgid ""
852
  "<strong>Enhanced Media Library PRO</strong> does not require free version to "
853
  "be active. Please deactivate and delete the free version of the plugin. All "
854
  "your data will remain intact."
855
  msgstr ""
856
 
857
+ #: pro/enhanced-media-library-pro.php:374
858
  msgid ""
859
  "Both FREE and PRO versions of the Enhanced Media Library are active for this "
860
  "site. <strong>Enhanced Media Library PRO</strong> does not require free "
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: webbistro
3
  Tags: media library, media category, media categories, media gallery, gallery shortcode, media tag, media tags, media taxonomy, media taxonomies, media uploader, mime type, mime, mime types, file types, media types, media filter, attachment, gallery, image, images, media, ux, user experience, wp-admin, admin, taxonomy, taxonomies
4
  Requires at least: 4.4
5
- Tested up to: 4.4.1
6
- Stable tag: 2.1.7
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -73,6 +73,7 @@ Support is free for both versions of the plugin. "PRO"-users do not have priorit
73
  * Hebrew
74
  * Korean
75
  * Polish
 
76
  * Swedish
77
 
78
  Many thanks to the authors of the translations! If you wish to be credited here please just let us know what name and URL we have to use.
@@ -101,9 +102,11 @@ Please notice that you use the Enhanced Media Library with other plugins that ad
101
 
102
  > The key features:
103
 
104
- > * Media files can be categorized in bulk (multiple files to multiple taxonomies at once) both just uploaded and existing
105
- > * Media files within a category can be selected in bulk with a single click
106
- > * Selected media files can be deleted in bulk in the Grid mode of the media library or in the post/page editor media popup
 
 
107
  > * Filter-based gallery in two clicks, no need to figure out your media category IDs, nor to delve into the text editor shortcode
108
 
109
 
@@ -148,7 +151,9 @@ Also, you can use WP_Query ([example of the code](http://wordpress.org/support/t
148
 
149
  First, please make sure that you chose "Custom Order" on `Media Settings > Taxonomies > Options > Filters > Order media items by`.
150
 
151
- If you use Chrome on Windows, there can be an unexplored issue with it. See core tickets [#22607](https://core.trac.wordpress.org/ticket/22607), [#29606](https://core.trac.wordpress.org/ticket/29606), [#31652](https://core.trac.wordpress.org/ticket/31652). Feel free to contribute your issue details. Meanwhile, use other browser to re-order with drag and drop.
 
 
152
 
153
  = My gallery behavior is strange | Wrong or none media items displayed | Ligtbox/carousel/slideshow/mosaic looks broken =
154
 
@@ -194,6 +199,25 @@ No, all your data will remain intact. Your created media categories and their ti
194
 
195
  == Changelog ==
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  = 2.1.7 =
198
  *Release Date - January 24, 2016*
199
 
2
  Contributors: webbistro
3
  Tags: media library, media category, media categories, media gallery, gallery shortcode, media tag, media tags, media taxonomy, media taxonomies, media uploader, mime type, mime, mime types, file types, media types, media filter, attachment, gallery, image, images, media, ux, user experience, wp-admin, admin, taxonomy, taxonomies
4
  Requires at least: 4.4
5
+ Tested up to: 4.4.2
6
+ Stable tag: 2.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
73
  * Hebrew
74
  * Korean
75
  * Polish
76
+ * Spanish (thanks to Jose Antonio Ruiz)
77
  * Swedish
78
 
79
  Many thanks to the authors of the translations! If you wish to be credited here please just let us know what name and URL we have to use.
102
 
103
  > The key features:
104
 
105
+ > * Media items categorization in bulk (multiple items to multiple categories at once) for both just uploaded and existing
106
+ > * Media items within a category can be selected in bulk with a single click
107
+ > * Selected media items can be deleted in bulk in the Grid mode of the media library or in the post/page editor media popup with a single click
108
+ > * Media items child to a post of any type can be auto-assigned to their parent post categories on upload
109
+ > * Categories of existing media items can be synchronized with their parent post categories of any type with a single click
110
  > * Filter-based gallery in two clicks, no need to figure out your media category IDs, nor to delve into the text editor shortcode
111
 
112
 
151
 
152
  First, please make sure that you chose "Custom Order" on `Media Settings > Taxonomies > Options > Filters > Order media items by`.
153
 
154
+ If you use Chrome on Windows, there can be an unexplored issue with it. See core tickets [#22607](https://core.trac.wordpress.org/ticket/22607), [#29606](https://core.trac.wordpress.org/ticket/29606), [#31652](https://core.trac.wordpress.org/ticket/31652). Feel free to contribute your issue details.
155
+
156
+ In case you use Chrome on a touch screen laptop try to fix the issue as described [here](https://github.com/dbushell/Nestable/issues/92) or use other browser to re-order with drag and drop.
157
 
158
  = My gallery behavior is strange | Wrong or none media items displayed | Ligtbox/carousel/slideshow/mosaic looks broken =
159
 
199
 
200
  == Changelog ==
201
 
202
+ = 2.2 =
203
+ *Release Date - March 19, 2016*
204
+
205
+ = New =
206
+ * Option "Auto-assign media items to parent post categories on upload" added per non-media taxonomy [PRO only]
207
+ * Options and database cleanup added
208
+
209
+ = Improvements =
210
+ * Few security improvements
211
+ * Few CSS, UI and behavior improvements
212
+ * Slight performance improvement
213
+
214
+ = Bugfixes =
215
+ * A bug with non-saved drag and drop order in media library fixed
216
+ * A bug with "Reset All Filters" button fixed
217
+ * Custom order works now correctly on upload
218
+
219
+
220
+ &nbsp;
221
  = 2.1.7 =
222
  *Release Date - January 24, 2016*
223