All-in-One Video Gallery - Version 2.5.1

Version Description

  • New: Ajax Pagination.
  • New: Options to disable cookies added by the plugin.
  • New: A filter hook "aiovg_socialshare_buttons" for developers to override the plugin's social media buttons.
  • Tweak: Tags input field rebuilt using "jQuery AutoComplete UI" instead of the "Select2" library.
  • Fix: [+] few minor bug fixes.
Download this release

Release Info

Developer plugins360
Plugin Icon 128x128 All-in-One Video Gallery
Version 2.5.1
Comparing to
See all releases

Code changes from version 2.5.0 to 2.5.1

Files changed (43) hide show
  1. README.txt +14 -4
  2. admin/admin.php +1 -3
  3. admin/assets/css/admin.css +12 -4
  4. admin/assets/js/admin.js +30 -0
  5. admin/partials/shortcode-builder.php +3 -2
  6. admin/settings.php +28 -1
  7. admin/videos.php +93 -26
  8. all-in-one-video-gallery.php +2 -2
  9. freemius/includes/class-freemius.php +1 -1
  10. includes/activator.php +0 -3
  11. includes/functions.php +159 -51
  12. includes/init.php +12 -3
  13. includes/player.php +2 -2
  14. includes/uninstall.php +1 -0
  15. languages/all-in-one-video-gallery.pot +359 -315
  16. public/assets/css/public.css +67 -1
  17. public/assets/images/spinner-light.gif +0 -0
  18. public/assets/js/player.js +1 -0
  19. public/assets/js/public.js +127 -5
  20. public/categories.php +32 -5
  21. public/public.php +78 -26
  22. public/search.php +3 -3
  23. public/templates/categories-template-grid.php +10 -11
  24. public/templates/category-thumbnail.php +6 -2
  25. public/templates/player-html5.php +7 -2
  26. public/templates/search-form-template-horizontal.php +50 -32
  27. public/templates/search-form-template-vertical.php +37 -26
  28. public/templates/video-thumbnail-image-left.php +6 -2
  29. public/templates/video-thumbnail.php +6 -2
  30. public/templates/videos-template-classic.php +8 -14
  31. public/videos.php +46 -10
  32. vendor/{select2 → jquery-ui/images}/index.html +0 -0
  33. vendor/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  34. vendor/jquery-ui/index.html +1 -0
  35. vendor/jquery-ui/jquery-ui.css +1314 -0
  36. vendor/select2/select2.min.css +0 -1
  37. vendor/select2/select2.min.js +0 -2
  38. vendor/videojs-plugins/quality-selector/silvermine-videojs-quality-selector.min.js.map +1 -0
  39. widgets/categories.php +14 -3
  40. widgets/forms/categories.php +1 -0
  41. widgets/forms/videos.php +1 -1
  42. widgets/search.php +3 -3
  43. widgets/videos.php +16 -12
README.txt CHANGED
@@ -4,9 +4,9 @@ Contributors: plugins360, wpvideogallery, freemius
4
  Donate link: https://plugins360.com
5
  Tags: video player, video gallery, youtube gallery, vimeo gallery, livestream
6
  Requires at least: 4.7.0
7
- Tested up to: 5.8
8
  Requires PHP: 5.6.20
9
- Stable tag: 2.5.0
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -80,6 +80,8 @@ Similarly, the front-end gallery layouts added by our plugin can be customized b
80
 
81
  Do you speak another language? Want to contribute in a meaningful way to All-in-One Video Gallery? There's no better way than to help us translate the plugin. This plugin is translation ready and you can [translate](https://plugins360.com/all-in-one-video-gallery/translate-to-your-language/) to your language easy. Once finished, please reach out to us [here](https://plugins360.com/support/) to get your language file included in the core.
82
 
 
 
83
  ### SUPPORT AND DOCUMENTATION
84
 
85
  We do have [documentation](https://plugins360.com/all-in-one-video-gallery/documentation/) on the plugin.
@@ -134,6 +136,14 @@ Yes, it is. However, do not "network-activate" the plugin. Activate it only on t
134
 
135
  == Changelog ==
136
 
 
 
 
 
 
 
 
 
137
  = 2.5.0 =
138
 
139
  Security Fix: Addresses a validation error in the plugin dashboard that leads to a Local File Inclusion issue. Thanks to "Mr.Erwan LR" from wpscan.com for bringing this issue to us.
@@ -238,6 +248,6 @@ For the changelog of earlier versions, please refer to the [changelog on plugins
238
 
239
  == Upgrade Notice ==
240
 
241
- = 2.5.0 =
242
 
243
- Addresses a validation error in the plugin dashboard that leads to a Local File Inclusion issue. [See changelog](https://wordpress.org/plugins/all-in-one-video-gallery/#developers)
4
  Donate link: https://plugins360.com
5
  Tags: video player, video gallery, youtube gallery, vimeo gallery, livestream
6
  Requires at least: 4.7.0
7
+ Tested up to: 5.9
8
  Requires PHP: 5.6.20
9
+ Stable tag: 2.5.1
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
80
 
81
  Do you speak another language? Want to contribute in a meaningful way to All-in-One Video Gallery? There's no better way than to help us translate the plugin. This plugin is translation ready and you can [translate](https://plugins360.com/all-in-one-video-gallery/translate-to-your-language/) to your language easy. Once finished, please reach out to us [here](https://plugins360.com/support/) to get your language file included in the core.
82
 
83
+ Spanish translation partner - [Blarlo](https://www.blarlo.com/)
84
+
85
  ### SUPPORT AND DOCUMENTATION
86
 
87
  We do have [documentation](https://plugins360.com/all-in-one-video-gallery/documentation/) on the plugin.
136
 
137
  == Changelog ==
138
 
139
+ = 2.5.1 =
140
+
141
+ * New: Ajax Pagination.
142
+ * New: Options to disable cookies added by the plugin.
143
+ * New: A filter hook "aiovg_socialshare_buttons" for developers to override the plugin's social media buttons.
144
+ * Tweak: Tags input field rebuilt using "jQuery AutoComplete UI" instead of the "Select2" library.
145
+ * Fix: [+] few minor bug fixes.
146
+
147
  = 2.5.0 =
148
 
149
  Security Fix: Addresses a validation error in the plugin dashboard that leads to a Local File Inclusion issue. Thanks to "Mr.Erwan LR" from wpscan.com for bringing this issue to us.
248
 
249
  == Upgrade Notice ==
250
 
251
+ = 2.5.1 =
252
 
253
+ Introduces several bug fixes, new features & enhancements. [See changelog](https://wordpress.org/plugins/all-in-one-video-gallery/#developers)
admin/admin.php CHANGED
@@ -32,9 +32,6 @@ class AIOVG_Admin {
32
 
33
  // Update the plugin version
34
  update_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
35
-
36
- // Add a Vimeo update notice
37
- set_transient( 'aiovg_show_vimeo_update_notice', 1 );
38
 
39
  // Insert the missing player settings
40
  $player_settings = get_option( 'aiovg_player_settings' );
@@ -534,6 +531,7 @@ class AIOVG_Admin {
534
  'ajax_nonce' => wp_create_nonce( 'aiovg_ajax_nonce' ),
535
  'site_url' => esc_url_raw( get_site_url() ),
536
  'i18n' => array(
 
537
  'no_issues_slected' => __( 'Please select at least one issue.', 'all-in-one-video-gallery' ),
538
  'quality_exists' => __( 'Sorry, there is already a video with this quality level.', 'all-in-one-video-gallery' )
539
  )
32
 
33
  // Update the plugin version
34
  update_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
 
 
 
35
 
36
  // Insert the missing player settings
37
  $player_settings = get_option( 'aiovg_player_settings' );
531
  'ajax_nonce' => wp_create_nonce( 'aiovg_ajax_nonce' ),
532
  'site_url' => esc_url_raw( get_site_url() ),
533
  'i18n' => array(
534
+ 'copied' => __( 'Copied', 'all-in-one-video-gallery' ),
535
  'no_issues_slected' => __( 'Please select at least one issue.', 'all-in-one-video-gallery' ),
536
  'quality_exists' => __( 'Sorry, there is already a video with this quality level.', 'all-in-one-video-gallery' )
537
  )
admin/assets/css/admin.css CHANGED
@@ -582,20 +582,28 @@ table.aiovg-table .aiovg-handle {
582
  margin: 15px 0;
583
  }
584
 
585
- .branch-5-8 .aiovg-widget-form .aiovg-widget-field {
 
586
  margin: 7px 0;
587
  }
588
 
589
- .branch-5-8 .aiovg-widget-form .aiovg-checklist {
 
590
  padding: 7px;
591
  box-sizing: border-box;
592
  }
593
 
594
- .branch-5-8 .aiovg-widget-form .aiovg-checklist li::marker {
 
 
 
 
 
595
  content: "";
596
  }
597
 
598
- .branch-5-8 .aiovg-widget-form .aiovg-checklist label {
 
599
  margin: 0;
600
  }
601
 
582
  margin: 15px 0;
583
  }
584
 
585
+ .branch-5-8 .aiovg-widget-form .aiovg-widget-field,
586
+ .branch-5-9 .aiovg-widget-form .aiovg-widget-field {
587
  margin: 7px 0;
588
  }
589
 
590
+ .branch-5-8 .aiovg-widget-form .aiovg-checklist,
591
+ .branch-5-9 .aiovg-widget-form .aiovg-checklist {
592
  padding: 7px;
593
  box-sizing: border-box;
594
  }
595
 
596
+ .branch-5-9 .aiovg-widget-form .aiovg-checklist li {
597
+ margin: 0;
598
+ }
599
+
600
+ .branch-5-8 .aiovg-widget-form .aiovg-checklist li::marker,
601
+ .branch-5-9 .aiovg-widget-form .aiovg-checklist li::marker {
602
  content: "";
603
  }
604
 
605
+ .branch-5-8 .aiovg-widget-form .aiovg-checklist label,
606
+ .branch-5-9 .aiovg-widget-form .aiovg-checklist label {
607
  margin: 0;
608
  }
609
 
admin/assets/js/admin.js CHANGED
@@ -1,6 +1,20 @@
1
  (function( $ ) {
2
  'use strict';
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  /**
5
  * Display the media uploader.
6
  *
@@ -248,6 +262,22 @@
248
  return false;
249
  }
250
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
 
252
  // Videos: Toggle fields based on the selected video source type
253
  $( '#aiovg-video-type' ).on( 'change', function( e ) {
1
  (function( $ ) {
2
  'use strict';
3
 
4
+ /**
5
+ * Copy to Clipboard
6
+ *
7
+ * @since 2.5.1
8
+ */
9
+ function aiovg_copy_to_clipboard( text ) {
10
+ var input = document.body.appendChild( document.createElement( 'input' ) );
11
+ input.value = text;
12
+ input.focus();
13
+ input.select();
14
+ document.execCommand( 'copy' );
15
+ input.parentNode.removeChild( input );
16
+ }
17
+
18
  /**
19
  * Display the media uploader.
20
  *
262
  return false;
263
  }
264
  });
265
+
266
+ // Videos: Copy URL
267
+ $( '.aiovg-copy-url' ).on( 'click', function() {
268
+ var text = $( this ).data( 'url' );
269
+
270
+ aiovg_copy_to_clipboard( text );
271
+ alert( aiovg_admin.i18n.copied + "\n" + text );
272
+ });
273
+
274
+ // Videos: Copy Shortcode
275
+ $( '.aiovg-copy-shortcode' ).on( 'click', function() {
276
+ var text = '[aiovg_videos id="' + parseInt( $( this ).data( 'id' ) ) + '"]';
277
+
278
+ aiovg_copy_to_clipboard( text );
279
+ alert( aiovg_admin.i18n.copied + "\n" + text );
280
+ });
281
 
282
  // Videos: Toggle fields based on the selected video source type
283
  $( '#aiovg-video-type' ).on( 'change', function( e ) {
admin/partials/shortcode-builder.php CHANGED
@@ -33,12 +33,13 @@ if ( $aiovg_query->have_posts() ) {
33
  // Categories
34
  $is_category_found = 0;
35
 
36
- $args = array(
 
37
  'parent' => 0,
38
  'hide_empty' => false
39
  );
40
 
41
- $terms = get_terms( 'aiovg_categories', $args );
42
 
43
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
44
  $is_category_found = 1;
33
  // Categories
34
  $is_category_found = 0;
35
 
36
+ $args = array(
37
+ 'taxonomy' => 'aiovg_categories',
38
  'parent' => 0,
39
  'hide_empty' => false
40
  );
41
 
42
+ $terms = get_terms( $args );
43
 
44
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
45
  $is_category_found = 1;
admin/settings.php CHANGED
@@ -154,6 +154,13 @@ class AIOVG_Admin_Settings {
154
  'tab' => 'display',
155
  'page' => 'aiovg_image_settings'
156
  ),
 
 
 
 
 
 
 
157
  array(
158
  'id' => 'aiovg_socialshare_settings',
159
  'title' => __( 'Social Sharing', 'all-in-one-video-gallery' ),
@@ -590,6 +597,15 @@ class AIOVG_Admin_Settings {
590
  'sanitize_callback' => 'floatval'
591
  ),
592
  ),
 
 
 
 
 
 
 
 
 
593
  'aiovg_socialshare_settings' => array(
594
  array(
595
  'name' => 'services',
@@ -712,7 +728,18 @@ class AIOVG_Admin_Settings {
712
  'description' => '',
713
  'type' => 'text',
714
  'sanitize_callback' => 'sanitize_text_field'
715
- )
 
 
 
 
 
 
 
 
 
 
 
716
  )
717
  );
718
 
154
  'tab' => 'display',
155
  'page' => 'aiovg_image_settings'
156
  ),
157
+ array(
158
+ 'id' => 'aiovg_pagination_settings',
159
+ 'title' => __( 'Pagination Settings', 'all-in-one-video-gallery' ),
160
+ 'description' => '',
161
+ 'tab' => 'display',
162
+ 'page' => 'aiovg_pagination_settings'
163
+ ),
164
  array(
165
  'id' => 'aiovg_socialshare_settings',
166
  'title' => __( 'Social Sharing', 'all-in-one-video-gallery' ),
597
  'sanitize_callback' => 'floatval'
598
  ),
599
  ),
600
+ 'aiovg_pagination_settings' => array(
601
+ array(
602
+ 'name' => 'ajax',
603
+ 'label' => __( 'Ajax', 'all-in-one-video-gallery' ),
604
+ 'description' => __( 'Check this to enable Pagination with Ajax', 'all-in-one-video-gallery' ),
605
+ 'type' => 'checkbox',
606
+ 'sanitize_callback' => 'intval'
607
+ ),
608
+ ),
609
  'aiovg_socialshare_settings' => array(
610
  array(
611
  'name' => 'services',
728
  'description' => '',
729
  'type' => 'text',
730
  'sanitize_callback' => 'sanitize_text_field'
731
+ ),
732
+ array(
733
+ 'name' => 'disable_cookies',
734
+ 'label' => __( 'Disable Cookies', 'all-in-one-video-gallery' ),
735
+ 'description' => '',
736
+ 'type' => 'multicheck',
737
+ 'options' => array(
738
+ 'aiovg_videos_views' => __( '<strong>aiovg_videos_views</strong> - check this option for Total Views, but uncheck for the Unique Views. eg. 1 Person can watch a video 10 times and that will go under Total Views, but they will be stored once under Unique Views.', 'all-in-one-video-gallery' ),
739
+ 'aiovg_rand_seed' => __( '<strong>aiovg_rand_seed</strong> - uncheck this option if you show videos in a Random order with the Pagination on any of your pages.', 'all-in-one-video-gallery' )
740
+ ),
741
+ 'sanitize_callback' => 'aiovg_sanitize_array'
742
+ ),
743
  )
744
  );
745
 
admin/videos.php CHANGED
@@ -108,9 +108,9 @@ class AIOVG_Admin_Videos {
108
  'public' => true,
109
  'show_ui' => true,
110
  'show_in_menu' => false,
111
- 'show_in_nav_menus' => false,
112
  'show_in_admin_bar' => true,
113
- 'show_in_rest' => false,
114
  'can_export' => true,
115
  'has_archive' => true,
116
  'exclude_from_search' => false,
@@ -134,16 +134,6 @@ class AIOVG_Admin_Videos {
134
  register_post_type( 'aiovg_videos', $args );
135
  }
136
 
137
- /**
138
- * Remove 'Add Media' button from the WP editor.
139
- *
140
- * @since 1.0.0
141
- */
142
- public function remove_media_buttons() {
143
- global $current_screen;
144
- if ( 'aiovg_videos' == $current_screen->post_type ) remove_action( 'media_buttons', 'media_buttons' );
145
- }
146
-
147
  /**
148
  * Adds custom meta fields in the "Publish" meta box.
149
  *
@@ -458,12 +448,60 @@ class AIOVG_Admin_Videos {
458
  }
459
 
460
  // Set featured meta in query
 
 
 
 
461
  if ( isset( $_GET['aiovg_filter'] ) && 'featured' == $_GET['aiovg_filter'] ) {
462
- $query->query_vars['meta_key'] = 'featured';
463
- $query->query_vars['meta_value'] = 1;
464
- }
 
 
 
 
 
 
 
 
 
 
 
 
465
  }
466
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
467
 
468
  /**
469
  * Retrieve the table columns.
@@ -478,17 +516,27 @@ class AIOVG_Admin_Videos {
478
  ));
479
 
480
  $columns = aiovg_insert_array_after( 'taxonomy-aiovg_tags', $columns, array(
481
- 'views' => __( 'Views', 'all-in-one-video-gallery' ),
482
- 'featured' => __( 'Featured', 'all-in-one-video-gallery' ),
483
- 'post_id' => __( 'ID', 'all-in-one-video-gallery' )
484
  ));
485
 
486
- if ( ! current_user_can( 'manage_aiovg_options' ) ) {
487
- unset( $columns['featured'] );
488
- }
489
 
490
  return $columns;
491
  }
 
 
 
 
 
 
 
 
 
 
 
 
492
 
493
  /**
494
  * This function renders the custom columns in the list table.
@@ -504,17 +552,36 @@ class AIOVG_Admin_Videos {
504
  $image_id = get_post_meta( $post_id, 'image_id', true );
505
 
506
  printf(
507
- '<img src="%s" style="width: 75px;" />',
508
  aiovg_get_image_url( $image_id, 'thumbnail', $image_url )
509
  );
510
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
511
  case 'views':
512
  echo get_post_meta( $post_id, 'views', true );
513
  break;
514
- case 'featured':
515
- $value = get_post_meta( $post_id, 'featured', true );
516
- printf( '<span class="aiovg-tick-cross">%s</span>', ( 1 == $value ? '&#x2713;' : '&#x2717;' ) );
517
- break;
518
  case 'post_id':
519
  echo $post_id;
520
  break;
108
  'public' => true,
109
  'show_ui' => true,
110
  'show_in_menu' => false,
111
+ 'show_in_nav_menus' => true,
112
  'show_in_admin_bar' => true,
113
+ 'show_in_rest' => true,
114
  'can_export' => true,
115
  'has_archive' => true,
116
  'exclude_from_search' => false,
134
  register_post_type( 'aiovg_videos', $args );
135
  }
136
 
 
 
 
 
 
 
 
 
 
 
137
  /**
138
  * Adds custom meta fields in the "Publish" meta box.
139
  *
448
  }
449
 
450
  // Set featured meta in query
451
+ $query->query_vars['meta_query'] = array(
452
+ 'relation' => 'AND'
453
+ );
454
+
455
  if ( isset( $_GET['aiovg_filter'] ) && 'featured' == $_GET['aiovg_filter'] ) {
456
+ $query->query_vars['meta_query']['featured'] = array(
457
+ 'key' => 'featured',
458
+ 'value' => 1
459
+ );
460
+ }
461
+
462
+ // Sortby views
463
+ if ( isset( $_GET['orderby'] ) && 'views' == $_GET['orderby'] ) {
464
+ $query->query_vars['meta_query']['views'] = array(
465
+ 'key' => 'views',
466
+ 'compare' => 'EXISTS'
467
+ );
468
+
469
+ $query->query_vars['orderby'] = 'views';
470
+ }
471
  }
472
  }
473
+
474
+ /**
475
+ * Filters the array of row action links.
476
+ *
477
+ * @since 2.5.1
478
+ * @param array $actions An array of row action links.
479
+ * @param WP_Post $post The post object.
480
+ * @return array Filtered array of row action links.
481
+ */
482
+ public function row_actions( $actions, $post ) {
483
+ if ( $post->post_type == 'aiovg_videos' ) {
484
+ // Copy URL
485
+ $copy_shortcode = sprintf(
486
+ '<a class="aiovg-copy-url" href="javascript: void(0);" data-url="%s">%s</a>',
487
+ get_permalink( $post->ID ),
488
+ esc_html__( 'Copy URL', 'all-in-one-video-gallery' )
489
+ );
490
+
491
+ $actions['copy-url'] = $copy_shortcode;
492
+
493
+ // Copy Shortcode
494
+ $copy_shortcode = sprintf(
495
+ '<a class="aiovg-copy-shortcode" href="javascript: void(0);" data-id="%d">%s</a>',
496
+ $post->ID,
497
+ esc_html__( 'Copy Shortcode', 'all-in-one-video-gallery' )
498
+ );
499
+
500
+ $actions['copy-shortcode'] = $copy_shortcode;
501
+ }
502
+
503
+ return $actions;
504
+ }
505
 
506
  /**
507
  * Retrieve the table columns.
516
  ));
517
 
518
  $columns = aiovg_insert_array_after( 'taxonomy-aiovg_tags', $columns, array(
519
+ 'misc' => __( 'Misc', 'all-in-one-video-gallery' ),
520
+ 'views' => __( 'Views', 'all-in-one-video-gallery' ),
521
+ 'post_id' => __( 'ID', 'all-in-one-video-gallery' )
522
  ));
523
 
524
+ unset( $columns['author'] );
 
 
525
 
526
  return $columns;
527
  }
528
+
529
+ /**
530
+ * Retrieve the sortable table columns.
531
+ *
532
+ * @since 2.5.1
533
+ * @param array $columns Array of default sortable columns.
534
+ * @return array Filtered sortable columns array.
535
+ */
536
+ public function sortable_columns( $columns ) {
537
+ $columns['views'] = 'views';
538
+ return $columns;
539
+ }
540
 
541
  /**
542
  * This function renders the custom columns in the list table.
552
  $image_id = get_post_meta( $post_id, 'image_id', true );
553
 
554
  printf(
555
+ '<img src="%s" alt="" style="width: 75px;" />',
556
  aiovg_get_image_url( $image_id, 'thumbnail', $image_url )
557
  );
558
  break;
559
+ case 'misc':
560
+ // Author
561
+ $post_author_id = get_post_field( 'post_author', $post_id );
562
+ $user = get_userdata( $post_author_id );
563
+
564
+ printf(
565
+ '<span class="aiovg-author-meta">%s: <a href="%s">%s</a></span>',
566
+ esc_html__( 'Author', 'all-in-one-video-gallery' ),
567
+ esc_url( admin_url( 'edit.php?post_type=aiovg_videos&author=' . $post_author_id ) ),
568
+ esc_html( $user->display_name )
569
+ );
570
+
571
+ // Featured
572
+ if ( current_user_can( 'manage_aiovg_options' ) ) {
573
+ $value = get_post_meta( $post_id, 'featured', true );
574
+
575
+ printf(
576
+ '<br /><span class="aiovg-featured-meta">%s: %s</span>',
577
+ esc_html__( 'Featured', 'all-in-one-video-gallery' ),
578
+ ( 1 == $value ? '&#x2713;' : '&#x2717;' )
579
+ );
580
+ }
581
+ break;
582
  case 'views':
583
  echo get_post_meta( $post_id, 'views', true );
584
  break;
 
 
 
 
585
  case 'post_id':
586
  echo $post_id;
587
  break;
all-in-one-video-gallery.php CHANGED
@@ -11,7 +11,7 @@
11
  * Plugin Name: All-in-One Video Gallery
12
  * Plugin URI: https://plugins360.com/all-in-one-video-gallery/
13
  * Description: No coding required. A Responsive & Lightweight video gallery plugin. HTML5 Player, Categories, Visual Builder (Gutenberg), Search Form, Comments, Social Sharing and everything you will need to build a YouTube/Vimeo like video sharing website.
14
- * Version: 2.5.0
15
  * Author: Team Plugins360
16
  * Author URI: https://plugins360.com
17
  * License: GPL-2.0+
@@ -76,7 +76,7 @@ if ( !function_exists( 'aiovg_fs' ) ) {
76
 
77
  // The current version of the plugin
78
  if ( !defined( 'AIOVG_PLUGIN_VERSION' ) ) {
79
- define( 'AIOVG_PLUGIN_VERSION', '2.5.0' );
80
  }
81
  // The unique identifier of the plugin
82
  if ( !defined( 'AIOVG_PLUGIN_SLUG' ) ) {
11
  * Plugin Name: All-in-One Video Gallery
12
  * Plugin URI: https://plugins360.com/all-in-one-video-gallery/
13
  * Description: No coding required. A Responsive & Lightweight video gallery plugin. HTML5 Player, Categories, Visual Builder (Gutenberg), Search Form, Comments, Social Sharing and everything you will need to build a YouTube/Vimeo like video sharing website.
14
+ * Version: 2.5.1
15
  * Author: Team Plugins360
16
  * Author URI: https://plugins360.com
17
  * License: GPL-2.0+
76
 
77
  // The current version of the plugin
78
  if ( !defined( 'AIOVG_PLUGIN_VERSION' ) ) {
79
+ define( 'AIOVG_PLUGIN_VERSION', '2.5.1' );
80
  }
81
  // The unique identifier of the plugin
82
  if ( !defined( 'AIOVG_PLUGIN_SLUG' ) ) {
freemius/includes/class-freemius.php CHANGED
@@ -4047,7 +4047,7 @@
4047
  if ( empty( $unique_id ) || ! is_string( $unique_id ) ) {
4048
  $key = fs_strip_url_protocol( get_site_url( $blog_id ) );
4049
 
4050
- $secure_auth = SECURE_AUTH_KEY;
4051
  if ( empty( $secure_auth ) ||
4052
  false !== strpos( $secure_auth, ' ' ) ||
4053
  'put your unique phrase here' === $secure_auth
4047
  if ( empty( $unique_id ) || ! is_string( $unique_id ) ) {
4048
  $key = fs_strip_url_protocol( get_site_url( $blog_id ) );
4049
 
4050
+ $secure_auth = defined( 'SECURE_AUTH_KEY' ) ? SECURE_AUTH_KEY : '';
4051
  if ( empty( $secure_auth ) ||
4052
  false !== strpos( $secure_auth, ' ' ) ||
4053
  'put your unique phrase here' === $secure_auth
includes/activator.php CHANGED
@@ -44,9 +44,6 @@ class AIOVG_Activator {
44
 
45
  // Insert the plugin version
46
  add_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
47
-
48
- // Add a Vimeo update notice
49
- set_transient( 'aiovg_show_vimeo_update_notice', 1 );
50
  }
51
 
52
  }
44
 
45
  // Insert the plugin version
46
  add_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
 
 
 
47
  }
48
 
49
  }
includes/functions.php CHANGED
@@ -445,6 +445,9 @@ function aiovg_get_default_settings() {
445
  'aiovg_image_settings' => array(
446
  'ratio' => 56.25
447
  ),
 
 
 
448
  'aiovg_socialshare_settings' => array(
449
  'services' => array(
450
  'facebook' => 'facebook',
@@ -469,7 +472,8 @@ function aiovg_get_default_settings() {
469
  'aiovg_privacy_settings' => array(
470
  'show_consent' => 0,
471
  'consent_message' => __( '<strong>Please accept cookies to play this video</strong>. By accepting you will be accessing content from a service provided by an external third party.', 'all-in-one-video-gallery' ),
472
- 'consent_button_label' => __( 'Accept', 'all-in-one-video-gallery' )
 
473
  )
474
  );
475
 
@@ -653,10 +657,13 @@ function aiovg_get_message( $msg_id ) {
653
 
654
  switch ( $msg_id ) {
655
  case 'videos_empty':
656
- $message = __( 'No Videos found.', 'all-in-one-video-gallery' );
657
  break;
658
  case 'categories_empty':
659
- $message = __( 'No Categories found.', 'all-in-one-video-gallery' );
 
 
 
660
  break;
661
  }
662
 
@@ -667,9 +674,10 @@ function aiovg_get_message( $msg_id ) {
667
  * Get MySQL's RAND function seed value.
668
  *
669
  * @since 1.6.5
 
670
  * @return string $seed Seed value.
671
  */
672
- function aiovg_get_orderby_rand_seed() {
673
  global $aiovg;
674
 
675
  $seed = '';
@@ -678,7 +686,7 @@ function aiovg_get_orderby_rand_seed() {
678
  $aiovg['rand_seed'] = sanitize_text_field( $aiovg['rand_seed'] );
679
  $seed = $aiovg['rand_seed'];
680
 
681
- if ( 1 == aiovg_get_page_number() ) {
682
  $transient_seed = get_transient( 'aiovg_rand_seed_' . $aiovg['rand_seed'] );
683
 
684
  if ( empty( $transient_seed ) ) {
@@ -1236,7 +1244,7 @@ function aiovg_get_shortcode_fields() {
1236
  array(
1237
  'name' => 'more_link',
1238
  'label' => __( 'More Button Link', 'all-in-one-video-gallery' ),
1239
- 'description' => '',
1240
  'type' => 'url',
1241
  'value' => ''
1242
  ),
@@ -1881,21 +1889,28 @@ function aiovg_sanitize_url( $value ) {
1881
  * @since 1.0.0
1882
  * @param int $post_id Post ID
1883
  */
1884
- function aiovg_update_views_count( $post_id ) {
1885
- $visited = array();
1886
-
1887
- if ( isset( $_COOKIE['aiovg_videos_views'] ) ) {
1888
- $visited = explode( '|', $_COOKIE['aiovg_videos_views'] );
1889
- $visited = array_map( 'intval', $visited );
1890
- }
1891
-
1892
- if ( ! in_array( $post_id, $visited ) ) {
1893
  $count = (int) get_post_meta( $post_id, 'views', true );
1894
  update_post_meta( $post_id, 'views', ++$count );
 
 
 
 
 
 
 
1895
 
1896
- // SetCookie
1897
- $visited[] = $post_id;
1898
- setcookie( 'aiovg_videos_views', implode( '|', $visited ), time() + ( 12 * 60 * 60 ), COOKIEPATH, COOKIE_DOMAIN );
 
 
 
 
 
1899
  }
1900
  }
1901
 
@@ -1921,14 +1936,70 @@ function the_aiovg_excerpt( $char_length ) {
1921
  }
1922
 
1923
  /**
1924
- * Display paginated links for video pages.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1925
  *
1926
  * @since 1.0.0
1927
  * @param int $numpages The total amount of pages.
1928
  * @param int $pagerange How many numbers to either side of current page.
1929
  * @param int $paged The current page number.
 
1930
  */
1931
- function the_aiovg_pagination( $numpages = '', $pagerange = '', $paged = '' ) {
1932
  if ( empty( $numpages ) ) {
1933
  $numpages = 1;
1934
  }
@@ -1941,6 +2012,27 @@ function the_aiovg_pagination( $numpages = '', $pagerange = '', $paged = '' ) {
1941
  $paged = aiovg_get_page_number();
1942
  }
1943
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1944
  // Construct the pagination arguments to enter into our paginate_links function
1945
  $arr_params = array();
1946
 
@@ -1953,10 +2045,10 @@ function the_aiovg_pagination( $numpages = '', $pagerange = '', $paged = '' ) {
1953
 
1954
  if ( ! get_option( 'permalink_structure' ) || isset( $_GET['aiovg'] ) ) {
1955
  $prefix = strpos( $base, '?' ) ? '&' : '?';
1956
- $format = $prefix.'paged=%#%';
1957
  } else {
1958
  $prefix = ( '/' == substr( $base, -1 ) ) ? '' : '/';
1959
- $format = $prefix.'page/%#%';
1960
  }
1961
 
1962
  $pagination_args = array(
@@ -1978,13 +2070,22 @@ function the_aiovg_pagination( $numpages = '', $pagerange = '', $paged = '' ) {
1978
  $paginate_links = paginate_links( $pagination_args );
1979
 
1980
  if ( is_array( $paginate_links ) ) {
1981
- echo '<div class="aiovg-pagination-wrapper aiovg-text-center">';
1982
- echo '<div class="aiovg-pagination">';
 
 
 
 
 
 
 
1983
  foreach ( $paginate_links as $key => $page_link ) {
1984
  echo $page_link;
1985
  }
1986
  echo '</div>';
1987
- echo '<p class="aiovg-text-muted">' . sprintf( __( 'Page %d of %d', 'all-in-one-video-gallery' ), $paged, $numpages ) . '</p>';
 
 
1988
  echo '</div>';
1989
  }
1990
  }
@@ -2029,34 +2130,30 @@ function the_aiovg_socialshare_buttons() {
2029
  $buttons = array();
2030
 
2031
  if ( isset( $socialshare_settings['services']['facebook'] ) ) {
2032
- $buttons[] = sprintf(
2033
- '<a class="aiovg-social-facebook aiovg-link-social" href="%s" target="_blank">%s</a>',
2034
- esc_url( "https://www.facebook.com/sharer/sharer.php?u={$url}" ),
2035
- esc_html__( 'Facebook', 'all-in-one-video-gallery' )
2036
  );
2037
  }
2038
 
2039
  if ( isset( $socialshare_settings['services']['twitter'] ) ) {
2040
- $buttons[] = sprintf(
2041
- '<a class="aiovg-social-twitter aiovg-link-social" href="%s" target="_blank">%s</a>',
2042
- esc_url( "https://twitter.com/intent/tweet?text={$title}&amp;url={$url}" ),
2043
- esc_html__( 'Twitter', 'all-in-one-video-gallery' )
2044
  );
2045
  }
2046
 
2047
  if ( isset( $socialshare_settings['services']['linkedin'] ) ) {
2048
- $buttons[] = sprintf(
2049
- '<a class="aiovg-social-linkedin aiovg-link-social" href="%s" target="_blank">%s</a>',
2050
- esc_url( "https://www.linkedin.com/shareArticle?url={$url}&amp;title={$title}" ),
2051
- esc_html__( 'Linkedin', 'all-in-one-video-gallery' )
2052
  );
2053
  }
2054
 
2055
  if ( isset( $socialshare_settings['services']['pinterest'] ) ) {
2056
- $buttons[] = sprintf(
2057
- '<a class="aiovg-social-pinterest aiovg-link-social" href="%s" target="_blank">%s</a>',
2058
- esc_url( "https://pinterest.com/pin/create/button/?url={$url}&amp;media={$image}&amp;description={$title}" ),
2059
- esc_html__( 'Pin It', 'all-in-one-video-gallery' )
2060
  );
2061
  }
2062
 
@@ -2070,11 +2167,10 @@ function the_aiovg_socialshare_buttons() {
2070
 
2071
  $tumblr_url .= "&amp;description={$description}";
2072
  }
2073
-
2074
- $buttons[] = sprintf(
2075
- '<a class="aiovg-social-tumblr aiovg-link-social" href="%s" target="_blank">%s</a>',
2076
- esc_url( $tumblr_url ),
2077
- esc_html__( 'Tumblr', 'all-in-one-video-gallery' )
2078
  );
2079
  }
2080
 
@@ -2085,15 +2181,27 @@ function the_aiovg_socialshare_buttons() {
2085
  $whatsapp_url = "https://api.whatsapp.com/send?text={$title}&nbsp;{$url}";
2086
  }
2087
 
2088
- $buttons[] = sprintf(
2089
- '<a class="aiovg-social-whatsapp aiovg-link-social" href="%s" target="_blank">%s</a>',
2090
- esc_attr( $whatsapp_url ),
2091
- esc_html__( 'WhatsApp', 'all-in-one-video-gallery' )
2092
  );
2093
  }
2094
 
 
 
2095
  if ( count( $buttons ) ) {
2096
- printf( '<div class="aiovg-social">%s</div>', implode( ' ', $buttons ) );
 
 
 
 
 
 
 
 
 
 
 
2097
  }
2098
  }
2099
  }
445
  'aiovg_image_settings' => array(
446
  'ratio' => 56.25
447
  ),
448
+ 'aiovg_pagination_settings' => array(
449
+ 'ajax' => 0
450
+ ),
451
  'aiovg_socialshare_settings' => array(
452
  'services' => array(
453
  'facebook' => 'facebook',
472
  'aiovg_privacy_settings' => array(
473
  'show_consent' => 0,
474
  'consent_message' => __( '<strong>Please accept cookies to play this video</strong>. By accepting you will be accessing content from a service provided by an external third party.', 'all-in-one-video-gallery' ),
475
+ 'consent_button_label' => __( 'Accept', 'all-in-one-video-gallery' ),
476
+ 'disable_cookies' => array()
477
  )
478
  );
479
 
657
 
658
  switch ( $msg_id ) {
659
  case 'videos_empty':
660
+ $message = __( 'No videos found.', 'all-in-one-video-gallery' );
661
  break;
662
  case 'categories_empty':
663
+ $message = __( 'No categories found.', 'all-in-one-video-gallery' );
664
+ break;
665
+ case 'tags_empty':
666
+ $message = __( 'No tags found.', 'all-in-one-video-gallery' );
667
  break;
668
  }
669
 
674
  * Get MySQL's RAND function seed value.
675
  *
676
  * @since 1.6.5
677
+ * @param int $paged Current Page Number.
678
  * @return string $seed Seed value.
679
  */
680
+ function aiovg_get_orderby_rand_seed( $paged = 1 ) {
681
  global $aiovg;
682
 
683
  $seed = '';
686
  $aiovg['rand_seed'] = sanitize_text_field( $aiovg['rand_seed'] );
687
  $seed = $aiovg['rand_seed'];
688
 
689
+ if ( 1 == $paged ) {
690
  $transient_seed = get_transient( 'aiovg_rand_seed_' . $aiovg['rand_seed'] );
691
 
692
  if ( empty( $transient_seed ) ) {
1244
  array(
1245
  'name' => 'more_link',
1246
  'label' => __( 'More Button Link', 'all-in-one-video-gallery' ),
1247
+ 'description' => __( 'Leave this field blank to use Ajax', 'all-in-one-video-gallery' ),
1248
  'type' => 'url',
1249
  'value' => ''
1250
  ),
1889
  * @since 1.0.0
1890
  * @param int $post_id Post ID
1891
  */
1892
+ function aiovg_update_views_count( $post_id ) {
1893
+ $privacy_settings = get_option( 'aiovg_privacy_settings' );
1894
+
1895
+ if ( isset( $privacy_settings['disable_cookies'] ) && isset( $privacy_settings['disable_cookies']['aiovg_videos_views'] ) ) {
 
 
 
 
 
1896
  $count = (int) get_post_meta( $post_id, 'views', true );
1897
  update_post_meta( $post_id, 'views', ++$count );
1898
+ } else {
1899
+ $visited = array();
1900
+
1901
+ if ( isset( $_COOKIE['aiovg_videos_views'] ) ) {
1902
+ $visited = explode( '|', $_COOKIE['aiovg_videos_views'] );
1903
+ $visited = array_map( 'intval', $visited );
1904
+ }
1905
 
1906
+ if ( ! in_array( $post_id, $visited ) ) {
1907
+ $count = (int) get_post_meta( $post_id, 'views', true );
1908
+ update_post_meta( $post_id, 'views', ++$count );
1909
+
1910
+ // SetCookie
1911
+ $visited[] = $post_id;
1912
+ setcookie( 'aiovg_videos_views', implode( '|', $visited ), time() + ( 12 * 60 * 60 ), COOKIEPATH, COOKIE_DOMAIN );
1913
+ }
1914
  }
1915
  }
1916
 
1936
  }
1937
 
1938
  /**
1939
+ * Display more button on gallery pages.
1940
+ *
1941
+ * @since 2.5.1
1942
+ * @param int $numpages The total amount of pages.
1943
+ * @param array $atts Array of attributes.
1944
+ */
1945
+ function the_aiovg_more_button( $numpages = '', $atts = array() ) {
1946
+ if ( empty( $numpages ) ) {
1947
+ $numpages = 1;
1948
+ }
1949
+
1950
+ $paged = 1;
1951
+ if ( isset( $atts['paged'] ) ) {
1952
+ $paged = (int) $atts['paged'];
1953
+ }
1954
+
1955
+ $uid = 0;
1956
+ if ( isset( $atts['uid'] ) && ! empty( $atts['uid'] ) ) {
1957
+ $uid = $atts['uid'];
1958
+ }
1959
+
1960
+ $source = 'videos';
1961
+ if ( isset( $atts['source'] ) && ! empty( $atts['source'] ) ) {
1962
+ $source = $atts['source'];
1963
+ }
1964
+
1965
+ if ( empty( $atts['more_link'] ) ) { // Ajax
1966
+ if ( $paged < $numpages ) {
1967
+ wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-public' );
1968
+
1969
+ wp_add_inline_script(
1970
+ AIOVG_PLUGIN_SLUG . '-public',
1971
+ 'var aiovg_pagination_' . esc_html( $uid ) . ' = ' . json_encode( $atts ) . ';',
1972
+ 'before'
1973
+ );
1974
+
1975
+ printf(
1976
+ '<p class="aiovg-more aiovg-more-ajax aiovg-text-center"><button type="button" class="aiovg-link-more" data-uid="%s" data-source="%s" data-numpages="%d" data-paged="%d">%s</button></p>',
1977
+ esc_attr( $uid ),
1978
+ esc_attr( $source ),
1979
+ $numpages,
1980
+ $paged,
1981
+ esc_html( $atts['more_label'] )
1982
+ );
1983
+ }
1984
+ } else {
1985
+ printf(
1986
+ '<p class="aiovg-more aiovg-text-center"><button type="button" onclick="location.href=\'%s\'" class="aiovg-link-more">%s</button></p>',
1987
+ esc_url( $atts['more_link'] ),
1988
+ esc_html( $atts['more_label'] )
1989
+ );
1990
+ }
1991
+ }
1992
+
1993
+ /**
1994
+ * Display paginated links on gallery pages.
1995
  *
1996
  * @since 1.0.0
1997
  * @param int $numpages The total amount of pages.
1998
  * @param int $pagerange How many numbers to either side of current page.
1999
  * @param int $paged The current page number.
2000
+ * @param array $atts Array of attributes.
2001
  */
2002
+ function the_aiovg_pagination( $numpages = '', $pagerange = '', $paged = '', $atts = array() ) {
2003
  if ( empty( $numpages ) ) {
2004
  $numpages = 1;
2005
  }
2012
  $paged = aiovg_get_page_number();
2013
  }
2014
 
2015
+ $uid = 0;
2016
+ if ( isset( $atts['uid'] ) && ! empty( $atts['uid'] ) ) {
2017
+ $uid = $atts['uid'];
2018
+ }
2019
+
2020
+ $source = 'videos';
2021
+ if ( isset( $atts['source'] ) && ! empty( $atts['source'] ) ) {
2022
+ $source = $atts['source'];
2023
+ }
2024
+
2025
+ $is_ajax = isset( $atts['pagination_ajax'] ) && ! empty( $atts['pagination_ajax'] );
2026
+ if ( $is_ajax ) {
2027
+ wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-public' );
2028
+
2029
+ wp_add_inline_script(
2030
+ AIOVG_PLUGIN_SLUG . '-public',
2031
+ 'var aiovg_pagination_' . esc_html( $uid ) . ' = ' . json_encode( $atts ) . ';',
2032
+ 'before'
2033
+ );
2034
+ }
2035
+
2036
  // Construct the pagination arguments to enter into our paginate_links function
2037
  $arr_params = array();
2038
 
2045
 
2046
  if ( ! get_option( 'permalink_structure' ) || isset( $_GET['aiovg'] ) ) {
2047
  $prefix = strpos( $base, '?' ) ? '&' : '?';
2048
+ $format = $prefix . 'paged=%#%';
2049
  } else {
2050
  $prefix = ( '/' == substr( $base, -1 ) ) ? '' : '/';
2051
+ $format = $prefix . 'page/%#%';
2052
  }
2053
 
2054
  $pagination_args = array(
2070
  $paginate_links = paginate_links( $pagination_args );
2071
 
2072
  if ( is_array( $paginate_links ) ) {
2073
+ printf(
2074
+ '<div class="aiovg-pagination aiovg-text-center%s" data-uid="%s" data-source="%s" data-current="%d">',
2075
+ ( $is_ajax ? ' aiovg-pagination-ajax' : '' ),
2076
+ esc_attr( $uid ),
2077
+ esc_attr( $source ),
2078
+ $paged
2079
+ );
2080
+
2081
+ echo '<div class="aiovg-pagination-links">';
2082
  foreach ( $paginate_links as $key => $page_link ) {
2083
  echo $page_link;
2084
  }
2085
  echo '</div>';
2086
+
2087
+ echo '<p class="aiovg-text-muted">' . sprintf( __( 'Page %d of %d', 'all-in-one-video-gallery' ), $paged, $numpages ) . '</p>';
2088
+
2089
  echo '</div>';
2090
  }
2091
  }
2130
  $buttons = array();
2131
 
2132
  if ( isset( $socialshare_settings['services']['facebook'] ) ) {
2133
+ $buttons['facebook'] = array(
2134
+ 'text' => __( 'Facebook', 'all-in-one-video-gallery' ),
2135
+ 'url' => "https://www.facebook.com/sharer/sharer.php?u={$url}"
 
2136
  );
2137
  }
2138
 
2139
  if ( isset( $socialshare_settings['services']['twitter'] ) ) {
2140
+ $buttons['twitter'] = array(
2141
+ 'text' => __( 'Twitter', 'all-in-one-video-gallery' ),
2142
+ 'url' => "https://twitter.com/intent/tweet?text={$title}&amp;url={$url}"
 
2143
  );
2144
  }
2145
 
2146
  if ( isset( $socialshare_settings['services']['linkedin'] ) ) {
2147
+ $buttons['linkedin'] = array(
2148
+ 'text' => __( 'Linkedin', 'all-in-one-video-gallery' ),
2149
+ 'url' => "https://www.linkedin.com/shareArticle?url={$url}&amp;title={$title}"
 
2150
  );
2151
  }
2152
 
2153
  if ( isset( $socialshare_settings['services']['pinterest'] ) ) {
2154
+ $buttons['pinterest'] = array(
2155
+ 'text' => __( 'Pin It', 'all-in-one-video-gallery' ),
2156
+ 'url' => "https://pinterest.com/pin/create/button/?url={$url}&amp;media={$image}&amp;description={$title}"
 
2157
  );
2158
  }
2159
 
2167
 
2168
  $tumblr_url .= "&amp;description={$description}";
2169
  }
2170
+
2171
+ $buttons['tumblr'] = array(
2172
+ 'text' => __( 'Tumblr', 'all-in-one-video-gallery' ),
2173
+ 'url' => $tumblr_url
 
2174
  );
2175
  }
2176
 
2181
  $whatsapp_url = "https://api.whatsapp.com/send?text={$title}&nbsp;{$url}";
2182
  }
2183
 
2184
+ $buttons['whatsapp'] = array(
2185
+ 'text' => __( 'WhatsApp', 'all-in-one-video-gallery' ),
2186
+ 'url' => $whatsapp_url
 
2187
  );
2188
  }
2189
 
2190
+ $buttons = apply_filters( 'aiovg_socialshare_buttons', $buttons );
2191
+
2192
  if ( count( $buttons ) ) {
2193
+ echo '<div class="aiovg-social">';
2194
+
2195
+ foreach ( $buttons as $label => $button ) {
2196
+ printf(
2197
+ '<a class="aiovg-social-%s aiovg-link-social" href="%s" target="_blank">%s</a>',
2198
+ esc_attr( $label ),
2199
+ esc_attr( $button['url'] ),
2200
+ wp_kses_post( $button['text'] )
2201
+ );
2202
+ }
2203
+
2204
+ echo '</div>';
2205
  }
2206
  }
2207
  }
includes/init.php CHANGED
@@ -163,16 +163,17 @@ class AIOVG_Init {
163
  $this->loader->add_action( 'before_delete_post', $videos, 'before_delete_post' );
164
 
165
  if ( is_admin() ) {
166
- $this->loader->add_action( 'admin_head', $videos, 'remove_media_buttons' );
167
  $this->loader->add_action( 'post_submitbox_misc_actions', $videos, 'post_submitbox_misc_actions' );
168
  $this->loader->add_action( 'add_meta_boxes', $videos, 'add_meta_boxes' );
169
  $this->loader->add_action( 'save_post', $videos, 'save_meta_data', 10, 2 );
170
  $this->loader->add_action( 'restrict_manage_posts', $videos, 'restrict_manage_posts' );
171
- $this->loader->add_action( 'manage_aiovg_videos_posts_custom_column', $videos, 'custom_column_content', 10, 2 );
172
 
173
  $this->loader->add_filter( 'parent_file', $videos, 'parent_file' );
174
  $this->loader->add_filter( 'parse_query', $videos, 'parse_query' );
 
175
  $this->loader->add_filter( 'manage_edit-aiovg_videos_columns', $videos, 'get_columns' );
 
176
  $this->loader->add_filter( 'use_block_editor_for_post_type', $videos, 'disable_gutenberg', 10, 2 );
177
  $this->loader->add_filter( 'gutenberg_can_edit_post_type', $videos, 'disable_gutenberg', 10, 2 );
178
  }
@@ -228,6 +229,8 @@ class AIOVG_Init {
228
  $this->loader->add_action( 'wp_enqueue_scripts', $public, 'enqueue_styles' );
229
  $this->loader->add_action( 'wp_enqueue_scripts', $public, 'enqueue_scripts' );
230
  $this->loader->add_action( 'wp_head', $public, 'og_metatags' );
 
 
231
  $this->loader->add_action( 'wp_ajax_aiovg_set_cookie', $public, 'set_gdpr_cookie' );
232
  $this->loader->add_action( 'wp_ajax_nopriv_aiovg_set_cookie', $public, 'set_gdpr_cookie' );
233
 
@@ -252,10 +255,16 @@ class AIOVG_Init {
252
  $this->loader->add_filter( 'term_link', $public, 'term_link', 10, 3 );
253
 
254
  // Hooks specific to the categories page
255
- $categories = new AIOVG_Public_Categories();
 
 
 
256
 
257
  // Hooks specific to the videos page
258
  $videos = new AIOVG_Public_Videos();
 
 
 
259
 
260
  // Hooks specific to the single video page
261
  $video = new AIOVG_Public_Video();
163
  $this->loader->add_action( 'before_delete_post', $videos, 'before_delete_post' );
164
 
165
  if ( is_admin() ) {
 
166
  $this->loader->add_action( 'post_submitbox_misc_actions', $videos, 'post_submitbox_misc_actions' );
167
  $this->loader->add_action( 'add_meta_boxes', $videos, 'add_meta_boxes' );
168
  $this->loader->add_action( 'save_post', $videos, 'save_meta_data', 10, 2 );
169
  $this->loader->add_action( 'restrict_manage_posts', $videos, 'restrict_manage_posts' );
170
+ $this->loader->add_action( 'manage_aiovg_videos_posts_custom_column', $videos, 'custom_column_content', 10, 2 );
171
 
172
  $this->loader->add_filter( 'parent_file', $videos, 'parent_file' );
173
  $this->loader->add_filter( 'parse_query', $videos, 'parse_query' );
174
+ $this->loader->add_filter( 'post_row_actions', $videos, 'row_actions', 10, 2 );
175
  $this->loader->add_filter( 'manage_edit-aiovg_videos_columns', $videos, 'get_columns' );
176
+ $this->loader->add_filter( 'manage_edit-aiovg_videos_sortable_columns', $videos, 'sortable_columns' );
177
  $this->loader->add_filter( 'use_block_editor_for_post_type', $videos, 'disable_gutenberg', 10, 2 );
178
  $this->loader->add_filter( 'gutenberg_can_edit_post_type', $videos, 'disable_gutenberg', 10, 2 );
179
  }
229
  $this->loader->add_action( 'wp_enqueue_scripts', $public, 'enqueue_styles' );
230
  $this->loader->add_action( 'wp_enqueue_scripts', $public, 'enqueue_scripts' );
231
  $this->loader->add_action( 'wp_head', $public, 'og_metatags' );
232
+ $this->loader->add_action( 'wp_ajax_aiovg_load_tags', $public, 'ajax_callback_load_tags' );
233
+ $this->loader->add_action( 'wp_ajax_nopriv_aiovg_load_tags', $public, 'ajax_callback_load_tags' );
234
  $this->loader->add_action( 'wp_ajax_aiovg_set_cookie', $public, 'set_gdpr_cookie' );
235
  $this->loader->add_action( 'wp_ajax_nopriv_aiovg_set_cookie', $public, 'set_gdpr_cookie' );
236
 
255
  $this->loader->add_filter( 'term_link', $public, 'term_link', 10, 3 );
256
 
257
  // Hooks specific to the categories page
258
+ $categories = new AIOVG_Public_Categories();
259
+
260
+ $this->loader->add_action( 'wp_ajax_aiovg_load_more_categories', $categories, 'ajax_callback_load_more_categories' );
261
+ $this->loader->add_action( 'wp_ajax_nopriv_aiovg_load_more_categories', $categories, 'ajax_callback_load_more_categories' );
262
 
263
  // Hooks specific to the videos page
264
  $videos = new AIOVG_Public_Videos();
265
+
266
+ $this->loader->add_action( 'wp_ajax_aiovg_load_more_videos', $videos, 'ajax_callback_load_more_videos' );
267
+ $this->loader->add_action( 'wp_ajax_nopriv_aiovg_load_more_videos', $videos, 'ajax_callback_load_more_videos' );
268
 
269
  // Hooks specific to the single video page
270
  $video = new AIOVG_Public_Video();
includes/player.php CHANGED
@@ -110,7 +110,7 @@ class AIOVG_Player {
110
  );
111
 
112
  $html .= sprintf(
113
- '<div class="aiovg-player aiovg-player-%s" style="padding-bottom: %s;" data-id="%d" data-src="%s">',
114
  esc_attr( $params['player'] ),
115
  ( ! empty( $params['ratio'] ) ? (float) $params['ratio'] . '%' : '56.25%' ),
116
  $params['index'],
@@ -276,7 +276,7 @@ class AIOVG_Player {
276
  'controlBar' => array(),
277
  'autoplay' => (int) $params['autoplay'],
278
  'muted' => (int) $params['muted'],
279
- 'playbackRates' => array( 0.5, 1, 1.5, 2 )
280
  )
281
  );
282
 
110
  );
111
 
112
  $html .= sprintf(
113
+ '<div class="aiovg-player aiovg-player-%s vjs-waiting" style="padding-bottom: %s;" data-id="%d" data-src="%s">',
114
  esc_attr( $params['player'] ),
115
  ( ! empty( $params['ratio'] ) ? (float) $params['ratio'] . '%' : '56.25%' ),
116
  $params['index'],
276
  'controlBar' => array(),
277
  'autoplay' => (int) $params['autoplay'],
278
  'muted' => (int) $params['muted'],
279
+ 'playbackRates' => array( 0.5, 0.75, 1, 1.5, 2 )
280
  )
281
  );
282
 
includes/uninstall.php CHANGED
@@ -85,6 +85,7 @@ class AIOVG_Uninstall
85
  'aiovg_categories_settings',
86
  'aiovg_video_settings',
87
  'aiovg_image_settings',
 
88
  'aiovg_socialshare_settings',
89
  'aiovg_permalink_settings',
90
  'aiovg_general_settings',
85
  'aiovg_categories_settings',
86
  'aiovg_video_settings',
87
  'aiovg_image_settings',
88
+ 'aiovg_pagination_settings',
89
  'aiovg_socialshare_settings',
90
  'aiovg_permalink_settings',
91
  'aiovg_general_settings',
languages/all-in-one-video-gallery.pot CHANGED
@@ -1,63 +1,63 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: All-in-One Video Gallery\n"
4
- "POT-Creation-Date: 2021-09-29 10:29+0530\n"
5
- "PO-Revision-Date: 2021-09-29 10:30+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: en_US\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 3.0\n"
13
- "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Poedit-KeywordsList: __;_e;esc_html__;esc_html_e;esc_attr__;esc_attr_e;_n\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
- #: admin/admin.php:169 admin/partials/issues.php:78
20
  msgid "Apply Fix"
21
  msgstr ""
22
 
23
- #: admin/admin.php:182 admin/partials/issues.php:75
24
  msgid "Ignore"
25
  msgstr ""
26
 
27
- #: admin/admin.php:208 admin/partials/dashboard.php:14 blocks/blocks.php:37
28
  msgid "All-in-One Video Gallery"
29
  msgstr ""
30
 
31
- #: admin/admin.php:209 admin/videos.php:69 includes/functions.php:1009
32
- #: widgets/videos.php:302
33
  msgid "Video Gallery"
34
  msgstr ""
35
 
36
- #: admin/admin.php:219
37
  msgid "All-in-One Video Gallery - Dashboard"
38
  msgstr ""
39
 
40
- #: admin/admin.php:220
41
  msgid "Dashboard"
42
  msgstr ""
43
 
44
- #: admin/admin.php:234
45
  msgid "Shortcode Builder"
46
  msgstr ""
47
 
48
- #: admin/admin.php:235
49
  msgid "FAQ"
50
  msgstr ""
51
 
52
- #: admin/admin.php:244
53
  msgid "Issues Found"
54
  msgstr ""
55
 
56
- #: admin/admin.php:462
57
  msgid "Pages Misconfigured"
58
  msgstr ""
59
 
60
- #: admin/admin.php:464
61
  #, php-format
62
  msgid ""
63
  "During activation, our plugin adds few <a href=\"%s\" target=\"_blank"
@@ -66,42 +66,36 @@ msgid ""
66
  "or having a wrong shortcode."
67
  msgstr ""
68
 
69
- #: admin/admin.php:532
 
 
 
 
70
  msgid "Please select at least one issue."
71
  msgstr ""
72
 
73
- #: admin/admin.php:533
74
  msgid "Sorry, there is already a video with this quality level."
75
  msgstr ""
76
 
77
- #: admin/admin.php:550 admin/settings.php:60
78
  msgid "Settings"
79
  msgstr ""
80
 
81
- #: admin/admin.php:592
82
- #, php-format
83
- msgid ""
84
- "<strong>All-in-One Video Gallery:</strong> Having issues with the Vimeo "
85
- "thumbnail images? Unfortunately, Vimeo had changed its thumbnail image URLs. "
86
- "But, no worries. This version automatically updates to their latest image "
87
- "URLs. You simply need to <a href=\"%s\">configure</a> an \"Access Token\" to "
88
- "get this work."
89
- msgstr ""
90
-
91
  #: admin/categories.php:32
92
  msgid "All-in-One Video Gallery - Categories"
93
  msgstr ""
94
 
95
  #: admin/categories.php:33 admin/categories.php:66
96
- #: premium/admin/automations.php:277
97
  #: premium/admin/partials/automations-video-settings.php:18
98
  #: premium/admin/partials/automations-video-settings.php:21
99
  #: widgets/categories.php:54
100
  msgid "Video Categories"
101
  msgstr ""
102
 
103
- #: admin/categories.php:67 admin/videos.php:406
104
- #: premium/admin/automations.php:195 public/videos.php:99
105
  msgid "All Categories"
106
  msgstr ""
107
 
@@ -169,15 +163,15 @@ msgstr ""
169
  msgid "Categories list navigation"
170
  msgstr ""
171
 
172
- #: admin/categories.php:157 admin/settings.php:453 admin/tags.php:114
173
- #: admin/videos.php:483 blocks/blocks.php:80 includes/functions.php:1326
174
  #: widgets/forms/categories.php:69
175
  msgid "ID"
176
  msgstr ""
177
 
178
  #: admin/partials/category-image.php:15 admin/partials/category-image.php:26
179
  #: admin/partials/video-sources.php:261 admin/partials/video-sources.php:265
180
- #: includes/functions.php:896 premium/public/templates/video-form.php:263
181
  msgid "Image"
182
  msgstr ""
183
 
@@ -292,7 +286,7 @@ msgid "Upload File"
292
  msgstr ""
293
 
294
  #: admin/partials/shortcode-builder.php:162 blocks/blocks.php:73
295
- #: includes/functions.php:1273 widgets/forms/categories.php:36
296
  #: widgets/forms/categories.php:39
297
  msgid "Select Parent"
298
  msgstr ""
@@ -441,14 +435,14 @@ msgid ""
441
  msgstr ""
442
 
443
  #: admin/partials/video-sources.php:17 admin/partials/video-sources.php:21
444
- #: includes/functions.php:853 premium/admin/partials/automations-sources.php:42
445
  #: premium/admin/partials/automations-sources.php:45
446
  #: premium/public/templates/video-form.php:73
447
  msgid "Source Type"
448
  msgstr ""
449
 
450
  #: admin/partials/video-sources.php:36 admin/partials/video-sources.php:41
451
- #: admin/videos.php:70 admin/videos.php:102 includes/functions.php:861
452
  #: premium/public/templates/video-form.php:92
453
  msgid "Video"
454
  msgstr ""
@@ -463,7 +457,7 @@ msgid "This will be the default quality level for this video"
463
  msgstr ""
464
 
465
  #: admin/partials/video-sources.php:63 admin/partials/video-sources.php:104
466
- #: admin/partials/video-sources.php:323 admin/settings.php:288
467
  msgid "None"
468
  msgstr ""
469
 
@@ -499,16 +493,16 @@ msgid "OGV"
499
  msgstr ""
500
 
501
  #: admin/partials/video-sources.php:182 admin/partials/video-sources.php:186
502
- #: admin/settings.php:323 includes/functions.php:868
503
- #: includes/functions.php:1507 premium/includes/functions.php:110
504
  #: premium/public/templates/video-form.php:185
505
  msgid "YouTube"
506
  msgstr ""
507
 
508
  #: admin/partials/video-sources.php:190 admin/partials/video-sources.php:204
509
  #: admin/partials/video-sources.php:218 admin/partials/video-sources.php:232
510
- #: includes/functions.php:869 includes/functions.php:876
511
- #: includes/functions.php:883 includes/functions.php:890
512
  #: premium/admin/adaptive-streaming.php:42
513
  #: premium/admin/adaptive-streaming.php:50
514
  #: premium/admin/partials/adaptive-streaming.php:24
@@ -528,20 +522,20 @@ msgid "Example"
528
  msgstr ""
529
 
530
  #: admin/partials/video-sources.php:196 admin/partials/video-sources.php:200
531
- #: admin/settings.php:324 includes/functions.php:875
532
- #: includes/functions.php:1508 premium/public/templates/video-form.php:201
533
  msgid "Vimeo"
534
  msgstr ""
535
 
536
  #: admin/partials/video-sources.php:210 admin/partials/video-sources.php:214
537
- #: admin/settings.php:325 includes/functions.php:882
538
- #: includes/functions.php:1509 premium/public/templates/video-form.php:217
539
  msgid "Dailymotion"
540
  msgstr ""
541
 
542
  #: admin/partials/video-sources.php:224 admin/partials/video-sources.php:228
543
- #: admin/settings.php:326 admin/settings.php:600 includes/functions.php:889
544
- #: includes/functions.php:1510 includes/functions.php:2017
545
  #: premium/public/templates/video-form.php:233
546
  msgid "Facebook"
547
  msgstr ""
@@ -565,13 +559,13 @@ msgid ""
565
  msgstr ""
566
 
567
  #: admin/partials/video-sources.php:282 admin/partials/video-sources.php:286
568
- #: admin/settings.php:301 blocks/blocks.php:123 includes/functions.php:964
569
  #: widgets/forms/video.php:110
570
  msgid "Duration"
571
  msgstr ""
572
 
573
  #: admin/partials/video-sources.php:296 admin/partials/video-sources.php:300
574
- #: admin/videos.php:481
575
  msgid "Views"
576
  msgstr ""
577
 
@@ -579,7 +573,7 @@ msgstr ""
579
  msgid "Mark as"
580
  msgstr ""
581
 
582
- #: admin/partials/video-submitbox.php:20 admin/videos.php:482
583
  msgid "Featured"
584
  msgstr ""
585
 
@@ -623,9 +617,9 @@ msgstr ""
623
  msgid "All-in-One Video Gallery - Settings"
624
  msgstr ""
625
 
626
- #: admin/settings.php:98 blocks/blocks.php:107 includes/functions.php:842
627
- #: includes/functions.php:1012 includes/functions.php:1251
628
- #: includes/functions.php:1387
629
  msgid "General"
630
  msgstr ""
631
 
@@ -657,7 +651,7 @@ msgstr ""
657
  msgid "Single Video Page"
658
  msgstr ""
659
 
660
- #: admin/settings.php:145 admin/settings.php:512 includes/functions.php:1100
661
  msgid "Related Videos"
662
  msgstr ""
663
 
@@ -666,222 +660,226 @@ msgid "Image Settings"
666
  msgstr ""
667
 
668
  #: admin/settings.php:159
669
- msgid "Social Sharing"
670
  msgstr ""
671
 
672
  #: admin/settings.php:166
 
 
 
 
673
  msgid "Permalink Slugs"
674
  msgstr ""
675
 
676
- #: admin/settings.php:167
677
  msgid ""
678
  "NOTE: Just make sure that, after updating the fields in this section, you "
679
  "flush the rewrite rules by visiting \"Settings > Permalinks\". Otherwise "
680
  "you'll still see the old links."
681
  msgstr ""
682
 
683
- #: admin/settings.php:173
684
  msgid "Misc Settings"
685
  msgstr ""
686
 
687
- #: admin/settings.php:180
688
  msgid "Page Settings"
689
  msgstr ""
690
 
691
- #: admin/settings.php:187
692
  msgid "Privacy Settings"
693
  msgstr ""
694
 
695
- #: admin/settings.php:188
696
  msgid ""
697
  "These options will help with privacy restrictions such as GDPR and the EU "
698
  "Cookie Law."
699
  msgstr ""
700
 
701
- #: admin/settings.php:197
702
  msgid "Logo & Branding"
703
  msgstr ""
704
 
705
- #: admin/settings.php:220
706
  msgid "Player Type"
707
  msgstr ""
708
 
709
- #: admin/settings.php:224
710
  msgid "JavaScript"
711
  msgstr ""
712
 
713
- #: admin/settings.php:225
714
  msgid "Iframe"
715
  msgstr ""
716
 
717
- #: admin/settings.php:231 admin/settings.php:580 blocks/blocks.php:108
718
- #: includes/functions.php:903 premium/widgets/forms/companion.php:16
719
  #: widgets/forms/video.php:54
720
  msgid "Width"
721
  msgstr ""
722
 
723
- #: admin/settings.php:232 blocks/blocks.php:109 includes/functions.php:904
724
  #, php-format
725
  msgid ""
726
  "In pixels. Maximum width of the player. Leave this field empty to scale "
727
  "100% of its enclosing container/html element."
728
  msgstr ""
729
 
730
- #: admin/settings.php:238 admin/settings.php:587 blocks/blocks.php:110
731
- #: includes/functions.php:910 includes/functions.php:1112
732
- #: includes/functions.php:1295 widgets/forms/video.php:59
733
  msgid "Ratio"
734
  msgstr ""
735
 
736
- #: admin/settings.php:241 blocks/blocks.php:111 includes/functions.php:911
737
  msgid ""
738
  "In percentage. 1 to 100. Calculate player's height using the ratio value "
739
  "entered."
740
  msgstr ""
741
 
742
- #: admin/settings.php:242
743
  msgid "Examples"
744
  msgstr ""
745
 
746
- #: admin/settings.php:243
747
  msgid "Wide Screen TV"
748
  msgstr ""
749
 
750
- #: admin/settings.php:244
751
  msgid "Monitor Screens"
752
  msgstr ""
753
 
754
- #: admin/settings.php:245
755
  msgid "Classic TV"
756
  msgstr ""
757
 
758
- #: admin/settings.php:246
759
  msgid "Photo Camera"
760
  msgstr ""
761
 
762
- #: admin/settings.php:247
763
  msgid "Square"
764
  msgstr ""
765
 
766
- #: admin/settings.php:248
767
  msgid "Cinemascope"
768
  msgstr ""
769
 
770
- #: admin/settings.php:255 blocks/blocks.php:112 includes/functions.php:917
771
  #: widgets/forms/video.php:66
772
  msgid "Autoplay"
773
  msgstr ""
774
 
775
- #: admin/settings.php:256
776
  msgid "Check this to start playing the video as soon as it is ready"
777
  msgstr ""
778
 
779
- #: admin/settings.php:262 blocks/blocks.php:113 includes/functions.php:924
780
  #: widgets/forms/video.php:73
781
  msgid "Loop"
782
  msgstr ""
783
 
784
- #: admin/settings.php:263
785
  msgid ""
786
  "Check this, so that the video will start over again, every time it is "
787
  "finished"
788
  msgstr ""
789
 
790
- #: admin/settings.php:269 blocks/blocks.php:114 includes/functions.php:931
791
  #: widgets/forms/video.php:80
792
  msgid "Muted"
793
  msgstr ""
794
 
795
- #: admin/settings.php:270
796
  msgid "Check this to turn OFF the audio output of the video by default"
797
  msgstr ""
798
 
799
- #: admin/settings.php:276
800
  msgid "Preload"
801
  msgstr ""
802
 
803
- #: admin/settings.php:279
804
  msgid "Specifies if and how the video should be loaded when the page loads."
805
  msgstr ""
806
 
807
- #: admin/settings.php:280
808
  msgid "\"Auto\" - the video should be loaded entirely when the page loads"
809
  msgstr ""
810
 
811
- #: admin/settings.php:281
812
  msgid "\"Metadata\" - only metadata should be loaded when the page loads"
813
  msgstr ""
814
 
815
- #: admin/settings.php:282
816
  msgid "\"None\" - the video should not be loaded when the page loads"
817
  msgstr ""
818
 
819
- #: admin/settings.php:286
820
  msgid "Auto"
821
  msgstr ""
822
 
823
- #: admin/settings.php:287
824
  msgid "Metadata"
825
  msgstr ""
826
 
827
- #: admin/settings.php:294 blocks/blocks.php:119 includes/functions.php:939
828
  #: widgets/forms/video.php:84
829
  msgid "Player Controls"
830
  msgstr ""
831
 
832
- #: admin/settings.php:298 blocks/blocks.php:120 includes/functions.php:943
833
  #: widgets/forms/video.php:89
834
  msgid "Play / Pause"
835
  msgstr ""
836
 
837
- #: admin/settings.php:299 blocks/blocks.php:121 includes/functions.php:950
838
  #: widgets/forms/video.php:96
839
  msgid "Current Time"
840
  msgstr ""
841
 
842
- #: admin/settings.php:300 blocks/blocks.php:122 includes/functions.php:957
843
  #: widgets/forms/video.php:103
844
  msgid "Progressbar"
845
  msgstr ""
846
 
847
- #: admin/settings.php:302 admin/videos.php:180 includes/functions.php:971
848
  #: widgets/forms/video.php:117
849
  msgid "Subtitles"
850
  msgstr ""
851
 
852
- #: admin/settings.php:303 blocks/blocks.php:124 includes/functions.php:978
853
  #: widgets/forms/video.php:124
854
  msgid "Quality Selector"
855
  msgstr ""
856
 
857
- #: admin/settings.php:304 blocks/blocks.php:125 includes/functions.php:985
858
  #: widgets/forms/video.php:131
859
  msgid "Speed Control"
860
  msgstr ""
861
 
862
- #: admin/settings.php:305 blocks/blocks.php:126 includes/functions.php:992
863
  #: widgets/forms/video.php:138
864
  msgid "Volume"
865
  msgstr ""
866
 
867
- #: admin/settings.php:306 blocks/blocks.php:127 includes/functions.php:999
868
  #: widgets/forms/video.php:145
869
  msgid "Fullscreen"
870
  msgstr ""
871
 
872
- #: admin/settings.php:312
873
  msgid "Quality Levels"
874
  msgstr ""
875
 
876
- #: admin/settings.php:313
877
  msgid "Enter the video quality levels, one per line."
878
  msgstr ""
879
 
880
- #: admin/settings.php:319
881
  msgid "Use Native Controls"
882
  msgstr ""
883
 
884
- #: admin/settings.php:320
885
  msgid ""
886
  "Enables native player controls on the selected source types. For example, "
887
  "uses YouTube Player for playing YouTube videos & Vimeo Player for playing "
@@ -889,51 +887,51 @@ msgid ""
889
  "selected sources."
890
  msgstr ""
891
 
892
- #: admin/settings.php:334 admin/settings.php:421 blocks/blocks.php:74
893
- #: includes/functions.php:1023 includes/functions.php:1262
894
- #: includes/functions.php:1391 widgets/forms/categories.php:20
895
  #: widgets/forms/search.php:20
896
  msgid "Select Template"
897
  msgstr ""
898
 
899
- #: admin/settings.php:335 includes/functions.php:1024
900
  #, php-format
901
  msgid ""
902
  "<a href=\"%s\" target=\"_blank\">Upgrade Pro</a> for more templates (Popup, "
903
  "Slider, etc.)"
904
  msgstr ""
905
 
906
- #: admin/settings.php:342 admin/settings.php:432 admin/settings.php:527
907
- #: blocks/blocks.php:77 includes/functions.php:1119 includes/functions.php:1302
908
  #: widgets/forms/categories.php:55
909
  msgid "Columns"
910
  msgstr ""
911
 
912
- #: admin/settings.php:343
913
  msgid "Enter the number of columns you like to have in the gallery view."
914
  msgstr ""
915
 
916
- #: admin/settings.php:352 admin/settings.php:442 admin/settings.php:537
917
- #: blocks/blocks.php:78 includes/functions.php:1059 includes/functions.php:1312
918
  #: widgets/forms/categories.php:60
919
  msgid "Limit (per page)"
920
  msgstr ""
921
 
922
- #: admin/settings.php:353 admin/settings.php:538
923
  msgid ""
924
  "Number of videos to show per page. Use a value of \"0\" to show all videos."
925
  msgstr ""
926
 
927
- #: admin/settings.php:359 admin/settings.php:544 blocks/blocks.php:79
928
- #: includes/functions.php:1069 includes/functions.php:1322
929
  #: premium/admin/partials/automations-sources.php:171
930
  #: premium/admin/partials/automations-sources.php:174
931
  #: widgets/forms/categories.php:65
932
  msgid "Order By"
933
  msgstr ""
934
 
935
- #: admin/settings.php:363 admin/settings.php:548 includes/functions.php:1016
936
- #: includes/functions.php:1073 includes/functions.php:1255
937
  #: premium/admin/partials/automations-sources.php:181
938
  #: premium/public/templates/user-dashboard.php:78
939
  #: widgets/forms/categories.php:15 widgets/forms/search.php:15
@@ -941,427 +939,453 @@ msgstr ""
941
  msgid "Title"
942
  msgstr ""
943
 
944
- #: admin/settings.php:364 admin/settings.php:549 includes/functions.php:1074
945
  msgid "Date Posted"
946
  msgstr ""
947
 
948
- #: admin/settings.php:365 admin/settings.php:404 admin/settings.php:511
949
- #: admin/settings.php:550 includes/functions.php:1075
950
- #: includes/functions.php:1189
951
  #: premium/admin/partials/automations-sources.php:182
952
  msgid "Views Count"
953
  msgstr ""
954
 
955
- #: admin/settings.php:366 admin/settings.php:551 includes/functions.php:1076
956
  msgid "Random"
957
  msgstr ""
958
 
959
- #: admin/settings.php:372 admin/settings.php:462 admin/settings.php:557
960
- #: blocks/blocks.php:84 includes/functions.php:1082 includes/functions.php:1335
961
  #: widgets/forms/categories.php:83
962
  msgid "Order"
963
  msgstr ""
964
 
965
- #: admin/settings.php:376 admin/settings.php:466 admin/settings.php:561
966
  msgid "Ascending"
967
  msgstr ""
968
 
969
- #: admin/settings.php:377 admin/settings.php:467 admin/settings.php:562
970
  msgid "Descending"
971
  msgstr ""
972
 
973
- #: admin/settings.php:383 includes/functions.php:1129
974
  msgid "Image Position (Thumbnails)"
975
  msgstr ""
976
 
977
- #: admin/settings.php:387 includes/functions.php:1133
978
  msgid "Top"
979
  msgstr ""
980
 
981
- #: admin/settings.php:388 includes/functions.php:1134
982
  msgid "Left"
983
  msgstr ""
984
 
985
- #: admin/settings.php:394 includes/functions.php:1140
986
  msgid "Show / Hide (Thumbnails)"
987
  msgstr ""
988
 
989
- #: admin/settings.php:398 includes/functions.php:1147
990
  msgid "Videos Count"
991
  msgstr ""
992
 
993
- #: admin/settings.php:399 includes/functions.php:1154
994
  #: premium/admin/slider.php:69 premium/public/slider.php:91
995
  #: premium/public/templates/video-form.php:33
996
  msgid "Video Title"
997
  msgstr ""
998
 
999
- #: admin/settings.php:400 admin/settings.php:507 includes/functions.php:1161
1000
  msgid "Category Name(s)"
1001
  msgstr ""
1002
 
1003
- #: admin/settings.php:401 admin/settings.php:508 includes/functions.php:1168
1004
  msgid "Tag Name(s)"
1005
  msgstr ""
1006
 
1007
- #: admin/settings.php:402 admin/settings.php:509 includes/functions.php:1175
1008
  msgid "Date Added"
1009
  msgstr ""
1010
 
1011
- #: admin/settings.php:403 admin/settings.php:510 includes/functions.php:1182
1012
  msgid "Author Name"
1013
  msgstr ""
1014
 
1015
- #: admin/settings.php:405 includes/functions.php:1196
1016
  msgid "Video Duration"
1017
  msgstr ""
1018
 
1019
- #: admin/settings.php:406 includes/functions.php:1203
1020
  msgid "Video Excerpt (Short Description)"
1021
  msgstr ""
1022
 
1023
- #: admin/settings.php:412 includes/functions.php:1210
1024
  msgid "Excerpt Length"
1025
  msgstr ""
1026
 
1027
- #: admin/settings.php:413
1028
  msgid "Number of characters."
1029
  msgstr ""
1030
 
1031
- #: admin/settings.php:425 blocks/blocks.php:75 includes/functions.php:1266
1032
  #: widgets/forms/categories.php:24
1033
  msgid "Grid"
1034
  msgstr ""
1035
 
1036
- #: admin/settings.php:426 blocks/blocks.php:76 includes/functions.php:1267
1037
  #: widgets/forms/categories.php:25
1038
  msgid "List"
1039
  msgstr ""
1040
 
1041
- #: admin/settings.php:433
1042
  msgid "Enter the number of columns you like to have in your categories page."
1043
  msgstr ""
1044
 
1045
- #: admin/settings.php:443
1046
  msgid ""
1047
  "Number of categories to show per page. Use a value of \"0\" to show all "
1048
  "categories."
1049
  msgstr ""
1050
 
1051
- #: admin/settings.php:449
1052
  msgid "Order by"
1053
  msgstr ""
1054
 
1055
- #: admin/settings.php:454 blocks/blocks.php:81 includes/functions.php:1327
1056
  #: widgets/forms/categories.php:70
1057
  msgid "Count"
1058
  msgstr ""
1059
 
1060
- #: admin/settings.php:455 blocks/blocks.php:82 includes/functions.php:1328
1061
  #: widgets/forms/categories.php:71
1062
  msgid "Name"
1063
  msgstr ""
1064
 
1065
- #: admin/settings.php:456 blocks/blocks.php:83 includes/functions.php:1329
1066
  #: widgets/forms/categories.php:72
1067
  msgid "Slug"
1068
  msgstr ""
1069
 
1070
- #: admin/settings.php:473 blocks/blocks.php:87 includes/functions.php:1346
1071
  #: widgets/forms/categories.php:101
1072
  msgid "Show Hierarchy"
1073
  msgstr ""
1074
 
1075
- #: admin/settings.php:474
1076
  msgid "Check this to show the child categories"
1077
  msgstr ""
1078
 
1079
- #: admin/settings.php:480 blocks/blocks.php:88 includes/functions.php:1353
1080
  #: widgets/forms/categories.php:108
1081
  msgid "Show Description"
1082
  msgstr ""
1083
 
1084
- #: admin/settings.php:481
1085
  msgid "Check this to show the categories description"
1086
  msgstr ""
1087
 
1088
- #: admin/settings.php:487 blocks/blocks.php:89 includes/functions.php:1360
1089
  #: widgets/forms/categories.php:115
1090
  msgid "Show Videos Count"
1091
  msgstr ""
1092
 
1093
- #: admin/settings.php:488
1094
  msgid "Check this to show the videos count next to the category name"
1095
  msgstr ""
1096
 
1097
- #: admin/settings.php:494 blocks/blocks.php:90 includes/functions.php:1367
1098
  #: widgets/forms/categories.php:122
1099
  msgid "Hide Empty Categories"
1100
  msgstr ""
1101
 
1102
- #: admin/settings.php:495
1103
  msgid "Check this to hide categories with no videos"
1104
  msgstr ""
1105
 
1106
- #: admin/settings.php:503 admin/settings.php:568
1107
  msgid "Show / Hide"
1108
  msgstr ""
1109
 
1110
- #: admin/settings.php:518
1111
  msgid "Enable Comments"
1112
  msgstr ""
1113
 
1114
- #: admin/settings.php:519
1115
  msgid ""
1116
  "Allow visitors to comment videos using the standard WordPress comment form. "
1117
  "Comments are public"
1118
  msgstr ""
1119
 
1120
- #: admin/settings.php:528
1121
  msgid ""
1122
  "Enter the number of columns you like to have in the related videos section."
1123
  msgstr ""
1124
 
1125
- #: admin/settings.php:572 includes/functions.php:1217
1126
  msgid "Pagination"
1127
  msgstr ""
1128
 
1129
- #: admin/settings.php:581
1130
  #, php-format
1131
  msgid "Always 100% of its enclosing container/html element."
1132
  msgstr ""
1133
 
1134
- #: admin/settings.php:588
1135
  msgid ""
1136
  "In percentage. 1 to 100. Calculate images's height using the ratio value "
1137
  "entered."
1138
  msgstr ""
1139
 
1140
- #: admin/settings.php:596
 
 
 
 
 
 
 
 
1141
  msgid "Share Buttons"
1142
  msgstr ""
1143
 
1144
- #: admin/settings.php:597
1145
  msgid "Select social share buttons displayed on the single video pages."
1146
  msgstr ""
1147
 
1148
- #: admin/settings.php:601 includes/functions.php:2025
1149
  msgid "Twitter"
1150
  msgstr ""
1151
 
1152
- #: admin/settings.php:602 includes/functions.php:2033
1153
  msgid "Linkedin"
1154
  msgstr ""
1155
 
1156
- #: admin/settings.php:603
1157
  msgid "Pinterest"
1158
  msgstr ""
1159
 
1160
- #: admin/settings.php:604 includes/functions.php:2059
1161
  msgid "Tumblr"
1162
  msgstr ""
1163
 
1164
- #: admin/settings.php:605 includes/functions.php:2073
1165
  msgid "WhatsApp"
1166
  msgstr ""
1167
 
1168
- #: admin/settings.php:611
1169
  msgid "Open Graph Tags"
1170
  msgstr ""
1171
 
1172
- #: admin/settings.php:612
1173
  msgid ""
1174
  "Check this option to enable Facebook Open Graph meta tags and Twitter cards "
1175
  "on the single video pages"
1176
  msgstr ""
1177
 
1178
- #: admin/settings.php:618
1179
  msgid "Twitter Username"
1180
  msgstr ""
1181
 
1182
- #: admin/settings.php:619
1183
  msgid ""
1184
  "The Twitter @username the player card should be attributed to. Required for "
1185
  "sharing videos in Twitter."
1186
  msgstr ""
1187
 
1188
- #: admin/settings.php:628
1189
  msgid "Video Detail Page"
1190
  msgstr ""
1191
 
1192
- #: admin/settings.php:629
1193
  msgid "Replaces the SLUG value used by custom post type \"aiovg_videos\"."
1194
  msgstr ""
1195
 
1196
- #: admin/settings.php:637
1197
  msgid "Remove data on uninstall?"
1198
  msgstr ""
1199
 
1200
- #: admin/settings.php:638
1201
  msgid ""
1202
  "Check this box to delete all of the plugin data (database stored content) "
1203
  "when uninstalled"
1204
  msgstr ""
1205
 
1206
- #: admin/settings.php:644
1207
  msgid "Delete media files?"
1208
  msgstr ""
1209
 
1210
- #: admin/settings.php:645
1211
  msgid ""
1212
  "Check this box to also delete the associated media files when a video post "
1213
  "or a video category is deleted"
1214
  msgstr ""
1215
 
1216
- #: admin/settings.php:651
1217
  msgid "Vimeo Access Token"
1218
  msgstr ""
1219
 
1220
- #: admin/settings.php:652
1221
  #, php-format
1222
  msgid ""
1223
  "Follow <a href=\"%s\" target=\"_blank\">this guide</a> to get your own "
1224
  "access token."
1225
  msgstr ""
1226
 
1227
- #: admin/settings.php:660
1228
  msgid "Single Category Page"
1229
  msgstr ""
1230
 
1231
- #: admin/settings.php:661
1232
  msgid ""
1233
  "This is the page where the videos from a particular category is displayed. "
1234
  "The [aiovg_category] short code must be on this page."
1235
  msgstr ""
1236
 
1237
- #: admin/settings.php:667
1238
  msgid "Single Tag Page"
1239
  msgstr ""
1240
 
1241
- #: admin/settings.php:668
1242
  msgid ""
1243
  "This is the page where the videos from a particular tag is displayed. The "
1244
  "[aiovg_tag] short code must be on this page."
1245
  msgstr ""
1246
 
1247
- #: admin/settings.php:674
1248
  msgid "Search Page"
1249
  msgstr ""
1250
 
1251
- #: admin/settings.php:675
1252
  msgid ""
1253
  "This is the page where the search results are displayed. The [aiovg_search] "
1254
  "short code must be on this page."
1255
  msgstr ""
1256
 
1257
- #: admin/settings.php:681
1258
  msgid "User Videos Page"
1259
  msgstr ""
1260
 
1261
- #: admin/settings.php:682
1262
  msgid ""
1263
  "This is the page where the videos from an user is displayed. The "
1264
  "[aiovg_user_videos] short code must be on this page."
1265
  msgstr ""
1266
 
1267
- #: admin/settings.php:688
1268
  msgid "Player Page"
1269
  msgstr ""
1270
 
1271
- #: admin/settings.php:689
1272
  msgid "This is the page used to show the video player."
1273
  msgstr ""
1274
 
1275
- #: admin/settings.php:697
1276
  msgid "GDPR - Show Consent"
1277
  msgstr ""
1278
 
1279
- #: admin/settings.php:698
1280
  msgid "Ask for consent before loading YouTube / Vimeo content."
1281
  msgstr ""
1282
 
1283
- #: admin/settings.php:704
1284
  msgid "GDPR - Consent Message"
1285
  msgstr ""
1286
 
1287
- #: admin/settings.php:711
1288
  msgid "GDPR - Consent Button Label"
1289
  msgstr ""
1290
 
1291
- #: admin/settings.php:723
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1292
  msgid "Show Logo"
1293
  msgstr ""
1294
 
1295
- #: admin/settings.php:724
1296
  msgid "Check this option to show the watermark on the video."
1297
  msgstr ""
1298
 
1299
- #: admin/settings.php:730
1300
  msgid "Logo Image"
1301
  msgstr ""
1302
 
1303
- #: admin/settings.php:731
1304
  msgid ""
1305
  "Upload the image file of your logo. We recommend using the transparent PNG "
1306
  "format with width below 100 pixels. If you do not enter any image, no logo "
1307
  "will displayed."
1308
  msgstr ""
1309
 
1310
- #: admin/settings.php:737
1311
  msgid "Logo Link"
1312
  msgstr ""
1313
 
1314
- #: admin/settings.php:738
1315
  msgid ""
1316
  "The URL to visit when the watermark image is clicked. Clicking a logo will "
1317
  "have no affect unless this is configured."
1318
  msgstr ""
1319
 
1320
- #: admin/settings.php:744
1321
  msgid "Logo Position"
1322
  msgstr ""
1323
 
1324
- #: admin/settings.php:745
1325
  msgid "This sets the corner in which to display the watermark."
1326
  msgstr ""
1327
 
1328
- #: admin/settings.php:748
1329
  msgid "Top Left"
1330
  msgstr ""
1331
 
1332
- #: admin/settings.php:749
1333
  msgid "Top Right"
1334
  msgstr ""
1335
 
1336
- #: admin/settings.php:750
1337
  msgid "Bottom Left"
1338
  msgstr ""
1339
 
1340
- #: admin/settings.php:751
1341
  msgid "Bottom Right"
1342
  msgstr ""
1343
 
1344
- #: admin/settings.php:757
1345
  msgid "Logo Margin"
1346
  msgstr ""
1347
 
1348
- #: admin/settings.php:758
1349
  msgid "The distance, in pixels, of the logo from the edges of the display."
1350
  msgstr ""
1351
 
1352
- #: admin/settings.php:764
1353
  msgid "Copyright Text"
1354
  msgstr ""
1355
 
1356
- #: admin/settings.php:765
1357
  msgid "Text that is shown when a user right-clicks the player with the mouse."
1358
  msgstr ""
1359
 
1360
- #: admin/settings.php:1041
1361
  msgid "Choose File"
1362
  msgstr ""
1363
 
1364
- #: admin/settings.php:1090
1365
  msgid "Select a page"
1366
  msgstr ""
1367
 
@@ -1369,7 +1393,7 @@ msgstr ""
1369
  msgid "All-in-One Video Gallery - Tags"
1370
  msgstr ""
1371
 
1372
- #: admin/tags.php:33 admin/tags.php:66 premium/admin/automations.php:278
1373
  #: premium/admin/partials/automations-video-settings.php:40
1374
  #: premium/admin/partials/automations-video-settings.php:43
1375
  msgid "Video Tags"
@@ -1411,7 +1435,8 @@ msgstr ""
1411
  msgid "Popular Tags"
1412
  msgstr ""
1413
 
1414
- #: admin/tags.php:79
 
1415
  msgid "Search Tags"
1416
  msgstr ""
1417
 
@@ -1431,7 +1456,7 @@ msgstr ""
1431
  msgid "All-in-One Video Gallery - Videos"
1432
  msgstr ""
1433
 
1434
- #: admin/videos.php:33 admin/videos.php:74 admin/videos.php:423
1435
  msgid "All Videos"
1436
  msgstr ""
1437
 
@@ -1528,14 +1553,30 @@ msgstr ""
1528
  msgid "Video Description"
1529
  msgstr ""
1530
 
1531
- #: admin/videos.php:171
1532
  msgid "Video Sources"
1533
  msgstr ""
1534
 
1535
- #: admin/videos.php:424
1536
  msgid "Featured only"
1537
  msgstr ""
1538
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1539
  #: blocks/blocks.php:71 widgets/categories.php:72
1540
  msgid "AIOVG - Video Categories"
1541
  msgstr ""
@@ -1544,17 +1585,17 @@ msgstr ""
1544
  msgid "Display a list of video categories."
1545
  msgstr ""
1546
 
1547
- #: blocks/blocks.php:85 includes/functions.php:1086 includes/functions.php:1339
1548
  #: widgets/forms/categories.php:87
1549
  msgid "ASC"
1550
  msgstr ""
1551
 
1552
- #: blocks/blocks.php:86 includes/functions.php:1087 includes/functions.php:1340
1553
  #: widgets/forms/categories.php:88
1554
  msgid "DESC"
1555
  msgstr ""
1556
 
1557
- #: blocks/blocks.php:91 includes/functions.php:1374
1558
  msgid "Show Pagination"
1559
  msgstr ""
1560
 
@@ -1578,24 +1619,24 @@ msgstr ""
1578
  msgid "A videos search form for your site."
1579
  msgstr ""
1580
 
1581
- #: blocks/blocks.php:97 includes/functions.php:1395 widgets/forms/search.php:24
1582
  msgid "Vertical"
1583
  msgstr ""
1584
 
1585
- #: blocks/blocks.php:98 includes/functions.php:1396 widgets/forms/search.php:25
1586
  msgid "Horizontal"
1587
  msgstr ""
1588
 
1589
- #: blocks/blocks.php:99 includes/functions.php:1409 widgets/forms/search.php:45
1590
  msgid "Search By Categories"
1591
  msgstr ""
1592
 
1593
- #: blocks/blocks.php:100 includes/functions.php:1402
1594
  #: widgets/forms/search.php:38
1595
  msgid "Search By Video Title, Description"
1596
  msgstr ""
1597
 
1598
- #: blocks/blocks.php:101 includes/functions.php:1416
1599
  #: widgets/forms/search.php:52
1600
  msgid "Search By Tags"
1601
  msgstr ""
@@ -1697,129 +1738,137 @@ msgstr ""
1697
  msgid "Player Embed"
1698
  msgstr ""
1699
 
1700
- #: includes/functions.php:471
1701
  msgid ""
1702
  "<strong>Please accept cookies to play this video</strong>. By accepting you "
1703
  "will be accessing content from a service provided by an external third party."
1704
  msgstr ""
1705
 
1706
- #: includes/functions.php:472
1707
  msgid "Accept"
1708
  msgstr ""
1709
 
1710
- #: includes/functions.php:656
1711
- msgid "No Videos found."
 
 
 
 
1712
  msgstr ""
1713
 
1714
- #: includes/functions.php:659
1715
- msgid "No Categories found."
1716
  msgstr ""
1717
 
1718
- #: includes/functions.php:839
1719
  msgid "Single Video"
1720
  msgstr ""
1721
 
1722
- #: includes/functions.php:846 widgets/forms/video.php:20
1723
  msgid "Select Video"
1724
  msgstr ""
1725
 
1726
- #: includes/functions.php:862 includes/functions.php:897
1727
  msgid ""
1728
  "Enter your direct file URL in the textbox above (OR) upload your file using "
1729
  "the \"Upload File\" link."
1730
  msgstr ""
1731
 
1732
- #: includes/functions.php:1031 premium/public/templates/video-form.php:47
1733
  msgid "Select Categories"
1734
  msgstr ""
1735
 
1736
- #: includes/functions.php:1038 premium/public/templates/video-form.php:304
1737
  #: premium/public/templates/video-form.php:307
1738
  msgid "Select Tags"
1739
  msgstr ""
1740
 
1741
- #: includes/functions.php:1045
1742
  msgid "Include Video ID(s)"
1743
  msgstr ""
1744
 
1745
- #: includes/functions.php:1052
1746
  msgid "Exclude Video ID(s)"
1747
  msgstr ""
1748
 
1749
- #: includes/functions.php:1093
1750
  msgid "Featured Only"
1751
  msgstr ""
1752
 
1753
- #: includes/functions.php:1100
1754
  msgid "Follow URL"
1755
  msgstr ""
1756
 
1757
- #: includes/functions.php:1108
1758
  msgid "Gallery"
1759
  msgstr ""
1760
 
1761
- #: includes/functions.php:1224
1762
  msgid "More Button"
1763
  msgstr ""
1764
 
1765
- #: includes/functions.php:1231 widgets/forms/categories.php:134
1766
  msgid "More Button Label"
1767
  msgstr ""
1768
 
1769
- #: includes/functions.php:1234 widgets/categories.php:67
1770
  msgid "Show More"
1771
  msgstr ""
1772
 
1773
- #: includes/functions.php:1238 widgets/forms/categories.php:139
1774
  msgid "More Button Link"
1775
  msgstr ""
1776
 
1777
- #: includes/functions.php:1248
 
 
 
 
1778
  msgid "Categories"
1779
  msgstr ""
1780
 
1781
- #: includes/functions.php:1281
1782
  msgid "Include Category ID(s)"
1783
  msgstr ""
1784
 
1785
- #: includes/functions.php:1288
1786
  msgid "Exclude Category ID(s)"
1787
  msgstr ""
1788
 
1789
- #: includes/functions.php:1384
1790
  msgid "Search Form"
1791
  msgstr ""
1792
 
1793
- #: includes/functions.php:1506
1794
  msgid "Self Hosted"
1795
  msgstr ""
1796
 
1797
- #: includes/functions.php:1506
1798
  msgid "External URL"
1799
  msgstr ""
1800
 
1801
- #: includes/functions.php:1514
1802
  msgid "Iframe Embed Code"
1803
  msgstr ""
1804
 
1805
- #: includes/functions.php:1528
1806
  msgid "Classic"
1807
  msgstr ""
1808
 
1809
- #: includes/functions.php:1953
1810
  msgid "&laquo;"
1811
  msgstr ""
1812
 
1813
- #: includes/functions.php:1954
1814
  msgid "&raquo;"
1815
  msgstr ""
1816
 
1817
- #: includes/functions.php:1969
1818
  #, php-format
1819
  msgid "Page %d of %d"
1820
  msgstr ""
1821
 
1822
- #: includes/functions.php:2041
1823
  msgid "Pin It"
1824
  msgstr ""
1825
 
@@ -2081,58 +2130,58 @@ msgstr ""
2081
  msgid "Imported only"
2082
  msgstr ""
2083
 
2084
- #: premium/admin/automations.php:276
2085
  msgid "Source"
2086
  msgstr ""
2087
 
2088
- #: premium/admin/automations.php:279
2089
  msgid "Stats"
2090
  msgstr ""
2091
 
2092
- #: premium/admin/automations.php:295
2093
- msgid "Imported"
2094
- msgstr ""
2095
-
2096
- #: premium/admin/automations.php:375 premium/admin/automations.php:566
2097
  msgid "Paused"
2098
  msgstr ""
2099
 
2100
- #: premium/admin/automations.php:393
2101
  #: premium/admin/partials/automations-statistics.php:24
2102
  msgid "Import status"
2103
  msgstr ""
2104
 
2105
- #: premium/admin/automations.php:397
2106
  #: premium/admin/partials/automations-statistics.php:36
2107
  msgid "videos imported"
2108
  msgstr ""
2109
 
2110
- #: premium/admin/automations.php:398
2111
  #: premium/admin/partials/automations-statistics.php:61
2112
  msgid "Next scheduled update"
2113
  msgstr ""
2114
 
2115
- #: premium/admin/automations.php:466
 
 
 
 
2116
  msgid "Configure Import Sources"
2117
  msgstr ""
2118
 
2119
- #: premium/admin/automations.php:475
2120
  msgid "Video Post Settings"
2121
  msgstr ""
2122
 
2123
- #: premium/admin/automations.php:484
2124
  msgid "Import Stats"
2125
  msgstr ""
2126
 
2127
- #: premium/admin/automations.php:703
2128
  msgid "Test Run"
2129
  msgstr ""
2130
 
2131
- #: premium/admin/automations.php:704
2132
  msgid "Publish & Import"
2133
  msgstr ""
2134
 
2135
- #: premium/admin/automations.php:704
2136
  msgid "Import Next Batch"
2137
  msgstr ""
2138
 
@@ -2351,7 +2400,7 @@ msgstr ""
2351
 
2352
  #: premium/admin/partials/automations-video-settings.php:115
2353
  #: premium/admin/user.php:142 premium/admin/user.php:153
2354
- #: premium/public/templates/video-form.php:347
2355
  msgid "Publish"
2356
  msgstr ""
2357
 
@@ -2704,7 +2753,8 @@ msgstr ""
2704
 
2705
  #: premium/includes/functions.php:92
2706
  #: premium/public/templates/user-dashboard.php:58
2707
- #: public/templates/search-form-template-horizontal.php:76
 
2708
  #: public/templates/search-form-template-vertical.php:76
2709
  msgid "Search"
2710
  msgstr ""
@@ -2934,8 +2984,8 @@ msgstr ""
2934
 
2935
  #: premium/public/templates/user-dashboard.php:112
2936
  #: public/templates/single-video.php:70
2937
- #: public/templates/video-thumbnail-image-left.php:110
2938
- #: public/templates/video-thumbnail.php:106
2939
  #, php-format
2940
  msgid "%d views"
2941
  msgstr ""
@@ -2984,29 +3034,29 @@ msgstr ""
2984
  msgid "Enter your video description here"
2985
  msgstr ""
2986
 
2987
- #: premium/public/templates/video-form.php:331
2988
  #, php-format
2989
  msgid ""
2990
  "I agree to the <a href=\"%s\" target=\"_blank\">terms and conditions</a>"
2991
  msgstr ""
2992
 
2993
- #: premium/public/templates/video-form.php:348 premium/public/user.php:419
2994
  msgid "Save Draft"
2995
  msgstr ""
2996
 
2997
- #: premium/public/templates/video-form.php:350
2998
  msgid "Save Changes"
2999
  msgstr ""
3000
 
3001
- #: premium/public/templates/video-form.php:354
3002
  msgid "Cancel"
3003
  msgstr ""
3004
 
3005
  #: premium/public/templates/videos-template-popup.php:28
3006
- #: premium/public/templates/videos-template-slider-a.php:46
3007
- #: premium/public/templates/videos-template-slider-b.php:65
3008
- #: premium/public/templates/videos-template-slider-c.php:71
3009
- #: premium/public/templates/videos-template-slider-d.php:84
3010
  #: public/templates/videos-template-classic.php:18
3011
  #, php-format
3012
  msgid "%d video(s) found"
@@ -3108,11 +3158,7 @@ msgid ""
3108
  "Publisher Tag (GPT)</a> in the <a href=\"%s\">plugin settings</a>."
3109
  msgstr ""
3110
 
3111
- #: public/public.php:247
3112
- msgid "No tags found"
3113
- msgstr ""
3114
-
3115
- #: public/public.php:970
3116
  #, php-format
3117
  msgid "Showing results for \"%s\""
3118
  msgstr ""
@@ -3121,49 +3167,47 @@ msgstr ""
3121
  msgid "Search form disabled."
3122
  msgstr ""
3123
 
3124
- #: public/templates/category-thumbnail.php:38
3125
  #, php-format
3126
  msgid "%s videos"
3127
  msgstr ""
3128
 
3129
- #: public/templates/category-thumbnail.php:40
3130
  #, php-format
3131
  msgid "%s video"
3132
  msgstr ""
3133
 
3134
- #: public/templates/search-form-template-horizontal.php:26
3135
- #: public/templates/search-form-template-vertical.php:26
3136
- msgid "Search by keyword"
3137
  msgstr ""
3138
 
3139
- #: public/templates/search-form-template-horizontal.php:34
3140
- #: public/templates/search-form-template-vertical.php:34
3141
  msgid "Select a Category"
3142
  msgstr ""
3143
 
3144
- #: public/templates/search-form-template-horizontal.php:53
3145
- #: public/templates/search-form-template-horizontal.php:55
3146
- #: public/templates/search-form-template-vertical.php:53
3147
- #: public/templates/search-form-template-vertical.php:55
3148
- msgid "Search by tags"
3149
  msgstr ""
3150
 
3151
  #: public/templates/single-video.php:29
3152
- #: public/templates/video-thumbnail-image-left.php:44
3153
- #: public/templates/video-thumbnail.php:40
3154
  #, php-format
3155
  msgid "on %s"
3156
  msgstr ""
3157
 
3158
  #: public/templates/single-video.php:34
3159
- #: public/templates/video-thumbnail-image-left.php:49
3160
- #: public/templates/video-thumbnail.php:45
3161
  msgid "by"
3162
  msgstr ""
3163
 
3164
  #: public/templates/single-video.php:38
3165
- #: public/templates/video-thumbnail-image-left.php:53
3166
- #: public/templates/video-thumbnail.php:49
3167
  msgid "Posted"
3168
  msgstr ""
3169
 
@@ -3171,7 +3215,7 @@ msgstr ""
3171
  msgid "You may also like"
3172
  msgstr ""
3173
 
3174
- #: public/videos.php:134
3175
  msgid "Sub Categories"
3176
  msgstr ""
3177
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: All-in-One Video Gallery\n"
4
+ "POT-Creation-Date: 2022-01-31 20:51+0530\n"
5
+ "PO-Revision-Date: 2022-01-31 20:51+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: en_US\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
 
 
12
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
13
+ "X-Generator: Poedit 3.0.1\n"
14
+ "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_attr_e;esc_html__;esc_html_e;_n\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
+ #: admin/admin.php:166 admin/partials/issues.php:78
20
  msgid "Apply Fix"
21
  msgstr ""
22
 
23
+ #: admin/admin.php:179 admin/partials/issues.php:75
24
  msgid "Ignore"
25
  msgstr ""
26
 
27
+ #: admin/admin.php:205 admin/partials/dashboard.php:14 blocks/blocks.php:37
28
  msgid "All-in-One Video Gallery"
29
  msgstr ""
30
 
31
+ #: admin/admin.php:206 admin/videos.php:69 includes/functions.php:1017
32
+ #: widgets/videos.php:305
33
  msgid "Video Gallery"
34
  msgstr ""
35
 
36
+ #: admin/admin.php:216
37
  msgid "All-in-One Video Gallery - Dashboard"
38
  msgstr ""
39
 
40
+ #: admin/admin.php:217
41
  msgid "Dashboard"
42
  msgstr ""
43
 
44
+ #: admin/admin.php:231
45
  msgid "Shortcode Builder"
46
  msgstr ""
47
 
48
+ #: admin/admin.php:232
49
  msgid "FAQ"
50
  msgstr ""
51
 
52
+ #: admin/admin.php:241
53
  msgid "Issues Found"
54
  msgstr ""
55
 
56
+ #: admin/admin.php:464
57
  msgid "Pages Misconfigured"
58
  msgstr ""
59
 
60
+ #: admin/admin.php:466
61
  #, php-format
62
  msgid ""
63
  "During activation, our plugin adds few <a href=\"%s\" target=\"_blank"
66
  "or having a wrong shortcode."
67
  msgstr ""
68
 
69
+ #: admin/admin.php:534
70
+ msgid "Copied"
71
+ msgstr ""
72
+
73
+ #: admin/admin.php:535
74
  msgid "Please select at least one issue."
75
  msgstr ""
76
 
77
+ #: admin/admin.php:536
78
  msgid "Sorry, there is already a video with this quality level."
79
  msgstr ""
80
 
81
+ #: admin/admin.php:553 admin/settings.php:60
82
  msgid "Settings"
83
  msgstr ""
84
 
 
 
 
 
 
 
 
 
 
 
85
  #: admin/categories.php:32
86
  msgid "All-in-One Video Gallery - Categories"
87
  msgstr ""
88
 
89
  #: admin/categories.php:33 admin/categories.php:66
90
+ #: premium/admin/automations.php:283
91
  #: premium/admin/partials/automations-video-settings.php:18
92
  #: premium/admin/partials/automations-video-settings.php:21
93
  #: widgets/categories.php:54
94
  msgid "Video Categories"
95
  msgstr ""
96
 
97
+ #: admin/categories.php:67 admin/videos.php:396
98
+ #: premium/admin/automations.php:195 public/videos.php:100
99
  msgid "All Categories"
100
  msgstr ""
101
 
163
  msgid "Categories list navigation"
164
  msgstr ""
165
 
166
+ #: admin/categories.php:157 admin/settings.php:460 admin/tags.php:114
167
+ #: admin/videos.php:521 blocks/blocks.php:80 includes/functions.php:1334
168
  #: widgets/forms/categories.php:69
169
  msgid "ID"
170
  msgstr ""
171
 
172
  #: admin/partials/category-image.php:15 admin/partials/category-image.php:26
173
  #: admin/partials/video-sources.php:261 admin/partials/video-sources.php:265
174
+ #: includes/functions.php:904 premium/public/templates/video-form.php:263
175
  msgid "Image"
176
  msgstr ""
177
 
286
  msgstr ""
287
 
288
  #: admin/partials/shortcode-builder.php:162 blocks/blocks.php:73
289
+ #: includes/functions.php:1281 widgets/forms/categories.php:36
290
  #: widgets/forms/categories.php:39
291
  msgid "Select Parent"
292
  msgstr ""
435
  msgstr ""
436
 
437
  #: admin/partials/video-sources.php:17 admin/partials/video-sources.php:21
438
+ #: includes/functions.php:861 premium/admin/partials/automations-sources.php:42
439
  #: premium/admin/partials/automations-sources.php:45
440
  #: premium/public/templates/video-form.php:73
441
  msgid "Source Type"
442
  msgstr ""
443
 
444
  #: admin/partials/video-sources.php:36 admin/partials/video-sources.php:41
445
+ #: admin/videos.php:70 admin/videos.php:102 includes/functions.php:869
446
  #: premium/public/templates/video-form.php:92
447
  msgid "Video"
448
  msgstr ""
457
  msgstr ""
458
 
459
  #: admin/partials/video-sources.php:63 admin/partials/video-sources.php:104
460
+ #: admin/partials/video-sources.php:323 admin/settings.php:295
461
  msgid "None"
462
  msgstr ""
463
 
493
  msgstr ""
494
 
495
  #: admin/partials/video-sources.php:182 admin/partials/video-sources.php:186
496
+ #: admin/settings.php:330 includes/functions.php:876
497
+ #: includes/functions.php:1515 premium/includes/functions.php:110
498
  #: premium/public/templates/video-form.php:185
499
  msgid "YouTube"
500
  msgstr ""
501
 
502
  #: admin/partials/video-sources.php:190 admin/partials/video-sources.php:204
503
  #: admin/partials/video-sources.php:218 admin/partials/video-sources.php:232
504
+ #: includes/functions.php:877 includes/functions.php:884
505
+ #: includes/functions.php:891 includes/functions.php:898
506
  #: premium/admin/adaptive-streaming.php:42
507
  #: premium/admin/adaptive-streaming.php:50
508
  #: premium/admin/partials/adaptive-streaming.php:24
522
  msgstr ""
523
 
524
  #: admin/partials/video-sources.php:196 admin/partials/video-sources.php:200
525
+ #: admin/settings.php:331 includes/functions.php:883
526
+ #: includes/functions.php:1516 premium/public/templates/video-form.php:201
527
  msgid "Vimeo"
528
  msgstr ""
529
 
530
  #: admin/partials/video-sources.php:210 admin/partials/video-sources.php:214
531
+ #: admin/settings.php:332 includes/functions.php:890
532
+ #: includes/functions.php:1517 premium/public/templates/video-form.php:217
533
  msgid "Dailymotion"
534
  msgstr ""
535
 
536
  #: admin/partials/video-sources.php:224 admin/partials/video-sources.php:228
537
+ #: admin/settings.php:333 admin/settings.php:616 includes/functions.php:897
538
+ #: includes/functions.php:1518 includes/functions.php:2134
539
  #: premium/public/templates/video-form.php:233
540
  msgid "Facebook"
541
  msgstr ""
559
  msgstr ""
560
 
561
  #: admin/partials/video-sources.php:282 admin/partials/video-sources.php:286
562
+ #: admin/settings.php:308 blocks/blocks.php:123 includes/functions.php:972
563
  #: widgets/forms/video.php:110
564
  msgid "Duration"
565
  msgstr ""
566
 
567
  #: admin/partials/video-sources.php:296 admin/partials/video-sources.php:300
568
+ #: admin/videos.php:520
569
  msgid "Views"
570
  msgstr ""
571
 
573
  msgid "Mark as"
574
  msgstr ""
575
 
576
+ #: admin/partials/video-submitbox.php:20 admin/videos.php:577
577
  msgid "Featured"
578
  msgstr ""
579
 
617
  msgid "All-in-One Video Gallery - Settings"
618
  msgstr ""
619
 
620
+ #: admin/settings.php:98 blocks/blocks.php:107 includes/functions.php:850
621
+ #: includes/functions.php:1020 includes/functions.php:1259
622
+ #: includes/functions.php:1395
623
  msgid "General"
624
  msgstr ""
625
 
651
  msgid "Single Video Page"
652
  msgstr ""
653
 
654
+ #: admin/settings.php:145 admin/settings.php:519 includes/functions.php:1108
655
  msgid "Related Videos"
656
  msgstr ""
657
 
660
  msgstr ""
661
 
662
  #: admin/settings.php:159
663
+ msgid "Pagination Settings"
664
  msgstr ""
665
 
666
  #: admin/settings.php:166
667
+ msgid "Social Sharing"
668
+ msgstr ""
669
+
670
+ #: admin/settings.php:173
671
  msgid "Permalink Slugs"
672
  msgstr ""
673
 
674
+ #: admin/settings.php:174
675
  msgid ""
676
  "NOTE: Just make sure that, after updating the fields in this section, you "
677
  "flush the rewrite rules by visiting \"Settings > Permalinks\". Otherwise "
678
  "you'll still see the old links."
679
  msgstr ""
680
 
681
+ #: admin/settings.php:180
682
  msgid "Misc Settings"
683
  msgstr ""
684
 
685
+ #: admin/settings.php:187
686
  msgid "Page Settings"
687
  msgstr ""
688
 
689
+ #: admin/settings.php:194
690
  msgid "Privacy Settings"
691
  msgstr ""
692
 
693
+ #: admin/settings.php:195
694
  msgid ""
695
  "These options will help with privacy restrictions such as GDPR and the EU "
696
  "Cookie Law."
697
  msgstr ""
698
 
699
+ #: admin/settings.php:204
700
  msgid "Logo & Branding"
701
  msgstr ""
702
 
703
+ #: admin/settings.php:227
704
  msgid "Player Type"
705
  msgstr ""
706
 
707
+ #: admin/settings.php:231
708
  msgid "JavaScript"
709
  msgstr ""
710
 
711
+ #: admin/settings.php:232
712
  msgid "Iframe"
713
  msgstr ""
714
 
715
+ #: admin/settings.php:238 admin/settings.php:587 blocks/blocks.php:108
716
+ #: includes/functions.php:911 premium/widgets/forms/companion.php:16
717
  #: widgets/forms/video.php:54
718
  msgid "Width"
719
  msgstr ""
720
 
721
+ #: admin/settings.php:239 blocks/blocks.php:109 includes/functions.php:912
722
  #, php-format
723
  msgid ""
724
  "In pixels. Maximum width of the player. Leave this field empty to scale "
725
  "100% of its enclosing container/html element."
726
  msgstr ""
727
 
728
+ #: admin/settings.php:245 admin/settings.php:594 blocks/blocks.php:110
729
+ #: includes/functions.php:918 includes/functions.php:1120
730
+ #: includes/functions.php:1303 widgets/forms/video.php:59
731
  msgid "Ratio"
732
  msgstr ""
733
 
734
+ #: admin/settings.php:248 blocks/blocks.php:111 includes/functions.php:919
735
  msgid ""
736
  "In percentage. 1 to 100. Calculate player's height using the ratio value "
737
  "entered."
738
  msgstr ""
739
 
740
+ #: admin/settings.php:249
741
  msgid "Examples"
742
  msgstr ""
743
 
744
+ #: admin/settings.php:250
745
  msgid "Wide Screen TV"
746
  msgstr ""
747
 
748
+ #: admin/settings.php:251
749
  msgid "Monitor Screens"
750
  msgstr ""
751
 
752
+ #: admin/settings.php:252
753
  msgid "Classic TV"
754
  msgstr ""
755
 
756
+ #: admin/settings.php:253
757
  msgid "Photo Camera"
758
  msgstr ""
759
 
760
+ #: admin/settings.php:254
761
  msgid "Square"
762
  msgstr ""
763
 
764
+ #: admin/settings.php:255
765
  msgid "Cinemascope"
766
  msgstr ""
767
 
768
+ #: admin/settings.php:262 blocks/blocks.php:112 includes/functions.php:925
769
  #: widgets/forms/video.php:66
770
  msgid "Autoplay"
771
  msgstr ""
772
 
773
+ #: admin/settings.php:263
774
  msgid "Check this to start playing the video as soon as it is ready"
775
  msgstr ""
776
 
777
+ #: admin/settings.php:269 blocks/blocks.php:113 includes/functions.php:932
778
  #: widgets/forms/video.php:73
779
  msgid "Loop"
780
  msgstr ""
781
 
782
+ #: admin/settings.php:270
783
  msgid ""
784
  "Check this, so that the video will start over again, every time it is "
785
  "finished"
786
  msgstr ""
787
 
788
+ #: admin/settings.php:276 blocks/blocks.php:114 includes/functions.php:939
789
  #: widgets/forms/video.php:80
790
  msgid "Muted"
791
  msgstr ""
792
 
793
+ #: admin/settings.php:277
794
  msgid "Check this to turn OFF the audio output of the video by default"
795
  msgstr ""
796
 
797
+ #: admin/settings.php:283
798
  msgid "Preload"
799
  msgstr ""
800
 
801
+ #: admin/settings.php:286
802
  msgid "Specifies if and how the video should be loaded when the page loads."
803
  msgstr ""
804
 
805
+ #: admin/settings.php:287
806
  msgid "\"Auto\" - the video should be loaded entirely when the page loads"
807
  msgstr ""
808
 
809
+ #: admin/settings.php:288
810
  msgid "\"Metadata\" - only metadata should be loaded when the page loads"
811
  msgstr ""
812
 
813
+ #: admin/settings.php:289
814
  msgid "\"None\" - the video should not be loaded when the page loads"
815
  msgstr ""
816
 
817
+ #: admin/settings.php:293
818
  msgid "Auto"
819
  msgstr ""
820
 
821
+ #: admin/settings.php:294
822
  msgid "Metadata"
823
  msgstr ""
824
 
825
+ #: admin/settings.php:301 blocks/blocks.php:119 includes/functions.php:947
826
  #: widgets/forms/video.php:84
827
  msgid "Player Controls"
828
  msgstr ""
829
 
830
+ #: admin/settings.php:305 blocks/blocks.php:120 includes/functions.php:951
831
  #: widgets/forms/video.php:89
832
  msgid "Play / Pause"
833
  msgstr ""
834
 
835
+ #: admin/settings.php:306 blocks/blocks.php:121 includes/functions.php:958
836
  #: widgets/forms/video.php:96
837
  msgid "Current Time"
838
  msgstr ""
839
 
840
+ #: admin/settings.php:307 blocks/blocks.php:122 includes/functions.php:965
841
  #: widgets/forms/video.php:103
842
  msgid "Progressbar"
843
  msgstr ""
844
 
845
+ #: admin/settings.php:309 admin/videos.php:170 includes/functions.php:979
846
  #: widgets/forms/video.php:117
847
  msgid "Subtitles"
848
  msgstr ""
849
 
850
+ #: admin/settings.php:310 blocks/blocks.php:124 includes/functions.php:986
851
  #: widgets/forms/video.php:124
852
  msgid "Quality Selector"
853
  msgstr ""
854
 
855
+ #: admin/settings.php:311 blocks/blocks.php:125 includes/functions.php:993
856
  #: widgets/forms/video.php:131
857
  msgid "Speed Control"
858
  msgstr ""
859
 
860
+ #: admin/settings.php:312 blocks/blocks.php:126 includes/functions.php:1000
861
  #: widgets/forms/video.php:138
862
  msgid "Volume"
863
  msgstr ""
864
 
865
+ #: admin/settings.php:313 blocks/blocks.php:127 includes/functions.php:1007
866
  #: widgets/forms/video.php:145
867
  msgid "Fullscreen"
868
  msgstr ""
869
 
870
+ #: admin/settings.php:319
871
  msgid "Quality Levels"
872
  msgstr ""
873
 
874
+ #: admin/settings.php:320
875
  msgid "Enter the video quality levels, one per line."
876
  msgstr ""
877
 
878
+ #: admin/settings.php:326
879
  msgid "Use Native Controls"
880
  msgstr ""
881
 
882
+ #: admin/settings.php:327
883
  msgid ""
884
  "Enables native player controls on the selected source types. For example, "
885
  "uses YouTube Player for playing YouTube videos & Vimeo Player for playing "
887
  "selected sources."
888
  msgstr ""
889
 
890
+ #: admin/settings.php:341 admin/settings.php:428 blocks/blocks.php:74
891
+ #: includes/functions.php:1031 includes/functions.php:1270
892
+ #: includes/functions.php:1399 widgets/forms/categories.php:20
893
  #: widgets/forms/search.php:20
894
  msgid "Select Template"
895
  msgstr ""
896
 
897
+ #: admin/settings.php:342 includes/functions.php:1032
898
  #, php-format
899
  msgid ""
900
  "<a href=\"%s\" target=\"_blank\">Upgrade Pro</a> for more templates (Popup, "
901
  "Slider, etc.)"
902
  msgstr ""
903
 
904
+ #: admin/settings.php:349 admin/settings.php:439 admin/settings.php:534
905
+ #: blocks/blocks.php:77 includes/functions.php:1127 includes/functions.php:1310
906
  #: widgets/forms/categories.php:55
907
  msgid "Columns"
908
  msgstr ""
909
 
910
+ #: admin/settings.php:350
911
  msgid "Enter the number of columns you like to have in the gallery view."
912
  msgstr ""
913
 
914
+ #: admin/settings.php:359 admin/settings.php:449 admin/settings.php:544
915
+ #: blocks/blocks.php:78 includes/functions.php:1067 includes/functions.php:1320
916
  #: widgets/forms/categories.php:60
917
  msgid "Limit (per page)"
918
  msgstr ""
919
 
920
+ #: admin/settings.php:360 admin/settings.php:545
921
  msgid ""
922
  "Number of videos to show per page. Use a value of \"0\" to show all videos."
923
  msgstr ""
924
 
925
+ #: admin/settings.php:366 admin/settings.php:551 blocks/blocks.php:79
926
+ #: includes/functions.php:1077 includes/functions.php:1330
927
  #: premium/admin/partials/automations-sources.php:171
928
  #: premium/admin/partials/automations-sources.php:174
929
  #: widgets/forms/categories.php:65
930
  msgid "Order By"
931
  msgstr ""
932
 
933
+ #: admin/settings.php:370 admin/settings.php:555 includes/functions.php:1024
934
+ #: includes/functions.php:1081 includes/functions.php:1263
935
  #: premium/admin/partials/automations-sources.php:181
936
  #: premium/public/templates/user-dashboard.php:78
937
  #: widgets/forms/categories.php:15 widgets/forms/search.php:15
939
  msgid "Title"
940
  msgstr ""
941
 
942
+ #: admin/settings.php:371 admin/settings.php:556 includes/functions.php:1082
943
  msgid "Date Posted"
944
  msgstr ""
945
 
946
+ #: admin/settings.php:372 admin/settings.php:411 admin/settings.php:518
947
+ #: admin/settings.php:557 includes/functions.php:1083
948
+ #: includes/functions.php:1197
949
  #: premium/admin/partials/automations-sources.php:182
950
  msgid "Views Count"
951
  msgstr ""
952
 
953
+ #: admin/settings.php:373 admin/settings.php:558 includes/functions.php:1084
954
  msgid "Random"
955
  msgstr ""
956
 
957
+ #: admin/settings.php:379 admin/settings.php:469 admin/settings.php:564
958
+ #: blocks/blocks.php:84 includes/functions.php:1090 includes/functions.php:1343
959
  #: widgets/forms/categories.php:83
960
  msgid "Order"
961
  msgstr ""
962
 
963
+ #: admin/settings.php:383 admin/settings.php:473 admin/settings.php:568
964
  msgid "Ascending"
965
  msgstr ""
966
 
967
+ #: admin/settings.php:384 admin/settings.php:474 admin/settings.php:569
968
  msgid "Descending"
969
  msgstr ""
970
 
971
+ #: admin/settings.php:390 includes/functions.php:1137
972
  msgid "Image Position (Thumbnails)"
973
  msgstr ""
974
 
975
+ #: admin/settings.php:394 includes/functions.php:1141
976
  msgid "Top"
977
  msgstr ""
978
 
979
+ #: admin/settings.php:395 includes/functions.php:1142
980
  msgid "Left"
981
  msgstr ""
982
 
983
+ #: admin/settings.php:401 includes/functions.php:1148
984
  msgid "Show / Hide (Thumbnails)"
985
  msgstr ""
986
 
987
+ #: admin/settings.php:405 includes/functions.php:1155
988
  msgid "Videos Count"
989
  msgstr ""
990
 
991
+ #: admin/settings.php:406 includes/functions.php:1162
992
  #: premium/admin/slider.php:69 premium/public/slider.php:91
993
  #: premium/public/templates/video-form.php:33
994
  msgid "Video Title"
995
  msgstr ""
996
 
997
+ #: admin/settings.php:407 admin/settings.php:514 includes/functions.php:1169
998
  msgid "Category Name(s)"
999
  msgstr ""
1000
 
1001
+ #: admin/settings.php:408 admin/settings.php:515 includes/functions.php:1176
1002
  msgid "Tag Name(s)"
1003
  msgstr ""
1004
 
1005
+ #: admin/settings.php:409 admin/settings.php:516 includes/functions.php:1183
1006
  msgid "Date Added"
1007
  msgstr ""
1008
 
1009
+ #: admin/settings.php:410 admin/settings.php:517 includes/functions.php:1190
1010
  msgid "Author Name"
1011
  msgstr ""
1012
 
1013
+ #: admin/settings.php:412 includes/functions.php:1204
1014
  msgid "Video Duration"
1015
  msgstr ""
1016
 
1017
+ #: admin/settings.php:413 includes/functions.php:1211
1018
  msgid "Video Excerpt (Short Description)"
1019
  msgstr ""
1020
 
1021
+ #: admin/settings.php:419 includes/functions.php:1218
1022
  msgid "Excerpt Length"
1023
  msgstr ""
1024
 
1025
+ #: admin/settings.php:420
1026
  msgid "Number of characters."
1027
  msgstr ""
1028
 
1029
+ #: admin/settings.php:432 blocks/blocks.php:75 includes/functions.php:1274
1030
  #: widgets/forms/categories.php:24
1031
  msgid "Grid"
1032
  msgstr ""
1033
 
1034
+ #: admin/settings.php:433 blocks/blocks.php:76 includes/functions.php:1275
1035
  #: widgets/forms/categories.php:25
1036
  msgid "List"
1037
  msgstr ""
1038
 
1039
+ #: admin/settings.php:440
1040
  msgid "Enter the number of columns you like to have in your categories page."
1041
  msgstr ""
1042
 
1043
+ #: admin/settings.php:450
1044
  msgid ""
1045
  "Number of categories to show per page. Use a value of \"0\" to show all "
1046
  "categories."
1047
  msgstr ""
1048
 
1049
+ #: admin/settings.php:456
1050
  msgid "Order by"
1051
  msgstr ""
1052
 
1053
+ #: admin/settings.php:461 blocks/blocks.php:81 includes/functions.php:1335
1054
  #: widgets/forms/categories.php:70
1055
  msgid "Count"
1056
  msgstr ""
1057
 
1058
+ #: admin/settings.php:462 blocks/blocks.php:82 includes/functions.php:1336
1059
  #: widgets/forms/categories.php:71
1060
  msgid "Name"
1061
  msgstr ""
1062
 
1063
+ #: admin/settings.php:463 blocks/blocks.php:83 includes/functions.php:1337
1064
  #: widgets/forms/categories.php:72
1065
  msgid "Slug"
1066
  msgstr ""
1067
 
1068
+ #: admin/settings.php:480 blocks/blocks.php:87 includes/functions.php:1354
1069
  #: widgets/forms/categories.php:101
1070
  msgid "Show Hierarchy"
1071
  msgstr ""
1072
 
1073
+ #: admin/settings.php:481
1074
  msgid "Check this to show the child categories"
1075
  msgstr ""
1076
 
1077
+ #: admin/settings.php:487 blocks/blocks.php:88 includes/functions.php:1361
1078
  #: widgets/forms/categories.php:108
1079
  msgid "Show Description"
1080
  msgstr ""
1081
 
1082
+ #: admin/settings.php:488
1083
  msgid "Check this to show the categories description"
1084
  msgstr ""
1085
 
1086
+ #: admin/settings.php:494 blocks/blocks.php:89 includes/functions.php:1368
1087
  #: widgets/forms/categories.php:115
1088
  msgid "Show Videos Count"
1089
  msgstr ""
1090
 
1091
+ #: admin/settings.php:495
1092
  msgid "Check this to show the videos count next to the category name"
1093
  msgstr ""
1094
 
1095
+ #: admin/settings.php:501 blocks/blocks.php:90 includes/functions.php:1375
1096
  #: widgets/forms/categories.php:122
1097
  msgid "Hide Empty Categories"
1098
  msgstr ""
1099
 
1100
+ #: admin/settings.php:502
1101
  msgid "Check this to hide categories with no videos"
1102
  msgstr ""
1103
 
1104
+ #: admin/settings.php:510 admin/settings.php:575
1105
  msgid "Show / Hide"
1106
  msgstr ""
1107
 
1108
+ #: admin/settings.php:525
1109
  msgid "Enable Comments"
1110
  msgstr ""
1111
 
1112
+ #: admin/settings.php:526
1113
  msgid ""
1114
  "Allow visitors to comment videos using the standard WordPress comment form. "
1115
  "Comments are public"
1116
  msgstr ""
1117
 
1118
+ #: admin/settings.php:535
1119
  msgid ""
1120
  "Enter the number of columns you like to have in the related videos section."
1121
  msgstr ""
1122
 
1123
+ #: admin/settings.php:579 includes/functions.php:1225
1124
  msgid "Pagination"
1125
  msgstr ""
1126
 
1127
+ #: admin/settings.php:588
1128
  #, php-format
1129
  msgid "Always 100% of its enclosing container/html element."
1130
  msgstr ""
1131
 
1132
+ #: admin/settings.php:595
1133
  msgid ""
1134
  "In percentage. 1 to 100. Calculate images's height using the ratio value "
1135
  "entered."
1136
  msgstr ""
1137
 
1138
+ #: admin/settings.php:603
1139
+ msgid "Ajax"
1140
+ msgstr ""
1141
+
1142
+ #: admin/settings.php:604
1143
+ msgid "Check this to enable Pagination with Ajax"
1144
+ msgstr ""
1145
+
1146
+ #: admin/settings.php:612
1147
  msgid "Share Buttons"
1148
  msgstr ""
1149
 
1150
+ #: admin/settings.php:613
1151
  msgid "Select social share buttons displayed on the single video pages."
1152
  msgstr ""
1153
 
1154
+ #: admin/settings.php:617 includes/functions.php:2141
1155
  msgid "Twitter"
1156
  msgstr ""
1157
 
1158
+ #: admin/settings.php:618 includes/functions.php:2148
1159
  msgid "Linkedin"
1160
  msgstr ""
1161
 
1162
+ #: admin/settings.php:619
1163
  msgid "Pinterest"
1164
  msgstr ""
1165
 
1166
+ #: admin/settings.php:620 includes/functions.php:2172
1167
  msgid "Tumblr"
1168
  msgstr ""
1169
 
1170
+ #: admin/settings.php:621 includes/functions.php:2185
1171
  msgid "WhatsApp"
1172
  msgstr ""
1173
 
1174
+ #: admin/settings.php:627
1175
  msgid "Open Graph Tags"
1176
  msgstr ""
1177
 
1178
+ #: admin/settings.php:628
1179
  msgid ""
1180
  "Check this option to enable Facebook Open Graph meta tags and Twitter cards "
1181
  "on the single video pages"
1182
  msgstr ""
1183
 
1184
+ #: admin/settings.php:634
1185
  msgid "Twitter Username"
1186
  msgstr ""
1187
 
1188
+ #: admin/settings.php:635
1189
  msgid ""
1190
  "The Twitter @username the player card should be attributed to. Required for "
1191
  "sharing videos in Twitter."
1192
  msgstr ""
1193
 
1194
+ #: admin/settings.php:644
1195
  msgid "Video Detail Page"
1196
  msgstr ""
1197
 
1198
+ #: admin/settings.php:645
1199
  msgid "Replaces the SLUG value used by custom post type \"aiovg_videos\"."
1200
  msgstr ""
1201
 
1202
+ #: admin/settings.php:653
1203
  msgid "Remove data on uninstall?"
1204
  msgstr ""
1205
 
1206
+ #: admin/settings.php:654
1207
  msgid ""
1208
  "Check this box to delete all of the plugin data (database stored content) "
1209
  "when uninstalled"
1210
  msgstr ""
1211
 
1212
+ #: admin/settings.php:660
1213
  msgid "Delete media files?"
1214
  msgstr ""
1215
 
1216
+ #: admin/settings.php:661
1217
  msgid ""
1218
  "Check this box to also delete the associated media files when a video post "
1219
  "or a video category is deleted"
1220
  msgstr ""
1221
 
1222
+ #: admin/settings.php:667
1223
  msgid "Vimeo Access Token"
1224
  msgstr ""
1225
 
1226
+ #: admin/settings.php:668
1227
  #, php-format
1228
  msgid ""
1229
  "Follow <a href=\"%s\" target=\"_blank\">this guide</a> to get your own "
1230
  "access token."
1231
  msgstr ""
1232
 
1233
+ #: admin/settings.php:676
1234
  msgid "Single Category Page"
1235
  msgstr ""
1236
 
1237
+ #: admin/settings.php:677
1238
  msgid ""
1239
  "This is the page where the videos from a particular category is displayed. "
1240
  "The [aiovg_category] short code must be on this page."
1241
  msgstr ""
1242
 
1243
+ #: admin/settings.php:683
1244
  msgid "Single Tag Page"
1245
  msgstr ""
1246
 
1247
+ #: admin/settings.php:684
1248
  msgid ""
1249
  "This is the page where the videos from a particular tag is displayed. The "
1250
  "[aiovg_tag] short code must be on this page."
1251
  msgstr ""
1252
 
1253
+ #: admin/settings.php:690
1254
  msgid "Search Page"
1255
  msgstr ""
1256
 
1257
+ #: admin/settings.php:691
1258
  msgid ""
1259
  "This is the page where the search results are displayed. The [aiovg_search] "
1260
  "short code must be on this page."
1261
  msgstr ""
1262
 
1263
+ #: admin/settings.php:697
1264
  msgid "User Videos Page"
1265
  msgstr ""
1266
 
1267
+ #: admin/settings.php:698
1268
  msgid ""
1269
  "This is the page where the videos from an user is displayed. The "
1270
  "[aiovg_user_videos] short code must be on this page."
1271
  msgstr ""
1272
 
1273
+ #: admin/settings.php:704
1274
  msgid "Player Page"
1275
  msgstr ""
1276
 
1277
+ #: admin/settings.php:705
1278
  msgid "This is the page used to show the video player."
1279
  msgstr ""
1280
 
1281
+ #: admin/settings.php:713
1282
  msgid "GDPR - Show Consent"
1283
  msgstr ""
1284
 
1285
+ #: admin/settings.php:714
1286
  msgid "Ask for consent before loading YouTube / Vimeo content."
1287
  msgstr ""
1288
 
1289
+ #: admin/settings.php:720
1290
  msgid "GDPR - Consent Message"
1291
  msgstr ""
1292
 
1293
+ #: admin/settings.php:727
1294
  msgid "GDPR - Consent Button Label"
1295
  msgstr ""
1296
 
1297
+ #: admin/settings.php:734
1298
+ msgid "Disable Cookies"
1299
+ msgstr ""
1300
+
1301
+ #: admin/settings.php:738
1302
+ msgid ""
1303
+ "<strong>aiovg_videos_views</strong> - check this option for Total Views, but "
1304
+ "uncheck for the Unique Views. eg. 1 Person can watch a video 10 times and "
1305
+ "that will go under Total Views, but they will be stored once under Unique "
1306
+ "Views."
1307
+ msgstr ""
1308
+
1309
+ #: admin/settings.php:739
1310
+ msgid ""
1311
+ "<strong>aiovg_rand_seed</strong> - uncheck this option if you show videos in "
1312
+ "a Random order with the Pagination on any of your pages."
1313
+ msgstr ""
1314
+
1315
+ #: admin/settings.php:750
1316
  msgid "Show Logo"
1317
  msgstr ""
1318
 
1319
+ #: admin/settings.php:751
1320
  msgid "Check this option to show the watermark on the video."
1321
  msgstr ""
1322
 
1323
+ #: admin/settings.php:757
1324
  msgid "Logo Image"
1325
  msgstr ""
1326
 
1327
+ #: admin/settings.php:758
1328
  msgid ""
1329
  "Upload the image file of your logo. We recommend using the transparent PNG "
1330
  "format with width below 100 pixels. If you do not enter any image, no logo "
1331
  "will displayed."
1332
  msgstr ""
1333
 
1334
+ #: admin/settings.php:764
1335
  msgid "Logo Link"
1336
  msgstr ""
1337
 
1338
+ #: admin/settings.php:765
1339
  msgid ""
1340
  "The URL to visit when the watermark image is clicked. Clicking a logo will "
1341
  "have no affect unless this is configured."
1342
  msgstr ""
1343
 
1344
+ #: admin/settings.php:771
1345
  msgid "Logo Position"
1346
  msgstr ""
1347
 
1348
+ #: admin/settings.php:772
1349
  msgid "This sets the corner in which to display the watermark."
1350
  msgstr ""
1351
 
1352
+ #: admin/settings.php:775
1353
  msgid "Top Left"
1354
  msgstr ""
1355
 
1356
+ #: admin/settings.php:776
1357
  msgid "Top Right"
1358
  msgstr ""
1359
 
1360
+ #: admin/settings.php:777
1361
  msgid "Bottom Left"
1362
  msgstr ""
1363
 
1364
+ #: admin/settings.php:778
1365
  msgid "Bottom Right"
1366
  msgstr ""
1367
 
1368
+ #: admin/settings.php:784
1369
  msgid "Logo Margin"
1370
  msgstr ""
1371
 
1372
+ #: admin/settings.php:785
1373
  msgid "The distance, in pixels, of the logo from the edges of the display."
1374
  msgstr ""
1375
 
1376
+ #: admin/settings.php:791
1377
  msgid "Copyright Text"
1378
  msgstr ""
1379
 
1380
+ #: admin/settings.php:792
1381
  msgid "Text that is shown when a user right-clicks the player with the mouse."
1382
  msgstr ""
1383
 
1384
+ #: admin/settings.php:1068
1385
  msgid "Choose File"
1386
  msgstr ""
1387
 
1388
+ #: admin/settings.php:1117
1389
  msgid "Select a page"
1390
  msgstr ""
1391
 
1393
  msgid "All-in-One Video Gallery - Tags"
1394
  msgstr ""
1395
 
1396
+ #: admin/tags.php:33 admin/tags.php:66 premium/admin/automations.php:284
1397
  #: premium/admin/partials/automations-video-settings.php:40
1398
  #: premium/admin/partials/automations-video-settings.php:43
1399
  msgid "Video Tags"
1435
  msgid "Popular Tags"
1436
  msgstr ""
1437
 
1438
+ #: admin/tags.php:79 public/templates/search-form-template-horizontal.php:47
1439
+ #: public/templates/search-form-template-vertical.php:47
1440
  msgid "Search Tags"
1441
  msgstr ""
1442
 
1456
  msgid "All-in-One Video Gallery - Videos"
1457
  msgstr ""
1458
 
1459
+ #: admin/videos.php:33 admin/videos.php:74 admin/videos.php:413
1460
  msgid "All Videos"
1461
  msgstr ""
1462
 
1553
  msgid "Video Description"
1554
  msgstr ""
1555
 
1556
+ #: admin/videos.php:161
1557
  msgid "Video Sources"
1558
  msgstr ""
1559
 
1560
+ #: admin/videos.php:414
1561
  msgid "Featured only"
1562
  msgstr ""
1563
 
1564
+ #: admin/videos.php:488
1565
+ msgid "Copy URL"
1566
+ msgstr ""
1567
+
1568
+ #: admin/videos.php:497
1569
+ msgid "Copy Shortcode"
1570
+ msgstr ""
1571
+
1572
+ #: admin/videos.php:519
1573
+ msgid "Misc"
1574
+ msgstr ""
1575
+
1576
+ #: admin/videos.php:566
1577
+ msgid "Author"
1578
+ msgstr ""
1579
+
1580
  #: blocks/blocks.php:71 widgets/categories.php:72
1581
  msgid "AIOVG - Video Categories"
1582
  msgstr ""
1585
  msgid "Display a list of video categories."
1586
  msgstr ""
1587
 
1588
+ #: blocks/blocks.php:85 includes/functions.php:1094 includes/functions.php:1347
1589
  #: widgets/forms/categories.php:87
1590
  msgid "ASC"
1591
  msgstr ""
1592
 
1593
+ #: blocks/blocks.php:86 includes/functions.php:1095 includes/functions.php:1348
1594
  #: widgets/forms/categories.php:88
1595
  msgid "DESC"
1596
  msgstr ""
1597
 
1598
+ #: blocks/blocks.php:91 includes/functions.php:1382
1599
  msgid "Show Pagination"
1600
  msgstr ""
1601
 
1619
  msgid "A videos search form for your site."
1620
  msgstr ""
1621
 
1622
+ #: blocks/blocks.php:97 includes/functions.php:1403 widgets/forms/search.php:24
1623
  msgid "Vertical"
1624
  msgstr ""
1625
 
1626
+ #: blocks/blocks.php:98 includes/functions.php:1404 widgets/forms/search.php:25
1627
  msgid "Horizontal"
1628
  msgstr ""
1629
 
1630
+ #: blocks/blocks.php:99 includes/functions.php:1417 widgets/forms/search.php:45
1631
  msgid "Search By Categories"
1632
  msgstr ""
1633
 
1634
+ #: blocks/blocks.php:100 includes/functions.php:1410
1635
  #: widgets/forms/search.php:38
1636
  msgid "Search By Video Title, Description"
1637
  msgstr ""
1638
 
1639
+ #: blocks/blocks.php:101 includes/functions.php:1424
1640
  #: widgets/forms/search.php:52
1641
  msgid "Search By Tags"
1642
  msgstr ""
1738
  msgid "Player Embed"
1739
  msgstr ""
1740
 
1741
+ #: includes/functions.php:474
1742
  msgid ""
1743
  "<strong>Please accept cookies to play this video</strong>. By accepting you "
1744
  "will be accessing content from a service provided by an external third party."
1745
  msgstr ""
1746
 
1747
+ #: includes/functions.php:475
1748
  msgid "Accept"
1749
  msgstr ""
1750
 
1751
+ #: includes/functions.php:660
1752
+ msgid "No videos found."
1753
+ msgstr ""
1754
+
1755
+ #: includes/functions.php:663
1756
+ msgid "No categories found."
1757
  msgstr ""
1758
 
1759
+ #: includes/functions.php:666 public/public.php:1127
1760
+ msgid "No tags found."
1761
  msgstr ""
1762
 
1763
+ #: includes/functions.php:847
1764
  msgid "Single Video"
1765
  msgstr ""
1766
 
1767
+ #: includes/functions.php:854 widgets/forms/video.php:20
1768
  msgid "Select Video"
1769
  msgstr ""
1770
 
1771
+ #: includes/functions.php:870 includes/functions.php:905
1772
  msgid ""
1773
  "Enter your direct file URL in the textbox above (OR) upload your file using "
1774
  "the \"Upload File\" link."
1775
  msgstr ""
1776
 
1777
+ #: includes/functions.php:1039 premium/public/templates/video-form.php:47
1778
  msgid "Select Categories"
1779
  msgstr ""
1780
 
1781
+ #: includes/functions.php:1046 premium/public/templates/video-form.php:304
1782
  #: premium/public/templates/video-form.php:307
1783
  msgid "Select Tags"
1784
  msgstr ""
1785
 
1786
+ #: includes/functions.php:1053
1787
  msgid "Include Video ID(s)"
1788
  msgstr ""
1789
 
1790
+ #: includes/functions.php:1060
1791
  msgid "Exclude Video ID(s)"
1792
  msgstr ""
1793
 
1794
+ #: includes/functions.php:1101
1795
  msgid "Featured Only"
1796
  msgstr ""
1797
 
1798
+ #: includes/functions.php:1108
1799
  msgid "Follow URL"
1800
  msgstr ""
1801
 
1802
+ #: includes/functions.php:1116
1803
  msgid "Gallery"
1804
  msgstr ""
1805
 
1806
+ #: includes/functions.php:1232
1807
  msgid "More Button"
1808
  msgstr ""
1809
 
1810
+ #: includes/functions.php:1239 widgets/forms/categories.php:134
1811
  msgid "More Button Label"
1812
  msgstr ""
1813
 
1814
+ #: includes/functions.php:1242 widgets/categories.php:67 widgets/videos.php:93
1815
  msgid "Show More"
1816
  msgstr ""
1817
 
1818
+ #: includes/functions.php:1246 widgets/forms/categories.php:139
1819
  msgid "More Button Link"
1820
  msgstr ""
1821
 
1822
+ #: includes/functions.php:1247 widgets/forms/categories.php:141
1823
+ msgid "Leave this field blank to use Ajax"
1824
+ msgstr ""
1825
+
1826
+ #: includes/functions.php:1256
1827
  msgid "Categories"
1828
  msgstr ""
1829
 
1830
+ #: includes/functions.php:1289
1831
  msgid "Include Category ID(s)"
1832
  msgstr ""
1833
 
1834
+ #: includes/functions.php:1296
1835
  msgid "Exclude Category ID(s)"
1836
  msgstr ""
1837
 
1838
+ #: includes/functions.php:1392
1839
  msgid "Search Form"
1840
  msgstr ""
1841
 
1842
+ #: includes/functions.php:1514
1843
  msgid "Self Hosted"
1844
  msgstr ""
1845
 
1846
+ #: includes/functions.php:1514
1847
  msgid "External URL"
1848
  msgstr ""
1849
 
1850
+ #: includes/functions.php:1522
1851
  msgid "Iframe Embed Code"
1852
  msgstr ""
1853
 
1854
+ #: includes/functions.php:1536
1855
  msgid "Classic"
1856
  msgstr ""
1857
 
1858
+ #: includes/functions.php:2063
1859
  msgid "&laquo;"
1860
  msgstr ""
1861
 
1862
+ #: includes/functions.php:2064
1863
  msgid "&raquo;"
1864
  msgstr ""
1865
 
1866
+ #: includes/functions.php:2087
1867
  #, php-format
1868
  msgid "Page %d of %d"
1869
  msgstr ""
1870
 
1871
+ #: includes/functions.php:2155
1872
  msgid "Pin It"
1873
  msgstr ""
1874
 
2130
  msgid "Imported only"
2131
  msgstr ""
2132
 
2133
+ #: premium/admin/automations.php:282
2134
  msgid "Source"
2135
  msgstr ""
2136
 
2137
+ #: premium/admin/automations.php:285
2138
  msgid "Stats"
2139
  msgstr ""
2140
 
2141
+ #: premium/admin/automations.php:365 premium/admin/automations.php:560
 
 
 
 
2142
  msgid "Paused"
2143
  msgstr ""
2144
 
2145
+ #: premium/admin/automations.php:383
2146
  #: premium/admin/partials/automations-statistics.php:24
2147
  msgid "Import status"
2148
  msgstr ""
2149
 
2150
+ #: premium/admin/automations.php:387
2151
  #: premium/admin/partials/automations-statistics.php:36
2152
  msgid "videos imported"
2153
  msgstr ""
2154
 
2155
+ #: premium/admin/automations.php:388
2156
  #: premium/admin/partials/automations-statistics.php:61
2157
  msgid "Next scheduled update"
2158
  msgstr ""
2159
 
2160
+ #: premium/admin/automations.php:413
2161
+ msgid "Imported"
2162
+ msgstr ""
2163
+
2164
+ #: premium/admin/automations.php:460
2165
  msgid "Configure Import Sources"
2166
  msgstr ""
2167
 
2168
+ #: premium/admin/automations.php:469
2169
  msgid "Video Post Settings"
2170
  msgstr ""
2171
 
2172
+ #: premium/admin/automations.php:478
2173
  msgid "Import Stats"
2174
  msgstr ""
2175
 
2176
+ #: premium/admin/automations.php:697
2177
  msgid "Test Run"
2178
  msgstr ""
2179
 
2180
+ #: premium/admin/automations.php:698
2181
  msgid "Publish & Import"
2182
  msgstr ""
2183
 
2184
+ #: premium/admin/automations.php:698
2185
  msgid "Import Next Batch"
2186
  msgstr ""
2187
 
2400
 
2401
  #: premium/admin/partials/automations-video-settings.php:115
2402
  #: premium/admin/user.php:142 premium/admin/user.php:153
2403
+ #: premium/public/templates/video-form.php:357
2404
  msgid "Publish"
2405
  msgstr ""
2406
 
2753
 
2754
  #: premium/includes/functions.php:92
2755
  #: premium/public/templates/user-dashboard.php:58
2756
+ #: public/templates/search-form-template-horizontal.php:52
2757
+ #: public/templates/search-form-template-horizontal.php:83
2758
  #: public/templates/search-form-template-vertical.php:76
2759
  msgid "Search"
2760
  msgstr ""
2984
 
2985
  #: premium/public/templates/user-dashboard.php:112
2986
  #: public/templates/single-video.php:70
2987
+ #: public/templates/video-thumbnail-image-left.php:114
2988
+ #: public/templates/video-thumbnail.php:110
2989
  #, php-format
2990
  msgid "%d views"
2991
  msgstr ""
3034
  msgid "Enter your video description here"
3035
  msgstr ""
3036
 
3037
+ #: premium/public/templates/video-form.php:341
3038
  #, php-format
3039
  msgid ""
3040
  "I agree to the <a href=\"%s\" target=\"_blank\">terms and conditions</a>"
3041
  msgstr ""
3042
 
3043
+ #: premium/public/templates/video-form.php:358 premium/public/user.php:419
3044
  msgid "Save Draft"
3045
  msgstr ""
3046
 
3047
+ #: premium/public/templates/video-form.php:360
3048
  msgid "Save Changes"
3049
  msgstr ""
3050
 
3051
+ #: premium/public/templates/video-form.php:364
3052
  msgid "Cancel"
3053
  msgstr ""
3054
 
3055
  #: premium/public/templates/videos-template-popup.php:28
3056
+ #: premium/public/templates/videos-template-slider-a.php:44
3057
+ #: premium/public/templates/videos-template-slider-b.php:63
3058
+ #: premium/public/templates/videos-template-slider-c.php:69
3059
+ #: premium/public/templates/videos-template-slider-d.php:82
3060
  #: public/templates/videos-template-classic.php:18
3061
  #, php-format
3062
  msgid "%d video(s) found"
3158
  "Publisher Tag (GPT)</a> in the <a href=\"%s\">plugin settings</a>."
3159
  msgstr ""
3160
 
3161
+ #: public/public.php:966
 
 
 
 
3162
  #, php-format
3163
  msgid "Showing results for \"%s\""
3164
  msgstr ""
3167
  msgid "Search form disabled."
3168
  msgstr ""
3169
 
3170
+ #: public/templates/category-thumbnail.php:42
3171
  #, php-format
3172
  msgid "%s videos"
3173
  msgstr ""
3174
 
3175
+ #: public/templates/category-thumbnail.php:44
3176
  #, php-format
3177
  msgid "%s video"
3178
  msgstr ""
3179
 
3180
+ #: public/templates/search-form-template-horizontal.php:21
3181
+ #: public/templates/search-form-template-vertical.php:21
3182
+ msgid "Enter your Keyword"
3183
  msgstr ""
3184
 
3185
+ #: public/templates/search-form-template-horizontal.php:29
3186
+ #: public/templates/search-form-template-vertical.php:29
3187
  msgid "Select a Category"
3188
  msgstr ""
3189
 
3190
+ #: public/templates/search-form-template-horizontal.php:47
3191
+ #: public/templates/search-form-template-vertical.php:47
3192
+ msgid "Start typing to view and select options"
 
 
3193
  msgstr ""
3194
 
3195
  #: public/templates/single-video.php:29
3196
+ #: public/templates/video-thumbnail-image-left.php:48
3197
+ #: public/templates/video-thumbnail.php:44
3198
  #, php-format
3199
  msgid "on %s"
3200
  msgstr ""
3201
 
3202
  #: public/templates/single-video.php:34
3203
+ #: public/templates/video-thumbnail-image-left.php:53
3204
+ #: public/templates/video-thumbnail.php:49
3205
  msgid "by"
3206
  msgstr ""
3207
 
3208
  #: public/templates/single-video.php:38
3209
+ #: public/templates/video-thumbnail-image-left.php:57
3210
+ #: public/templates/video-thumbnail.php:53
3211
  msgid "Posted"
3212
  msgstr ""
3213
 
3215
  msgid "You may also like"
3216
  msgstr ""
3217
 
3218
+ #: public/videos.php:136
3219
  msgid "Sub Categories"
3220
  msgstr ""
3221
 
public/assets/css/public.css CHANGED
@@ -74,6 +74,14 @@
74
  pointer-events: none;
75
  }
76
 
 
 
 
 
 
 
 
 
77
  @media only screen and (min-width: 481px) {
78
  .aiovg-responsive-button {
79
  width: auto;
@@ -178,7 +186,8 @@
178
  background-color: rgba( 0, 0, 0, 0.7 );
179
  }
180
 
181
- .aiovg-player .vjs-waiting .vjs-big-play-button {
 
182
  display: none !important;
183
  }
184
 
@@ -486,9 +495,25 @@
486
  box-sizing: border-box;
487
  }
488
 
 
 
 
 
 
 
 
 
489
  @media only screen and (min-width: 481px) {
490
  .aiovg-search-form-template-horizontal .aiovg-form-group {
491
  display: inline-block;
 
 
 
 
 
 
 
 
492
  }
493
 
494
  .aiovg-search-form-template-horizontal .aiovg-form-control {
@@ -496,6 +521,37 @@
496
  }
497
  }
498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
499
  /*----------------------------------------------------------------------------------------------
500
  *
501
  * Pagination
@@ -526,6 +582,16 @@
526
  background-color: #ddd;
527
  }
528
 
 
 
 
 
 
 
 
 
 
 
529
  /*----------------------------------------------------------------------------------------------
530
  *
531
  * Socialshare Buttons
74
  pointer-events: none;
75
  }
76
 
77
+ .aiovg-spinner {
78
+ width: 20px;
79
+ height: 20px;
80
+ background-image: url( '../images/spinner.gif' );
81
+ background-position: center center;
82
+ background-repeat: no-repeat;
83
+ }
84
+
85
  @media only screen and (min-width: 481px) {
86
  .aiovg-responsive-button {
87
  width: auto;
186
  background-color: rgba( 0, 0, 0, 0.7 );
187
  }
188
 
189
+ .aiovg-player .vjs-waiting .vjs-big-play-button,
190
+ .vjs-waiting .vjs-big-play-button {
191
  display: none !important;
192
  }
193
 
495
  box-sizing: border-box;
496
  }
497
 
498
+ .aiovg-search-form-template-horizontal .aiovg-form-group.aiovg-hidden-desktop {
499
+ display: block;
500
+ }
501
+
502
+ .aiovg-search-form-template-horizontal .aiovg-form-group.aiovg-hidden-mobile {
503
+ display: none;
504
+ }
505
+
506
  @media only screen and (min-width: 481px) {
507
  .aiovg-search-form-template-horizontal .aiovg-form-group {
508
  display: inline-block;
509
+ }
510
+
511
+ .aiovg-search-form-template-horizontal .aiovg-form-group.aiovg-hidden-mobile {
512
+ display: inline-block;
513
+ }
514
+
515
+ .aiovg-search-form-template-horizontal .aiovg-form-group.aiovg-hidden-desktop {
516
+ display: none;
517
  }
518
 
519
  .aiovg-search-form-template-horizontal .aiovg-form-control {
521
  }
522
  }
523
 
524
+ /*----------------------------------------------------------------------------------------------
525
+ *
526
+ * Tags AutoComplete
527
+ *
528
+ *--------------------------------------------------------------------------------------------*/
529
+ .aiovg .aiovg-tag-item {
530
+ display: inline-block;
531
+ margin: 3px;
532
+ padding: 3px 5px;
533
+ background-color: #eee;
534
+ border: 1px solid #ddd;
535
+ border-radius: 2px;
536
+ line-height: 1;
537
+ }
538
+
539
+ .aiovg .aiovg-autocomplete-tags {
540
+ margin: 3px -3px;
541
+ }
542
+
543
+ .aiovg .ui-autocomplete-loading {
544
+ background-image: url( '../images/spinner-light.gif' );
545
+ background-size: 20px;
546
+ background-position: right 5px center;
547
+ background-repeat: no-repeat;
548
+ }
549
+
550
+ .aiovg .aiovg-tag-item-close {
551
+ margin-left: 5px;
552
+ cursor: pointer;
553
+ }
554
+
555
  /*----------------------------------------------------------------------------------------------
556
  *
557
  * Pagination
582
  background-color: #ddd;
583
  }
584
 
585
+ .aiovg-pagination.aiovg-spinner,
586
+ .aiovg-more.aiovg-spinner {
587
+ margin: auto;
588
+ }
589
+
590
+ .aiovg-pagination.aiovg-spinner *,
591
+ .aiovg-more.aiovg-spinner * {
592
+ display: none;
593
+ }
594
+
595
  /*----------------------------------------------------------------------------------------------
596
  *
597
  * Socialshare Buttons
public/assets/images/spinner-light.gif ADDED
Binary file
public/assets/js/player.js CHANGED
@@ -129,6 +129,7 @@
129
 
130
  // Fired when the player is ready
131
  player.ready(function() {
 
132
  aiovg_players.push( player );
133
  });
134
 
129
 
130
  // Fired when the player is ready
131
  player.ready(function() {
132
+ $elem.removeClass( 'vjs-waiting' );
133
  aiovg_players.push( player );
134
  });
135
 
public/assets/js/public.js CHANGED
@@ -9,15 +9,137 @@
9
  $(function() {
10
 
11
  // Common: Tags multiple select
12
- if ( $.fn.select2 ) {
13
- $( '.aiovg-select2' ).select2({
14
- language: {
15
- noResults: function () {
16
- return aiovg_public.i18n.no_tags_found;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
 
 
 
 
 
 
 
 
 
18
  }
19
  });
 
 
 
 
20
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  });
 
23
  })( jQuery );
9
  $(function() {
10
 
11
  // Common: Tags multiple select
12
+ if ( $.fn.autocomplete ) {
13
+ $( '.aiovg-field-tag .aiovg-autocomplete-input' ).autocomplete({
14
+ source: function( request, response ) {
15
+ $.ajax({
16
+ url: aiovg_public.ajax_url,
17
+ dataType: 'json',
18
+ method: 'post',
19
+ data: {
20
+ action: 'aiovg_load_tags',
21
+ security: aiovg_public.ajax_nonce,
22
+ term: request.term
23
+ },
24
+ success: function( data ) {
25
+ response( $.map( data, function( item ) {
26
+ return {
27
+ label: item.name,
28
+ value: item.name,
29
+ data: item
30
+ }
31
+ }));
32
+ }
33
+ });
34
+ },
35
+ autoFocus: true,
36
+ minLength: 0,
37
+ select: function( event, ui ) {
38
+ var $tags = $( this ).closest( 'form' ).find( '.aiovg-autocomplete-tags' );
39
+
40
+ if ( ui.item.data.term_id != 0 ) {
41
+ var length = $tags.find( '.aiovg-tag-item-' + ui.item.data.term_id ).length;
42
+
43
+ if ( length == 0 ) {
44
+ var html = '<span class="aiovg-tag-item aiovg-tag-item-' + ui.item.data.term_id + '">';
45
+ html += '<span class="aiovg-tag-item-name">' + ui.item.data.name + '</span>';
46
+ html += '<span class="aiovg-tag-item-close">&times;</span>';
47
+ html += '<input type="hidden" name="ta[]" value="' + ui.item.data.term_id + '" />';
48
+ html += '</span>';
49
+
50
+ $tags.append( html );
51
+ }
52
  }
53
+
54
+ $( this ).val( '' );
55
+ },
56
+ open: function() {
57
+ $( this ).removeClass( 'ui-corner-all' ).addClass( 'ui-corner-top' );
58
+ },
59
+ close: function() {
60
+ $( this ).removeClass( 'ui-corner-top' ).addClass( 'ui-corner-all' );
61
+ $( this ).val( '' );
62
  }
63
  });
64
+
65
+ $( document ).on( 'click', '.aiovg-tag-item-close', function() {
66
+ $( this ).parent().remove();
67
+ });
68
  }
69
+
70
+ // Pagination
71
+ $( document ).on( 'click', '.aiovg-pagination-ajax a.page-numbers', function( e ) {
72
+ e.preventDefault();
73
+
74
+ var $this = $( this );
75
+ var $pagination = $this.closest( '.aiovg-pagination-ajax' );
76
+ var uid = $pagination.data( 'uid' );
77
+ var source = $pagination.data( 'source' );
78
+ var current = parseInt( $pagination.data( 'current' ) );
79
+ var paged = parseInt( $this.html() );
80
+ var $gallery = $( '#aiovg-' + uid );
81
+
82
+ var params = window[ 'aiovg_pagination_' + uid ];
83
+ params.action = 'aiovg_load_more_' + source;
84
+ params.security = aiovg_public.ajax_nonce;
85
+
86
+ params.paged = paged++;
87
+ if ( $this.hasClass( 'prev' ) ) {
88
+ params.paged = current - 1;
89
+ }
90
+ if ( $this.hasClass( 'next' ) ) {
91
+ params.paged = current + 1;
92
+ }
93
+
94
+ $pagination.addClass( 'aiovg-spinner' );
95
+
96
+ $.post( aiovg_public.ajax_url, params, function( response ) {
97
+ console.log( response );
98
+ if ( response.success ) {
99
+ $gallery.html( $( response.data.html ).html() ).trigger( 'AIOVG.onGalleryUpdated' );
100
+
101
+ $( 'html, body' ).animate({
102
+ scrollTop: $gallery.offset().top - 20
103
+ }, 500);
104
+ } else {
105
+ $pagination.removeClass( 'aiovg-spinner' );
106
+ }
107
+ });
108
+ });
109
+
110
+ // Load More
111
+ $( document ).on( 'click', '.aiovg-more-ajax button', function( e ) {
112
+ e.preventDefault();
113
+
114
+ var $this = $( this );
115
+ var $pagination = $this.closest( '.aiovg-more-ajax' );
116
+ var uid = $this.data( 'uid' );
117
+ var source = $this.data( 'source' );
118
+ var numpages = parseInt( $this.data( 'numpages' ) );
119
+ var paged = parseInt( $this.data( 'paged' ) );
120
+
121
+ var params = window[ 'aiovg_pagination_' + uid ];
122
+ params.action = 'aiovg_load_more_' + source;
123
+ params.security = aiovg_public.ajax_nonce;
124
+ params.paged = ++paged;
125
+
126
+ $pagination.addClass( 'aiovg-spinner' );
127
+
128
+ $.post( aiovg_public.ajax_url, params, function( response ) {
129
+ $pagination.removeClass( 'aiovg-spinner' );
130
+
131
+ if ( paged < numpages ) {
132
+ $this.data( 'paged', params.paged );
133
+ } else {
134
+ $this.hide();
135
+ }
136
+
137
+ if ( response.success ) {
138
+ $( '.aiovg-grid', '#aiovg-' + uid ).append( $( '.aiovg-grid', response.data.html ).html() );
139
+ }
140
+ });
141
+ });
142
 
143
  });
144
+
145
  })( jQuery );
public/categories.php CHANGED
@@ -39,6 +39,22 @@ class AIOVG_Public_Categories {
39
  // Register shortcode(s)
40
  add_shortcode( "aiovg_categories", array( $this, "run_shortcode_categories" ) );
41
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
  /**
44
  * Run the shortcode [aiovg_categories].
@@ -48,7 +64,8 @@ class AIOVG_Public_Categories {
48
  */
49
  public function run_shortcode_categories( $atts ) {
50
  // Vars
51
- $attributes = shortcode_atts( $this->get_defaults(), $atts );
 
52
  $attributes['ratio'] = ! empty( $attributes['ratio'] ) ? (float) $attributes['ratio'] . '%' : '56.25%';
53
 
54
  // Enqueue style dependencies
@@ -59,6 +76,7 @@ class AIOVG_Public_Categories {
59
 
60
  if ( 'grid' == $template ) {
61
  $args = array(
 
62
  'orderby' => sanitize_text_field( $attributes['orderby'] ),
63
  'order' => sanitize_text_field( $attributes['order'] ),
64
  'hide_empty' => (int) $attributes['hide_empty'],
@@ -76,7 +94,8 @@ class AIOVG_Public_Categories {
76
  $args['exclude'] = array_map( 'intval', explode( ',', $attributes['exclude'] ) );
77
  }
78
 
79
- $terms = get_terms( 'aiovg_categories', $args );
 
80
 
81
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
82
  if ( isset( $args['child_of'] ) ) {
@@ -97,7 +116,6 @@ class AIOVG_Public_Categories {
97
 
98
  if ( ! empty( $attributes['show_pagination'] ) ) {
99
  $attributes['count'] = count( $terms );
100
- $attributes['paged'] = aiovg_get_page_number();
101
  $attributes['max_num_pages'] = ceil( $attributes['count'] / $attributes['terms_per_page'] );
102
 
103
  $offset = ( $attributes['paged'] - 1 ) * $attributes['terms_per_page'];
@@ -141,6 +159,7 @@ class AIOVG_Public_Categories {
141
  $args['exclude'] = array_map( 'intval', explode( ',', $attributes['exclude'] ) );
142
  }
143
 
 
144
  $categories_li = wp_list_categories( $args );
145
 
146
  if ( ! empty( $categories_li ) ) {
@@ -160,14 +179,22 @@ class AIOVG_Public_Categories {
160
  * @return array $atts An associative array of attributes.
161
  */
162
  public function get_defaults() {
163
- if ( empty( $this->defaults ) ) {
 
 
164
  $fields = aiovg_get_shortcode_fields();
165
 
166
  foreach ( $fields['categories']['sections'] as $section ) {
167
  foreach ( $section['fields'] as $field ) {
168
  $this->defaults[ $field['name'] ] = $field['value'];
169
  }
170
- }
 
 
 
 
 
 
171
  }
172
 
173
  return $this->defaults;
39
  // Register shortcode(s)
40
  add_shortcode( "aiovg_categories", array( $this, "run_shortcode_categories" ) );
41
  }
42
+
43
+ /**
44
+ * Load more categories.
45
+ *
46
+ * @since 2.5.1
47
+ */
48
+ public function ajax_callback_load_more_categories() {
49
+ // Security check
50
+ check_ajax_referer( 'aiovg_ajax_nonce', 'security' );
51
+
52
+ // Proceed safe
53
+ $json = array();
54
+ $json['html'] = $this->run_shortcode_categories( $_POST );
55
+
56
+ wp_send_json_success( $json );
57
+ }
58
 
59
  /**
60
  * Run the shortcode [aiovg_categories].
64
  */
65
  public function run_shortcode_categories( $atts ) {
66
  // Vars
67
+ $attributes = shortcode_atts( $this->get_defaults(), $atts );
68
+ $attributes['shortcode'] = 'aiovg_categories';
69
  $attributes['ratio'] = ! empty( $attributes['ratio'] ) ? (float) $attributes['ratio'] . '%' : '56.25%';
70
 
71
  // Enqueue style dependencies
76
 
77
  if ( 'grid' == $template ) {
78
  $args = array(
79
+ 'taxonomy' => 'aiovg_categories',
80
  'orderby' => sanitize_text_field( $attributes['orderby'] ),
81
  'order' => sanitize_text_field( $attributes['order'] ),
82
  'hide_empty' => (int) $attributes['hide_empty'],
94
  $args['exclude'] = array_map( 'intval', explode( ',', $attributes['exclude'] ) );
95
  }
96
 
97
+ $args = apply_filters( 'aiovg_categories_args', $args, $attributes );
98
+ $terms = get_terms( $args );
99
 
100
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
101
  if ( isset( $args['child_of'] ) ) {
116
 
117
  if ( ! empty( $attributes['show_pagination'] ) ) {
118
  $attributes['count'] = count( $terms );
 
119
  $attributes['max_num_pages'] = ceil( $attributes['count'] / $attributes['terms_per_page'] );
120
 
121
  $offset = ( $attributes['paged'] - 1 ) * $attributes['terms_per_page'];
159
  $args['exclude'] = array_map( 'intval', explode( ',', $attributes['exclude'] ) );
160
  }
161
 
162
+ $args = apply_filters( 'aiovg_categories_args', $args, $attributes );
163
  $categories_li = wp_list_categories( $args );
164
 
165
  if ( ! empty( $categories_li ) ) {
179
  * @return array $atts An associative array of attributes.
180
  */
181
  public function get_defaults() {
182
+ if ( empty( $this->defaults ) ) {
183
+ $pagination_settings = get_option( 'aiovg_pagination_settings', array() );
184
+
185
  $fields = aiovg_get_shortcode_fields();
186
 
187
  foreach ( $fields['categories']['sections'] as $section ) {
188
  foreach ( $section['fields'] as $field ) {
189
  $this->defaults[ $field['name'] ] = $field['value'];
190
  }
191
+ }
192
+
193
+ $this->defaults['uid'] = aiovg_get_uniqid();
194
+ $this->defaults['source'] = 'categories';
195
+ $this->defaults['count'] = 0;
196
+ $this->defaults['paged'] = aiovg_get_page_number();
197
+ $this->defaults['pagination_ajax'] = isset( $pagination_settings['ajax'] ) && ! empty( $pagination_settings['ajax'] ) ? 1 : 0;
198
  }
199
 
200
  return $this->defaults;
public/public.php CHANGED
@@ -52,6 +52,8 @@ class AIOVG_Public {
52
  global $aiovg;
53
 
54
  $page_settings = get_option( 'aiovg_page_settings' );
 
 
55
  $url = home_url();
56
 
57
  // Single category page
@@ -103,6 +105,11 @@ class AIOVG_Public {
103
  add_rewrite_tag( '%aiovg_video%', '([^/]+)' );
104
 
105
  // Set MySQL's RAND function seed value in a cookie
 
 
 
 
 
106
  if ( isset( $_COOKIE['aiovg_rand_seed'] ) ) {
107
  $aiovg['rand_seed'] = sanitize_text_field( $_COOKIE['aiovg_rand_seed'] );
108
  $transient_seed = get_transient( 'aiovg_rand_seed_' . $aiovg['rand_seed'] );
@@ -157,13 +164,11 @@ class AIOVG_Public {
157
  * @since 1.0.0
158
  */
159
  public function enqueue_styles() {
160
- $general_settings = get_option( 'aiovg_general_settings' );
161
-
162
  wp_register_style(
163
- AIOVG_PLUGIN_SLUG . '-select2',
164
- AIOVG_PLUGIN_URL . 'vendor/select2/select2.min.css',
165
  array(),
166
- '4.0.13',
167
  'all'
168
  );
169
 
@@ -198,14 +203,6 @@ class AIOVG_Public {
198
  * @since 1.0.0
199
  */
200
  public function enqueue_scripts() {
201
- wp_register_script(
202
- AIOVG_PLUGIN_SLUG . '-select2',
203
- AIOVG_PLUGIN_URL . 'vendor/select2/select2.min.js',
204
- array( 'jquery' ),
205
- '4.0.13',
206
- false
207
- );
208
-
209
  wp_register_script(
210
  AIOVG_PLUGIN_SLUG . '-magnific-popup',
211
  AIOVG_PLUGIN_URL . 'vendor/magnific-popup/magnific-popup.min.js',
@@ -243,9 +240,8 @@ class AIOVG_Public {
243
  AIOVG_PLUGIN_SLUG . '-public',
244
  'aiovg_public',
245
  array(
246
- 'i18n' => array(
247
- 'no_tags_found' => __( 'No tags found', 'all-in-one-video-gallery' )
248
- )
249
  )
250
  );
251
  }
@@ -958,12 +954,16 @@ class AIOVG_Public {
958
  $queries[] = $term->name;
959
  }
960
 
961
- if ( ! empty( $_GET['ta'] ) ) {
962
  $tags = array_map( 'intval', $_GET['ta'] );
963
- foreach ( $tags as $tag ) {
964
- $term = get_term_by( 'id', $tag, 'aiovg_tags' );
965
- $queries[] = $term->name;
966
- }
 
 
 
 
967
  }
968
 
969
  if ( ! empty( $queries ) ) {
@@ -997,6 +997,14 @@ class AIOVG_Public {
997
  return $has_thumbnail;
998
  }
999
 
 
 
 
 
 
 
 
 
1000
  if ( 'aiovg_videos' == get_post_type( $post->ID ) ) {
1001
  if ( empty( $thumbnail_id ) ) {
1002
  $image_url = get_post_meta( $post->ID, 'image', true );
@@ -1025,13 +1033,15 @@ class AIOVG_Public {
1025
  * @return bool $html Filtered video post thumbnail HTML.
1026
  */
1027
  public function post_thumbnail_html( $html, $post_id, $post_thumbnail_id, $size, $attr ) {
1028
- if ( 'aiovg_videos' == get_post_type( $post_id ) ) {
1029
- if ( is_singular( 'aiovg_videos' ) ) {
1030
- if ( $post_id == get_the_ID() ) {
1031
- return '';
1032
- }
1033
  }
 
1034
 
 
1035
  if ( empty( $post_thumbnail_id ) ) {
1036
  $_html = '';
1037
 
@@ -1084,6 +1094,48 @@ class AIOVG_Public {
1084
 
1085
  return $url;
1086
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1087
 
1088
  /**
1089
  * Set cookie for accepting the privacy consent.
52
  global $aiovg;
53
 
54
  $page_settings = get_option( 'aiovg_page_settings' );
55
+ $privacy_settings = get_option( 'aiovg_privacy_settings' );
56
+
57
  $url = home_url();
58
 
59
  // Single category page
105
  add_rewrite_tag( '%aiovg_video%', '([^/]+)' );
106
 
107
  // Set MySQL's RAND function seed value in a cookie
108
+ if ( isset( $privacy_settings['disable_cookies'] ) && isset( $privacy_settings['disable_cookies']['aiovg_rand_seed'] ) ) {
109
+ unset( $aiovg['rand_seed'] );
110
+ return; // Disable the random ordering
111
+ }
112
+
113
  if ( isset( $_COOKIE['aiovg_rand_seed'] ) ) {
114
  $aiovg['rand_seed'] = sanitize_text_field( $_COOKIE['aiovg_rand_seed'] );
115
  $transient_seed = get_transient( 'aiovg_rand_seed_' . $aiovg['rand_seed'] );
164
  * @since 1.0.0
165
  */
166
  public function enqueue_styles() {
 
 
167
  wp_register_style(
168
+ AIOVG_PLUGIN_SLUG . '-jquery-ui-css',
169
+ AIOVG_PLUGIN_URL . 'vendor/jquery-ui/jquery-ui.css',
170
  array(),
171
+ '1.13.0',
172
  'all'
173
  );
174
 
203
  * @since 1.0.0
204
  */
205
  public function enqueue_scripts() {
 
 
 
 
 
 
 
 
206
  wp_register_script(
207
  AIOVG_PLUGIN_SLUG . '-magnific-popup',
208
  AIOVG_PLUGIN_URL . 'vendor/magnific-popup/magnific-popup.min.js',
240
  AIOVG_PLUGIN_SLUG . '-public',
241
  'aiovg_public',
242
  array(
243
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
244
+ 'ajax_nonce' => wp_create_nonce( 'aiovg_ajax_nonce' )
 
245
  )
246
  );
247
  }
954
  $queries[] = $term->name;
955
  }
956
 
957
+ if ( isset( $_GET['ta'] ) ) {
958
  $tags = array_map( 'intval', $_GET['ta'] );
959
+ $tags = array_filter( $tags );
960
+
961
+ if ( ! empty( $tags ) ) {
962
+ foreach ( $tags as $tag ) {
963
+ $term = get_term_by( 'id', $tag, 'aiovg_tags' );
964
+ $queries[] = $term->name;
965
+ }
966
+ }
967
  }
968
 
969
  if ( ! empty( $queries ) ) {
997
  return $has_thumbnail;
998
  }
999
 
1000
+ if ( is_singular( 'aiovg_videos' ) && in_the_loop() && is_main_query() ) {
1001
+ global $wp_query;
1002
+
1003
+ if ( $post->ID == $wp_query->get_queried_object_id() ) {
1004
+ return false;
1005
+ }
1006
+ }
1007
+
1008
  if ( 'aiovg_videos' == get_post_type( $post->ID ) ) {
1009
  if ( empty( $thumbnail_id ) ) {
1010
  $image_url = get_post_meta( $post->ID, 'image', true );
1033
  * @return bool $html Filtered video post thumbnail HTML.
1034
  */
1035
  public function post_thumbnail_html( $html, $post_id, $post_thumbnail_id, $size, $attr ) {
1036
+ if ( is_singular( 'aiovg_videos' ) && in_the_loop() && is_main_query() ) {
1037
+ global $wp_query;
1038
+
1039
+ if ( $post_id == $wp_query->get_queried_object_id() ) {
1040
+ return '';
1041
  }
1042
+ }
1043
 
1044
+ if ( 'aiovg_videos' == get_post_type( $post_id ) ) {
1045
  if ( empty( $post_thumbnail_id ) ) {
1046
  $_html = '';
1047
 
1094
 
1095
  return $url;
1096
  }
1097
+
1098
+ /**
1099
+ * AutoComplete UI: Get tags.
1100
+ *
1101
+ * @since 2.5.1
1102
+ */
1103
+ public function ajax_callback_load_tags() {
1104
+ // Security check
1105
+ check_ajax_referer( 'aiovg_ajax_nonce', 'security' );
1106
+
1107
+ // Proceed safe
1108
+ $args = array(
1109
+ 'taxonomy' => 'aiovg_tags',
1110
+ 'hide_empty' => false
1111
+ );
1112
+
1113
+ if ( ! empty( $_POST['term'] ) ) {
1114
+ $args['name__like'] = sanitize_text_field( $_POST['term'] );
1115
+ } else {
1116
+ $args['orderby'] = 'name';
1117
+ $args['order'] = 'ASC';
1118
+ $args['number'] = 10;
1119
+ }
1120
+
1121
+ $terms = get_terms( $args );
1122
+
1123
+ if ( is_wp_error( $terms ) ) {
1124
+ $terms = array();
1125
+ }
1126
+
1127
+ if ( empty( $terms ) ) {
1128
+ $terms = array(
1129
+ array(
1130
+ 'term_id' => 0,
1131
+ 'name' => __( 'No tags found.', 'all-in-one-video-gallery' )
1132
+ )
1133
+ );
1134
+ }
1135
+
1136
+ echo wp_json_encode( $terms );
1137
+ wp_die();
1138
+ }
1139
 
1140
  /**
1141
  * Set cookie for accepting the privacy consent.
public/search.php CHANGED
@@ -53,11 +53,11 @@ class AIOVG_Public_Search {
53
  wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-public' );
54
 
55
  if ( $attributes['has_tag'] ) {
56
- wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-select2' );
57
 
58
- wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-select2' );
59
  wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-public' );
60
- }
61
 
62
  // Process output
63
  if ( $attributes['has_keyword'] || $attributes['has_category'] || $attributes['has_tag'] ) {
53
  wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-public' );
54
 
55
  if ( $attributes['has_tag'] ) {
56
+ wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-jquery-ui-css' );
57
 
58
+ wp_enqueue_script( 'jquery-ui-autocomplete' );
59
  wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-public' );
60
+ }
61
 
62
  // Process output
63
  if ( $attributes['has_keyword'] || $attributes['has_category'] || $attributes['has_tag'] ) {
public/templates/categories-template-grid.php CHANGED
@@ -10,7 +10,7 @@
10
  */
11
  ?>
12
 
13
- <div class="aiovg aiovg-categories aiovg-categories-template-grid">
14
  <?php
15
  // Display the title (if applicable)
16
  if ( ! empty( $attributes['title'] ) ) : ?>
@@ -18,24 +18,23 @@
18
  <?php
19
  endif;
20
 
21
- // Start the loop
 
 
22
  foreach ( $terms as $key => $term ) {
23
- if ( $key % $attributes['columns'] == 0 ) echo '<div class="aiovg-row">';
24
  ?>
25
  <div class="aiovg-col aiovg-col-<?php echo esc_attr( $attributes['columns'] ); ?>">
26
  <?php the_aiovg_category_thumbnail( $term, $attributes ); ?>
27
- </div>
28
- <?php if ( 0 == ( $key + 1 ) % $attributes['columns'] || ( $key + 1 ) == count( $terms ) ) echo '</div>';
29
  }
30
 
 
 
31
  if ( ! empty( $attributes['show_pagination'] ) ) { // Pagination
32
- the_aiovg_pagination( $attributes['max_num_pages'], "", $attributes['paged'] );
33
  } elseif ( ! empty( $attributes['show_more'] ) ) { // More button
34
- printf(
35
- '<p class="aiovg-more aiovg-text-center"><button type="button" onclick="location.href=\'%s\'" class="aiovg-link-more">%s</button></p>',
36
- esc_url( $attributes['more_link'] ),
37
- esc_html( $attributes['more_label'] )
38
- );
39
  }
40
  ?>
41
  </div>
10
  */
11
  ?>
12
 
13
+ <div id="aiovg-<?php echo esc_attr( $attributes['uid'] ); ?>" class="aiovg aiovg-categories aiovg-categories-template-grid">
14
  <?php
15
  // Display the title (if applicable)
16
  if ( ! empty( $attributes['title'] ) ) : ?>
18
  <?php
19
  endif;
20
 
21
+ // Start the loop
22
+ echo '<div class="aiovg-grid aiovg-row">';
23
+
24
  foreach ( $terms as $key => $term ) {
 
25
  ?>
26
  <div class="aiovg-col aiovg-col-<?php echo esc_attr( $attributes['columns'] ); ?>">
27
  <?php the_aiovg_category_thumbnail( $term, $attributes ); ?>
28
+ </div>
29
+ <?php
30
  }
31
 
32
+ echo '</div>';
33
+
34
  if ( ! empty( $attributes['show_pagination'] ) ) { // Pagination
35
+ the_aiovg_pagination( $attributes['max_num_pages'], "", $attributes['paged'], $attributes );
36
  } elseif ( ! empty( $attributes['show_more'] ) ) { // More button
37
+ the_aiovg_more_button( $attributes['max_num_pages'], $attributes );
 
 
 
 
38
  }
39
  ?>
40
  </div>
public/templates/category-thumbnail.php CHANGED
@@ -11,12 +11,16 @@
11
 
12
  $permalink = aiovg_get_category_page_url( $term );
13
  $image_id = get_term_meta( $term->term_id, 'image_id', true );
14
- $image = aiovg_get_image_url( $image_id, 'large' );
 
 
 
 
15
  ?>
16
 
17
  <div class="aiovg-thumbnail">
18
  <a href="<?php echo esc_url( $permalink ); ?>" class="aiovg-responsive-container" style="padding-bottom: <?php echo esc_attr( $attributes['ratio'] ); ?>;">
19
- <img src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $term->name ); ?>" class="aiovg-responsive-element" />
20
  </a>
21
 
22
  <div class="aiovg-caption">
11
 
12
  $permalink = aiovg_get_category_page_url( $term );
13
  $image_id = get_term_meta( $term->term_id, 'image_id', true );
14
+ $image = aiovg_get_image_url( $image_id, 'medium' );
15
+ $image_alt = get_post_meta( (int) $image_id, '_wp_attachment_image_alt', true );
16
+ if ( empty( $image_alt ) ) {
17
+ $image_alt = $term->name;
18
+ }
19
  ?>
20
 
21
  <div class="aiovg-thumbnail">
22
  <a href="<?php echo esc_url( $permalink ); ?>" class="aiovg-responsive-container" style="padding-bottom: <?php echo esc_attr( $attributes['ratio'] ); ?>;">
23
+ <img src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $image_alt ); ?>" class="aiovg-responsive-element" />
24
  </a>
25
 
26
  <div class="aiovg-caption">
public/templates/player-html5.php CHANGED
@@ -130,7 +130,7 @@ $settings = array(
130
  'controlBar' => array(),
131
  'autoplay' => isset( $_GET['autoplay'] ) ? (int) $_GET['autoplay'] : (int) $player_settings['autoplay'],
132
  'muted' => isset( $_GET['muted'] ) ? (int) $_GET['muted'] : (int) $player_settings['muted'],
133
- 'playbackRates' => array( 0.5, 1, 1.5, 2 ),
134
  'aiovg' => array(
135
  'postID' => $post_id,
136
  'postType' => $post_type,
@@ -360,7 +360,7 @@ $settings = apply_filters( 'aiovg_video_settings', $settings );
360
 
361
  <?php do_action( 'aiovg_player_head', $settings, $attributes, $sources, $tracks ); ?>
362
  </head>
363
- <body id="body">
364
  <video-js <?php the_aiovg_video_attributes( $attributes ); ?>>
365
  <?php
366
  // Video Sources
@@ -541,6 +541,11 @@ $settings = apply_filters( 'aiovg_video_settings', $settings );
541
  evt.initCustomEvent( 'player.init', false, false, { player: player } );
542
  window.dispatchEvent( evt );
543
 
 
 
 
 
 
544
  // Fired the first time a video is played
545
  player.one( 'play', function() {
546
  if ( 'aiovg_videos' == settings.aiovg.postType ) {
130
  'controlBar' => array(),
131
  'autoplay' => isset( $_GET['autoplay'] ) ? (int) $_GET['autoplay'] : (int) $player_settings['autoplay'],
132
  'muted' => isset( $_GET['muted'] ) ? (int) $_GET['muted'] : (int) $player_settings['muted'],
133
+ 'playbackRates' => array( 0.5, 0.75, 1, 1.5, 2 ),
134
  'aiovg' => array(
135
  'postID' => $post_id,
136
  'postType' => $post_type,
360
 
361
  <?php do_action( 'aiovg_player_head', $settings, $attributes, $sources, $tracks ); ?>
362
  </head>
363
+ <body id="body" class="vjs-waiting">
364
  <video-js <?php the_aiovg_video_attributes( $attributes ); ?>>
365
  <?php
366
  // Video Sources
541
  evt.initCustomEvent( 'player.init', false, false, { player: player } );
542
  window.dispatchEvent( evt );
543
 
544
+ // On player ready
545
+ player.ready(function() {
546
+ document.getElementById( 'body' ).className = '';
547
+ });
548
+
549
  // Fired the first time a video is played
550
  player.one( 'play', function() {
551
  if ( 'aiovg_videos' == settings.aiovg.postType ) {
public/templates/search-form-template-horizontal.php CHANGED
@@ -8,29 +8,24 @@
8
  *
9
  * @package All_In_One_Video_Gallery
10
  */
11
-
12
- $is_block_editor = 0;
13
- if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
14
- $is_block_editor = 1;
15
- }
16
  ?>
17
 
18
  <div class="aiovg aiovg-search-form aiovg-search-form-template-horizontal">
19
  <form method="get" action="<?php echo esc_url( aiovg_get_search_page_url() ); ?>">
20
  <?php if ( ! get_option('permalink_structure') ) : ?>
21
  <input type="hidden" name="page_id" value="<?php echo esc_attr( $attributes['search_page_id'] ); ?>" />
22
- <?php endif; ?>
23
-
24
  <?php if ( $attributes['has_keyword'] ) : ?>
25
  <div class="aiovg-form-group aiovg-field-keyword">
26
- <input type="text" name="vi" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Search by keyword', 'all-in-one-video-gallery' ); ?>" value="<?php echo isset( $_GET['vi'] ) ? esc_attr( $_GET['vi'] ) : ''; ?>" />
27
  </div>
28
  <?php endif; ?>
29
 
30
  <?php if ( $attributes['has_category'] ) : ?>
31
  <div class="aiovg-form-group aiovg-field-category">
32
  <?php
33
- wp_dropdown_categories( array(
34
  'show_option_none' => '-- ' . esc_html__( 'Select a Category', 'all-in-one-video-gallery' ) . ' --',
35
  'option_none_value' => '',
36
  'taxonomy' => 'aiovg_categories',
@@ -42,38 +37,61 @@ if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
42
  'depth' => 10,
43
  'show_count' => false,
44
  'hide_empty' => false,
45
- ) );
 
 
 
46
  ?>
47
  </div>
48
  <?php endif; ?>
49
 
50
  <?php if ( $attributes['has_tag'] ) : ?>
51
  <div class="aiovg-form-group aiovg-field-tag">
52
- <?php if ( $is_block_editor ) : ?>
53
- <input type="text" name="ta" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Search by tags', 'all-in-one-video-gallery' ); ?>" />
54
- <?php else : ?>
55
- <select name="ta[]" class="aiovg-form-control aiovg-select2" multiple="multiple" data-placeholder="<?php esc_attr_e( 'Search by tags', 'all-in-one-video-gallery' ); ?>">
56
- <?php
57
- $tags = get_terms( 'aiovg_tags', 'hide_empty=0' );
58
-
59
- if ( isset( $_GET['ta'] ) ) {
60
- $selected_tags = array_map( 'intval', $_GET['ta'] );
61
- } else {
62
- $selected_tags = array();
63
- }
64
-
65
- foreach ( $tags as $tag ) {
66
- $selected = in_array( $tag->term_id, $selected_tags ) ? ' selected' : '';
67
- printf( '<option value="%s"%s>%s</option>', $tag->term_id, $selected, $tag->name );
68
- }
69
- ?>
70
- </select>
71
- <?php endif; ?>
72
  </div>
73
  <?php endif; ?>
74
 
75
- <div class="aiovg-form-group aiovg-field-submit">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  <input type="submit" class="aiovg-button" value="<?php esc_attr_e( 'Search', 'all-in-one-video-gallery' ); ?>" />
77
- </div>
78
  </form>
79
  </div>
8
  *
9
  * @package All_In_One_Video_Gallery
10
  */
 
 
 
 
 
11
  ?>
12
 
13
  <div class="aiovg aiovg-search-form aiovg-search-form-template-horizontal">
14
  <form method="get" action="<?php echo esc_url( aiovg_get_search_page_url() ); ?>">
15
  <?php if ( ! get_option('permalink_structure') ) : ?>
16
  <input type="hidden" name="page_id" value="<?php echo esc_attr( $attributes['search_page_id'] ); ?>" />
17
+ <?php endif; ?>
18
+
19
  <?php if ( $attributes['has_keyword'] ) : ?>
20
  <div class="aiovg-form-group aiovg-field-keyword">
21
+ <input type="text" name="vi" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Enter your Keyword', 'all-in-one-video-gallery' ); ?>" value="<?php echo isset( $_GET['vi'] ) ? esc_attr( $_GET['vi'] ) : ''; ?>" />
22
  </div>
23
  <?php endif; ?>
24
 
25
  <?php if ( $attributes['has_category'] ) : ?>
26
  <div class="aiovg-form-group aiovg-field-category">
27
  <?php
28
+ $categories_args = array(
29
  'show_option_none' => '-- ' . esc_html__( 'Select a Category', 'all-in-one-video-gallery' ) . ' --',
30
  'option_none_value' => '',
31
  'taxonomy' => 'aiovg_categories',
37
  'depth' => 10,
38
  'show_count' => false,
39
  'hide_empty' => false,
40
+ );
41
+
42
+ $categories_args = apply_filters( 'aiovg_search_form_categories_args', $categories_args );
43
+ wp_dropdown_categories( $categories_args );
44
  ?>
45
  </div>
46
  <?php endif; ?>
47
 
48
  <?php if ( $attributes['has_tag'] ) : ?>
49
  <div class="aiovg-form-group aiovg-field-tag">
50
+ <input type="text" class="aiovg-form-control aiovg-autocomplete-input" placeholder="<?php esc_attr_e( 'Search Tags', 'all-in-one-video-gallery' ); ?>" title="<?php esc_attr_e( 'Start typing to view and select options', 'all-in-one-video-gallery' ); ?>" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  </div>
52
  <?php endif; ?>
53
 
54
+ <div class="aiovg-form-group aiovg-field-submit aiovg-hidden-mobile">
55
+ <input type="submit" class="aiovg-button" value="<?php esc_attr_e( 'Search', 'all-in-one-video-gallery' ); ?>" />
56
+ </div>
57
+
58
+ <?php
59
+ if ( $attributes['has_tag'] ) {
60
+ echo '<div class="aiovg-autocomplete-tags">';
61
+
62
+ if ( isset( $_GET['ta'] ) ) {
63
+ $selected_tags = array_map( 'intval', $_GET['ta'] );
64
+ $selected_tags = array_filter( $selected_tags );
65
+
66
+ if ( ! empty( $selected_tags ) ) {
67
+ $tags_args = array(
68
+ 'taxonomy' => 'aiovg_tags',
69
+ 'hide_empty' => false,
70
+ 'include' => $selected_tags
71
+ );
72
+
73
+ $terms = get_terms( $tags_args );
74
+
75
+ if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
76
+ foreach ( $terms as $term ) {
77
+ $html = '<span id="' . $term->term_id . '" class="aiovg-tag-item">';
78
+ $html .= '<span class="aiovg-tag-item-name">' . $term->name . '</span>';
79
+ $html .= '<span class="aiovg-tag-item-close">&times;</span>';
80
+ $html .= '<input type="hidden" name="ta[]" value="' . $term->term_id . '" />';
81
+ $html .= '</span>';
82
+
83
+ echo $html;
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ echo '</div>';
90
+ }
91
+ ?>
92
+
93
+ <div class="aiovg-form-group aiovg-field-submit aiovg-hidden-desktop">
94
  <input type="submit" class="aiovg-button" value="<?php esc_attr_e( 'Search', 'all-in-one-video-gallery' ); ?>" />
95
+ </div>
96
  </form>
97
  </div>
public/templates/search-form-template-vertical.php CHANGED
@@ -8,11 +8,6 @@
8
  *
9
  * @package All_In_One_Video_Gallery
10
  */
11
-
12
- $is_block_editor = 0;
13
- if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
14
- $is_block_editor = 1;
15
- }
16
  ?>
17
 
18
  <div class="aiovg aiovg-search-form aiovg-search-form-template-vertical">
@@ -23,14 +18,14 @@ if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
23
 
24
  <?php if ( $attributes['has_keyword'] ) : ?>
25
  <div class="aiovg-form-group aiovg-field-keyword">
26
- <input type="text" name="vi" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Search by keyword', 'all-in-one-video-gallery' ); ?>" value="<?php echo isset( $_GET['vi'] ) ? esc_attr( $_GET['vi'] ) : ''; ?>" />
27
  </div>
28
  <?php endif; ?>
29
 
30
  <?php if ( $attributes['has_category'] ) : ?>
31
  <div class="aiovg-form-group aiovg-field-category">
32
  <?php
33
- wp_dropdown_categories( array(
34
  'show_option_none' => '-- ' . esc_html__( 'Select a Category', 'all-in-one-video-gallery' ) . ' --',
35
  'option_none_value' => '',
36
  'taxonomy' => 'aiovg_categories',
@@ -42,33 +37,49 @@ if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
42
  'depth' => 10,
43
  'show_count' => false,
44
  'hide_empty' => false,
45
- ) );
 
 
 
46
  ?>
47
  </div>
48
  <?php endif; ?>
49
 
50
  <?php if ( $attributes['has_tag'] ) : ?>
51
  <div class="aiovg-form-group aiovg-field-tag">
52
- <?php if ( $is_block_editor ) : ?>
53
- <input type="text" name="ta" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Search by tags', 'all-in-one-video-gallery' ); ?>" />
54
- <?php else : ?>
55
- <select name="ta[]" class="aiovg-form-control aiovg-select2" multiple="multiple" data-placeholder="<?php esc_attr_e( 'Search by tags', 'all-in-one-video-gallery' ); ?>">
56
- <?php
57
- $tags = get_terms( 'aiovg_tags', 'hide_empty=0' );
58
-
59
- if ( isset( $_GET['ta'] ) ) {
60
- $selected_tags = array_map( 'intval', $_GET['ta'] );
61
- } else {
62
- $selected_tags = array();
63
- }
64
 
65
- foreach ( $tags as $tag ) {
66
- $selected = in_array( $tag->term_id, $selected_tags ) ? ' selected' : '';
67
- printf( '<option value="%s"%s>%s</option>', $tag->term_id, $selected, $tag->name );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  }
69
- ?>
70
- </select>
71
- <?php endif; ?>
 
 
72
  </div>
73
  <?php endif; ?>
74
 
8
  *
9
  * @package All_In_One_Video_Gallery
10
  */
 
 
 
 
 
11
  ?>
12
 
13
  <div class="aiovg aiovg-search-form aiovg-search-form-template-vertical">
18
 
19
  <?php if ( $attributes['has_keyword'] ) : ?>
20
  <div class="aiovg-form-group aiovg-field-keyword">
21
+ <input type="text" name="vi" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Enter your Keyword', 'all-in-one-video-gallery' ); ?>" value="<?php echo isset( $_GET['vi'] ) ? esc_attr( $_GET['vi'] ) : ''; ?>" />
22
  </div>
23
  <?php endif; ?>
24
 
25
  <?php if ( $attributes['has_category'] ) : ?>
26
  <div class="aiovg-form-group aiovg-field-category">
27
  <?php
28
+ $categories_args = array(
29
  'show_option_none' => '-- ' . esc_html__( 'Select a Category', 'all-in-one-video-gallery' ) . ' --',
30
  'option_none_value' => '',
31
  'taxonomy' => 'aiovg_categories',
37
  'depth' => 10,
38
  'show_count' => false,
39
  'hide_empty' => false,
40
+ );
41
+
42
+ $categories_args = apply_filters( 'aiovg_search_form_categories_args', $categories_args );
43
+ wp_dropdown_categories( $categories_args );
44
  ?>
45
  </div>
46
  <?php endif; ?>
47
 
48
  <?php if ( $attributes['has_tag'] ) : ?>
49
  <div class="aiovg-form-group aiovg-field-tag">
50
+ <input type="text" class="aiovg-form-control aiovg-autocomplete-input" placeholder="<?php esc_attr_e( 'Search Tags', 'all-in-one-video-gallery' ); ?>" title="<?php esc_attr_e( 'Start typing to view and select options', 'all-in-one-video-gallery' ); ?>" />
51
+ <?php
52
+ echo '<div class="aiovg-autocomplete-tags">';
 
 
 
 
 
 
 
 
 
53
 
54
+ if ( isset( $_GET['ta'] ) ) {
55
+ $selected_tags = array_map( 'intval', $_GET['ta'] );
56
+ $selected_tags = array_filter( $selected_tags );
57
+
58
+ if ( ! empty( $selected_tags ) ) {
59
+ $tags_args = array(
60
+ 'taxonomy' => 'aiovg_tags',
61
+ 'hide_empty' => false,
62
+ 'include' => $selected_tags
63
+ );
64
+
65
+ $terms = get_terms( $tags_args );
66
+
67
+ if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
68
+ foreach ( $terms as $term ) {
69
+ $html = '<span id="' . $term->term_id . '" class="aiovg-tag-item">';
70
+ $html .= '<span class="aiovg-tag-item-name">' . $term->name . '</span>';
71
+ $html .= '<span class="aiovg-tag-item-close">&times;</span>';
72
+ $html .= '<input type="hidden" name="ta[]" value="' . $term->term_id . '" />';
73
+ $html .= '</span>';
74
+
75
+ echo $html;
76
+ }
77
  }
78
+ }
79
+ }
80
+
81
+ echo '</div>';
82
+ ?>
83
  </div>
84
  <?php endif; ?>
85
 
public/templates/video-thumbnail-image-left.php CHANGED
@@ -10,14 +10,18 @@
10
  */
11
 
12
  $post_meta = get_post_meta( $post->ID );
13
- $image = aiovg_get_image_url( $post_meta['image_id'][0], 'large', $post_meta['image'][0] );
 
 
 
 
14
  ?>
15
 
16
  <div class="aiovg-thumbnail aiovg-thumbnail-style-image-left" data-id="<?php echo esc_attr( $post->ID ); ?>">
17
  <div class="aiovg-row">
18
  <div class="aiovg-col aiovg-col-p-40">
19
  <a href="<?php the_permalink(); ?>" class="aiovg-responsive-container" style="padding-bottom: <?php echo esc_attr( $attributes['ratio'] ); ?>;">
20
- <img src="<?php echo esc_url( $image ); ?>" alt="<?php the_title_attribute(); ?>" class="aiovg-responsive-element" />
21
 
22
  <?php if ( $attributes['show_duration'] && ! empty( $post_meta['duration'][0] ) ) : ?>
23
  <div class="aiovg-duration"><small><?php echo esc_html( $post_meta['duration'][0] ); ?></small></div>
10
  */
11
 
12
  $post_meta = get_post_meta( $post->ID );
13
+ $image = aiovg_get_image_url( $post_meta['image_id'][0], 'medium', $post_meta['image'][0] );
14
+ $image_alt = get_post_meta( (int) $post_meta['image_id'][0], '_wp_attachment_image_alt', true );
15
+ if ( empty( $image_alt ) ) {
16
+ $image_alt = $post->post_title;
17
+ }
18
  ?>
19
 
20
  <div class="aiovg-thumbnail aiovg-thumbnail-style-image-left" data-id="<?php echo esc_attr( $post->ID ); ?>">
21
  <div class="aiovg-row">
22
  <div class="aiovg-col aiovg-col-p-40">
23
  <a href="<?php the_permalink(); ?>" class="aiovg-responsive-container" style="padding-bottom: <?php echo esc_attr( $attributes['ratio'] ); ?>;">
24
+ <img src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $image_alt ); ?>" class="aiovg-responsive-element" />
25
 
26
  <?php if ( $attributes['show_duration'] && ! empty( $post_meta['duration'][0] ) ) : ?>
27
  <div class="aiovg-duration"><small><?php echo esc_html( $post_meta['duration'][0] ); ?></small></div>
public/templates/video-thumbnail.php CHANGED
@@ -10,12 +10,16 @@
10
  */
11
 
12
  $post_meta = get_post_meta( $post->ID );
13
- $image = aiovg_get_image_url( $post_meta['image_id'][0], 'large', $post_meta['image'][0] );
 
 
 
 
14
  ?>
15
 
16
  <div class="aiovg-thumbnail aiovg-thumbnail-style-image-top" data-id="<?php echo esc_attr( $post->ID ); ?>">
17
  <a href="<?php the_permalink(); ?>" class="aiovg-responsive-container" style="padding-bottom: <?php echo esc_attr( $attributes['ratio'] ); ?>;">
18
- <img src="<?php echo esc_url( $image ); ?>" alt="<?php the_title_attribute(); ?>" class="aiovg-responsive-element" />
19
 
20
  <?php if ( $attributes['show_duration'] && ! empty( $post_meta['duration'][0] ) ) : ?>
21
  <div class="aiovg-duration"><small><?php echo esc_html( $post_meta['duration'][0] ); ?></small></div>
10
  */
11
 
12
  $post_meta = get_post_meta( $post->ID );
13
+ $image = aiovg_get_image_url( $post_meta['image_id'][0], 'medium', $post_meta['image'][0] );
14
+ $image_alt = get_post_meta( (int) $post_meta['image_id'][0], '_wp_attachment_image_alt', true );
15
+ if ( empty( $image_alt ) ) {
16
+ $image_alt = $post->post_title;
17
+ }
18
  ?>
19
 
20
  <div class="aiovg-thumbnail aiovg-thumbnail-style-image-top" data-id="<?php echo esc_attr( $post->ID ); ?>">
21
  <a href="<?php the_permalink(); ?>" class="aiovg-responsive-container" style="padding-bottom: <?php echo esc_attr( $attributes['ratio'] ); ?>;">
22
+ <img src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr( $image_alt ); ?>" class="aiovg-responsive-element" />
23
 
24
  <?php if ( $attributes['show_duration'] && ! empty( $post_meta['duration'][0] ) ) : ?>
25
  <div class="aiovg-duration"><small><?php echo esc_html( $post_meta['duration'][0] ); ?></small></div>
public/templates/videos-template-classic.php CHANGED
@@ -10,7 +10,7 @@
10
  */
11
  ?>
12
 
13
- <div class="aiovg aiovg-videos aiovg-videos-template-classic">
14
  <?php
15
  // Display the videos count
16
  if ( ! empty( $attributes['show_count'] ) ) : ?>
@@ -25,33 +25,27 @@
25
  <?php
26
  endif;
27
 
28
- // Start the loop
29
- $i = 0;
30
 
31
  while ( $aiovg_query->have_posts() ) :
32
  $aiovg_query->the_post();
33
- if ( $i % $attributes['columns'] == 0 ) echo '<div class="aiovg-row">';
34
  ?>
35
  <div class="aiovg-col aiovg-col-<?php echo (int) $attributes['columns']; ?>">
36
  <?php the_aiovg_video_thumbnail( $post, $attributes ); ?>
37
  </div>
38
  <?php
39
- $i++;
40
- if ( 0 == $i % $attributes['columns'] || $i == $aiovg_query->post_count ) echo '</div>';
41
- // End of the loop
42
  endwhile;
 
 
43
 
44
  // Use reset postdata to restore orginal query
45
  wp_reset_postdata();
46
 
47
  if ( ! empty( $attributes['show_pagination'] ) ) { // Pagination
48
- the_aiovg_pagination( $aiovg_query->max_num_pages, "", $attributes['paged'] );
49
- } elseif ( ! empty( $attributes['show_more'] ) ) { // More button
50
- printf(
51
- '<p class="aiovg-more aiovg-text-center"><button type="button" onclick="location.href=\'%s\'" class="aiovg-link-more">%s</button></p>',
52
- esc_url( $attributes['more_link'] ),
53
- esc_html( $attributes['more_label'] )
54
- );
55
  }
56
  ?>
57
  </div>
10
  */
11
  ?>
12
 
13
+ <div id="aiovg-<?php echo esc_attr( $attributes['uid'] ); ?>" class="aiovg aiovg-videos aiovg-videos-template-classic">
14
  <?php
15
  // Display the videos count
16
  if ( ! empty( $attributes['show_count'] ) ) : ?>
25
  <?php
26
  endif;
27
 
28
+ // The loop
29
+ echo '<div class="aiovg-grid aiovg-row">';
30
 
31
  while ( $aiovg_query->have_posts() ) :
32
  $aiovg_query->the_post();
 
33
  ?>
34
  <div class="aiovg-col aiovg-col-<?php echo (int) $attributes['columns']; ?>">
35
  <?php the_aiovg_video_thumbnail( $post, $attributes ); ?>
36
  </div>
37
  <?php
 
 
 
38
  endwhile;
39
+
40
+ echo '</div>';
41
 
42
  // Use reset postdata to restore orginal query
43
  wp_reset_postdata();
44
 
45
  if ( ! empty( $attributes['show_pagination'] ) ) { // Pagination
46
+ the_aiovg_pagination( $aiovg_query->max_num_pages, "", $attributes['paged'], $attributes );
47
+ } elseif ( ! empty( $attributes['show_more'] ) ) { // More button
48
+ the_aiovg_more_button( $aiovg_query->max_num_pages, $attributes );
 
 
 
 
49
  }
50
  ?>
51
  </div>
public/videos.php CHANGED
@@ -52,6 +52,7 @@ class AIOVG_Public_Videos {
52
  */
53
  public function run_shortcode_videos( $atts ) {
54
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
 
55
 
56
  if ( ! empty( $attributes['related'] ) ) {
57
  // Category page
@@ -121,6 +122,7 @@ class AIOVG_Public_Videos {
121
 
122
  // Videos
123
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
 
124
  $attributes['category'] = $term->term_id;
125
 
126
  $videos = $this->get_content( $attributes );
@@ -178,6 +180,7 @@ class AIOVG_Public_Videos {
178
 
179
  // Videos
180
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
 
181
  $attributes['tag'] = $term->term_id;
182
 
183
  $content .= $this->get_content( $attributes );
@@ -187,9 +190,21 @@ class AIOVG_Public_Videos {
187
  }
188
 
189
  return $content;
 
 
 
 
 
 
 
 
 
 
 
 
190
  }
191
 
192
- return wp_tag_cloud( array( 'taxonomy' => 'aiovg_tags' ) );
193
  }
194
 
195
  /**
@@ -200,6 +215,7 @@ class AIOVG_Public_Videos {
200
  */
201
  public function run_shortcode_search( $atts ) {
202
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
 
203
 
204
  if ( isset( $_GET['vi'] ) ) {
205
  $attributes['search_query'] = $_GET['vi'];
@@ -242,6 +258,7 @@ class AIOVG_Public_Videos {
242
 
243
  if ( ! empty( $user_slug ) ) {
244
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
 
245
  $attributes['user_slug'] = $user_slug;
246
 
247
  $content = $this->get_content( $attributes );
@@ -253,6 +270,22 @@ class AIOVG_Public_Videos {
253
 
254
  return $content;
255
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
 
257
  /**
258
  * Get the html output.
@@ -273,7 +306,7 @@ class AIOVG_Public_Videos {
273
  'posts_per_page' => ! empty( $attributes['limit'] ) ? (int) $attributes['limit'] : -1
274
  );
275
 
276
- if ( ! empty( $attributes['show_pagination'] ) ) { // Pagination
277
  $args['paged'] = (int) $attributes['paged'];
278
  }
279
 
@@ -287,7 +320,7 @@ class AIOVG_Public_Videos {
287
  $tax_queries[] = array(
288
  'taxonomy' => 'aiovg_categories',
289
  'field' => 'term_id',
290
- 'terms' => array_map( 'intval', explode( ',', $attributes['category'] ) ),
291
  'include_children' => false
292
  );
293
  }
@@ -305,9 +338,7 @@ class AIOVG_Public_Videos {
305
  if ( $count_tax_queries ) {
306
  $tax_relation = 'AND';
307
  if ( ! empty( $attributes['related'] ) ) {
308
- if ( is_singular( 'aiovg_videos' ) ) {
309
- $tax_relation = 'OR';
310
- }
311
  }
312
 
313
  $args['tax_query'] = ( $count_tax_queries > 1 ) ? array_merge( array( 'relation' => $tax_relation ), $tax_queries ) : $tax_queries;
@@ -346,7 +377,7 @@ class AIOVG_Public_Videos {
346
  $args['order'] = $order;
347
  break;
348
  case 'rand':
349
- $seed = aiovg_get_orderby_rand_seed();
350
  $args['orderby'] = 'RAND(' . $seed . ')';
351
  break;
352
  default:
@@ -354,7 +385,7 @@ class AIOVG_Public_Videos {
354
  $args['order'] = $order;
355
  }
356
 
357
- $args = apply_filters( 'aiovg_query_args', $args );
358
  $aiovg_query = new WP_Query( $args );
359
 
360
  // Start the loop
@@ -385,7 +416,9 @@ class AIOVG_Public_Videos {
385
  * @return array $atts An associative array of attributes.
386
  */
387
  public function get_defaults() {
388
- if ( empty( $this->defaults ) ) {
 
 
389
  $fields = aiovg_get_shortcode_fields();
390
 
391
  foreach ( $fields['videos']['sections'] as $section ) {
@@ -400,8 +433,11 @@ class AIOVG_Public_Videos {
400
  }
401
  }
402
 
 
 
403
  $this->defaults['count'] = 0;
404
- $this->defaults['paged'] = aiovg_get_page_number();
 
405
  }
406
 
407
  return $this->defaults;
52
  */
53
  public function run_shortcode_videos( $atts ) {
54
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
55
+ $attributes['shortcode'] = 'aiovg_videos';
56
 
57
  if ( ! empty( $attributes['related'] ) ) {
58
  // Category page
122
 
123
  // Videos
124
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
125
+ $attributes['shortcode'] = 'aiovg_category';
126
  $attributes['category'] = $term->term_id;
127
 
128
  $videos = $this->get_content( $attributes );
180
 
181
  // Videos
182
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
183
+ $attributes['shortcode'] = 'aiovg_tag';
184
  $attributes['tag'] = $term->term_id;
185
 
186
  $content .= $this->get_content( $attributes );
190
  }
191
 
192
  return $content;
193
+ } else {
194
+ $args = array(
195
+ 'taxonomy' => 'aiovg_tags',
196
+ 'echo' => false
197
+ );
198
+
199
+ $args = apply_filters( 'aiovg_tags_args', $args, $atts );
200
+ $tags = wp_tag_cloud( $args );
201
+
202
+ if ( ! empty( $tags ) ) {
203
+ return $tags;
204
+ }
205
  }
206
 
207
+ return aiovg_get_message( 'tags_empty' );
208
  }
209
 
210
  /**
215
  */
216
  public function run_shortcode_search( $atts ) {
217
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
218
+ $attributes['shortcode'] = 'aiovg_search';
219
 
220
  if ( isset( $_GET['vi'] ) ) {
221
  $attributes['search_query'] = $_GET['vi'];
258
 
259
  if ( ! empty( $user_slug ) ) {
260
  $attributes = shortcode_atts( $this->get_defaults(), $atts );
261
+ $attributes['shortcode'] = 'aiovg_user_videos';
262
  $attributes['user_slug'] = $user_slug;
263
 
264
  $content = $this->get_content( $attributes );
270
 
271
  return $content;
272
  }
273
+
274
+ /**
275
+ * Load more videos.
276
+ *
277
+ * @since 2.5.1
278
+ */
279
+ public function ajax_callback_load_more_videos() {
280
+ // Security check
281
+ check_ajax_referer( 'aiovg_ajax_nonce', 'security' );
282
+
283
+ // Proceed safe
284
+ $json = array();
285
+ $json['html'] = $this->get_content( $_POST );
286
+
287
+ wp_send_json_success( $json );
288
+ }
289
 
290
  /**
291
  * Get the html output.
306
  'posts_per_page' => ! empty( $attributes['limit'] ) ? (int) $attributes['limit'] : -1
307
  );
308
 
309
+ if ( ! empty( $attributes['show_pagination'] ) || ! empty( $attributes['show_more'] ) ) { // Pagination
310
  $args['paged'] = (int) $attributes['paged'];
311
  }
312
 
320
  $tax_queries[] = array(
321
  'taxonomy' => 'aiovg_categories',
322
  'field' => 'term_id',
323
+ 'terms' => is_array( $attributes['category'] ) ? array_map( 'intval', $attributes['category'] ) : array_map( 'intval', explode( ',', $attributes['category'] ) ),
324
  'include_children' => false
325
  );
326
  }
338
  if ( $count_tax_queries ) {
339
  $tax_relation = 'AND';
340
  if ( ! empty( $attributes['related'] ) ) {
341
+ $tax_relation = 'OR';
 
 
342
  }
343
 
344
  $args['tax_query'] = ( $count_tax_queries > 1 ) ? array_merge( array( 'relation' => $tax_relation ), $tax_queries ) : $tax_queries;
377
  $args['order'] = $order;
378
  break;
379
  case 'rand':
380
+ $seed = aiovg_get_orderby_rand_seed( (int) $attributes['paged'] );
381
  $args['orderby'] = 'RAND(' . $seed . ')';
382
  break;
383
  default:
385
  $args['order'] = $order;
386
  }
387
 
388
+ $args = apply_filters( 'aiovg_query_args', $args, $attributes );
389
  $aiovg_query = new WP_Query( $args );
390
 
391
  // Start the loop
416
  * @return array $atts An associative array of attributes.
417
  */
418
  public function get_defaults() {
419
+ if ( empty( $this->defaults ) ) {
420
+ $pagination_settings = get_option( 'aiovg_pagination_settings', array() );
421
+
422
  $fields = aiovg_get_shortcode_fields();
423
 
424
  foreach ( $fields['videos']['sections'] as $section ) {
433
  }
434
  }
435
 
436
+ $this->defaults['uid'] = aiovg_get_uniqid();
437
+ $this->defaults['source'] = 'videos';
438
  $this->defaults['count'] = 0;
439
+ $this->defaults['paged'] = aiovg_get_page_number();
440
+ $this->defaults['pagination_ajax'] = isset( $pagination_settings['ajax'] ) && ! empty( $pagination_settings['ajax'] ) ? 1 : 0;
441
  }
442
 
443
  return $this->defaults;
vendor/{select2 → jquery-ui/images}/index.html RENAMED
File without changes
vendor/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png ADDED
Binary file
vendor/jquery-ui/index.html ADDED
@@ -0,0 +1 @@
 
1
+ <!DOCTYPE html><title></title>
vendor/jquery-ui/jquery-ui.css ADDED
@@ -0,0 +1,1314 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.13.0 - 2021-10-07
2
+ * http://jqueryui.com
3
+ * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ border-collapse: collapse;
37
+ }
38
+ .ui-helper-clearfix:after {
39
+ clear: both;
40
+ }
41
+ .ui-helper-zfix {
42
+ width: 100%;
43
+ height: 100%;
44
+ top: 0;
45
+ left: 0;
46
+ position: absolute;
47
+ opacity: 0;
48
+ -ms-filter: "alpha(opacity=0)"; /* support: IE8 */
49
+ }
50
+
51
+ .ui-front {
52
+ z-index: 100;
53
+ }
54
+
55
+
56
+ /* Interaction Cues
57
+ ----------------------------------*/
58
+ .ui-state-disabled {
59
+ cursor: default !important;
60
+ pointer-events: none;
61
+ }
62
+
63
+
64
+ /* Icons
65
+ ----------------------------------*/
66
+ .ui-icon {
67
+ display: inline-block;
68
+ vertical-align: middle;
69
+ margin-top: -.25em;
70
+ position: relative;
71
+ text-indent: -99999px;
72
+ overflow: hidden;
73
+ background-repeat: no-repeat;
74
+ }
75
+
76
+ .ui-widget-icon-block {
77
+ left: 50%;
78
+ margin-left: -8px;
79
+ display: block;
80
+ }
81
+
82
+ /* Misc visuals
83
+ ----------------------------------*/
84
+
85
+ /* Overlays */
86
+ .ui-widget-overlay {
87
+ position: fixed;
88
+ top: 0;
89
+ left: 0;
90
+ width: 100%;
91
+ height: 100%;
92
+ }
93
+ .ui-accordion .ui-accordion-header {
94
+ display: block;
95
+ cursor: pointer;
96
+ position: relative;
97
+ margin: 2px 0 0 0;
98
+ padding: .5em .5em .5em .7em;
99
+ font-size: 100%;
100
+ }
101
+ .ui-accordion .ui-accordion-content {
102
+ padding: 1em 2.2em;
103
+ border-top: 0;
104
+ overflow: auto;
105
+ }
106
+ .ui-autocomplete {
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ cursor: default;
111
+ }
112
+ .ui-menu {
113
+ list-style: none;
114
+ padding: 0;
115
+ margin: 0;
116
+ display: block;
117
+ outline: 0;
118
+ }
119
+ .ui-menu .ui-menu {
120
+ position: absolute;
121
+ }
122
+ .ui-menu .ui-menu-item {
123
+ margin: 0;
124
+ cursor: pointer;
125
+ /* support: IE10, see #8844 */
126
+ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
127
+ }
128
+ .ui-menu .ui-menu-item-wrapper {
129
+ position: relative;
130
+ padding: 3px 1em 3px .4em;
131
+ }
132
+ .ui-menu .ui-menu-divider {
133
+ margin: 5px 0;
134
+ height: 0;
135
+ font-size: 0;
136
+ line-height: 0;
137
+ border-width: 1px 0 0 0;
138
+ }
139
+ .ui-menu .ui-state-focus,
140
+ .ui-menu .ui-state-active {
141
+ margin: -1px;
142
+ }
143
+
144
+ /* icon support */
145
+ .ui-menu-icons {
146
+ position: relative;
147
+ }
148
+ .ui-menu-icons .ui-menu-item-wrapper {
149
+ padding-left: 2em;
150
+ }
151
+
152
+ /* left-aligned */
153
+ .ui-menu .ui-icon {
154
+ position: absolute;
155
+ top: 0;
156
+ bottom: 0;
157
+ left: .2em;
158
+ margin: auto 0;
159
+ }
160
+
161
+ /* right-aligned */
162
+ .ui-menu .ui-menu-icon {
163
+ left: auto;
164
+ right: 0;
165
+ }
166
+ .ui-button {
167
+ padding: .4em 1em;
168
+ display: inline-block;
169
+ position: relative;
170
+ line-height: normal;
171
+ margin-right: .1em;
172
+ cursor: pointer;
173
+ vertical-align: middle;
174
+ text-align: center;
175
+ -webkit-user-select: none;
176
+ -moz-user-select: none;
177
+ -ms-user-select: none;
178
+ user-select: none;
179
+
180
+ /* Support: IE <= 11 */
181
+ overflow: visible;
182
+ }
183
+
184
+ .ui-button,
185
+ .ui-button:link,
186
+ .ui-button:visited,
187
+ .ui-button:hover,
188
+ .ui-button:active {
189
+ text-decoration: none;
190
+ }
191
+
192
+ /* to make room for the icon, a width needs to be set here */
193
+ .ui-button-icon-only {
194
+ width: 2em;
195
+ box-sizing: border-box;
196
+ text-indent: -9999px;
197
+ white-space: nowrap;
198
+ }
199
+
200
+ /* no icon support for input elements */
201
+ input.ui-button.ui-button-icon-only {
202
+ text-indent: 0;
203
+ }
204
+
205
+ /* button icon element(s) */
206
+ .ui-button-icon-only .ui-icon {
207
+ position: absolute;
208
+ top: 50%;
209
+ left: 50%;
210
+ margin-top: -8px;
211
+ margin-left: -8px;
212
+ }
213
+
214
+ .ui-button.ui-icon-notext .ui-icon {
215
+ padding: 0;
216
+ width: 2.1em;
217
+ height: 2.1em;
218
+ text-indent: -9999px;
219
+ white-space: nowrap;
220
+
221
+ }
222
+
223
+ input.ui-button.ui-icon-notext .ui-icon {
224
+ width: auto;
225
+ height: auto;
226
+ text-indent: 0;
227
+ white-space: normal;
228
+ padding: .4em 1em;
229
+ }
230
+
231
+ /* workarounds */
232
+ /* Support: Firefox 5 - 40 */
233
+ input.ui-button::-moz-focus-inner,
234
+ button.ui-button::-moz-focus-inner {
235
+ border: 0;
236
+ padding: 0;
237
+ }
238
+ .ui-controlgroup {
239
+ vertical-align: middle;
240
+ display: inline-block;
241
+ }
242
+ .ui-controlgroup > .ui-controlgroup-item {
243
+ float: left;
244
+ margin-left: 0;
245
+ margin-right: 0;
246
+ }
247
+ .ui-controlgroup > .ui-controlgroup-item:focus,
248
+ .ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
249
+ z-index: 9999;
250
+ }
251
+ .ui-controlgroup-vertical > .ui-controlgroup-item {
252
+ display: block;
253
+ float: none;
254
+ width: 100%;
255
+ margin-top: 0;
256
+ margin-bottom: 0;
257
+ text-align: left;
258
+ }
259
+ .ui-controlgroup-vertical .ui-controlgroup-item {
260
+ box-sizing: border-box;
261
+ }
262
+ .ui-controlgroup .ui-controlgroup-label {
263
+ padding: .4em 1em;
264
+ }
265
+ .ui-controlgroup .ui-controlgroup-label span {
266
+ font-size: 80%;
267
+ }
268
+ .ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
269
+ border-left: none;
270
+ }
271
+ .ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
272
+ border-top: none;
273
+ }
274
+ .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
275
+ border-right: none;
276
+ }
277
+ .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
278
+ border-bottom: none;
279
+ }
280
+
281
+ /* Spinner specific style fixes */
282
+ .ui-controlgroup-vertical .ui-spinner-input {
283
+
284
+ /* Support: IE8 only, Android < 4.4 only */
285
+ width: 75%;
286
+ width: calc( 100% - 2.4em );
287
+ }
288
+ .ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
289
+ border-top-style: solid;
290
+ }
291
+
292
+ .ui-checkboxradio-label .ui-icon-background {
293
+ box-shadow: inset 1px 1px 1px #ccc;
294
+ border-radius: .12em;
295
+ border: none;
296
+ }
297
+ .ui-checkboxradio-radio-label .ui-icon-background {
298
+ width: 16px;
299
+ height: 16px;
300
+ border-radius: 1em;
301
+ overflow: visible;
302
+ border: none;
303
+ }
304
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
305
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
306
+ background-image: none;
307
+ width: 8px;
308
+ height: 8px;
309
+ border-width: 4px;
310
+ border-style: solid;
311
+ }
312
+ .ui-checkboxradio-disabled {
313
+ pointer-events: none;
314
+ }
315
+ .ui-datepicker {
316
+ width: 17em;
317
+ padding: .2em .2em 0;
318
+ display: none;
319
+ }
320
+ .ui-datepicker .ui-datepicker-header {
321
+ position: relative;
322
+ padding: .2em 0;
323
+ }
324
+ .ui-datepicker .ui-datepicker-prev,
325
+ .ui-datepicker .ui-datepicker-next {
326
+ position: absolute;
327
+ top: 2px;
328
+ width: 1.8em;
329
+ height: 1.8em;
330
+ }
331
+ .ui-datepicker .ui-datepicker-prev-hover,
332
+ .ui-datepicker .ui-datepicker-next-hover {
333
+ top: 1px;
334
+ }
335
+ .ui-datepicker .ui-datepicker-prev {
336
+ left: 2px;
337
+ }
338
+ .ui-datepicker .ui-datepicker-next {
339
+ right: 2px;
340
+ }
341
+ .ui-datepicker .ui-datepicker-prev-hover {
342
+ left: 1px;
343
+ }
344
+ .ui-datepicker .ui-datepicker-next-hover {
345
+ right: 1px;
346
+ }
347
+ .ui-datepicker .ui-datepicker-prev span,
348
+ .ui-datepicker .ui-datepicker-next span {
349
+ display: block;
350
+ position: absolute;
351
+ left: 50%;
352
+ margin-left: -8px;
353
+ top: 50%;
354
+ margin-top: -8px;
355
+ }
356
+ .ui-datepicker .ui-datepicker-title {
357
+ margin: 0 2.3em;
358
+ line-height: 1.8em;
359
+ text-align: center;
360
+ }
361
+ .ui-datepicker .ui-datepicker-title select {
362
+ font-size: 1em;
363
+ margin: 1px 0;
364
+ }
365
+ .ui-datepicker select.ui-datepicker-month,
366
+ .ui-datepicker select.ui-datepicker-year {
367
+ width: 45%;
368
+ }
369
+ .ui-datepicker table {
370
+ width: 100%;
371
+ font-size: .9em;
372
+ border-collapse: collapse;
373
+ margin: 0 0 .4em;
374
+ }
375
+ .ui-datepicker th {
376
+ padding: .7em .3em;
377
+ text-align: center;
378
+ font-weight: bold;
379
+ border: 0;
380
+ }
381
+ .ui-datepicker td {
382
+ border: 0;
383
+ padding: 1px;
384
+ }
385
+ .ui-datepicker td span,
386
+ .ui-datepicker td a {
387
+ display: block;
388
+ padding: .2em;
389
+ text-align: right;
390
+ text-decoration: none;
391
+ }
392
+ .ui-datepicker .ui-datepicker-buttonpane {
393
+ background-image: none;
394
+ margin: .7em 0 0 0;
395
+ padding: 0 .2em;
396
+ border-left: 0;
397
+ border-right: 0;
398
+ border-bottom: 0;
399
+ }
400
+ .ui-datepicker .ui-datepicker-buttonpane button {
401
+ float: right;
402
+ margin: .5em .2em .4em;
403
+ cursor: pointer;
404
+ padding: .2em .6em .3em .6em;
405
+ width: auto;
406
+ overflow: visible;
407
+ }
408
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
409
+ float: left;
410
+ }
411
+
412
+ /* with multiple calendars */
413
+ .ui-datepicker.ui-datepicker-multi {
414
+ width: auto;
415
+ }
416
+ .ui-datepicker-multi .ui-datepicker-group {
417
+ float: left;
418
+ }
419
+ .ui-datepicker-multi .ui-datepicker-group table {
420
+ width: 95%;
421
+ margin: 0 auto .4em;
422
+ }
423
+ .ui-datepicker-multi-2 .ui-datepicker-group {
424
+ width: 50%;
425
+ }
426
+ .ui-datepicker-multi-3 .ui-datepicker-group {
427
+ width: 33.3%;
428
+ }
429
+ .ui-datepicker-multi-4 .ui-datepicker-group {
430
+ width: 25%;
431
+ }
432
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
433
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
434
+ border-left-width: 0;
435
+ }
436
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
437
+ clear: left;
438
+ }
439
+ .ui-datepicker-row-break {
440
+ clear: both;
441
+ width: 100%;
442
+ font-size: 0;
443
+ }
444
+
445
+ /* RTL support */
446
+ .ui-datepicker-rtl {
447
+ direction: rtl;
448
+ }
449
+ .ui-datepicker-rtl .ui-datepicker-prev {
450
+ right: 2px;
451
+ left: auto;
452
+ }
453
+ .ui-datepicker-rtl .ui-datepicker-next {
454
+ left: 2px;
455
+ right: auto;
456
+ }
457
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
458
+ right: 1px;
459
+ left: auto;
460
+ }
461
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
462
+ left: 1px;
463
+ right: auto;
464
+ }
465
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
466
+ clear: right;
467
+ }
468
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
469
+ float: left;
470
+ }
471
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
472
+ .ui-datepicker-rtl .ui-datepicker-group {
473
+ float: right;
474
+ }
475
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
476
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
477
+ border-right-width: 0;
478
+ border-left-width: 1px;
479
+ }
480
+
481
+ /* Icons */
482
+ .ui-datepicker .ui-icon {
483
+ display: block;
484
+ text-indent: -99999px;
485
+ overflow: hidden;
486
+ background-repeat: no-repeat;
487
+ left: .5em;
488
+ top: .3em;
489
+ }
490
+ .ui-dialog {
491
+ position: absolute;
492
+ top: 0;
493
+ left: 0;
494
+ padding: .2em;
495
+ outline: 0;
496
+ }
497
+ .ui-dialog .ui-dialog-titlebar {
498
+ padding: .4em 1em;
499
+ position: relative;
500
+ }
501
+ .ui-dialog .ui-dialog-title {
502
+ float: left;
503
+ margin: .1em 0;
504
+ white-space: nowrap;
505
+ width: 90%;
506
+ overflow: hidden;
507
+ text-overflow: ellipsis;
508
+ }
509
+ .ui-dialog .ui-dialog-titlebar-close {
510
+ position: absolute;
511
+ right: .3em;
512
+ top: 50%;
513
+ width: 20px;
514
+ margin: -10px 0 0 0;
515
+ padding: 1px;
516
+ height: 20px;
517
+ }
518
+ .ui-dialog .ui-dialog-content {
519
+ position: relative;
520
+ border: 0;
521
+ padding: .5em 1em;
522
+ background: none;
523
+ overflow: auto;
524
+ }
525
+ .ui-dialog .ui-dialog-buttonpane {
526
+ text-align: left;
527
+ border-width: 1px 0 0 0;
528
+ background-image: none;
529
+ margin-top: .5em;
530
+ padding: .3em 1em .5em .4em;
531
+ }
532
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
533
+ float: right;
534
+ }
535
+ .ui-dialog .ui-dialog-buttonpane button {
536
+ margin: .5em .4em .5em 0;
537
+ cursor: pointer;
538
+ }
539
+ .ui-dialog .ui-resizable-n {
540
+ height: 2px;
541
+ top: 0;
542
+ }
543
+ .ui-dialog .ui-resizable-e {
544
+ width: 2px;
545
+ right: 0;
546
+ }
547
+ .ui-dialog .ui-resizable-s {
548
+ height: 2px;
549
+ bottom: 0;
550
+ }
551
+ .ui-dialog .ui-resizable-w {
552
+ width: 2px;
553
+ left: 0;
554
+ }
555
+ .ui-dialog .ui-resizable-se,
556
+ .ui-dialog .ui-resizable-sw,
557
+ .ui-dialog .ui-resizable-ne,
558
+ .ui-dialog .ui-resizable-nw {
559
+ width: 7px;
560
+ height: 7px;
561
+ }
562
+ .ui-dialog .ui-resizable-se {
563
+ right: 0;
564
+ bottom: 0;
565
+ }
566
+ .ui-dialog .ui-resizable-sw {
567
+ left: 0;
568
+ bottom: 0;
569
+ }
570
+ .ui-dialog .ui-resizable-ne {
571
+ right: 0;
572
+ top: 0;
573
+ }
574
+ .ui-dialog .ui-resizable-nw {
575
+ left: 0;
576
+ top: 0;
577
+ }
578
+ .ui-draggable .ui-dialog-titlebar {
579
+ cursor: move;
580
+ }
581
+ .ui-draggable-handle {
582
+ -ms-touch-action: none;
583
+ touch-action: none;
584
+ }
585
+ .ui-resizable {
586
+ position: relative;
587
+ }
588
+ .ui-resizable-handle {
589
+ position: absolute;
590
+ font-size: 0.1px;
591
+ display: block;
592
+ -ms-touch-action: none;
593
+ touch-action: none;
594
+ }
595
+ .ui-resizable-disabled .ui-resizable-handle,
596
+ .ui-resizable-autohide .ui-resizable-handle {
597
+ display: none;
598
+ }
599
+ .ui-resizable-n {
600
+ cursor: n-resize;
601
+ height: 7px;
602
+ width: 100%;
603
+ top: -5px;
604
+ left: 0;
605
+ }
606
+ .ui-resizable-s {
607
+ cursor: s-resize;
608
+ height: 7px;
609
+ width: 100%;
610
+ bottom: -5px;
611
+ left: 0;
612
+ }
613
+ .ui-resizable-e {
614
+ cursor: e-resize;
615
+ width: 7px;
616
+ right: -5px;
617
+ top: 0;
618
+ height: 100%;
619
+ }
620
+ .ui-resizable-w {
621
+ cursor: w-resize;
622
+ width: 7px;
623
+ left: -5px;
624
+ top: 0;
625
+ height: 100%;
626
+ }
627
+ .ui-resizable-se {
628
+ cursor: se-resize;
629
+ width: 12px;
630
+ height: 12px;
631
+ right: 1px;
632
+ bottom: 1px;
633
+ }
634
+ .ui-resizable-sw {
635
+ cursor: sw-resize;
636
+ width: 9px;
637
+ height: 9px;
638
+ left: -5px;
639
+ bottom: -5px;
640
+ }
641
+ .ui-resizable-nw {
642
+ cursor: nw-resize;
643
+ width: 9px;
644
+ height: 9px;
645
+ left: -5px;
646
+ top: -5px;
647
+ }
648
+ .ui-resizable-ne {
649
+ cursor: ne-resize;
650
+ width: 9px;
651
+ height: 9px;
652
+ right: -5px;
653
+ top: -5px;
654
+ }
655
+ .ui-progressbar {
656
+ height: 2em;
657
+ text-align: left;
658
+ overflow: hidden;
659
+ }
660
+ .ui-progressbar .ui-progressbar-value {
661
+ margin: -1px;
662
+ height: 100%;
663
+ }
664
+ .ui-progressbar .ui-progressbar-overlay {
665
+ background: url("data:image/gif;base64,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");
666
+ height: 100%;
667
+ -ms-filter: "alpha(opacity=25)"; /* support: IE8 */
668
+ opacity: 0.25;
669
+ }
670
+ .ui-progressbar-indeterminate .ui-progressbar-value {
671
+ background-image: none;
672
+ }
673
+ .ui-selectable {
674
+ -ms-touch-action: none;
675
+ touch-action: none;
676
+ }
677
+ .ui-selectable-helper {
678
+ position: absolute;
679
+ z-index: 100;
680
+ border: 1px dotted black;
681
+ }
682
+ .ui-selectmenu-menu {
683
+ padding: 0;
684
+ margin: 0;
685
+ position: absolute;
686
+ top: 0;
687
+ left: 0;
688
+ display: none;
689
+ }
690
+ .ui-selectmenu-menu .ui-menu {
691
+ overflow: auto;
692
+ overflow-x: hidden;
693
+ padding-bottom: 1px;
694
+ }
695
+ .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
696
+ font-size: 1em;
697
+ font-weight: bold;
698
+ line-height: 1.5;
699
+ padding: 2px 0.4em;
700
+ margin: 0.5em 0 0 0;
701
+ height: auto;
702
+ border: 0;
703
+ }
704
+ .ui-selectmenu-open {
705
+ display: block;
706
+ }
707
+ .ui-selectmenu-text {
708
+ display: block;
709
+ margin-right: 20px;
710
+ overflow: hidden;
711
+ text-overflow: ellipsis;
712
+ }
713
+ .ui-selectmenu-button.ui-button {
714
+ text-align: left;
715
+ white-space: nowrap;
716
+ width: 14em;
717
+ }
718
+ .ui-selectmenu-icon.ui-icon {
719
+ float: right;
720
+ margin-top: 0;
721
+ }
722
+ .ui-slider {
723
+ position: relative;
724
+ text-align: left;
725
+ }
726
+ .ui-slider .ui-slider-handle {
727
+ position: absolute;
728
+ z-index: 2;
729
+ width: 1.2em;
730
+ height: 1.2em;
731
+ cursor: pointer;
732
+ -ms-touch-action: none;
733
+ touch-action: none;
734
+ }
735
+ .ui-slider .ui-slider-range {
736
+ position: absolute;
737
+ z-index: 1;
738
+ font-size: .7em;
739
+ display: block;
740
+ border: 0;
741
+ background-position: 0 0;
742
+ }
743
+
744
+ /* support: IE8 - See #6727 */
745
+ .ui-slider.ui-state-disabled .ui-slider-handle,
746
+ .ui-slider.ui-state-disabled .ui-slider-range {
747
+ filter: inherit;
748
+ }
749
+
750
+ .ui-slider-horizontal {
751
+ height: .8em;
752
+ }
753
+ .ui-slider-horizontal .ui-slider-handle {
754
+ top: -.3em;
755
+ margin-left: -.6em;
756
+ }
757
+ .ui-slider-horizontal .ui-slider-range {
758
+ top: 0;
759
+ height: 100%;
760
+ }
761
+ .ui-slider-horizontal .ui-slider-range-min {
762
+ left: 0;
763
+ }
764
+ .ui-slider-horizontal .ui-slider-range-max {
765
+ right: 0;
766
+ }
767
+
768
+ .ui-slider-vertical {
769
+ width: .8em;
770
+ height: 100px;
771
+ }
772
+ .ui-slider-vertical .ui-slider-handle {
773
+ left: -.3em;
774
+ margin-left: 0;
775
+ margin-bottom: -.6em;
776
+ }
777
+ .ui-slider-vertical .ui-slider-range {
778
+ left: 0;
779
+ width: 100%;
780
+ }
781
+ .ui-slider-vertical .ui-slider-range-min {
782
+ bottom: 0;
783
+ }
784
+ .ui-slider-vertical .ui-slider-range-max {
785
+ top: 0;
786
+ }
787
+ .ui-sortable-handle {
788
+ -ms-touch-action: none;
789
+ touch-action: none;
790
+ }
791
+ .ui-spinner {
792
+ position: relative;
793
+ display: inline-block;
794
+ overflow: hidden;
795
+ padding: 0;
796
+ vertical-align: middle;
797
+ }
798
+ .ui-spinner-input {
799
+ border: none;
800
+ background: none;
801
+ color: inherit;
802
+ padding: .222em 0;
803
+ margin: .2em 0;
804
+ vertical-align: middle;
805
+ margin-left: .4em;
806
+ margin-right: 2em;
807
+ }
808
+ .ui-spinner-button {
809
+ width: 1.6em;
810
+ height: 50%;
811
+ font-size: .5em;
812
+ padding: 0;
813
+ margin: 0;
814
+ text-align: center;
815
+ position: absolute;
816
+ cursor: default;
817
+ display: block;
818
+ overflow: hidden;
819
+ right: 0;
820
+ }
821
+ /* more specificity required here to override default borders */
822
+ .ui-spinner a.ui-spinner-button {
823
+ border-top-style: none;
824
+ border-bottom-style: none;
825
+ border-right-style: none;
826
+ }
827
+ .ui-spinner-up {
828
+ top: 0;
829
+ }
830
+ .ui-spinner-down {
831
+ bottom: 0;
832
+ }
833
+ .ui-tabs {
834
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
835
+ padding: .2em;
836
+ }
837
+ .ui-tabs .ui-tabs-nav {
838
+ margin: 0;
839
+ padding: .2em .2em 0;
840
+ }
841
+ .ui-tabs .ui-tabs-nav li {
842
+ list-style: none;
843
+ float: left;
844
+ position: relative;
845
+ top: 0;
846
+ margin: 1px .2em 0 0;
847
+ border-bottom-width: 0;
848
+ padding: 0;
849
+ white-space: nowrap;
850
+ }
851
+ .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
852
+ float: left;
853
+ padding: .5em 1em;
854
+ text-decoration: none;
855
+ }
856
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
857
+ margin-bottom: -1px;
858
+ padding-bottom: 1px;
859
+ }
860
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
861
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
862
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
863
+ cursor: text;
864
+ }
865
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
866
+ cursor: pointer;
867
+ }
868
+ .ui-tabs .ui-tabs-panel {
869
+ display: block;
870
+ border-width: 0;
871
+ padding: 1em 1.4em;
872
+ background: none;
873
+ }
874
+ .ui-tooltip {
875
+ padding: 8px;
876
+ position: absolute;
877
+ z-index: 9999;
878
+ max-width: 300px;
879
+ }
880
+ body .ui-tooltip {
881
+ border-width: 2px;
882
+ }
883
+ /* Component containers
884
+ ----------------------------------*/
885
+ .ui-widget {
886
+ font-family: Verdana,Arial,sans-serif;
887
+ font-size: 1.1em;
888
+ }
889
+ .ui-widget .ui-widget {
890
+ font-size: 1em;
891
+ }
892
+ .ui-widget input,
893
+ .ui-widget select,
894
+ .ui-widget textarea,
895
+ .ui-widget button {
896
+ font-family: Verdana,Arial,sans-serif;
897
+ font-size: 1em;
898
+ }
899
+ .ui-widget.ui-widget-content {
900
+ border: 1px solid #d3d3d3;
901
+ }
902
+ .ui-widget-content {
903
+ border: 1px solid #aaaaaa;
904
+ background: #ffffff;
905
+ color: #222222;
906
+ }
907
+ .ui-widget-content a {
908
+ color: #222222;
909
+ }
910
+ .ui-widget-header {
911
+ border: 1px solid #aaaaaa;
912
+ background: #cccccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;
913
+ color: #222222;
914
+ font-weight: bold;
915
+ }
916
+ .ui-widget-header a {
917
+ color: #222222;
918
+ }
919
+
920
+ /* Interaction states
921
+ ----------------------------------*/
922
+ .ui-state-default,
923
+ .ui-widget-content .ui-state-default,
924
+ .ui-widget-header .ui-state-default,
925
+ .ui-button,
926
+
927
+ /* We use html here because we need a greater specificity to make sure disabled
928
+ works properly when clicked or hovered */
929
+ html .ui-button.ui-state-disabled:hover,
930
+ html .ui-button.ui-state-disabled:active {
931
+ border: 1px solid #d3d3d3;
932
+ background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;
933
+ font-weight: normal;
934
+ color: #555555;
935
+ }
936
+ .ui-state-default a,
937
+ .ui-state-default a:link,
938
+ .ui-state-default a:visited,
939
+ a.ui-button,
940
+ a:link.ui-button,
941
+ a:visited.ui-button,
942
+ .ui-button {
943
+ color: #555555;
944
+ text-decoration: none;
945
+ }
946
+ .ui-state-hover,
947
+ .ui-widget-content .ui-state-hover,
948
+ .ui-widget-header .ui-state-hover,
949
+ .ui-state-focus,
950
+ .ui-widget-content .ui-state-focus,
951
+ .ui-widget-header .ui-state-focus,
952
+ .ui-button:hover,
953
+ .ui-button:focus {
954
+ border: 1px solid #999999;
955
+ background: #dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;
956
+ font-weight: normal;
957
+ color: #212121;
958
+ }
959
+ .ui-state-hover a,
960
+ .ui-state-hover a:hover,
961
+ .ui-state-hover a:link,
962
+ .ui-state-hover a:visited,
963
+ .ui-state-focus a,
964
+ .ui-state-focus a:hover,
965
+ .ui-state-focus a:link,
966
+ .ui-state-focus a:visited,
967
+ a.ui-button:hover,
968
+ a.ui-button:focus {
969
+ color: #212121;
970
+ text-decoration: none;
971
+ }
972
+
973
+ .ui-visual-focus {
974
+ box-shadow: 0 0 3px 1px rgb(94, 158, 214);
975
+ }
976
+ .ui-state-active,
977
+ .ui-widget-content .ui-state-active,
978
+ .ui-widget-header .ui-state-active,
979
+ a.ui-button:active,
980
+ .ui-button:active,
981
+ .ui-button.ui-state-active:hover {
982
+ border: 1px solid #aaaaaa;
983
+ background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;
984
+ font-weight: normal;
985
+ color: #212121;
986
+ }
987
+ .ui-icon-background,
988
+ .ui-state-active .ui-icon-background {
989
+ border: #aaaaaa;
990
+ background-color: #212121;
991
+ }
992
+ .ui-state-active a,
993
+ .ui-state-active a:link,
994
+ .ui-state-active a:visited {
995
+ color: #212121;
996
+ text-decoration: none;
997
+ }
998
+
999
+ /* Interaction Cues
1000
+ ----------------------------------*/
1001
+ .ui-state-highlight,
1002
+ .ui-widget-content .ui-state-highlight,
1003
+ .ui-widget-header .ui-state-highlight {
1004
+ border: 1px solid #fcefa1;
1005
+ background: #fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;
1006
+ color: #363636;
1007
+ }
1008
+ .ui-state-checked {
1009
+ border: 1px solid #fcefa1;
1010
+ background: #fbf9ee;
1011
+ }
1012
+ .ui-state-highlight a,
1013
+ .ui-widget-content .ui-state-highlight a,
1014
+ .ui-widget-header .ui-state-highlight a {
1015
+ color: #363636;
1016
+ }
1017
+ .ui-state-error,
1018
+ .ui-widget-content .ui-state-error,
1019
+ .ui-widget-header .ui-state-error {
1020
+ border: 1px solid #cd0a0a;
1021
+ background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
1022
+ color: #cd0a0a;
1023
+ }
1024
+ .ui-state-error a,
1025
+ .ui-widget-content .ui-state-error a,
1026
+ .ui-widget-header .ui-state-error a {
1027
+ color: #cd0a0a;
1028
+ }
1029
+ .ui-state-error-text,
1030
+ .ui-widget-content .ui-state-error-text,
1031
+ .ui-widget-header .ui-state-error-text {
1032
+ color: #cd0a0a;
1033
+ }
1034
+ .ui-priority-primary,
1035
+ .ui-widget-content .ui-priority-primary,
1036
+ .ui-widget-header .ui-priority-primary {
1037
+ font-weight: bold;
1038
+ }
1039
+ .ui-priority-secondary,
1040
+ .ui-widget-content .ui-priority-secondary,
1041
+ .ui-widget-header .ui-priority-secondary {
1042
+ opacity: .7;
1043
+ -ms-filter: "alpha(opacity=70)"; /* support: IE8 */
1044
+ font-weight: normal;
1045
+ }
1046
+ .ui-state-disabled,
1047
+ .ui-widget-content .ui-state-disabled,
1048
+ .ui-widget-header .ui-state-disabled {
1049
+ opacity: .35;
1050
+ -ms-filter: "alpha(opacity=35)"; /* support: IE8 */
1051
+ background-image: none;
1052
+ }
1053
+ .ui-state-disabled .ui-icon {
1054
+ -ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */
1055
+ }
1056
+
1057
+ /* Icons
1058
+ ----------------------------------*/
1059
+
1060
+ /* states and images */
1061
+ .ui-icon {
1062
+ width: 16px;
1063
+ height: 16px;
1064
+ }
1065
+ .ui-icon,
1066
+ .ui-widget-content .ui-icon {
1067
+ background-image: url("images/ui-icons_222222_256x240.png");
1068
+ }
1069
+ .ui-widget-header .ui-icon {
1070
+ background-image: url("images/ui-icons_222222_256x240.png");
1071
+ }
1072
+ .ui-state-hover .ui-icon,
1073
+ .ui-state-focus .ui-icon,
1074
+ .ui-button:hover .ui-icon,
1075
+ .ui-button:focus .ui-icon {
1076
+ background-image: url("images/ui-icons_454545_256x240.png");
1077
+ }
1078
+ .ui-state-active .ui-icon,
1079
+ .ui-button:active .ui-icon {
1080
+ background-image: url("images/ui-icons_454545_256x240.png");
1081
+ }
1082
+ .ui-state-highlight .ui-icon,
1083
+ .ui-button .ui-state-highlight.ui-icon {
1084
+ background-image: url("images/ui-icons_2e83ff_256x240.png");
1085
+ }
1086
+ .ui-state-error .ui-icon,
1087
+ .ui-state-error-text .ui-icon {
1088
+ background-image: url("images/ui-icons_cd0a0a_256x240.png");
1089
+ }
1090
+ .ui-button .ui-icon {
1091
+ background-image: url("images/ui-icons_888888_256x240.png");
1092
+ }
1093
+
1094
+ /* positioning */
1095
+ /* Three classes needed to override `.ui-button:hover .ui-icon` */
1096
+ .ui-icon-blank.ui-icon-blank.ui-icon-blank {
1097
+ background-image: none;
1098
+ }
1099
+ .ui-icon-caret-1-n { background-position: 0 0; }
1100
+ .ui-icon-caret-1-ne { background-position: -16px 0; }
1101
+ .ui-icon-caret-1-e { background-position: -32px 0; }
1102
+ .ui-icon-caret-1-se { background-position: -48px 0; }
1103
+ .ui-icon-caret-1-s { background-position: -65px 0; }
1104
+ .ui-icon-caret-1-sw { background-position: -80px 0; }
1105
+ .ui-icon-caret-1-w { background-position: -96px 0; }
1106
+ .ui-icon-caret-1-nw { background-position: -112px 0; }
1107
+ .ui-icon-caret-2-n-s { background-position: -128px 0; }
1108
+ .ui-icon-caret-2-e-w { background-position: -144px 0; }
1109
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
1110
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
1111
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
1112
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
1113
+ .ui-icon-triangle-1-s { background-position: -65px -16px; }
1114
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
1115
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
1116
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
1117
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
1118
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
1119
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
1120
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
1121
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
1122
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
1123
+ .ui-icon-arrow-1-s { background-position: -65px -32px; }
1124
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
1125
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
1126
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
1127
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
1128
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
1129
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
1130
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
1131
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
1132
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
1133
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
1134
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
1135
+ .ui-icon-arrowthick-1-n { background-position: 1px -48px; }
1136
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
1137
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
1138
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
1139
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
1140
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
1141
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
1142
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
1143
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1144
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1145
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1146
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1147
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1148
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1149
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1150
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1151
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1152
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1153
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1154
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1155
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1156
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1157
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1158
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1159
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1160
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1161
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1162
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1163
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
1164
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1165
+ .ui-icon-extlink { background-position: -32px -80px; }
1166
+ .ui-icon-newwin { background-position: -48px -80px; }
1167
+ .ui-icon-refresh { background-position: -64px -80px; }
1168
+ .ui-icon-shuffle { background-position: -80px -80px; }
1169
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
1170
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1171
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
1172
+ .ui-icon-folder-open { background-position: -16px -96px; }
1173
+ .ui-icon-document { background-position: -32px -96px; }
1174
+ .ui-icon-document-b { background-position: -48px -96px; }
1175
+ .ui-icon-note { background-position: -64px -96px; }
1176
+ .ui-icon-mail-closed { background-position: -80px -96px; }
1177
+ .ui-icon-mail-open { background-position: -96px -96px; }
1178
+ .ui-icon-suitcase { background-position: -112px -96px; }
1179
+ .ui-icon-comment { background-position: -128px -96px; }
1180
+ .ui-icon-person { background-position: -144px -96px; }
1181
+ .ui-icon-print { background-position: -160px -96px; }
1182
+ .ui-icon-trash { background-position: -176px -96px; }
1183
+ .ui-icon-locked { background-position: -192px -96px; }
1184
+ .ui-icon-unlocked { background-position: -208px -96px; }
1185
+ .ui-icon-bookmark { background-position: -224px -96px; }
1186
+ .ui-icon-tag { background-position: -240px -96px; }
1187
+ .ui-icon-home { background-position: 0 -112px; }
1188
+ .ui-icon-flag { background-position: -16px -112px; }
1189
+ .ui-icon-calendar { background-position: -32px -112px; }
1190
+ .ui-icon-cart { background-position: -48px -112px; }
1191
+ .ui-icon-pencil { background-position: -64px -112px; }
1192
+ .ui-icon-clock { background-position: -80px -112px; }
1193
+ .ui-icon-disk { background-position: -96px -112px; }
1194
+ .ui-icon-calculator { background-position: -112px -112px; }
1195
+ .ui-icon-zoomin { background-position: -128px -112px; }
1196
+ .ui-icon-zoomout { background-position: -144px -112px; }
1197
+ .ui-icon-search { background-position: -160px -112px; }
1198
+ .ui-icon-wrench { background-position: -176px -112px; }
1199
+ .ui-icon-gear { background-position: -192px -112px; }
1200
+ .ui-icon-heart { background-position: -208px -112px; }
1201
+ .ui-icon-star { background-position: -224px -112px; }
1202
+ .ui-icon-link { background-position: -240px -112px; }
1203
+ .ui-icon-cancel { background-position: 0 -128px; }
1204
+ .ui-icon-plus { background-position: -16px -128px; }
1205
+ .ui-icon-plusthick { background-position: -32px -128px; }
1206
+ .ui-icon-minus { background-position: -48px -128px; }
1207
+ .ui-icon-minusthick { background-position: -64px -128px; }
1208
+ .ui-icon-close { background-position: -80px -128px; }
1209
+ .ui-icon-closethick { background-position: -96px -128px; }
1210
+ .ui-icon-key { background-position: -112px -128px; }
1211
+ .ui-icon-lightbulb { background-position: -128px -128px; }
1212
+ .ui-icon-scissors { background-position: -144px -128px; }
1213
+ .ui-icon-clipboard { background-position: -160px -128px; }
1214
+ .ui-icon-copy { background-position: -176px -128px; }
1215
+ .ui-icon-contact { background-position: -192px -128px; }
1216
+ .ui-icon-image { background-position: -208px -128px; }
1217
+ .ui-icon-video { background-position: -224px -128px; }
1218
+ .ui-icon-script { background-position: -240px -128px; }
1219
+ .ui-icon-alert { background-position: 0 -144px; }
1220
+ .ui-icon-info { background-position: -16px -144px; }
1221
+ .ui-icon-notice { background-position: -32px -144px; }
1222
+ .ui-icon-help { background-position: -48px -144px; }
1223
+ .ui-icon-check { background-position: -64px -144px; }
1224
+ .ui-icon-bullet { background-position: -80px -144px; }
1225
+ .ui-icon-radio-on { background-position: -96px -144px; }
1226
+ .ui-icon-radio-off { background-position: -112px -144px; }
1227
+ .ui-icon-pin-w { background-position: -128px -144px; }
1228
+ .ui-icon-pin-s { background-position: -144px -144px; }
1229
+ .ui-icon-play { background-position: 0 -160px; }
1230
+ .ui-icon-pause { background-position: -16px -160px; }
1231
+ .ui-icon-seek-next { background-position: -32px -160px; }
1232
+ .ui-icon-seek-prev { background-position: -48px -160px; }
1233
+ .ui-icon-seek-end { background-position: -64px -160px; }
1234
+ .ui-icon-seek-start { background-position: -80px -160px; }
1235
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1236
+ .ui-icon-seek-first { background-position: -80px -160px; }
1237
+ .ui-icon-stop { background-position: -96px -160px; }
1238
+ .ui-icon-eject { background-position: -112px -160px; }
1239
+ .ui-icon-volume-off { background-position: -128px -160px; }
1240
+ .ui-icon-volume-on { background-position: -144px -160px; }
1241
+ .ui-icon-power { background-position: 0 -176px; }
1242
+ .ui-icon-signal-diag { background-position: -16px -176px; }
1243
+ .ui-icon-signal { background-position: -32px -176px; }
1244
+ .ui-icon-battery-0 { background-position: -48px -176px; }
1245
+ .ui-icon-battery-1 { background-position: -64px -176px; }
1246
+ .ui-icon-battery-2 { background-position: -80px -176px; }
1247
+ .ui-icon-battery-3 { background-position: -96px -176px; }
1248
+ .ui-icon-circle-plus { background-position: 0 -192px; }
1249
+ .ui-icon-circle-minus { background-position: -16px -192px; }
1250
+ .ui-icon-circle-close { background-position: -32px -192px; }
1251
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1252
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1253
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1254
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1255
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1256
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1257
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1258
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1259
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
1260
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
1261
+ .ui-icon-circle-check { background-position: -208px -192px; }
1262
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1263
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1264
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
1265
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1266
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1267
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
1268
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1269
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1270
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1271
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1272
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1273
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1274
+
1275
+
1276
+ /* Misc visuals
1277
+ ----------------------------------*/
1278
+
1279
+ /* Corner radius */
1280
+ .ui-corner-all,
1281
+ .ui-corner-top,
1282
+ .ui-corner-left,
1283
+ .ui-corner-tl {
1284
+ border-top-left-radius: 4px;
1285
+ }
1286
+ .ui-corner-all,
1287
+ .ui-corner-top,
1288
+ .ui-corner-right,
1289
+ .ui-corner-tr {
1290
+ border-top-right-radius: 4px;
1291
+ }
1292
+ .ui-corner-all,
1293
+ .ui-corner-bottom,
1294
+ .ui-corner-left,
1295
+ .ui-corner-bl {
1296
+ border-bottom-left-radius: 4px;
1297
+ }
1298
+ .ui-corner-all,
1299
+ .ui-corner-bottom,
1300
+ .ui-corner-right,
1301
+ .ui-corner-br {
1302
+ border-bottom-right-radius: 4px;
1303
+ }
1304
+
1305
+ /* Overlays */
1306
+ .ui-widget-overlay {
1307
+ background: #aaaaaa;
1308
+ opacity: .3;
1309
+ -ms-filter: Alpha(Opacity=30); /* support: IE8 */
1310
+ }
1311
+ .ui-widget-shadow {
1312
+ -webkit-box-shadow: -8px -8px 8px #aaaaaa;
1313
+ box-shadow: -8px -8px 8px #aaaaaa;
1314
+ }
vendor/select2/select2.min.css DELETED
@@ -1 +0,0 @@
1
- .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
 
vendor/select2/select2.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
- !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,r=c(e),i=r[0],o=t[1];return e=r[1],i&&(n=D(i=l(i,o))),i?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(o)):l(e,o):(i=(r=c(e=l(e,o)))[0],e=r[1],i&&(n=D(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(w(m,o)||w(v,o)||w(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">&times;</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var r=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function(e){var t=r._normalizeItem(e);if(!r.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=r.option(t);n.attr("data-select2-tag",!0),r._removeOldTags(),r.addOptions([n])}!function(e){r.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.trigger("focus")),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,b,w,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=b:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,w)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(e),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(r._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),r=this;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});
 
 
vendor/videojs-plugins/quality-selector/silvermine-videojs-quality-selector.min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"silvermine-videojs-quality-selector.min.js","sources":["silvermine-videojs-quality-selector.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","initializing","fnTest","test","xyz","this","Class","extend","prop","_super","prototype","name","fn","tmp","ret","apply","arguments","init","constructor","callee","2","global","factory","current","VERSION","root","self","Function","ArrayProto","Array","ObjProto","Object","SymbolProto","Symbol","push","slice","toString","hasOwnProperty","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","isArray","nativeKeys","keys","nativeCreate","create","nativeIsView","isView","_isNaN","isNaN","_isFinite","isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","Math","pow","restArguments","func","startIndex","max","rest","index","args","isObject","obj","type","isUndefined","isBoolean","tagTester","tag","isString","isNumber","isDate","isRegExp","isError","isSymbol","isArrayBuffer","isFunction","nodelist","document","childNodes","isFunction$1","Int8Array","hasObjectTag","hasStringTagBug","isIE11","Map","isDataView","isDataView$1","getInt8","buffer","has$1","key","isArguments","isArguments$1","isNaN$1","constant","value","createSizePropertyCheck","getSizeProperty","collection","sizeProperty","shallowProperty","getByteLength","isBufferLike","typedArrayPattern","isTypedArray$1","getLength","collectNonEnumProps","hash","l","contains","emulatedSet","nonEnumIdx","proto","isMatch","object","attrs","_keys","_$1","_wrapped","toBufferView","bufferSource","Uint8Array","byteOffset","valueOf","toJSON","String","tagDataView","eq","b","aStack","bStack","deepEq","className","areArrays","byteLength","aCtor","bCtor","pop","allKeys","ie11fingerprint","methods","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","concat","setMethods","isMap","isWeakMap","isSet","isWeakSet","values","invert","result","functions","names","sort","createAssigner","keysFunc","defaults","source","extendOwn","baseCreate","Ctor","clone","toPath$1","path","toPath","deepGet","get","defaultValue","identity","matcher","property","optimizeCb","context","argCount","accumulator","baseIteratee","iteratee","Infinity","cb","noop","random","min","floor","now","Date","getTime","createEscaper","map","escaper","match","join","testRegexp","RegExp","replaceRegexp","string","replace","escapeMap","&","<",">","\"","'","`","_escape","_unescape","templateSettings","evaluate","interpolate","escape","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","bareIdentifier","idCounter","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","placeholder","bound","position","bind","TypeError","callArgs","isArrayLike","flatten$1","input","depth","strict","output","idx","j","len","bindAll","delay","wait","setTimeout","defer","negate","predicate","before","times","memo","once","findKey","createPredicateIndexFinder","dir","array","findIndex","findLastIndex","sortedIndex","low","high","mid","createIndexFinder","predicateFind","item","indexOf","lastIndexOf","find","each","results","currentKey","createReduce","initial","reducer","reduce","reduceRight","filter","list","every","some","fromIndex","guard","invoke","contextPath","method","pluck","computed","lastComputed","v","sample","last","rand","temp","group","behavior","partition","groupBy","indexBy","countBy","pass","reStrSymbol","keyInObj","pick","omit","first","difference","without","otherArrays","uniq","isSorted","seen","union","arrays","unzip","zip","chainResult","instance","_chain","chain","mixin","_","__proto__","isNull","isElement","nodeType","parseFloat","isTypedArray","isEmpty","isEqual","pairs","assign","props","tap","interceptor","has","mapObject","propertyOf","matches","accum","unescape","template","text","settings","oldSettings","render","offset","argument","variable","data","fallback","uniqueId","prefix","id","memoize","hasher","cache","address","throttle","options","timeout","previous","later","leading","throttled","_now","remaining","clearTimeout","trailing","cancel","debounce","immediate","passed","debounced","_args","wrap","wrapper","compose","start","after","detect","findWhere","forEach","collect","foldl","inject","foldr","select","reject","all","any","includes","include","where","shuffle","sortBy","criteria","left","right","toArray","size","head","take","tail","drop","compact","Boolean","flatten","unique","intersection","argsLength","transpose","range","stop","step","ceil","chunk","count","default","define","amd","globalThis","noConflict","window","3","events","videojs","MenuItem","getComponent","player","selectable","label","handleClick","event","trigger","QUALITY_REQUESTED","../events","underscore","4","qualityOptionFactory","QUALITY_CHANGE_CLASS","MenuButton","QualityOption","QualitySelector","on","newSource","setSelectedSource","addClass","one","removeClass","PLAYER_SOURCES_CHANGED","update","QUALITY_SELECTED","selectedSrc","src","controlText","undefined","items","selected","createItems","sources","currentSources","buildWrapperCSSClass","registerComponent","./QualityOption","5","6","qualitySelectorFactory","sourceInterceptorFactory","SafeSeek","hook","currentTime","currentPlaybackRate","playbackRate","isPaused","paused","_qualitySelectorSafeSeek","onQualitySelectionChange","ready","hasFinished","play","EVENTS","./components/QualitySelector","./events","./middleware/SourceInterceptor","./util/SafeSeek","7","use","setSource","playerSelectedSource","next","onPlayerSourcesChange","_qualitySelectorPreviousSources","userSelectedSource","chosenSource","8","./index","9","seekToTime","_player","_seekToTime","_hasFinished","_keepThisInstanceWhenPlayerSourcesChange","_seekWhenSafe","readyState","_seekFn","_seek","off","class.extend"],"mappings":"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"}
widgets/categories.php CHANGED
@@ -106,7 +106,8 @@ class AIOVG_Widget_Categories extends WP_Widget {
106
  $template = sanitize_text_field( $attributes['template'] );
107
 
108
  if ( 'grid' == $template ) {
109
- $query = array(
 
110
  'parent' => (int) $attributes['id'],
111
  'orderby' => sanitize_text_field( $attributes['orderby'] ),
112
  'order' => sanitize_text_field( $attributes['order'] ),
@@ -114,13 +115,22 @@ class AIOVG_Widget_Categories extends WP_Widget {
114
  'hierarchical' => false
115
  );
116
 
117
- $terms = get_terms( 'aiovg_categories', $query );
 
118
 
119
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
120
  unset( $attributes['title'] );
121
 
 
 
 
 
 
122
  $limit = (int) $attributes['limit'];
123
- if ( ! empty( $limit ) ) {
 
 
 
124
  $terms = array_slice( $terms, 0, $limit );
125
  }
126
 
@@ -147,6 +157,7 @@ class AIOVG_Widget_Categories extends WP_Widget {
147
  $query['parent'] = (int) $attributes['id'];
148
  }
149
 
 
150
  $categories_li = wp_list_categories( $query );
151
 
152
  if ( ! empty( $categories_li ) ) {
106
  $template = sanitize_text_field( $attributes['template'] );
107
 
108
  if ( 'grid' == $template ) {
109
+ $query = array(
110
+ 'taxonomy' => 'aiovg_categories',
111
  'parent' => (int) $attributes['id'],
112
  'orderby' => sanitize_text_field( $attributes['orderby'] ),
113
  'order' => sanitize_text_field( $attributes['order'] ),
115
  'hierarchical' => false
116
  );
117
 
118
+ $query = apply_filters( 'aiovg_categories_args', $query, $attributes );
119
+ $terms = get_terms( $query );
120
 
121
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
122
  unset( $attributes['title'] );
123
 
124
+ $attributes['uid'] = aiovg_get_uniqid();
125
+ $attributes['source'] = 'categories';
126
+ $attributes['count'] = 0;
127
+ $attributes['max_num_pages'] = 1;
128
+
129
  $limit = (int) $attributes['limit'];
130
+ if ( ! empty( $limit ) ) {
131
+ $attributes['count'] = count( $terms );
132
+ $attributes['max_num_pages'] = ceil( $attributes['count'] / $limit );
133
+
134
  $terms = array_slice( $terms, 0, $limit );
135
  }
136
 
157
  $query['parent'] = (int) $attributes['id'];
158
  }
159
 
160
+ $query = apply_filters( 'aiovg_categories_args', $query, $attributes );
161
  $categories_li = wp_list_categories( $query );
162
 
163
  if ( ! empty( $categories_li ) ) {
widgets/forms/categories.php CHANGED
@@ -138,5 +138,6 @@
138
  <div class="aiovg-widget-field aiovg-widget-field-more_link">
139
  <label class="aiovg-widget-label" for="<?php echo esc_attr( $this->get_field_id( 'more_link' ) ); ?>"><?php esc_html_e( 'More Button Link', 'all-in-one-video-gallery' ); ?></label>
140
  <input type="text" name="<?php echo esc_attr( $this->get_field_name( 'more_link' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'more_link' ) ); ?>" class="widefat aiovg-widget-input-more_link" value="<?php echo esc_attr( $instance['more_link'] ); ?>">
 
141
  </div>
142
  </div>
138
  <div class="aiovg-widget-field aiovg-widget-field-more_link">
139
  <label class="aiovg-widget-label" for="<?php echo esc_attr( $this->get_field_id( 'more_link' ) ); ?>"><?php esc_html_e( 'More Button Link', 'all-in-one-video-gallery' ); ?></label>
140
  <input type="text" name="<?php echo esc_attr( $this->get_field_name( 'more_link' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'more_link' ) ); ?>" class="widefat aiovg-widget-input-more_link" value="<?php echo esc_attr( $instance['more_link'] ); ?>">
141
+ <p class="description"><?php esc_html_e( 'Leave this field blank to use Ajax', 'all-in-one-video-gallery' ); ?></p>
142
  </div>
143
  </div>
widgets/forms/videos.php CHANGED
@@ -73,7 +73,7 @@
73
  <?php endif; ?>
74
 
75
  <?php if ( ! empty( $field['description'] ) ) : // Description ?>
76
- <div class="aiovg-widget-field-description"><?php echo wp_kses_post( $field['description'] ); ?></div>
77
  <?php endif; ?>
78
  </div>
79
  <?php endforeach; ?>
73
  <?php endif; ?>
74
 
75
  <?php if ( ! empty( $field['description'] ) ) : // Description ?>
76
+ <p class="description"><?php echo wp_kses_post( $field['description'] ); ?></p>
77
  <?php endif; ?>
78
  </div>
79
  <?php endforeach; ?>
widgets/search.php CHANGED
@@ -69,11 +69,11 @@ class AIOVG_Widget_Search extends WP_Widget {
69
  wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-public' );
70
 
71
  if ( $attributes['has_tag'] ) {
72
- wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-select2' );
73
 
74
- wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-select2' );
75
  wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-public' );
76
- }
77
 
78
  echo $args['before_widget'];
79
 
69
  wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-public' );
70
 
71
  if ( $attributes['has_tag'] ) {
72
+ wp_enqueue_style( AIOVG_PLUGIN_SLUG . '-jquery-ui-css' );
73
 
74
+ wp_enqueue_script( 'jquery-ui-autocomplete' );
75
  wp_enqueue_script( AIOVG_PLUGIN_SLUG . '-public' );
76
+ }
77
 
78
  echo $args['before_widget'];
79
 
widgets/videos.php CHANGED
@@ -89,8 +89,8 @@ class AIOVG_Widget_Videos extends WP_Widget {
89
  $attributes = $this->defaults;
90
  }
91
 
92
- if ( empty( $attributes['more_label'] ) || empty( $attributes['more_link'] ) ) {
93
- $attributes['show_more'] = 0;
94
  }
95
 
96
  // Added for backward compatibility (version < 1.5.7)
@@ -107,17 +107,16 @@ class AIOVG_Widget_Videos extends WP_Widget {
107
  );
108
 
109
  $tax_queries = array();
110
- $tax_relation = 'AND';
111
-
112
- $meta_queries = array();
113
 
114
  $category = array_map( 'intval', $attributes['category'] );
115
- $tag = array_map( 'intval', $attributes['tag'] );
 
116
 
117
- if ( $attributes['related'] ) {
118
- if ( is_singular( 'aiovg_videos' ) ) {
119
- $tax_relation = 'OR';
120
 
 
121
  $categories = wp_get_object_terms( $post->ID, 'aiovg_categories', array( 'fields' => 'ids' ) );
122
  $category = ! empty( $categories ) ? $categories : '';
123
 
@@ -189,14 +188,15 @@ class AIOVG_Widget_Videos extends WP_Widget {
189
  $query['order'] = $order;
190
  break;
191
  case 'rand':
192
- $query['orderby'] = $orderby;
 
193
  break;
194
  default:
195
  $query['orderby'] = $orderby;
196
  $query['order'] = $order;
197
  }
198
 
199
- $query = apply_filters( 'aiovg_query_args', $query );
200
  $aiovg_query = new WP_Query( $query );
201
 
202
  // Process output
@@ -207,7 +207,11 @@ class AIOVG_Widget_Videos extends WP_Widget {
207
  }
208
 
209
  if ( $aiovg_query->have_posts() ) {
210
- unset( $attributes['title'] );
 
 
 
 
211
  include apply_filters( 'aiovg_load_template', AIOVG_PLUGIN_DIR . 'public/templates/videos-template-classic.php', $attributes );
212
  } else {
213
  echo aiovg_get_message( 'videos_empty' );
89
  $attributes = $this->defaults;
90
  }
91
 
92
+ if ( empty( $attributes['more_label'] ) ) {
93
+ $attributes['more_label'] = __( 'Show More', 'all-in-one-video-gallery' );
94
  }
95
 
96
  // Added for backward compatibility (version < 1.5.7)
107
  );
108
 
109
  $tax_queries = array();
110
+ $meta_queries = array();
 
 
111
 
112
  $category = array_map( 'intval', $attributes['category'] );
113
+ $tag = array_map( 'intval', $attributes['tag'] );
114
+ $tax_relation = 'AND';
115
 
116
+ if ( $attributes['related'] ) {
117
+ $tax_relation = 'OR';
 
118
 
119
+ if ( is_singular( 'aiovg_videos' ) ) {
120
  $categories = wp_get_object_terms( $post->ID, 'aiovg_categories', array( 'fields' => 'ids' ) );
121
  $category = ! empty( $categories ) ? $categories : '';
122
 
188
  $query['order'] = $order;
189
  break;
190
  case 'rand':
191
+ $seed = aiovg_get_orderby_rand_seed();
192
+ $query['orderby'] = 'RAND(' . $seed . ')';
193
  break;
194
  default:
195
  $query['orderby'] = $orderby;
196
  $query['order'] = $order;
197
  }
198
 
199
+ $query = apply_filters( 'aiovg_query_args', $query, $attributes );
200
  $aiovg_query = new WP_Query( $query );
201
 
202
  // Process output
207
  }
208
 
209
  if ( $aiovg_query->have_posts() ) {
210
+ unset( $attributes['title'] );
211
+
212
+ $attributes['uid'] = aiovg_get_uniqid();
213
+ $attributes['source'] = 'videos';
214
+
215
  include apply_filters( 'aiovg_load_template', AIOVG_PLUGIN_DIR . 'public/templates/videos-template-classic.php', $attributes );
216
  } else {
217
  echo aiovg_get_message( 'videos_empty' );