All-in-One Video Gallery - Version 1.5.3

Version Description

  • New: Custom Logo & Branding.
  • Tweak: Removed jQuery dependency for the video player.
  • Fix: Shortcodes not working in the single video page.
  • Fix: [+] few minor bug fixes.
Download this release

Release Info

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

Code changes from version 1.5.2 to 1.5.3

README.txt CHANGED
@@ -2,21 +2,19 @@
2
  Plugin URI: https://plugins360.com/all-in-one-video-gallery/
3
  Contributors: plugins360
4
  Donate link: https://plugins360.com
5
- Tags: video, player, gallery, gdpr, mp4, webm, ogv, youtube, vimeo, dailymotion, hls, dash, adaptive, live, stream, popup, carousel, slider
6
  Requires at least: 4.4.0
7
  Tested up to: 4.9
8
  Requires PHP: 5.3.0
9
- Stable tag: 1.5.2
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
- Responsive & Lightweight Video gallery plugin. HTML5 with FLASH fallbacks. Supports any browser & video formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion, Facebook, etc.
14
 
15
  == Description ==
16
 
17
- Add a single video or build a complete video gallery in minutes.
18
-
19
- "All-in-One Video Gallery" is a lightweight responsive video gallery plugin. Supports any browser & video formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion, Facebook, etc. Works with ANY properly coded WordPress theme and you can use it on new or existing site.
20
 
21
  **Links**
22
 
@@ -36,6 +34,7 @@ https://www.youtube.com/watch?v=w47PU9ppuF8
36
  * Supported Formats: MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion & Facebook.
37
  * Configure Player controls: playpause, timer, progressbar, duration, volume, fullscreen
38
  * Configure Player properties: autoplay, loop, preload
 
39
  * Video Subtitles.
40
  * Comment on videos.
41
  * Sharing of videos through Facebook, Twitter, Google Plus, Linkedin & Pinterest.
@@ -85,6 +84,13 @@ Most likely rewrite rules were not registered properly for some reason. Go to "W
85
 
86
  == Changelog ==
87
 
 
 
 
 
 
 
 
88
  = 1.5.2 =
89
 
90
  * New: Compatible with GDPR.
@@ -122,6 +128,13 @@ Most likely rewrite rules were not registered properly for some reason. Go to "W
122
 
123
  == Upgrade Notice ==
124
 
 
 
 
 
 
 
 
125
  = 1.5.2 =
126
 
127
  * New: Compatible with GDPR.
2
  Plugin URI: https://plugins360.com/all-in-one-video-gallery/
3
  Contributors: plugins360
4
  Donate link: https://plugins360.com
5
+ Tags: video, player, gallery, logo, watermark, gdpr, mp4, webm, ogv, youtube, vimeo, dailymotion, hls, dash, adaptive, live, stream, popup, carousel, slider
6
  Requires at least: 4.4.0
7
  Tested up to: 4.9
8
  Requires PHP: 5.3.0
9
+ Stable tag: 1.5.3
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
+ Built over the WordPress' Native Video Player. Supports any browser & video formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion, Facebook, etc.
14
 
15
  == Description ==
16
 
17
+ Responsive & Lightweight Video gallery plugin. No coding required. Add/Manage videos through a dedicated custom post interface, group them by categories, customize the front-end display using the shortcode builder as you need, provide the option for users to search videos, plus everything you will need to build a YouTube/Vimeo like video sharing website.
 
 
18
 
19
  **Links**
20
 
34
  * Supported Formats: MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion & Facebook.
35
  * Configure Player controls: playpause, timer, progressbar, duration, volume, fullscreen
36
  * Configure Player properties: autoplay, loop, preload
37
+ * Custom Logo & Branding.
38
  * Video Subtitles.
39
  * Comment on videos.
40
  * Sharing of videos through Facebook, Twitter, Google Plus, Linkedin & Pinterest.
84
 
85
  == Changelog ==
86
 
87
+ = 1.5.3 =
88
+
89
+ * New: Custom Logo & Branding.
90
+ * Tweak: Removed jQuery dependency for the video player.
91
+ * Fix: Shortcodes not working in the single video page.
92
+ * Fix: [+] few minor bug fixes.
93
+
94
  = 1.5.2 =
95
 
96
  * New: Compatible with GDPR.
128
 
129
  == Upgrade Notice ==
130
 
131
+ = 1.5.3 =
132
+
133
+ * New: Custom Logo & Branding.
134
+ * Tweak: Removed jQuery dependency for the video player.
135
+ * Fix: Shortcodes not working in the single video page.
136
+ * Fix: [+] few minor bug fixes.
137
+
138
  = 1.5.2 =
139
 
140
  * New: Compatible with GDPR.
admin/class-aiovg-admin-settings.php CHANGED
@@ -132,7 +132,12 @@ class AIOVG_Admin_Settings {
132
  'id' => 'aiovg_player_settings',
133
  'title' => __( 'Player Settings', 'all-in-one-video-gallery' ),
134
  'tab' => 'general'
135
- ),
 
 
 
 
 
136
  array(
137
  'id' => 'aiovg_image_settings',
138
  'title' => __( 'Image Settings', 'all-in-one-video-gallery' ),
@@ -290,7 +295,57 @@ class AIOVG_Admin_Settings {
290
  ),
291
  'sanitize_callback' => 'aiovg_sanitize_array'
292
  )
293
- ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  'aiovg_image_settings' => array(
295
  array(
296
  'name' => 'width',
132
  'id' => 'aiovg_player_settings',
133
  'title' => __( 'Player Settings', 'all-in-one-video-gallery' ),
134
  'tab' => 'general'
135
+ ),
136
+ array(
137
+ 'id' => 'aiovg_brand_settings',
138
+ 'title' => __( 'Logo & Branding', 'all-in-one-video-gallery' ),
139
+ 'tab' => 'general'
140
+ ),
141
  array(
142
  'id' => 'aiovg_image_settings',
143
  'title' => __( 'Image Settings', 'all-in-one-video-gallery' ),
295
  ),
296
  'sanitize_callback' => 'aiovg_sanitize_array'
297
  )
298
+ ),
299
+ 'aiovg_brand_settings' => array(
300
+ array(
301
+ 'name' => 'show_logo',
302
+ 'label' => __( 'Show Logo', 'all-in-one-video-gallery' ),
303
+ 'description' => __( 'Check this option to show the watermark on the video.', 'all-in-one-video-gallery' ),
304
+ 'type' => 'checkbox',
305
+ 'sanitize_callback' => 'intval'
306
+ ),
307
+ array(
308
+ 'name' => 'logo_image',
309
+ 'label' => __( 'Logo Image', 'all-in-one-video-gallery' ),
310
+ 'description' => __( 'Upload the image file of your logo. We recommend using the transparent PNG format with width below 100 pixels. If you do not enter any image, no logo will displayed.', 'all-in-one-video-gallery' ),
311
+ 'type' => 'file',
312
+ 'sanitize_callback' => 'esc_url_raw'
313
+ ),
314
+ array(
315
+ 'name' => 'logo_link',
316
+ 'label' => __( 'Logo Link', 'all-in-one-video-gallery' ),
317
+ 'description' => __( 'The URL to visit when the watermark image is clicked. Clicking a logo will have no affect unless this is configured.', 'all-in-one-video-gallery' ),
318
+ 'type' => 'text',
319
+ 'sanitize_callback' => 'esc_url_raw'
320
+ ),
321
+ array(
322
+ 'name' => 'logo_position',
323
+ 'label' => __( 'Logo Position', 'all-in-one-video-gallery' ),
324
+ 'description' => __( 'This sets the corner in which to display the watermark.', 'all-in-one-video-gallery' ),
325
+ 'type' => 'select',
326
+ 'options' => array(
327
+ 'topleft' => __( 'Top Left', 'all-in-one-video-gallery' ),
328
+ 'topright' => __( 'Top Right', 'all-in-one-video-gallery' ),
329
+ 'bottomleft' => __( 'Bottom Left', 'all-in-one-video-gallery' ),
330
+ 'bottomright' => __( 'Bottom Right', 'all-in-one-video-gallery' )
331
+ ),
332
+ 'sanitize_callback' => 'sanitize_key'
333
+ ),
334
+ array(
335
+ 'name' => 'logo_margin',
336
+ 'label' => __( 'Logo Margin', 'all-in-one-video-gallery' ),
337
+ 'description' => __( 'The distance, in pixels, of the logo from the edges of the display.', 'all-in-one-video-gallery' ),
338
+ 'type' => 'text',
339
+ 'sanitize_callback' => 'intval'
340
+ ),
341
+ array(
342
+ 'name' => 'copyright_text',
343
+ 'label' => __( 'Copyright Text', 'all-in-one-video-gallery' ),
344
+ 'description' => __( 'Text that is shown when a user right-clicks the player with the mouse.', 'all-in-one-video-gallery' ),
345
+ 'type' => 'text',
346
+ 'sanitize_callback' => 'sanitize_text_field'
347
+ )
348
+ ),
349
  'aiovg_image_settings' => array(
350
  array(
351
  'name' => 'width',
admin/class-aiovg-admin-videos.php CHANGED
@@ -77,7 +77,7 @@ class AIOVG_Admin_Videos {
77
  'public' => true,
78
  'show_ui' => true,
79
  'show_in_menu' => true,
80
- 'menu_position' => 5,
81
  'menu_icon' => 'dashicons-playlist-video',
82
  'show_in_admin_bar' => true,
83
  'show_in_nav_menus' => true,
77
  'public' => true,
78
  'show_ui' => true,
79
  'show_in_menu' => true,
80
+ 'menu_position' => 10,
81
  'menu_icon' => 'dashicons-playlist-video',
82
  'show_in_admin_bar' => true,
83
  'show_in_nav_menus' => true,
admin/class-aiovg-admin.php CHANGED
@@ -31,20 +31,19 @@ class AIOVG_Admin {
31
 
32
  if ( AIOVG_PLUGIN_VERSION !== get_option( 'aiovg_version' ) ) {
33
 
34
- // Insert privacy settings
35
- if ( false == get_option( 'aiovg_privacy_settings' ) ) {
 
 
 
 
36
 
37
- $defaults = array(
38
- 'show_consent' => 0,
39
- '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' ),
40
- 'consent_button_label' => __( 'Accept', 'all-in-one-video-gallery' )
41
- );
42
-
43
- add_option( 'aiovg_privacy_settings', $defaults );
44
-
45
  }
46
 
47
- // Update plugin version
48
  update_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
49
 
50
  }
31
 
32
  if ( AIOVG_PLUGIN_VERSION !== get_option( 'aiovg_version' ) ) {
33
 
34
+ $defaults = aiovg_get_default_settings();
35
+
36
+ // Insert the player brand settings
37
+ if ( false == get_option( 'aiovg_brand_settings' ) ) {
38
+ add_option( 'aiovg_brand_settings', $defaults['aiovg_brand_settings'] );
39
+ }
40
 
41
+ // Insert the privacy settings
42
+ if ( false == get_option( 'aiovg_privacy_settings' ) ) {
43
+ add_option( 'aiovg_privacy_settings', $defaults['aiovg_privacy_settings'] );
 
 
 
 
 
44
  }
45
 
46
+ // Update the plugin version
47
  update_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
48
 
49
  }
admin/templates/welcome.php CHANGED
@@ -16,7 +16,7 @@
16
  <h1><?php printf( __( 'Welcome to "All-in-One Video Gallery - %s"', 'all-in-one-video-gallery' ), AIOVG_PLUGIN_VERSION ); ?></h1>
17
 
18
  <p class="about-text">
19
- <?php _e( 'Responsive & Lightweight Video gallery plugin. HTML5 with FLASH fallbacks. Supports any browser & video formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion, Facebook, etc.', 'all-in-one-video-gallery' ); ?>
20
  </p>
21
 
22
  <div class="wp-badge aiovg-badge"></div>
@@ -32,7 +32,7 @@
32
 
33
  <?php if ( 'aiovg_about' == $active_tab ) : ?>
34
  <p class="about-description">
35
- <?php _e( 'Add single video or build a video gallery in minutes. Uses and extends the same Video Player trusted by WordPress.', 'all-in-one-video-gallery' ); ?>
36
  </p>
37
 
38
  <div class="changelog">
@@ -108,7 +108,7 @@
108
  </h3>
109
 
110
  <p>
111
- <?php _e( 'Subtitle your videos the way you want. Comment on videos. Add share buttons. Integrate with Facebook, Twitter, Google+, Pinterest & more. Make your gallery SEO friendly with deeplinking and pagination, and lot more.', 'all-in-one-video-gallery' ); ?>
112
  </p>
113
  </div>
114
  </div>
16
  <h1><?php printf( __( 'Welcome to "All-in-One Video Gallery - %s"', 'all-in-one-video-gallery' ), AIOVG_PLUGIN_VERSION ); ?></h1>
17
 
18
  <p class="about-text">
19
+ <?php _e( 'Responsive & Lightweight Video gallery plugin. No coding required. Add/Manage videos through a dedicated custom post interface, group them by categories, customize the front-end display using the shortcode builder as you need, provide the option for users to search videos, plus everything you will need to build a YouTube/Vimeo like video sharing website.', 'all-in-one-video-gallery' ); ?>
20
  </p>
21
 
22
  <div class="wp-badge aiovg-badge"></div>
32
 
33
  <?php if ( 'aiovg_about' == $active_tab ) : ?>
34
  <p class="about-description">
35
+ <?php _e( "Built over the WordPress' Native Video Player. Supports any browser & video formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion, Facebook, etc.", 'all-in-one-video-gallery' ); ?>
36
  </p>
37
 
38
  <div class="changelog">
108
  </h3>
109
 
110
  <p>
111
+ <?php _e( 'Custom Logo & Branding, GDPR Consent, Subtitles, Comments, Social Sharing, Pagination and lot more.', 'all-in-one-video-gallery' ); ?>
112
  </p>
113
  </div>
114
  </div>
all-in-one-video-gallery.php CHANGED
@@ -10,8 +10,8 @@
10
  * @wordpress-plugin
11
  * Plugin Name: All-in-One Video Gallery
12
  * Plugin URI: https://plugins360.com/all-in-one-video-gallery/
13
- * Description: Responsive & Lightweight Video gallery plugin. HTML5 with FLASH fallbacks. Supports any browser & video formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, Dailymotion, Facebook, etc.
14
- * Version: 1.5.2
15
  * Author: Team Plugins360
16
  * License: GPL-2.0+
17
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
@@ -26,7 +26,7 @@ if ( ! defined( 'WPINC' ) ) {
26
 
27
  // The current version of the plugin
28
  if ( ! defined( 'AIOVG_PLUGIN_VERSION' ) ) {
29
- define( 'AIOVG_PLUGIN_VERSION', '1.5.2' );
30
  }
31
 
32
  // The unique identifier of the plugin
10
  * @wordpress-plugin
11
  * Plugin Name: All-in-One Video Gallery
12
  * Plugin URI: https://plugins360.com/all-in-one-video-gallery/
13
+ * Description: Responsive & Lightweight Video gallery plugin. No coding required. Add/Manage videos through a dedicated custom post interface, group them by categories, customize the front-end display using the shortcode builder as you need, provide the option for users to search videos, plus everything you will need to build a YouTube/Vimeo like video sharing website.
14
+ * Version: 1.5.3
15
  * Author: Team Plugins360
16
  * License: GPL-2.0+
17
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
26
 
27
  // The current version of the plugin
28
  if ( ! defined( 'AIOVG_PLUGIN_VERSION' ) ) {
29
+ define( 'AIOVG_PLUGIN_VERSION', '1.5.3' );
30
  }
31
 
32
  // The unique identifier of the plugin
includes/class-aiovg-activator.php CHANGED
@@ -29,93 +29,12 @@ class AIOVG_Activator {
29
  */
30
  public static function activate() {
31
 
32
- // Insert plugin settings and default values for the first time
33
- $options = array(
34
- 'aiovg_general_settings' => array(
35
- 'bootstrap' => array(
36
- 'css' => 'css'
37
- ),
38
- 'fontawesome' => 1,
39
- 'delete_plugin_data' => 1
40
- ),
41
- 'aiovg_player_settings' => array(
42
- 'width' => '',
43
- 'ratio' => 56.25,
44
- 'autoplay' => 1,
45
- 'loop' => 0,
46
- 'preload' => 'metadata',
47
- 'controls' => array(
48
- 'playpause' => 'playpause',
49
- 'current' => 'current',
50
- 'progress' => 'progress',
51
- 'duration' => 'duration',
52
- 'tracks' => 'tracks',
53
- 'volume' => 'volume',
54
- 'fullscreen' => 'fullscreen'
55
- )
56
- ),
57
- 'aiovg_image_settings' => array(
58
- 'ratio' => 75
59
- ),
60
- 'aiovg_categories_settings' => array(
61
- 'columns' => 3,
62
- 'orderby' => 'name',
63
- 'order' => 'asc',
64
- 'show_description' => 1,
65
- 'show_count' => 1,
66
- 'hide_empty' => 0
67
- ),
68
- 'aiovg_videos_settings' => array(
69
- 'columns' => 3,
70
- 'limit' => 10,
71
- 'orderby' => 'date',
72
- 'order' => 'desc',
73
- 'display' => array(
74
- 'count' => 'count',
75
- 'category' => 'category',
76
- 'date' => 'date',
77
- 'user' => 'user',
78
- 'views' => 'views',
79
- 'duration' => 'duration',
80
- 'excerpt' => 'excerpt'
81
- ),
82
- 'excerpt_length' => 75
83
- ),
84
- 'aiovg_video_settings' => array(
85
- 'display' => array(
86
- 'category' => 'category',
87
- 'date' => 'date',
88
- 'user' => 'user',
89
- 'views' => 'views',
90
- 'related' => 'related'
91
- ),
92
- 'has_comments' => 1
93
- ),
94
- 'aiovg_privacy_settings' => array(
95
- 'show_consent' => 0,
96
- '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' ),
97
- 'consent_button_label' => __( 'Accept', 'all-in-one-video-gallery' )
98
- ),
99
- 'aiovg_permalink_settings' => array(
100
- 'video' => 'aiovg_videos'
101
- ),
102
- 'aiovg_socialshare_settings' => array(
103
- 'services' => array(
104
- 'facebook' => 'facebook',
105
- 'twitter' => 'twitter',
106
- 'gplus' => 'gplus',
107
- 'linkedin' => 'linkedin',
108
- 'pinterest' => 'pinterest'
109
- )
110
- ),
111
- 'aiovg_page_settings' => array(
112
- )
113
- );
114
-
115
- foreach ( $options as $option_name => $defaults ) {
116
  if ( false == get_option( $option_name ) ) {
117
- if ( 'aiovg_page_settings' == $option_name ) $defaults = aiovg_insert_custom_pages();
118
- add_option( $option_name, $defaults );
119
  }
120
  }
121
 
@@ -125,7 +44,7 @@ class AIOVG_Activator {
125
  $roles->add_caps();
126
  }
127
 
128
- // Insert plugin version
129
  add_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
130
 
131
  // Add transient to manage the welcome page
29
  */
30
  public static function activate() {
31
 
32
+ // Insert the plugin settings and default values for the first time
33
+ $defaults = aiovg_get_default_settings();
34
+
35
+ foreach ( $defaults as $option_name => $values ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  if ( false == get_option( $option_name ) ) {
37
+ add_option( $option_name, $values );
 
38
  }
39
  }
40
 
44
  $roles->add_caps();
45
  }
46
 
47
+ // Insert the plugin version
48
  add_option( 'aiovg_version', AIOVG_PLUGIN_VERSION );
49
 
50
  // Add transient to manage the welcome page
includes/functions.php CHANGED
@@ -299,6 +299,107 @@ function aiovg_get_dailymotion_image_url( $url ) {
299
 
300
  }
301
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  /*
303
  * Get image from the Iframe Embed Code.
304
  *
@@ -563,11 +664,18 @@ function aiovg_get_player_page_url( $post_id = 0, $atts = array() ) {
563
  if ( $page_settings['player'] > 0 ) {
564
  $url = get_permalink( $page_settings['player'] );
565
 
566
- if ( $post_id > 0 ) {
 
 
 
 
 
 
 
567
  if ( '' != get_option( 'permalink_structure' ) ) {
568
- $url = user_trailingslashit( trailingslashit( $url ) . 'id/' . $post_id );
569
  } else {
570
- $url = add_query_arg( array( 'aiovg_type' => 'id', 'aiovg_video' => $post_id ), $url );
571
  }
572
  }
573
  }
@@ -1142,7 +1250,11 @@ function the_aiovg_video_attributes( $atts ) {
1142
  $attributes = array();
1143
 
1144
  foreach ( $atts as $key => $value ) {
1145
- $attributes[] = sprintf( '%s="%s"', $key, $value );
 
 
 
 
1146
  }
1147
 
1148
  echo implode( ' ', $attributes );
299
 
300
  }
301
 
302
+ /*
303
+ * Get default plugin settings.
304
+ *
305
+ * @since 1.5.3
306
+ * @return array $defaults Array of plugin settings.
307
+ */
308
+ function aiovg_get_default_settings() {
309
+
310
+ $defaults = array(
311
+ 'aiovg_general_settings' => array(
312
+ 'bootstrap' => array(
313
+ 'css' => 'css'
314
+ ),
315
+ 'fontawesome' => 1,
316
+ 'delete_plugin_data' => 1
317
+ ),
318
+ 'aiovg_player_settings' => array(
319
+ 'width' => '',
320
+ 'ratio' => 56.25,
321
+ 'autoplay' => 1,
322
+ 'loop' => 0,
323
+ 'preload' => 'metadata',
324
+ 'controls' => array(
325
+ 'playpause' => 'playpause',
326
+ 'current' => 'current',
327
+ 'progress' => 'progress',
328
+ 'duration' => 'duration',
329
+ 'tracks' => 'tracks',
330
+ 'volume' => 'volume',
331
+ 'fullscreen' => 'fullscreen'
332
+ )
333
+ ),
334
+ 'aiovg_brand_settings' => array(
335
+ 'show_logo' => 1,
336
+ 'logo_image' => '',
337
+ 'logo_link' => home_url(),
338
+ 'logo_position' => 'bottomleft',
339
+ 'logo_margin' => 8,
340
+ 'copyright_text' => sprintf( __( 'Proudly by "%s"', 'all-in-one-video-gallery' ), get_option( 'blogname' ) )
341
+ ),
342
+ 'aiovg_image_settings' => array(
343
+ 'ratio' => 75
344
+ ),
345
+ 'aiovg_categories_settings' => array(
346
+ 'columns' => 3,
347
+ 'orderby' => 'name',
348
+ 'order' => 'asc',
349
+ 'show_description' => 1,
350
+ 'show_count' => 1,
351
+ 'hide_empty' => 0
352
+ ),
353
+ 'aiovg_videos_settings' => array(
354
+ 'columns' => 3,
355
+ 'limit' => 10,
356
+ 'orderby' => 'date',
357
+ 'order' => 'desc',
358
+ 'display' => array(
359
+ 'count' => 'count',
360
+ 'category' => 'category',
361
+ 'date' => 'date',
362
+ 'user' => 'user',
363
+ 'views' => 'views',
364
+ 'duration' => 'duration',
365
+ 'excerpt' => 'excerpt'
366
+ ),
367
+ 'excerpt_length' => 75
368
+ ),
369
+ 'aiovg_video_settings' => array(
370
+ 'display' => array(
371
+ 'category' => 'category',
372
+ 'date' => 'date',
373
+ 'user' => 'user',
374
+ 'views' => 'views',
375
+ 'related' => 'related'
376
+ ),
377
+ 'has_comments' => 1
378
+ ),
379
+ 'aiovg_privacy_settings' => array(
380
+ 'show_consent' => 0,
381
+ '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' ),
382
+ 'consent_button_label' => __( 'Accept', 'all-in-one-video-gallery' )
383
+ ),
384
+ 'aiovg_permalink_settings' => array(
385
+ 'video' => 'aiovg_videos'
386
+ ),
387
+ 'aiovg_socialshare_settings' => array(
388
+ 'services' => array(
389
+ 'facebook' => 'facebook',
390
+ 'twitter' => 'twitter',
391
+ 'gplus' => 'gplus',
392
+ 'linkedin' => 'linkedin',
393
+ 'pinterest' => 'pinterest'
394
+ )
395
+ ),
396
+ 'aiovg_page_settings' => aiovg_insert_custom_pages()
397
+ );
398
+
399
+ return $defaults;
400
+
401
+ }
402
+
403
  /*
404
  * Get image from the Iframe Embed Code.
405
  *
664
  if ( $page_settings['player'] > 0 ) {
665
  $url = get_permalink( $page_settings['player'] );
666
 
667
+ $id = $post_id;
668
+
669
+ if ( empty( $id ) ) {
670
+ global $post;
671
+ $id = $post->ID;
672
+ }
673
+
674
+ if ( ! empty( $id ) ) {
675
  if ( '' != get_option( 'permalink_structure' ) ) {
676
+ $url = user_trailingslashit( trailingslashit( $url ) . 'id/' . $id );
677
  } else {
678
+ $url = add_query_arg( array( 'aiovg_type' => 'id', 'aiovg_video' => $id ), $url );
679
  }
680
  }
681
  }
1250
  $attributes = array();
1251
 
1252
  foreach ( $atts as $key => $value ) {
1253
+ if ( '' === $value ) {
1254
+ $attributes[] = $key;
1255
+ } else {
1256
+ $attributes[] = sprintf( '%s="%s"', $key, $value );
1257
+ }
1258
  }
1259
 
1260
  echo implode( ' ', $attributes );
languages/all-in-one-video-gallery.pot CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: All-in-One Video Gallery\n"
4
- "POT-Creation-Date: 2018-06-10 15:40+0530\n"
5
- "PO-Revision-Date: 2018-06-10 15:40+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: en_US\n"
@@ -96,7 +96,7 @@ msgid "Categories list navigation"
96
  msgstr ""
97
 
98
  #: admin/class-aiovg-admin-categories.php:137
99
- #: admin/class-aiovg-admin-settings.php:327
100
  #: admin/class-aiovg-admin-shortcode.php:104
101
  #: admin/class-aiovg-admin-videos.php:433
102
  #: widgets/categories/templates/admin.php:43
@@ -104,7 +104,7 @@ msgid "ID"
104
  msgstr ""
105
 
106
  #: admin/class-aiovg-admin-settings.php:61
107
- #: admin/class-aiovg-admin-settings.php:62 admin/class-aiovg-admin.php:92
108
  #: admin/templates/welcome.php:45
109
  msgid "Settings"
110
  msgstr ""
@@ -134,352 +134,425 @@ msgid "Player Settings"
134
  msgstr ""
135
 
136
  #: admin/class-aiovg-admin-settings.php:138
137
- msgid "Image Settings"
138
  msgstr ""
139
 
140
  #: admin/class-aiovg-admin-settings.php:143
141
- msgid "Categories Page"
142
  msgstr ""
143
 
144
  #: admin/class-aiovg-admin-settings.php:148
145
- msgid "Video Gallery Pages"
146
  msgstr ""
147
 
148
  #: admin/class-aiovg-admin-settings.php:153
149
- msgid "Single Video Page"
150
  msgstr ""
151
 
152
  #: admin/class-aiovg-admin-settings.php:158
 
 
 
 
153
  msgid "Privacy Settings"
154
  msgstr ""
155
 
156
- #: admin/class-aiovg-admin-settings.php:159
157
  msgid ""
158
  "These options will help with privacy restrictions such as GDPR and the EU "
159
  "Cookie Law."
160
  msgstr ""
161
 
162
- #: admin/class-aiovg-admin-settings.php:164
163
  msgid "Permalink Slugs"
164
  msgstr ""
165
 
166
- #: admin/class-aiovg-admin-settings.php:165
167
  msgid ""
168
  "NOTE: Just make sure that, after updating the fields in this section, you "
169
  "flush the rewrite rules by visiting \"Settings > Permalinks\". Otherwise "
170
  "you'll still see the old links."
171
  msgstr ""
172
 
173
- #: admin/class-aiovg-admin-settings.php:170
174
  msgid "Socialshare Buttons"
175
  msgstr ""
176
 
177
- #: admin/class-aiovg-admin-settings.php:171
178
  msgid "Select social share buttons displayed in the single video pages."
179
  msgstr ""
180
 
181
- #: admin/class-aiovg-admin-settings.php:176
182
  msgid "Page Settings"
183
  msgstr ""
184
 
185
- #: admin/class-aiovg-admin-settings.php:197
186
  msgid "Bootstrap Options"
187
  msgstr ""
188
 
189
- #: admin/class-aiovg-admin-settings.php:198
190
  msgid ""
191
  "All-in-One Video Gallery uses Bootstrap version 3. Disable this option if "
192
  "your theme already include the \"Bootstrap\" library files."
193
  msgstr ""
194
 
195
- #: admin/class-aiovg-admin-settings.php:201
196
  msgid "Include Bootstrap CSS"
197
  msgstr ""
198
 
199
- #: admin/class-aiovg-admin-settings.php:207
200
  msgid "Font Awesome"
201
  msgstr ""
202
 
203
- #: admin/class-aiovg-admin-settings.php:208
204
  msgid ""
205
  "Include Font Awesome. Disable this option if your theme already include the "
206
  "\"Font Awesome\" library files"
207
  msgstr ""
208
 
209
- #: admin/class-aiovg-admin-settings.php:214
210
  msgid "Remove data on uninstall?"
211
  msgstr ""
212
 
213
- #: admin/class-aiovg-admin-settings.php:215
214
  msgid ""
215
  "Check this box to delete all of the plugin data( database stored content, "
216
  "uploaded media files, etc... ) when uninstalled"
217
  msgstr ""
218
 
219
- #: admin/class-aiovg-admin-settings.php:223
220
- #: admin/class-aiovg-admin-settings.php:297
221
  #: admin/class-aiovg-admin-shortcode.php:279
222
  #: widgets/video/templates/admin.php:46
223
  msgid "Width"
224
  msgstr ""
225
 
226
- #: admin/class-aiovg-admin-settings.php:224
227
  #, php-format
228
  msgid ""
229
  "In pixels. Maximum width of the player. Leave this field empty to scale "
230
  "100% of its enclosing container/html element."
231
  msgstr ""
232
 
233
- #: admin/class-aiovg-admin-settings.php:230
234
- #: admin/class-aiovg-admin-settings.php:304
235
  #: admin/class-aiovg-admin-shortcode.php:286
236
  #: widgets/video/templates/admin.php:51
237
  msgid "Ratio"
238
  msgstr ""
239
 
240
- #: admin/class-aiovg-admin-settings.php:233
241
  msgid ""
242
  "In percentage. 1 to 100. Calculate player's height using the ratio value "
243
  "entered."
244
  msgstr ""
245
 
246
- #: admin/class-aiovg-admin-settings.php:234
247
  msgid "Examples"
248
  msgstr ""
249
 
250
- #: admin/class-aiovg-admin-settings.php:235
251
  msgid "Wide Screen TV"
252
  msgstr ""
253
 
254
- #: admin/class-aiovg-admin-settings.php:236
255
  msgid "Monitor Screens"
256
  msgstr ""
257
 
258
- #: admin/class-aiovg-admin-settings.php:237
259
  msgid "Classic TV"
260
  msgstr ""
261
 
262
- #: admin/class-aiovg-admin-settings.php:238
263
  msgid "Photo Camera"
264
  msgstr ""
265
 
266
- #: admin/class-aiovg-admin-settings.php:239
267
  msgid "Square"
268
  msgstr ""
269
 
270
- #: admin/class-aiovg-admin-settings.php:240
271
  msgid "Cinemascope"
272
  msgstr ""
273
 
274
- #: admin/class-aiovg-admin-settings.php:247
275
  #: admin/class-aiovg-admin-shortcode.php:293
276
  #: widgets/video/templates/admin.php:57
277
  msgid "Autoplay"
278
  msgstr ""
279
 
280
- #: admin/class-aiovg-admin-settings.php:248
281
  msgid "Check this to start playing the video as soon as it is ready"
282
  msgstr ""
283
 
284
- #: admin/class-aiovg-admin-settings.php:254
285
  #: admin/class-aiovg-admin-shortcode.php:300
286
  #: widgets/video/templates/admin.php:62
287
  msgid "Loop"
288
  msgstr ""
289
 
290
- #: admin/class-aiovg-admin-settings.php:255
291
  msgid ""
292
  "Check this, so that the video will start over again, every time it is "
293
  "finished"
294
  msgstr ""
295
 
296
- #: admin/class-aiovg-admin-settings.php:261
297
  msgid "Preload"
298
  msgstr ""
299
 
300
- #: admin/class-aiovg-admin-settings.php:264
301
  msgid "Specifies if and how the video should be loaded when the page loads."
302
  msgstr ""
303
 
304
- #: admin/class-aiovg-admin-settings.php:265
305
  msgid "\"Auto\" - the video should be loaded entirely when the page loads"
306
  msgstr ""
307
 
308
- #: admin/class-aiovg-admin-settings.php:266
309
  msgid "\"Metadata\" - only metadata should be loaded when the page loads"
310
  msgstr ""
311
 
312
- #: admin/class-aiovg-admin-settings.php:267
313
  msgid "\"None\" - the video should not be loaded when the page loads"
314
  msgstr ""
315
 
316
- #: admin/class-aiovg-admin-settings.php:271
317
  msgid "Auto"
318
  msgstr ""
319
 
320
- #: admin/class-aiovg-admin-settings.php:272
321
  msgid "Metadata"
322
  msgstr ""
323
 
324
- #: admin/class-aiovg-admin-settings.php:273
325
  msgid "None"
326
  msgstr ""
327
 
328
- #: admin/class-aiovg-admin-settings.php:279
329
  #: admin/class-aiovg-admin-shortcode.php:307
330
  #: widgets/video/templates/admin.php:65
331
  msgid "Show / Hide Player Controls"
332
  msgstr ""
333
 
334
- #: admin/class-aiovg-admin-settings.php:283
335
  #: admin/class-aiovg-admin-shortcode.php:312
336
  #: widgets/video/templates/admin.php:69
337
  msgid "Play / Pause"
338
  msgstr ""
339
 
340
- #: admin/class-aiovg-admin-settings.php:284
341
  #: admin/class-aiovg-admin-shortcode.php:319
342
  #: widgets/video/templates/admin.php:74
343
  msgid "Current Time"
344
  msgstr ""
345
 
346
- #: admin/class-aiovg-admin-settings.php:285
347
  #: admin/class-aiovg-admin-shortcode.php:326
348
  #: widgets/video/templates/admin.php:79
349
  msgid "Progressbar"
350
  msgstr ""
351
 
352
- #: admin/class-aiovg-admin-settings.php:286
353
  #: admin/class-aiovg-admin-shortcode.php:333
354
  #: admin/templates/video-sources.php:161 admin/templates/video-sources.php:164
355
  #: widgets/video/templates/admin.php:84
356
  msgid "Duration"
357
  msgstr ""
358
 
359
- #: admin/class-aiovg-admin-settings.php:287
360
  #: admin/class-aiovg-admin-shortcode.php:340
361
  #: admin/class-aiovg-admin-videos.php:150 widgets/video/templates/admin.php:89
362
  msgid "Subtitles"
363
  msgstr ""
364
 
365
- #: admin/class-aiovg-admin-settings.php:288
366
  #: admin/class-aiovg-admin-shortcode.php:347
367
  #: widgets/video/templates/admin.php:94
368
  msgid "Volume"
369
  msgstr ""
370
 
371
- #: admin/class-aiovg-admin-settings.php:289
372
  #: admin/class-aiovg-admin-shortcode.php:354
373
  #: widgets/video/templates/admin.php:99
374
  msgid "Fullscreen"
375
  msgstr ""
376
 
377
- #: admin/class-aiovg-admin-settings.php:298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
378
  #, php-format
379
  msgid "Always 100% of its enclosing container/html element."
380
  msgstr ""
381
 
382
- #: admin/class-aiovg-admin-settings.php:305
383
  msgid ""
384
  "In percentage. 1 to 100. Calculate images's height using the ratio value "
385
  "entered."
386
  msgstr ""
387
 
388
- #: admin/class-aiovg-admin-settings.php:313
389
- #: admin/class-aiovg-admin-settings.php:370
390
  #: admin/class-aiovg-admin-shortcode.php:94
391
  #: admin/class-aiovg-admin-shortcode.php:156
392
  #: widgets/videos/templates/admin.php:50
393
  msgid "Number of Columns"
394
  msgstr ""
395
 
396
- #: admin/class-aiovg-admin-settings.php:314
397
  msgid "Enter the number of columns you like to have in your categories page."
398
  msgstr ""
399
 
400
- #: admin/class-aiovg-admin-settings.php:323
401
  #: admin/class-aiovg-admin-shortcode.php:114
402
  msgid "Order Categories by"
403
  msgstr ""
404
 
405
- #: admin/class-aiovg-admin-settings.php:328
406
  #: admin/class-aiovg-admin-shortcode.php:105
407
  #: widgets/categories/templates/admin.php:44
408
  msgid "Count"
409
  msgstr ""
410
 
411
- #: admin/class-aiovg-admin-settings.php:329
412
  #: admin/class-aiovg-admin-shortcode.php:106
413
  #: widgets/categories/templates/admin.php:45
414
  msgid "Name"
415
  msgstr ""
416
 
417
- #: admin/class-aiovg-admin-settings.php:330
418
  #: admin/class-aiovg-admin-shortcode.php:107
419
  #: widgets/categories/templates/admin.php:46
420
  msgid "Slug"
421
  msgstr ""
422
 
423
- #: admin/class-aiovg-admin-settings.php:336
424
  #: admin/class-aiovg-admin-shortcode.php:101
425
  msgid "Sort Categories by"
426
  msgstr ""
427
 
428
- #: admin/class-aiovg-admin-settings.php:340
429
- #: admin/class-aiovg-admin-settings.php:404
430
  msgid "Ascending"
431
  msgstr ""
432
 
433
- #: admin/class-aiovg-admin-settings.php:341
434
- #: admin/class-aiovg-admin-settings.php:405
435
  msgid "Descending"
436
  msgstr ""
437
 
438
- #: admin/class-aiovg-admin-settings.php:347
439
  #: admin/class-aiovg-admin-shortcode.php:125
440
  msgid "Show Description?"
441
  msgstr ""
442
 
443
- #: admin/class-aiovg-admin-settings.php:348
444
  msgid "Check this to show the categories description"
445
  msgstr ""
446
 
447
- #: admin/class-aiovg-admin-settings.php:354
448
  #: admin/class-aiovg-admin-shortcode.php:132
449
  msgid "Show Videos Count?"
450
  msgstr ""
451
 
452
- #: admin/class-aiovg-admin-settings.php:355
453
  msgid "Check this to show the videos count next to the category name"
454
  msgstr ""
455
 
456
- #: admin/class-aiovg-admin-settings.php:361
457
  #: admin/class-aiovg-admin-shortcode.php:139
458
  msgid "Hide Empty Categories?"
459
  msgstr ""
460
 
461
- #: admin/class-aiovg-admin-settings.php:362
462
  msgid "Check this to hide categories with no videos"
463
  msgstr ""
464
 
465
- #: admin/class-aiovg-admin-settings.php:371
466
  msgid "Enter the number of columns you like to have in the gallery view."
467
  msgstr ""
468
 
469
- #: admin/class-aiovg-admin-settings.php:380
470
  msgid "Videos per Page"
471
  msgstr ""
472
 
473
- #: admin/class-aiovg-admin-settings.php:381
474
  msgid ""
475
  "Number of videos to show per page. Use a value of \"0\" to show all videos."
476
  msgstr ""
477
 
478
- #: admin/class-aiovg-admin-settings.php:387
479
  msgid "Order Videos by"
480
  msgstr ""
481
 
482
- #: admin/class-aiovg-admin-settings.php:391
483
  #: admin/class-aiovg-admin-shortcode.php:173
484
  #: widgets/categories/templates/admin.php:15
485
  #: widgets/search/templates/admin.php:15 widgets/video/templates/admin.php:15
@@ -487,190 +560,190 @@ msgstr ""
487
  msgid "Title"
488
  msgstr ""
489
 
490
- #: admin/class-aiovg-admin-settings.php:392
491
  #: admin/class-aiovg-admin-shortcode.php:174
492
  #: widgets/videos/templates/admin.php:65
493
  msgid "Date Posted"
494
  msgstr ""
495
 
496
- #: admin/class-aiovg-admin-settings.php:393
497
- #: admin/class-aiovg-admin-settings.php:419
498
- #: admin/class-aiovg-admin-settings.php:443
499
  #: admin/class-aiovg-admin-shortcode.php:175
500
  #: admin/class-aiovg-admin-shortcode.php:241
501
  #: widgets/videos/templates/admin.php:66 widgets/videos/templates/admin.php:124
502
  msgid "Views Count"
503
  msgstr ""
504
 
505
- #: admin/class-aiovg-admin-settings.php:394
506
  #: admin/class-aiovg-admin-shortcode.php:176
507
  #: widgets/videos/templates/admin.php:67
508
  msgid "Random"
509
  msgstr ""
510
 
511
- #: admin/class-aiovg-admin-settings.php:400
512
  msgid "Sort Videos by"
513
  msgstr ""
514
 
515
- #: admin/class-aiovg-admin-settings.php:411
516
- #: admin/class-aiovg-admin-settings.php:436
517
  #: admin/class-aiovg-admin-shortcode.php:208
518
  #: widgets/videos/templates/admin.php:105
519
  msgid "Show / Hide"
520
  msgstr ""
521
 
522
- #: admin/class-aiovg-admin-settings.php:415
523
  #: admin/class-aiovg-admin-shortcode.php:213
524
  msgid "Videos Count"
525
  msgstr ""
526
 
527
- #: admin/class-aiovg-admin-settings.php:416
528
- #: admin/class-aiovg-admin-settings.php:440
529
  #: admin/class-aiovg-admin-shortcode.php:220
530
  #: widgets/videos/templates/admin.php:109
531
  msgid "Category Name"
532
  msgstr ""
533
 
534
- #: admin/class-aiovg-admin-settings.php:417
535
- #: admin/class-aiovg-admin-settings.php:441
536
  #: admin/class-aiovg-admin-shortcode.php:227
537
  #: widgets/videos/templates/admin.php:114
538
  msgid "Date Added"
539
  msgstr ""
540
 
541
- #: admin/class-aiovg-admin-settings.php:418
542
- #: admin/class-aiovg-admin-settings.php:442
543
  #: admin/class-aiovg-admin-shortcode.php:234
544
  msgid "Author Name"
545
  msgstr ""
546
 
547
- #: admin/class-aiovg-admin-settings.php:420
548
  #: admin/class-aiovg-admin-shortcode.php:248
549
  #: widgets/videos/templates/admin.php:129
550
  msgid "Video Duration"
551
  msgstr ""
552
 
553
- #: admin/class-aiovg-admin-settings.php:421
554
  msgid "Excerpt ( Short Description )"
555
  msgstr ""
556
 
557
- #: admin/class-aiovg-admin-settings.php:427
558
  msgid "Excerpt Length"
559
  msgstr ""
560
 
561
- #: admin/class-aiovg-admin-settings.php:428
562
  msgid "Number of characters."
563
  msgstr ""
564
 
565
- #: admin/class-aiovg-admin-settings.php:444
566
  #: admin/class-aiovg-admin-shortcode.php:201
567
  #: widgets/videos/templates/admin.php:101
568
  msgid "Related Videos"
569
  msgstr ""
570
 
571
- #: admin/class-aiovg-admin-settings.php:450
572
  msgid "Enable Comments"
573
  msgstr ""
574
 
575
- #: admin/class-aiovg-admin-settings.php:451
576
  msgid ""
577
  "Allow visitors to comment videos using the standard WordPress comment form. "
578
  "Comments are public"
579
  msgstr ""
580
 
581
- #: admin/class-aiovg-admin-settings.php:459
582
  msgid "GDPR - Show Consent"
583
  msgstr ""
584
 
585
- #: admin/class-aiovg-admin-settings.php:460
586
  msgid "Ask for consent before loading YouTube/Vimeo content."
587
  msgstr ""
588
 
589
- #: admin/class-aiovg-admin-settings.php:466
590
  msgid "GDPR - Consent Message"
591
  msgstr ""
592
 
593
- #: admin/class-aiovg-admin-settings.php:473
594
  msgid "GDPR - Consent Button Label"
595
  msgstr ""
596
 
597
- #: admin/class-aiovg-admin-settings.php:482
598
  msgid "Video Detail Page"
599
  msgstr ""
600
 
601
- #: admin/class-aiovg-admin-settings.php:483
602
  msgid "Replaces the SLUG value used by custom post type \"aiovg_videos\"."
603
  msgstr ""
604
 
605
- #: admin/class-aiovg-admin-settings.php:491
606
  msgid "Enable Services"
607
  msgstr ""
608
 
609
- #: admin/class-aiovg-admin-settings.php:495
610
  #: admin/templates/video-sources.php:126 admin/templates/video-sources.php:129
611
- #: includes/functions.php:692 includes/functions.php:1103
612
  msgid "Facebook"
613
  msgstr ""
614
 
615
- #: admin/class-aiovg-admin-settings.php:496 includes/functions.php:1108
616
  msgid "Twitter"
617
  msgstr ""
618
 
619
- #: admin/class-aiovg-admin-settings.php:497
620
  msgid "Google Plus"
621
  msgstr ""
622
 
623
- #: admin/class-aiovg-admin-settings.php:498 includes/functions.php:1118
624
  msgid "Linkedin"
625
  msgstr ""
626
 
627
- #: admin/class-aiovg-admin-settings.php:499
628
  msgid "Pinterest"
629
  msgstr ""
630
 
631
- #: admin/class-aiovg-admin-settings.php:507
632
  msgid "Single Category Page"
633
  msgstr ""
634
 
635
- #: admin/class-aiovg-admin-settings.php:508
636
  msgid ""
637
  "This is the page where the videos from a particular category is displayed. "
638
  "The [aiovg_category] short code must be on this page."
639
  msgstr ""
640
 
641
- #: admin/class-aiovg-admin-settings.php:514
642
  msgid "Search Page"
643
  msgstr ""
644
 
645
- #: admin/class-aiovg-admin-settings.php:515
646
  msgid ""
647
  "This is the page where the search results are displayed. The [aiovg_search] "
648
  "short code must be on this page."
649
  msgstr ""
650
 
651
- #: admin/class-aiovg-admin-settings.php:521
652
  msgid "User Videos Page"
653
  msgstr ""
654
 
655
- #: admin/class-aiovg-admin-settings.php:522
656
  msgid ""
657
  "This is the page where the videos from an user is displayed. The "
658
  "[aiovg_user_videos] short code must be on this page."
659
  msgstr ""
660
 
661
- #: admin/class-aiovg-admin-settings.php:528
662
  msgid "Player Page"
663
  msgstr ""
664
 
665
- #: admin/class-aiovg-admin-settings.php:529
666
  msgid "This is the page used to show the video player."
667
  msgstr ""
668
 
669
- #: admin/class-aiovg-admin-settings.php:815
670
  msgid "Choose File"
671
  msgstr ""
672
 
673
- #: admin/class-aiovg-admin-settings.php:870
674
  msgid "Select a page"
675
  msgstr ""
676
 
@@ -927,29 +1000,19 @@ msgstr ""
927
  msgid "Support"
928
  msgstr ""
929
 
930
- #: admin/class-aiovg-admin.php:39 includes/class-aiovg-activator.php:96
931
- msgid ""
932
- "<strong>Please accept cookies to play this video</strong>. By accepting you "
933
- "will be accessing content from a service provided by an external third party."
934
- msgstr ""
935
-
936
- #: admin/class-aiovg-admin.php:40 includes/class-aiovg-activator.php:97
937
- msgid "Accept"
938
- msgstr ""
939
-
940
- #: admin/class-aiovg-admin.php:108
941
  msgid "All-in-One Video Gallery"
942
  msgstr ""
943
 
944
- #: admin/class-aiovg-admin.php:110
945
  msgid "Online Documentation"
946
  msgstr ""
947
 
948
- #: admin/class-aiovg-admin.php:111
949
  msgid "Contact Support"
950
  msgstr ""
951
 
952
- #: admin/class-aiovg-admin.php:112
953
  msgid "Premium Add-ons"
954
  msgstr ""
955
 
@@ -1017,7 +1080,7 @@ msgid "OGV"
1017
  msgstr ""
1018
 
1019
  #: admin/templates/video-sources.php:93 admin/templates/video-sources.php:96
1020
- #: includes/functions.php:689
1021
  msgid "YouTube"
1022
  msgstr ""
1023
 
@@ -1026,7 +1089,7 @@ msgid "Example: https://www.youtube.com/watch?v=twYp6W6vt2U"
1026
  msgstr ""
1027
 
1028
  #: admin/templates/video-sources.php:104 admin/templates/video-sources.php:107
1029
- #: includes/functions.php:690
1030
  msgid "Vimeo"
1031
  msgstr ""
1032
 
@@ -1035,7 +1098,7 @@ msgid "Example: https://vimeo.com/108018156"
1035
  msgstr ""
1036
 
1037
  #: admin/templates/video-sources.php:115 admin/templates/video-sources.php:118
1038
- #: includes/functions.php:691
1039
  msgid "Dailymotion"
1040
  msgstr ""
1041
 
@@ -1109,15 +1172,18 @@ msgstr ""
1109
 
1110
  #: admin/templates/welcome.php:19
1111
  msgid ""
1112
- "Responsive & Lightweight Video gallery plugin. HTML5 with FLASH fallbacks. "
1113
- "Supports any browser & video formats such as MP4, WebM, OGV and embeddable "
1114
- "players like YouTube, Vimeo, Dailymotion, Facebook, etc."
 
 
1115
  msgstr ""
1116
 
1117
  #: admin/templates/welcome.php:35
1118
  msgid ""
1119
- "Add single video or build a video gallery in minutes. Uses and extends the "
1120
- "same Video Player trusted by WordPress."
 
1121
  msgstr ""
1122
 
1123
  #: admin/templates/welcome.php:50
@@ -1180,9 +1246,8 @@ msgstr ""
1180
 
1181
  #: admin/templates/welcome.php:111
1182
  msgid ""
1183
- "Subtitle your videos the way you want. Comment on videos. Add share buttons. "
1184
- "Integrate with Facebook, Twitter, Google+, Pinterest & more. Make your "
1185
- "gallery SEO friendly with deeplinking and pagination, and lot more."
1186
  msgstr ""
1187
 
1188
  #: admin/templates/welcome.php:119
@@ -1212,56 +1277,71 @@ msgid ""
1212
  "for customers that need faster and/or more in-depth assistance."
1213
  msgstr ""
1214
 
1215
- #: includes/functions.php:418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1216
  msgid "No Items found."
1217
  msgstr ""
1218
 
1219
- #: includes/functions.php:688
1220
  msgid "Self Hosted"
1221
  msgstr ""
1222
 
1223
- #: includes/functions.php:688
1224
  msgid "External URL"
1225
  msgstr ""
1226
 
1227
- #: includes/functions.php:693
1228
  msgid "Iframe Embed Code"
1229
  msgstr ""
1230
 
1231
- #: includes/functions.php:836
1232
  msgid "Video Category"
1233
  msgstr ""
1234
 
1235
- #: includes/functions.php:840 widgets/search/class-aiovg-widget-search.php:117
1236
  msgid "Search Videos"
1237
  msgstr ""
1238
 
1239
- #: includes/functions.php:844
1240
  msgid "User Videos"
1241
  msgstr ""
1242
 
1243
- #: includes/functions.php:848
1244
  msgid "Player Embed"
1245
  msgstr ""
1246
 
1247
- #: includes/functions.php:1019
1248
  msgid "&laquo;"
1249
  msgstr ""
1250
 
1251
- #: includes/functions.php:1020
1252
  msgid "&raquo;"
1253
  msgstr ""
1254
 
1255
- #: includes/functions.php:1044
1256
  #, php-format
1257
  msgid "Page %d of %d"
1258
  msgstr ""
1259
 
1260
- #: includes/functions.php:1113
1261
  msgid "Google+"
1262
  msgstr ""
1263
 
1264
- #: includes/functions.php:1123
1265
  msgid "Pin It"
1266
  msgstr ""
1267
 
@@ -1279,6 +1359,10 @@ msgstr ""
1279
  msgid "%d videos"
1280
  msgstr ""
1281
 
 
 
 
 
1282
  #: public/templates/search-form-horizontal.php:31
1283
  #: public/templates/search-form-vertical.php:29
1284
  msgid "Select a Category"
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: All-in-One Video Gallery\n"
4
+ "POT-Creation-Date: 2018-07-11 09:53+0530\n"
5
+ "PO-Revision-Date: 2018-07-11 09:53+0530\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: en_US\n"
96
  msgstr ""
97
 
98
  #: admin/class-aiovg-admin-categories.php:137
99
+ #: admin/class-aiovg-admin-settings.php:382
100
  #: admin/class-aiovg-admin-shortcode.php:104
101
  #: admin/class-aiovg-admin-videos.php:433
102
  #: widgets/categories/templates/admin.php:43
104
  msgstr ""
105
 
106
  #: admin/class-aiovg-admin-settings.php:61
107
+ #: admin/class-aiovg-admin-settings.php:62 admin/class-aiovg-admin.php:91
108
  #: admin/templates/welcome.php:45
109
  msgid "Settings"
110
  msgstr ""
134
  msgstr ""
135
 
136
  #: admin/class-aiovg-admin-settings.php:138
137
+ msgid "Logo & Branding"
138
  msgstr ""
139
 
140
  #: admin/class-aiovg-admin-settings.php:143
141
+ msgid "Image Settings"
142
  msgstr ""
143
 
144
  #: admin/class-aiovg-admin-settings.php:148
145
+ msgid "Categories Page"
146
  msgstr ""
147
 
148
  #: admin/class-aiovg-admin-settings.php:153
149
+ msgid "Video Gallery Pages"
150
  msgstr ""
151
 
152
  #: admin/class-aiovg-admin-settings.php:158
153
+ msgid "Single Video Page"
154
+ msgstr ""
155
+
156
+ #: admin/class-aiovg-admin-settings.php:163
157
  msgid "Privacy Settings"
158
  msgstr ""
159
 
160
+ #: admin/class-aiovg-admin-settings.php:164
161
  msgid ""
162
  "These options will help with privacy restrictions such as GDPR and the EU "
163
  "Cookie Law."
164
  msgstr ""
165
 
166
+ #: admin/class-aiovg-admin-settings.php:169
167
  msgid "Permalink Slugs"
168
  msgstr ""
169
 
170
+ #: admin/class-aiovg-admin-settings.php:170
171
  msgid ""
172
  "NOTE: Just make sure that, after updating the fields in this section, you "
173
  "flush the rewrite rules by visiting \"Settings > Permalinks\". Otherwise "
174
  "you'll still see the old links."
175
  msgstr ""
176
 
177
+ #: admin/class-aiovg-admin-settings.php:175
178
  msgid "Socialshare Buttons"
179
  msgstr ""
180
 
181
+ #: admin/class-aiovg-admin-settings.php:176
182
  msgid "Select social share buttons displayed in the single video pages."
183
  msgstr ""
184
 
185
+ #: admin/class-aiovg-admin-settings.php:181
186
  msgid "Page Settings"
187
  msgstr ""
188
 
189
+ #: admin/class-aiovg-admin-settings.php:202
190
  msgid "Bootstrap Options"
191
  msgstr ""
192
 
193
+ #: admin/class-aiovg-admin-settings.php:203
194
  msgid ""
195
  "All-in-One Video Gallery uses Bootstrap version 3. Disable this option if "
196
  "your theme already include the \"Bootstrap\" library files."
197
  msgstr ""
198
 
199
+ #: admin/class-aiovg-admin-settings.php:206
200
  msgid "Include Bootstrap CSS"
201
  msgstr ""
202
 
203
+ #: admin/class-aiovg-admin-settings.php:212
204
  msgid "Font Awesome"
205
  msgstr ""
206
 
207
+ #: admin/class-aiovg-admin-settings.php:213
208
  msgid ""
209
  "Include Font Awesome. Disable this option if your theme already include the "
210
  "\"Font Awesome\" library files"
211
  msgstr ""
212
 
213
+ #: admin/class-aiovg-admin-settings.php:219
214
  msgid "Remove data on uninstall?"
215
  msgstr ""
216
 
217
+ #: admin/class-aiovg-admin-settings.php:220
218
  msgid ""
219
  "Check this box to delete all of the plugin data( database stored content, "
220
  "uploaded media files, etc... ) when uninstalled"
221
  msgstr ""
222
 
223
+ #: admin/class-aiovg-admin-settings.php:228
224
+ #: admin/class-aiovg-admin-settings.php:352
225
  #: admin/class-aiovg-admin-shortcode.php:279
226
  #: widgets/video/templates/admin.php:46
227
  msgid "Width"
228
  msgstr ""
229
 
230
+ #: admin/class-aiovg-admin-settings.php:229
231
  #, php-format
232
  msgid ""
233
  "In pixels. Maximum width of the player. Leave this field empty to scale "
234
  "100% of its enclosing container/html element."
235
  msgstr ""
236
 
237
+ #: admin/class-aiovg-admin-settings.php:235
238
+ #: admin/class-aiovg-admin-settings.php:359
239
  #: admin/class-aiovg-admin-shortcode.php:286
240
  #: widgets/video/templates/admin.php:51
241
  msgid "Ratio"
242
  msgstr ""
243
 
244
+ #: admin/class-aiovg-admin-settings.php:238
245
  msgid ""
246
  "In percentage. 1 to 100. Calculate player's height using the ratio value "
247
  "entered."
248
  msgstr ""
249
 
250
+ #: admin/class-aiovg-admin-settings.php:239
251
  msgid "Examples"
252
  msgstr ""
253
 
254
+ #: admin/class-aiovg-admin-settings.php:240
255
  msgid "Wide Screen TV"
256
  msgstr ""
257
 
258
+ #: admin/class-aiovg-admin-settings.php:241
259
  msgid "Monitor Screens"
260
  msgstr ""
261
 
262
+ #: admin/class-aiovg-admin-settings.php:242
263
  msgid "Classic TV"
264
  msgstr ""
265
 
266
+ #: admin/class-aiovg-admin-settings.php:243
267
  msgid "Photo Camera"
268
  msgstr ""
269
 
270
+ #: admin/class-aiovg-admin-settings.php:244
271
  msgid "Square"
272
  msgstr ""
273
 
274
+ #: admin/class-aiovg-admin-settings.php:245
275
  msgid "Cinemascope"
276
  msgstr ""
277
 
278
+ #: admin/class-aiovg-admin-settings.php:252
279
  #: admin/class-aiovg-admin-shortcode.php:293
280
  #: widgets/video/templates/admin.php:57
281
  msgid "Autoplay"
282
  msgstr ""
283
 
284
+ #: admin/class-aiovg-admin-settings.php:253
285
  msgid "Check this to start playing the video as soon as it is ready"
286
  msgstr ""
287
 
288
+ #: admin/class-aiovg-admin-settings.php:259
289
  #: admin/class-aiovg-admin-shortcode.php:300
290
  #: widgets/video/templates/admin.php:62
291
  msgid "Loop"
292
  msgstr ""
293
 
294
+ #: admin/class-aiovg-admin-settings.php:260
295
  msgid ""
296
  "Check this, so that the video will start over again, every time it is "
297
  "finished"
298
  msgstr ""
299
 
300
+ #: admin/class-aiovg-admin-settings.php:266
301
  msgid "Preload"
302
  msgstr ""
303
 
304
+ #: admin/class-aiovg-admin-settings.php:269
305
  msgid "Specifies if and how the video should be loaded when the page loads."
306
  msgstr ""
307
 
308
+ #: admin/class-aiovg-admin-settings.php:270
309
  msgid "\"Auto\" - the video should be loaded entirely when the page loads"
310
  msgstr ""
311
 
312
+ #: admin/class-aiovg-admin-settings.php:271
313
  msgid "\"Metadata\" - only metadata should be loaded when the page loads"
314
  msgstr ""
315
 
316
+ #: admin/class-aiovg-admin-settings.php:272
317
  msgid "\"None\" - the video should not be loaded when the page loads"
318
  msgstr ""
319
 
320
+ #: admin/class-aiovg-admin-settings.php:276
321
  msgid "Auto"
322
  msgstr ""
323
 
324
+ #: admin/class-aiovg-admin-settings.php:277
325
  msgid "Metadata"
326
  msgstr ""
327
 
328
+ #: admin/class-aiovg-admin-settings.php:278
329
  msgid "None"
330
  msgstr ""
331
 
332
+ #: admin/class-aiovg-admin-settings.php:284
333
  #: admin/class-aiovg-admin-shortcode.php:307
334
  #: widgets/video/templates/admin.php:65
335
  msgid "Show / Hide Player Controls"
336
  msgstr ""
337
 
338
+ #: admin/class-aiovg-admin-settings.php:288
339
  #: admin/class-aiovg-admin-shortcode.php:312
340
  #: widgets/video/templates/admin.php:69
341
  msgid "Play / Pause"
342
  msgstr ""
343
 
344
+ #: admin/class-aiovg-admin-settings.php:289
345
  #: admin/class-aiovg-admin-shortcode.php:319
346
  #: widgets/video/templates/admin.php:74
347
  msgid "Current Time"
348
  msgstr ""
349
 
350
+ #: admin/class-aiovg-admin-settings.php:290
351
  #: admin/class-aiovg-admin-shortcode.php:326
352
  #: widgets/video/templates/admin.php:79
353
  msgid "Progressbar"
354
  msgstr ""
355
 
356
+ #: admin/class-aiovg-admin-settings.php:291
357
  #: admin/class-aiovg-admin-shortcode.php:333
358
  #: admin/templates/video-sources.php:161 admin/templates/video-sources.php:164
359
  #: widgets/video/templates/admin.php:84
360
  msgid "Duration"
361
  msgstr ""
362
 
363
+ #: admin/class-aiovg-admin-settings.php:292
364
  #: admin/class-aiovg-admin-shortcode.php:340
365
  #: admin/class-aiovg-admin-videos.php:150 widgets/video/templates/admin.php:89
366
  msgid "Subtitles"
367
  msgstr ""
368
 
369
+ #: admin/class-aiovg-admin-settings.php:293
370
  #: admin/class-aiovg-admin-shortcode.php:347
371
  #: widgets/video/templates/admin.php:94
372
  msgid "Volume"
373
  msgstr ""
374
 
375
+ #: admin/class-aiovg-admin-settings.php:294
376
  #: admin/class-aiovg-admin-shortcode.php:354
377
  #: widgets/video/templates/admin.php:99
378
  msgid "Fullscreen"
379
  msgstr ""
380
 
381
+ #: admin/class-aiovg-admin-settings.php:302
382
+ msgid "Show Logo"
383
+ msgstr ""
384
+
385
+ #: admin/class-aiovg-admin-settings.php:303
386
+ msgid "Check this option to show the watermark on the video."
387
+ msgstr ""
388
+
389
+ #: admin/class-aiovg-admin-settings.php:309
390
+ msgid "Logo Image"
391
+ msgstr ""
392
+
393
+ #: admin/class-aiovg-admin-settings.php:310
394
+ msgid ""
395
+ "Upload the image file of your logo. We recommend using the transparent PNG "
396
+ "format with width below 100 pixels. If you do not enter any image, no logo "
397
+ "will displayed."
398
+ msgstr ""
399
+
400
+ #: admin/class-aiovg-admin-settings.php:316
401
+ msgid "Logo Link"
402
+ msgstr ""
403
+
404
+ #: admin/class-aiovg-admin-settings.php:317
405
+ msgid ""
406
+ "The URL to visit when the watermark image is clicked. Clicking a logo will "
407
+ "have no affect unless this is configured."
408
+ msgstr ""
409
+
410
+ #: admin/class-aiovg-admin-settings.php:323
411
+ msgid "Logo Position"
412
+ msgstr ""
413
+
414
+ #: admin/class-aiovg-admin-settings.php:324
415
+ msgid "This sets the corner in which to display the watermark."
416
+ msgstr ""
417
+
418
+ #: admin/class-aiovg-admin-settings.php:327
419
+ msgid "Top Left"
420
+ msgstr ""
421
+
422
+ #: admin/class-aiovg-admin-settings.php:328
423
+ msgid "Top Right"
424
+ msgstr ""
425
+
426
+ #: admin/class-aiovg-admin-settings.php:329
427
+ msgid "Bottom Left"
428
+ msgstr ""
429
+
430
+ #: admin/class-aiovg-admin-settings.php:330
431
+ msgid "Bottom Right"
432
+ msgstr ""
433
+
434
+ #: admin/class-aiovg-admin-settings.php:336
435
+ msgid "Logo Margin"
436
+ msgstr ""
437
+
438
+ #: admin/class-aiovg-admin-settings.php:337
439
+ msgid "The distance, in pixels, of the logo from the edges of the display."
440
+ msgstr ""
441
+
442
+ #: admin/class-aiovg-admin-settings.php:343
443
+ msgid "Copyright Text"
444
+ msgstr ""
445
+
446
+ #: admin/class-aiovg-admin-settings.php:344
447
+ msgid "Text that is shown when a user right-clicks the player with the mouse."
448
+ msgstr ""
449
+
450
+ #: admin/class-aiovg-admin-settings.php:353
451
  #, php-format
452
  msgid "Always 100% of its enclosing container/html element."
453
  msgstr ""
454
 
455
+ #: admin/class-aiovg-admin-settings.php:360
456
  msgid ""
457
  "In percentage. 1 to 100. Calculate images's height using the ratio value "
458
  "entered."
459
  msgstr ""
460
 
461
+ #: admin/class-aiovg-admin-settings.php:368
462
+ #: admin/class-aiovg-admin-settings.php:425
463
  #: admin/class-aiovg-admin-shortcode.php:94
464
  #: admin/class-aiovg-admin-shortcode.php:156
465
  #: widgets/videos/templates/admin.php:50
466
  msgid "Number of Columns"
467
  msgstr ""
468
 
469
+ #: admin/class-aiovg-admin-settings.php:369
470
  msgid "Enter the number of columns you like to have in your categories page."
471
  msgstr ""
472
 
473
+ #: admin/class-aiovg-admin-settings.php:378
474
  #: admin/class-aiovg-admin-shortcode.php:114
475
  msgid "Order Categories by"
476
  msgstr ""
477
 
478
+ #: admin/class-aiovg-admin-settings.php:383
479
  #: admin/class-aiovg-admin-shortcode.php:105
480
  #: widgets/categories/templates/admin.php:44
481
  msgid "Count"
482
  msgstr ""
483
 
484
+ #: admin/class-aiovg-admin-settings.php:384
485
  #: admin/class-aiovg-admin-shortcode.php:106
486
  #: widgets/categories/templates/admin.php:45
487
  msgid "Name"
488
  msgstr ""
489
 
490
+ #: admin/class-aiovg-admin-settings.php:385
491
  #: admin/class-aiovg-admin-shortcode.php:107
492
  #: widgets/categories/templates/admin.php:46
493
  msgid "Slug"
494
  msgstr ""
495
 
496
+ #: admin/class-aiovg-admin-settings.php:391
497
  #: admin/class-aiovg-admin-shortcode.php:101
498
  msgid "Sort Categories by"
499
  msgstr ""
500
 
501
+ #: admin/class-aiovg-admin-settings.php:395
502
+ #: admin/class-aiovg-admin-settings.php:459
503
  msgid "Ascending"
504
  msgstr ""
505
 
506
+ #: admin/class-aiovg-admin-settings.php:396
507
+ #: admin/class-aiovg-admin-settings.php:460
508
  msgid "Descending"
509
  msgstr ""
510
 
511
+ #: admin/class-aiovg-admin-settings.php:402
512
  #: admin/class-aiovg-admin-shortcode.php:125
513
  msgid "Show Description?"
514
  msgstr ""
515
 
516
+ #: admin/class-aiovg-admin-settings.php:403
517
  msgid "Check this to show the categories description"
518
  msgstr ""
519
 
520
+ #: admin/class-aiovg-admin-settings.php:409
521
  #: admin/class-aiovg-admin-shortcode.php:132
522
  msgid "Show Videos Count?"
523
  msgstr ""
524
 
525
+ #: admin/class-aiovg-admin-settings.php:410
526
  msgid "Check this to show the videos count next to the category name"
527
  msgstr ""
528
 
529
+ #: admin/class-aiovg-admin-settings.php:416
530
  #: admin/class-aiovg-admin-shortcode.php:139
531
  msgid "Hide Empty Categories?"
532
  msgstr ""
533
 
534
+ #: admin/class-aiovg-admin-settings.php:417
535
  msgid "Check this to hide categories with no videos"
536
  msgstr ""
537
 
538
+ #: admin/class-aiovg-admin-settings.php:426
539
  msgid "Enter the number of columns you like to have in the gallery view."
540
  msgstr ""
541
 
542
+ #: admin/class-aiovg-admin-settings.php:435
543
  msgid "Videos per Page"
544
  msgstr ""
545
 
546
+ #: admin/class-aiovg-admin-settings.php:436
547
  msgid ""
548
  "Number of videos to show per page. Use a value of \"0\" to show all videos."
549
  msgstr ""
550
 
551
+ #: admin/class-aiovg-admin-settings.php:442
552
  msgid "Order Videos by"
553
  msgstr ""
554
 
555
+ #: admin/class-aiovg-admin-settings.php:446
556
  #: admin/class-aiovg-admin-shortcode.php:173
557
  #: widgets/categories/templates/admin.php:15
558
  #: widgets/search/templates/admin.php:15 widgets/video/templates/admin.php:15
560
  msgid "Title"
561
  msgstr ""
562
 
563
+ #: admin/class-aiovg-admin-settings.php:447
564
  #: admin/class-aiovg-admin-shortcode.php:174
565
  #: widgets/videos/templates/admin.php:65
566
  msgid "Date Posted"
567
  msgstr ""
568
 
569
+ #: admin/class-aiovg-admin-settings.php:448
570
+ #: admin/class-aiovg-admin-settings.php:474
571
+ #: admin/class-aiovg-admin-settings.php:498
572
  #: admin/class-aiovg-admin-shortcode.php:175
573
  #: admin/class-aiovg-admin-shortcode.php:241
574
  #: widgets/videos/templates/admin.php:66 widgets/videos/templates/admin.php:124
575
  msgid "Views Count"
576
  msgstr ""
577
 
578
+ #: admin/class-aiovg-admin-settings.php:449
579
  #: admin/class-aiovg-admin-shortcode.php:176
580
  #: widgets/videos/templates/admin.php:67
581
  msgid "Random"
582
  msgstr ""
583
 
584
+ #: admin/class-aiovg-admin-settings.php:455
585
  msgid "Sort Videos by"
586
  msgstr ""
587
 
588
+ #: admin/class-aiovg-admin-settings.php:466
589
+ #: admin/class-aiovg-admin-settings.php:491
590
  #: admin/class-aiovg-admin-shortcode.php:208
591
  #: widgets/videos/templates/admin.php:105
592
  msgid "Show / Hide"
593
  msgstr ""
594
 
595
+ #: admin/class-aiovg-admin-settings.php:470
596
  #: admin/class-aiovg-admin-shortcode.php:213
597
  msgid "Videos Count"
598
  msgstr ""
599
 
600
+ #: admin/class-aiovg-admin-settings.php:471
601
+ #: admin/class-aiovg-admin-settings.php:495
602
  #: admin/class-aiovg-admin-shortcode.php:220
603
  #: widgets/videos/templates/admin.php:109
604
  msgid "Category Name"
605
  msgstr ""
606
 
607
+ #: admin/class-aiovg-admin-settings.php:472
608
+ #: admin/class-aiovg-admin-settings.php:496
609
  #: admin/class-aiovg-admin-shortcode.php:227
610
  #: widgets/videos/templates/admin.php:114
611
  msgid "Date Added"
612
  msgstr ""
613
 
614
+ #: admin/class-aiovg-admin-settings.php:473
615
+ #: admin/class-aiovg-admin-settings.php:497
616
  #: admin/class-aiovg-admin-shortcode.php:234
617
  msgid "Author Name"
618
  msgstr ""
619
 
620
+ #: admin/class-aiovg-admin-settings.php:475
621
  #: admin/class-aiovg-admin-shortcode.php:248
622
  #: widgets/videos/templates/admin.php:129
623
  msgid "Video Duration"
624
  msgstr ""
625
 
626
+ #: admin/class-aiovg-admin-settings.php:476
627
  msgid "Excerpt ( Short Description )"
628
  msgstr ""
629
 
630
+ #: admin/class-aiovg-admin-settings.php:482
631
  msgid "Excerpt Length"
632
  msgstr ""
633
 
634
+ #: admin/class-aiovg-admin-settings.php:483
635
  msgid "Number of characters."
636
  msgstr ""
637
 
638
+ #: admin/class-aiovg-admin-settings.php:499
639
  #: admin/class-aiovg-admin-shortcode.php:201
640
  #: widgets/videos/templates/admin.php:101
641
  msgid "Related Videos"
642
  msgstr ""
643
 
644
+ #: admin/class-aiovg-admin-settings.php:505
645
  msgid "Enable Comments"
646
  msgstr ""
647
 
648
+ #: admin/class-aiovg-admin-settings.php:506
649
  msgid ""
650
  "Allow visitors to comment videos using the standard WordPress comment form. "
651
  "Comments are public"
652
  msgstr ""
653
 
654
+ #: admin/class-aiovg-admin-settings.php:514
655
  msgid "GDPR - Show Consent"
656
  msgstr ""
657
 
658
+ #: admin/class-aiovg-admin-settings.php:515
659
  msgid "Ask for consent before loading YouTube/Vimeo content."
660
  msgstr ""
661
 
662
+ #: admin/class-aiovg-admin-settings.php:521
663
  msgid "GDPR - Consent Message"
664
  msgstr ""
665
 
666
+ #: admin/class-aiovg-admin-settings.php:528
667
  msgid "GDPR - Consent Button Label"
668
  msgstr ""
669
 
670
+ #: admin/class-aiovg-admin-settings.php:537
671
  msgid "Video Detail Page"
672
  msgstr ""
673
 
674
+ #: admin/class-aiovg-admin-settings.php:538
675
  msgid "Replaces the SLUG value used by custom post type \"aiovg_videos\"."
676
  msgstr ""
677
 
678
+ #: admin/class-aiovg-admin-settings.php:546
679
  msgid "Enable Services"
680
  msgstr ""
681
 
682
+ #: admin/class-aiovg-admin-settings.php:550
683
  #: admin/templates/video-sources.php:126 admin/templates/video-sources.php:129
684
+ #: includes/functions.php:800 includes/functions.php:1211
685
  msgid "Facebook"
686
  msgstr ""
687
 
688
+ #: admin/class-aiovg-admin-settings.php:551 includes/functions.php:1216
689
  msgid "Twitter"
690
  msgstr ""
691
 
692
+ #: admin/class-aiovg-admin-settings.php:552
693
  msgid "Google Plus"
694
  msgstr ""
695
 
696
+ #: admin/class-aiovg-admin-settings.php:553 includes/functions.php:1226
697
  msgid "Linkedin"
698
  msgstr ""
699
 
700
+ #: admin/class-aiovg-admin-settings.php:554
701
  msgid "Pinterest"
702
  msgstr ""
703
 
704
+ #: admin/class-aiovg-admin-settings.php:562
705
  msgid "Single Category Page"
706
  msgstr ""
707
 
708
+ #: admin/class-aiovg-admin-settings.php:563
709
  msgid ""
710
  "This is the page where the videos from a particular category is displayed. "
711
  "The [aiovg_category] short code must be on this page."
712
  msgstr ""
713
 
714
+ #: admin/class-aiovg-admin-settings.php:569
715
  msgid "Search Page"
716
  msgstr ""
717
 
718
+ #: admin/class-aiovg-admin-settings.php:570
719
  msgid ""
720
  "This is the page where the search results are displayed. The [aiovg_search] "
721
  "short code must be on this page."
722
  msgstr ""
723
 
724
+ #: admin/class-aiovg-admin-settings.php:576
725
  msgid "User Videos Page"
726
  msgstr ""
727
 
728
+ #: admin/class-aiovg-admin-settings.php:577
729
  msgid ""
730
  "This is the page where the videos from an user is displayed. The "
731
  "[aiovg_user_videos] short code must be on this page."
732
  msgstr ""
733
 
734
+ #: admin/class-aiovg-admin-settings.php:583
735
  msgid "Player Page"
736
  msgstr ""
737
 
738
+ #: admin/class-aiovg-admin-settings.php:584
739
  msgid "This is the page used to show the video player."
740
  msgstr ""
741
 
742
+ #: admin/class-aiovg-admin-settings.php:870
743
  msgid "Choose File"
744
  msgstr ""
745
 
746
+ #: admin/class-aiovg-admin-settings.php:925
747
  msgid "Select a page"
748
  msgstr ""
749
 
1000
  msgid "Support"
1001
  msgstr ""
1002
 
1003
+ #: admin/class-aiovg-admin.php:107
 
 
 
 
 
 
 
 
 
 
1004
  msgid "All-in-One Video Gallery"
1005
  msgstr ""
1006
 
1007
+ #: admin/class-aiovg-admin.php:109
1008
  msgid "Online Documentation"
1009
  msgstr ""
1010
 
1011
+ #: admin/class-aiovg-admin.php:110
1012
  msgid "Contact Support"
1013
  msgstr ""
1014
 
1015
+ #: admin/class-aiovg-admin.php:111
1016
  msgid "Premium Add-ons"
1017
  msgstr ""
1018
 
1080
  msgstr ""
1081
 
1082
  #: admin/templates/video-sources.php:93 admin/templates/video-sources.php:96
1083
+ #: includes/functions.php:797
1084
  msgid "YouTube"
1085
  msgstr ""
1086
 
1089
  msgstr ""
1090
 
1091
  #: admin/templates/video-sources.php:104 admin/templates/video-sources.php:107
1092
+ #: includes/functions.php:798
1093
  msgid "Vimeo"
1094
  msgstr ""
1095
 
1098
  msgstr ""
1099
 
1100
  #: admin/templates/video-sources.php:115 admin/templates/video-sources.php:118
1101
+ #: includes/functions.php:799
1102
  msgid "Dailymotion"
1103
  msgstr ""
1104
 
1172
 
1173
  #: admin/templates/welcome.php:19
1174
  msgid ""
1175
+ "Responsive & Lightweight Video gallery plugin. No coding required. Add/"
1176
+ "Manage videos through a dedicated custom post interface, group them by "
1177
+ "categories, customize the front-end display using the shortcode builder as "
1178
+ "you need, provide the option for users to search videos, plus everything you "
1179
+ "will need to build a YouTube/Vimeo like video sharing website."
1180
  msgstr ""
1181
 
1182
  #: admin/templates/welcome.php:35
1183
  msgid ""
1184
+ "Built over the WordPress' Native Video Player. Supports any browser & video "
1185
+ "formats such as MP4, WebM, OGV and embeddable players like YouTube, Vimeo, "
1186
+ "Dailymotion, Facebook, etc."
1187
  msgstr ""
1188
 
1189
  #: admin/templates/welcome.php:50
1246
 
1247
  #: admin/templates/welcome.php:111
1248
  msgid ""
1249
+ "Custom Logo & Branding, GDPR Consent, Subtitles, Comments, Social Sharing, "
1250
+ "Pagination and lot more."
 
1251
  msgstr ""
1252
 
1253
  #: admin/templates/welcome.php:119
1277
  "for customers that need faster and/or more in-depth assistance."
1278
  msgstr ""
1279
 
1280
+ #: includes/functions.php:340
1281
+ #, php-format
1282
+ msgid "Proudly by \"%s\""
1283
+ msgstr ""
1284
+
1285
+ #: includes/functions.php:381
1286
+ msgid ""
1287
+ "<strong>Please accept cookies to play this video</strong>. By accepting you "
1288
+ "will be accessing content from a service provided by an external third party."
1289
+ msgstr ""
1290
+
1291
+ #: includes/functions.php:382
1292
+ msgid "Accept"
1293
+ msgstr ""
1294
+
1295
+ #: includes/functions.php:519
1296
  msgid "No Items found."
1297
  msgstr ""
1298
 
1299
+ #: includes/functions.php:796
1300
  msgid "Self Hosted"
1301
  msgstr ""
1302
 
1303
+ #: includes/functions.php:796
1304
  msgid "External URL"
1305
  msgstr ""
1306
 
1307
+ #: includes/functions.php:801
1308
  msgid "Iframe Embed Code"
1309
  msgstr ""
1310
 
1311
+ #: includes/functions.php:944
1312
  msgid "Video Category"
1313
  msgstr ""
1314
 
1315
+ #: includes/functions.php:948 widgets/search/class-aiovg-widget-search.php:117
1316
  msgid "Search Videos"
1317
  msgstr ""
1318
 
1319
+ #: includes/functions.php:952
1320
  msgid "User Videos"
1321
  msgstr ""
1322
 
1323
+ #: includes/functions.php:956
1324
  msgid "Player Embed"
1325
  msgstr ""
1326
 
1327
+ #: includes/functions.php:1127
1328
  msgid "&laquo;"
1329
  msgstr ""
1330
 
1331
+ #: includes/functions.php:1128
1332
  msgid "&raquo;"
1333
  msgstr ""
1334
 
1335
+ #: includes/functions.php:1152
1336
  #, php-format
1337
  msgid "Page %d of %d"
1338
  msgstr ""
1339
 
1340
+ #: includes/functions.php:1221
1341
  msgid "Google+"
1342
  msgstr ""
1343
 
1344
+ #: includes/functions.php:1231
1345
  msgid "Pin It"
1346
  msgstr ""
1347
 
1359
  msgid "%d videos"
1360
  msgstr ""
1361
 
1362
+ #: public/templates/player.php:507
1363
+ msgid "Please wait"
1364
+ msgstr ""
1365
+
1366
  #: public/templates/search-form-horizontal.php:31
1367
  #: public/templates/search-form-vertical.php:29
1368
  msgid "Select a Category"
public/assets/mediaelement/plugins/context-menu/context-menu-i18n.js DELETED
@@ -1,107 +0,0 @@
1
- 'use strict';
2
-
3
- if (mejs.i18n.ca !== undefined) {
4
- mejs.i18n.ca['mejs.fullscreen-off'] = 'Desconnectar pantalla completaa';
5
- mejs.i18n.ca['mejs.fullscreen-on'] = 'Anar a pantalla completa';
6
- mejs.i18n.ca['mejs.download-video'] = 'Descarregar vídeo';
7
- }
8
- if (mejs.i18n.cs !== undefined) {
9
- mejs.i18n.cs['mejs.fullscreen-off'] = 'Vypnout režim celá obrazovka';
10
- mejs.i18n.cs['mejs.fullscreen-on'] = 'Na celou obrazovku';
11
- mejs.i18n.cs['mejs.download-video'] = 'Stáhnout video';
12
- }
13
- if (mejs.i18n.de !== undefined) {
14
- mejs.i18n.de['mejs.fullscreen-off'] = 'Vollbildmodus beenden';
15
- mejs.i18n.de['mejs.fullscreen-on'] = 'Vollbild';
16
- mejs.i18n.de['mejs.download-video'] = 'Video herunterladen';
17
- }
18
- if (mejs.i18n.es !== undefined) {
19
- mejs.i18n.es['mejs.fullscreen-off'] = 'Desconectar pantalla completa';
20
- mejs.i18n.es['mejs.fullscreen-on'] = 'Ir a pantalla completa';
21
- mejs.i18n.es['mejs.download-video'] = 'Descargar vídeo';
22
- }
23
- if (mejs.i18n.fa !== undefined) {
24
- mejs.i18n.fa['mejs.fullscreen-off'] = 'تمام صفحه را خاموش کنید';
25
- mejs.i18n.fa['mejs.fullscreen-on'] = 'برو تمام صفحه';
26
- mejs.i18n.fa['mejs.download-video'] = 'دانلود فیلم';
27
- }
28
- if (mejs.i18n.fr !== undefined) {
29
- mejs.i18n.fr['mejs.fullscreen-off'] = 'Quitter le mode plein écran';
30
- mejs.i18n.fr['mejs.fullscreen-on'] = 'Afficher en plein écran';
31
- mejs.i18n.fr['mejs.download-video'] = 'Télécharger la vidéo';
32
- }
33
- if (mejs.i18n.hr !== undefined) {
34
- mejs.i18n.hr['mejs.fullscreen-off'] = 'Isključi puni zaslon';
35
- mejs.i18n.hr['mejs.fullscreen-on'] = 'Uključi puni zaslon';
36
- mejs.i18n.hr['mejs.download-video'] = 'Preuzmi video';
37
- }
38
- if (mejs.i18n.hu !== undefined) {
39
- mejs.i18n.hu['mejs.fullscreen-off'] = 'Teljes képernyő kikapcsolása';
40
- mejs.i18n.hu['mejs.fullscreen-on'] = 'Átlépés teljes képernyős módra';
41
- mejs.i18n.hu['mejs.download-video'] = 'Videó letöltése';
42
- }
43
- if (mejs.i18n.it !== undefined) {
44
- mejs.i18n.it['mejs.fullscreen-off'] = 'Disattivare lo schermo intero';
45
- mejs.i18n.it['mejs.fullscreen-on'] = 'Attivare lo schermo intero';
46
- mejs.i18n.it['mejs.download-video'] = 'Scaricare il video';
47
- }
48
- if (mejs.i18n.ja !== undefined) {
49
- mejs.i18n.ja['mejs.fullscreen-off'] = '全画面をオフにする';
50
- mejs.i18n.ja['mejs.fullscreen-on'] = '全画面にする';
51
- mejs.i18n.ja['mejs.download-video'] = '動画をダウンロードする';
52
- }
53
- if (mejs.i18n.ko !== undefined) {
54
- mejs.i18n.ko['mejs.fullscreen-off'] = '전체화면 해제';
55
- mejs.i18n.ko['mejs.fullscreen-on'] = '전체화면 가기';
56
- mejs.i18n.ko['mejs.download-video'] = '비디오 다운로드';
57
- }
58
- if (mejs.i18n.nl !== undefined) {
59
- mejs.i18n.nl['mejs.fullscreen-off'] = 'Volledig scherm uitschakelen';
60
- mejs.i18n.nl['mejs.fullscreen-on'] = 'Volledig scherm';
61
- mejs.i18n.nl['mejs.download-video'] = 'Video downloaden';
62
- }
63
- if (mejs.i18n.pl !== undefined) {
64
- mejs.i18n.pl['mejs.fullscreen-off'] = 'Wyłącz pełny ekran';
65
- mejs.i18n.pl['mejs.fullscreen-on'] = 'Przejdź na pełny ekran';
66
- mejs.i18n.pl['mejs.download-video'] = 'Pobierz wideo';
67
- }
68
- if (mejs.i18n.pt !== undefined) {
69
- mejs.i18n.pt['mejs.fullscreen-off'] = 'Desligar ecrã completo';
70
- mejs.i18n.pt['mejs.fullscreen-on'] = 'Ir para ecrã completo';
71
- mejs.i18n.pt['mejs.download-video'] = 'Descarregar o vídeo';
72
- }
73
- if (mejs.i18n.ro !== undefined) {
74
- mejs.i18n.ro['mejs.fullscreen-off'] = 'Opreşte ecranul complet';
75
- mejs.i18n.ro['mejs.fullscreen-on'] = 'Treci la ecran complet';
76
- mejs.i18n.ro['mejs.download-video'] = 'Descarcă fişierul video';
77
- }
78
- if (mejs.i18n.ru !== undefined) {
79
- mejs.i18n.ru['mejs.fullscreen-off'] = 'Выключить полноэкранный режим';
80
- mejs.i18n.ru['mejs.fullscreen-on'] = 'Перейти в полноэкранный режим';
81
- mejs.i18n.ru['mejs.download-video'] = 'Скачать видео';
82
- }
83
- if (mejs.i18n.sk !== undefined) {
84
- mejs.i18n.sk['mejs.fullscreen-off'] = 'Vypnúť celú obrazovku';
85
- mejs.i18n.sk['mejs.fullscreen-on'] = 'Prejsť na celú obrazovku';
86
- mejs.i18n.sk['mejs.download-video'] = 'Prevziať video';
87
- }
88
- if (mejs.i18n.sv !== undefined) {
89
- mejs.i18n.sv['mejs.fullscreen-off'] = 'Stäng av Fullskärmläge';
90
- mejs.i18n.sv['mejs.fullscreen-on'] = 'Visa i Fullskärmsläge';
91
- mejs.i18n.sv['mejs.download-video'] = 'Ladda ner Video';
92
- }
93
- if (mejs.i18n.uk !== undefined) {
94
- mejs.i18n.uk['mejs.fullscreen-off'] = 'Вимкнути повноекранний режим';
95
- mejs.i18n.uk['mejs.fullscreen-on'] = 'Увійти в повноекранний режим';
96
- mejs.i18n.uk['mejs.download-video'] = 'Скачати відео';
97
- }
98
- if (mejs.i18n.zh !== undefined) {
99
- mejs.i18n.zh['mejs.fullscreen-off'] = '關閉全屏';
100
- mejs.i18n.zh['mejs.fullscreen-on'] = '轉向全屏';
101
- mejs.i18n.zh['mejs.download-video'] = '下載視頻';
102
- }
103
- if (mejs.i18n['zh-CN'] !== undefined) {
104
- mejs.i18n['zh-CN']['mejs.fullscreen-off'] = '关闭全屏';
105
- mejs.i18n['zh-CN']['mejs.fullscreen-on'] = '转向全屏';
106
- mejs.i18n['zh-CN']['mejs.download-video'] = '下载视频';
107
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/assets/mediaelement/plugins/context-menu/context-menu.css DELETED
@@ -1,35 +0,0 @@
1
- .mejs__contextmenu,
2
- .mejs-contextmenu {
3
- font-family: Helvetica, Arial, sans-serif;
4
- background: #fff;
5
- border: solid 1px #ccc;
6
- border-radius: 2px;
7
- left: 0;
8
- padding: 10px;
9
- position: absolute;
10
- top: 0;
11
- width: 150px;
12
- z-index: 9999999999; /* make sure it shows on fullscreen */
13
- }
14
-
15
- .mejs__contextmenu-separator,
16
- .mejs-contextmenu-separator {
17
- background: #333;
18
- font-size: 0;
19
- height: 1px;
20
- margin: 5px 6px;
21
- }
22
-
23
- .mejs__contextmenu-item,
24
- .mejs-contextmenu-item {
25
- color: #333;
26
- cursor: pointer;
27
- font-size: 14px;
28
- padding: 4px 6px;
29
- }
30
-
31
- .mejs__contextmenu-item:hover,
32
- .mejs-contextmenu-item:hover {
33
- background: #2c7c91;
34
- color: #fff;
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/assets/mediaelement/plugins/context-menu/context-menu.js DELETED
@@ -1,187 +0,0 @@
1
- /*!
2
- * MediaElement.js
3
- * http://www.mediaelementjs.com/
4
- *
5
- * Wrapper that mimics native HTML5 MediaElement (audio and video)
6
- * using a variety of technologies (pure JavaScript, Flash, iframe)
7
- *
8
- * Copyright 2010-2017, John Dyer (http://j.hn/)
9
- * License: MIT
10
- *
11
- */(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
12
- 'use strict';
13
-
14
- mejs.i18n.en['mejs.fullscreen-off'] = 'Turn off Fullscreen';
15
- mejs.i18n.en['mejs.fullscreen-on'] = 'Go Fullscreen';
16
- mejs.i18n.en['mejs.download-video'] = 'Download Video';
17
-
18
- Object.assign(mejs.MepDefaults, {
19
- contextMenuItems: [{
20
- render: function render(player) {
21
- if (player.enterFullScreen === undefined) {
22
- return null;
23
- }
24
-
25
- if (player.isFullScreen) {
26
- return mejs.i18n.t('mejs.fullscreen-off');
27
- } else {
28
- return mejs.i18n.t('mejs.fullscreen-on');
29
- }
30
- },
31
- click: function click(player) {
32
- if (player.isFullScreen) {
33
- player.exitFullScreen();
34
- } else {
35
- player.enterFullScreen();
36
- }
37
- }
38
- }, {
39
- render: function render(player) {
40
- if (player.media.muted) {
41
- return mejs.i18n.t('mejs.unmute');
42
- } else {
43
- return mejs.i18n.t('mejs.mute');
44
- }
45
- },
46
- click: function click(player) {
47
- if (player.media.muted) {
48
- player.setMuted(false);
49
- } else {
50
- player.setMuted(true);
51
- }
52
- }
53
- }]
54
- });
55
-
56
- Object.assign(MediaElementPlayer.prototype, {
57
-
58
- isContextMenuEnabled: true,
59
-
60
- contextMenuTimeout: null,
61
-
62
- buildcontextmenu: function buildcontextmenu(player) {
63
-
64
- if (!player.isVideo) {
65
- return;
66
- }
67
-
68
- if (!document.querySelector('.' + player.options.classPrefix + 'contextmenu')) {
69
- player.contextMenu = document.createElement('div');
70
- player.contextMenu.className = player.options.classPrefix + 'contextmenu';
71
- player.contextMenu.style.display = 'none';
72
-
73
- document.body.appendChild(player.contextMenu);
74
- }
75
-
76
- player.container.addEventListener('contextmenu', function (e) {
77
- if (player.isContextMenuEnabled && (e.keyCode === 3 || e.which === 3)) {
78
- player.renderContextMenu(e);
79
- e.preventDefault();
80
- e.stopPropagation();
81
- }
82
- });
83
- player.container.addEventListener('click', function () {
84
- player.contextMenu.style.display = 'none';
85
- });
86
- player.contextMenu.addEventListener('mouseleave', function () {
87
- player.startContextMenuTimer();
88
- });
89
- },
90
- cleancontextmenu: function cleancontextmenu(player) {
91
- player.contextMenu.remove();
92
- },
93
- enableContextMenu: function enableContextMenu() {
94
- this.isContextMenuEnabled = true;
95
- },
96
- disableContextMenu: function disableContextMenu() {
97
- this.isContextMenuEnabled = false;
98
- },
99
- startContextMenuTimer: function startContextMenuTimer() {
100
- var t = this;
101
-
102
- t.killContextMenuTimer();
103
-
104
- t.contextMenuTimer = setTimeout(function () {
105
- t.hideContextMenu();
106
- t.killContextMenuTimer();
107
- }, 750);
108
- },
109
- killContextMenuTimer: function killContextMenuTimer() {
110
- var timer = this.contextMenuTimer;
111
-
112
- if (timer !== null && timer !== undefined) {
113
- clearTimeout(timer);
114
- timer = null;
115
- }
116
- },
117
- hideContextMenu: function hideContextMenu() {
118
- this.contextMenu.style.display = 'none';
119
- },
120
- renderContextMenu: function renderContextMenu(event) {
121
- var t = this,
122
- html = '',
123
- items = t.options.contextMenuItems;
124
-
125
- for (var i = 0, total = items.length; i < total; i++) {
126
-
127
- var item = items[i];
128
-
129
- if (item.isSeparator) {
130
- html += '<div class="' + t.options.classPrefix + 'contextmenu-separator"></div>';
131
- } else {
132
-
133
- var rendered = item.render(t);
134
-
135
- if (rendered !== null && rendered !== undefined) {
136
- html += '<div class="' + t.options.classPrefix + 'contextmenu-item" data-itemindex="' + i + '" id="element-' + Math.random() * 1000000 + '">' + rendered + '</div>';
137
- }
138
- }
139
- }
140
-
141
- t.contextMenu.innerHTML = html;
142
-
143
- var width = t.contextMenu.offsetWidth,
144
- height = t.contextMenu.offsetHeight,
145
- x = event.pageX,
146
- y = event.pageY,
147
- doc = document.documentElement,
148
- scrollLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),
149
- scrollTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0),
150
- left = x + width > window.innerWidth + scrollLeft ? x - width : x,
151
- top = y + height > window.innerHeight + scrollTop ? y - height : y;
152
-
153
- t.contextMenu.style.display = '';
154
- t.contextMenu.style.left = left + 'px';
155
- t.contextMenu.style.top = top + 'px';
156
-
157
- var contextItems = t.contextMenu.querySelectorAll('.' + t.options.classPrefix + 'contextmenu-item');
158
-
159
- var _loop = function _loop(_i, _total) {
160
- var menuItem = contextItems[_i],
161
- itemIndex = parseInt(menuItem.getAttribute('data-itemindex'), 10),
162
- item = t.options.contextMenuItems[itemIndex];
163
-
164
- if (typeof item.show !== 'undefined') {
165
- item.show(menuItem, t);
166
- }
167
-
168
- menuItem.addEventListener('click', function () {
169
- if (typeof item.click !== 'undefined') {
170
- item.click(t);
171
- }
172
-
173
- t.contextMenu.style.display = 'none';
174
- });
175
- };
176
-
177
- for (var _i = 0, _total = contextItems.length; _i < _total; _i++) {
178
- _loop(_i, _total);
179
- }
180
-
181
- setTimeout(function () {
182
- t.killControlsTimer();
183
- }, 100);
184
- }
185
- });
186
-
187
- },{}]},{},[1]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/assets/mediaelement/plugins/context-menu/context-menu.min.css DELETED
@@ -1 +0,0 @@
1
- .mejs-contextmenu,.mejs__contextmenu{background:#fff;border:1px solid #999;border-radius:4px;left:0;padding:10px;position:absolute;top:0;width:150px;z-index:1}.mejs-contextmenu-separator,.mejs__contextmenu-separator{background:#333;font-size:0;height:1px;margin:5px 6px}.mejs-contextmenu-item,.mejs__contextmenu-item{color:#333;cursor:pointer;font-size:12px;padding:4px 6px}.mejs-contextmenu-item:hover,.mejs__contextmenu-item:hover{background:#2c7c91;color:#fff}
 
public/assets/mediaelement/plugins/context-menu/context-menu.min.js DELETED
@@ -1,12 +0,0 @@
1
- /*!
2
- * MediaElement.js
3
- * http://www.mediaelementjs.com/
4
- *
5
- * Wrapper that mimics native HTML5 MediaElement (audio and video)
6
- * using a variety of technologies (pure JavaScript, Flash, iframe)
7
- *
8
- * Copyright 2010-2017, John Dyer (http://j.hn/)
9
- * License: MIT
10
- *
11
- */
12
- !function e(n,t,o){function i(r,c){if(!t[r]){if(!n[r]){var s="function"==typeof require&&require;if(!c&&s)return s(r,!0);if(u)return u(r,!0);var l=new Error("Cannot find module '"+r+"'");throw l.code="MODULE_NOT_FOUND",l}var a=t[r]={exports:{}};n[r][0].call(a.exports,function(e){var t=n[r][1][e];return i(t||e)},a,a.exports,e,n,t,o)}return t[r].exports}for(var u="function"==typeof require&&require,r=0;r<o.length;r++)i(o[r]);return i}({1:[function(e,n,t){"use strict";mejs.i18n.en["mejs.fullscreen-off"]="Turn off Fullscreen",mejs.i18n.en["mejs.fullscreen-on"]="Go Fullscreen",mejs.i18n.en["mejs.download-video"]="Download Video",Object.assign(mejs.MepDefaults,{contextMenuItems:[{render:function(e){return void 0===e.enterFullScreen?null:e.isFullScreen?mejs.i18n.t("mejs.fullscreen-off"):mejs.i18n.t("mejs.fullscreen-on")},click:function(e){e.isFullScreen?e.exitFullScreen():e.enterFullScreen()}},{render:function(e){return e.media.muted?mejs.i18n.t("mejs.unmute"):mejs.i18n.t("mejs.mute")},click:function(e){e.media.muted?e.setMuted(!1):e.setMuted(!0)}},{isSeparator:!0},{render:function(){return mejs.i18n.t("mejs.download-video")},click:function(e){window.location.href=e.media.currentSrc}}]}),Object.assign(MediaElementPlayer.prototype,{isContextMenuEnabled:!0,contextMenuTimeout:null,buildcontextmenu:function(e){e.isVideo&&(document.querySelector("."+e.options.classPrefix+"contextmenu")||(e.contextMenu=document.createElement("div"),e.contextMenu.className=e.options.classPrefix+"contextmenu",e.contextMenu.style.display="none",document.body.appendChild(e.contextMenu)),e.container.addEventListener("contextmenu",function(n){!e.isContextMenuEnabled||3!==n.keyCode&&3!==n.which||(e.renderContextMenu(n),n.preventDefault(),n.stopPropagation())}),e.container.addEventListener("click",function(){e.contextMenu.style.display="none"}),e.contextMenu.addEventListener("mouseleave",function(){e.startContextMenuTimer()}))},cleancontextmenu:function(e){e.contextMenu.remove()},enableContextMenu:function(){this.isContextMenuEnabled=!0},disableContextMenu:function(){this.isContextMenuEnabled=!1},startContextMenuTimer:function(){var e=this;e.killContextMenuTimer(),e.contextMenuTimer=setTimeout(function(){e.hideContextMenu(),e.killContextMenuTimer()},750)},killContextMenuTimer:function(){var e=this.contextMenuTimer;null!==e&&void 0!==e&&(clearTimeout(e),e=null)},hideContextMenu:function(){this.contextMenu.style.display="none"},renderContextMenu:function(e){for(var n=this,t="",o=n.options.contextMenuItems,i=0,u=o.length;i<u;i++){var r=o[i];if(r.isSeparator)t+='<div class="'+n.options.classPrefix+'contextmenu-separator"></div>';else{var c=r.render(n);null!==c&&void 0!==c&&(t+='<div class="'+n.options.classPrefix+'contextmenu-item" data-itemindex="'+i+'" id="element-'+1e6*Math.random()+'">'+c+"</div>")}}n.contextMenu.innerHTML=t;var s=n.contextMenu.offsetWidth,l=n.contextMenu.offsetHeight,a=e.pageX,d=e.pageY,f=document.documentElement,m=(window.pageXOffset||f.scrollLeft)-(f.clientLeft||0),x=(window.pageYOffset||f.scrollTop)-(f.clientTop||0),M=a+s>window.innerWidth+m?a-s:a,p=d+l>window.innerHeight+x?d-l:d;n.contextMenu.style.display="",n.contextMenu.style.left=M+"px",n.contextMenu.style.top=p+"px";for(var v=n.contextMenu.querySelectorAll("."+n.options.classPrefix+"contextmenu-item"),h=0,y=v.length;h<y;h++)!function(e,t){var o=v[e],i=parseInt(o.getAttribute("data-itemindex"),10),u=n.options.contextMenuItems[i];void 0!==u.show&&u.show(o,n),o.addEventListener("click",function(){void 0!==u.click&&u.click(n),n.contextMenu.style.display="none"})}(h);setTimeout(function(){n.killControlsTimer()},100)}})},{}]},{},[1]);
 
 
 
 
 
 
 
 
 
 
 
 
public/assets/mediaelement/plugins/index.html DELETED
@@ -1 +0,0 @@
1
- <!DOCTYPE html><title></title>
 
public/class-aiovg-public-video.php CHANGED
@@ -70,11 +70,11 @@ class AIOVG_Public_Video {
70
 
71
  if ( ! empty( $atts['id'] ) ) {
72
  $post_id = (int) $atts['id'];
73
- } elseif ( empty( $atts ) ) {
74
  $query = array(
75
  'post_type' => 'aiovg_videos',
76
  'post_status' => 'publish',
77
- 'posts_per_page' => -1,
78
  'fields' => 'ids'
79
  );
80
  $ids = get_posts( $query );
70
 
71
  if ( ! empty( $atts['id'] ) ) {
72
  $post_id = (int) $atts['id'];
73
+ } elseif ( empty( $atts['id'] ) ) {
74
  $query = array(
75
  'post_type' => 'aiovg_videos',
76
  'post_status' => 'publish',
77
+ 'posts_per_page' => 1,
78
  'fields' => 'ids'
79
  );
80
  $ids = get_posts( $query );
public/templates/player.php CHANGED
@@ -10,73 +10,22 @@
10
  * @subpackage AIOVG/public/templates
11
  */
12
 
13
- $player_settings = get_option( 'aiovg_player_settings' );
 
14
  $privacy_settings = get_option( 'aiovg_privacy_settings' );
15
 
16
  $post_id = (int) get_query_var( 'aiovg_video', 0 );
17
-
18
  $post_meta = array();
19
- if( $post_id > 0 ) {
20
- $post_meta = get_post_meta( $post_id );
21
- }
22
-
23
- // Controls
24
- $controls = array( 'contextmenu', 'aiovg' );
25
- $features = array( 'playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen' );
26
 
27
- foreach ( $features as $feature ) {
28
-
29
- if ( isset( $_GET[ $feature ] ) ) {
30
-
31
- if ( 1 == (int) $_GET[ $feature ] ) {
32
- $controls[] = $feature;
33
- }
34
-
35
- } else {
36
-
37
- if ( isset( $player_settings['controls'][ $feature ] ) ) {
38
- $controls[] = $feature;
39
- }
40
 
 
 
41
  }
42
-
43
- }
44
-
45
- $controls = apply_filters( 'aiovg_video_controls', $controls );
46
-
47
- // Attributes
48
- $attributes = array();
49
-
50
- if ( isset( $_GET['poster'] ) ) {
51
- $attributes['poster'] = $_GET['poster'];
52
- } elseif ( ! empty( $post_meta ) ) {
53
- $attributes['poster'] = aiovg_get_image_url( $post_meta['image_id'][0], 'large', $post_meta['image'][0], 'player' );
54
- }
55
-
56
- if( ! empty( $attributes['poster'] ) ) {
57
- $attributes['poster'] = esc_url( $attributes['poster'] );
58
-
59
- if ( false !== strpos( $attributes['poster'], 'youtube' ) ) {
60
- $attributes['poster'] = str_replace( array( 'https:', 'http:' ), '', $attributes['poster'] );
61
- }
62
- }
63
-
64
-
65
- $autoplay = isset( $_GET['autoplay'] ) ? (int) $_GET['autoplay'] : $player_settings['autoplay'];
66
- if ( ! empty( $autoplay ) ) {
67
- $attributes['autoplay'] = true;
68
- }
69
-
70
- $loop = isset( $_GET['loop'] ) ? (int) $_GET['loop'] : $player_settings['loop'];
71
- if ( ! empty( $loop ) ) {
72
- $attributes['loop'] = true;
73
  }
74
 
75
- $attributes['preload'] = esc_attr( $player_settings['preload'] );
76
-
77
- $attributes = apply_filters( 'aiovg_video_attributes', $attributes );
78
-
79
- // Sources
80
  $types = array(
81
  'all' => array( 'mp4', 'webm', 'ogv', 'youtube', 'vimeo', 'dailymotion', 'facebook' ),
82
  'default' => array( 'mp4', 'webm', 'ogv' ),
@@ -93,7 +42,7 @@ if ( ! empty( $post_meta ) ) {
93
  }
94
 
95
  $sources = array();
96
- $formats = array();
97
 
98
  foreach ( $types as $type ) {
99
 
@@ -111,248 +60,478 @@ foreach ( $types as $type ) {
111
  'src' => $src
112
  );
113
 
114
- $formats[] = $type;
 
 
115
  }
116
 
117
  }
118
 
119
  $sources = apply_filters( 'aiovg_video_sources', $sources );
120
 
121
- // Tracks
122
- $tracks = array();
 
 
 
123
 
124
- if ( in_array( 'tracks', $controls ) && ! empty( $post_meta['track'] ) ) {
125
 
126
- foreach ( $post_meta['track'] as $track ) {
127
- $tracks[] = unserialize( $track );
 
 
128
  }
129
 
130
  }
131
 
132
- $tracks = apply_filters( 'aiovg_video_tracks', $tracks );
 
 
 
 
 
 
133
 
134
- // Mobile
135
- $is_mobile = false;
136
- $use_native_controls = 0;
 
 
137
 
138
- if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '/iPhone|iPod|iPad|BlackBerry|Android/', $_SERVER['HTTP_USER_AGENT'] ) ) {
139
- $is_mobile = true;
 
 
 
 
140
  }
141
 
142
- if ( $is_mobile ) {
143
- $attributes['autoplay'] = false;
 
 
144
 
145
- if ( in_array( 'youtube', $formats ) || in_array( 'vimeo', $formats ) || in_array( 'dailymotion', $formats ) || in_array( 'facebook', $formats ) ) {
146
- $attributes['poster'] = '';
147
  $use_native_controls = 1;
148
  }
 
 
 
 
 
 
149
  }
150
 
151
- // Privacy
152
- if ( isset( $_COOKIE['aiovg_gdpr_consent'] ) || empty( $privacy_settings['show_consent'] ) || empty( $privacy_settings['consent_message'] ) || empty( $privacy_settings['consent_button_label'] ) ) {
153
- $show_consent = 0;
154
- } else {
155
- foreach ( $sources as $source ){
156
- if ( 'video/youtube' == $source['type'] || 'video/vimeo' == $source['type'] || 'video/dailymotion' == $source['type'] || 'video/facebook' == $source['type'] ) {
157
- $show_consent = 1;
158
- $attributes['privacy'] = true;
159
- $attributes['data-src'] = esc_url_raw( $source['src'] );
160
-
161
- $sources = array();
 
 
 
 
 
 
 
 
 
 
 
 
162
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  }
 
164
  }
 
 
165
  ?>
166
  <!DOCTYPE html>
167
  <html>
168
  <head>
169
- <link rel="stylesheet" href="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/mediaelementplayer.css?v=4.2.9" />
170
- <link rel="stylesheet" href="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/plugins/context-menu/context-menu.css?v=2.4.0" />
171
- <style type="text/css">
172
- html,
173
- body,
174
- video,
175
- iframe {
176
- width: 100% !important;
177
- height: 100% !important;
178
- margin:0 !important;
179
- padding:0 !important;
180
- overflow: hidden;
181
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
 
183
- video,
184
- iframe {
185
- display: block;
186
- }
 
 
 
 
187
 
188
- .mejs__container,
189
- .mejs__layer {
190
- width: 100% !important;
191
- height: 100% !important;
192
- }
193
-
194
- .mejs__captions-layer {
195
- pointer-events: none;
196
- }
197
-
198
- .mejs__privacy {
199
- color: #FFF;
200
- text-align: center;
201
- z-index: 999;
202
- }
203
-
204
- .mejs__privacy-consent-block {
205
- margin: 15px;
206
- padding: 15px;
207
- background: #000;
208
- border-radius: 3px;
209
- opacity: 0.9;
210
- }
211
-
212
- .mejs__privacy-consent-button {
213
- display: inline-block;
214
- margin-top: 10px;
215
- padding: 5px 15px;
216
- background: #F00;
217
- border-radius: 3px;
218
- cursor: pointer;
219
- }
220
-
221
- .mejs__privacy-consent-button:hover {
222
- opacity: 0.8;
223
- }
224
- </style>
225
- <script src="<?php echo includes_url(); ?>js/jquery/jquery.js?v=<?php echo AIOVG_PLUGIN_VERSION; ?>" type="text/javascript"></script>
226
- <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/mediaelement-and-player.min.js?v=4.2.9" type="text/javascript"></script>
227
- <?php if ( in_array( 'vimeo', $formats ) ) : ?>
228
- <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/renderers/vimeo.min.js?v=4.2.9" type="text/javascript"></script>
229
- <?php endif; ?>
230
- <?php if ( in_array( 'dailymotion', $formats ) ) : ?>
231
- <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/renderers/dailymotion.min.js?v=4.2.9" type="text/javascript"></script>
232
- <?php endif; ?>
233
- <?php if ( in_array( 'facebook', $formats ) ) : ?>
234
- <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/renderers/facebook.min.js?v=4.2.9" type="text/javascript"></script>
235
- <?php endif; ?>
236
- <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/plugins/context-menu/context-menu.js?v=2.4.0" type="text/javascript"></script>
237
- <script type="text/javascript">
238
- (function( $ ) {
239
- 'use strict';
240
-
241
- Object.assign(mejs.MepDefaults, {
242
- privacyConsentMessage: '<?php echo wp_kses_post( $privacy_settings['consent_message'] ); ?>',
243
- privacyConsentButtonLabel: '<?php echo sanitize_text_field( $privacy_settings['consent_button_label'] ); ?>'
244
- });
245
-
246
- Object.assign(MediaElementPlayer.prototype, {
247
-
248
- buildaiovg: function buildaiovg( player, controls, layers, media ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
 
250
- var t = this;
 
 
 
 
 
 
 
 
251
 
252
- // Privacy
253
- var showPrivacyConsent = t.node.attributes.privacy && 'false' !== t.node.attributes.privacy;
254
- if ( showPrivacyConsent ) {
255
- t.privacyLayer = document.createElement( 'div' );
256
- t.privacyLayer.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer ' + t.options.classPrefix + 'privacy';
257
- t.privacyLayer.innerHTML = ( '<div class="' + t.options.classPrefix + 'privacy-consent-block">' ) + ( '<div class="' + t.options.classPrefix + 'privacy-consent-message">' + t.options.privacyConsentMessage + '</div>' ) + ( '<div class="' + t.options.classPrefix + 'privacy-consent-button">' + t.options.privacyConsentButtonLabel + '</div>' ) + '</div>';
 
258
 
259
- t.layers.append( t.privacyLayer );
260
 
261
- t.privacyLayer.querySelector( '.' + t.options.classPrefix + 'privacy-consent-button' ).addEventListener( 'click', t.aiovgOnAgreeToPrivacy.bind( t ) );
262
- }
263
 
264
- },
265
-
266
- aiovgOnAgreeToPrivacy: function aiovgOnAgreeToPrivacy() {
267
-
268
- var t = this;
269
-
270
- // Set Cookie
271
- var data = {
272
- 'action': 'aiovg_set_cookie'
273
- };
274
-
275
- $.post( '<?php echo admin_url( 'admin-ajax.php' ); ?>', data, function( response ) {
276
- // console.log( 'Cookie stored!' );
277
- });
278
 
279
- // Play video
280
- var src = t.node.getAttribute( 'data-src' );
281
- t.setSrc( src );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
 
283
- setTimeout(function() {
284
- t.load();
285
- t.play();
 
 
 
 
 
 
 
 
 
 
286
 
287
- t.layers.querySelector( '.' + t.options.classPrefix + 'overlay-play' ).style.display = 'none';
288
- t.privacyLayer.style.display = 'none';
289
- }, 10);
290
 
291
- }
292
 
293
- });
294
-
295
- $(function() {
296
- var views_count_updated = 0;
297
-
298
- $( 'video' ).mediaelementplayer({
299
- pluginPath: '<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/',
300
- features: <?php echo json_encode( $controls ); ?>,
301
- AndroidUseNativeControls: <?php echo $use_native_controls; ?>,
302
- iPadUseNativeControls: <?php echo $use_native_controls; ?>,
303
- iPhoneUseNativeControls: <?php echo $use_native_controls; ?>,
304
- youtube: { showinfo: 0, rel: 0, iv_load_policy: 3 },
305
- success: function( media ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
306
 
307
- <?php if ( count( $sources ) && ! empty( $attributes['autoplay'] ) ) : ?>
308
- // An ugly hack to autoplay Vimeo videos
309
- if ( ~media.rendererName.indexOf( 'vimeo' ) || ~media.rendererName.indexOf( 'dash' ) ) {
310
- media.play();
311
  }
312
- <?php endif; ?>
 
313
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  // Fired when the media is ready to start playing
 
 
315
  media.addEventListener( 'play', function( e ) {
316
-
317
  if ( ! views_count_updated ) {
318
- var data = {
319
- 'action': 'aiovg_update_views_count',
320
- 'post_id': <?php echo $post_id; ?>,
321
- 'security': '<?php echo wp_create_nonce( 'aiovg_video_{$post_id}_views_nonce' ); ?>'
322
- };
323
-
324
- $.post( '<?php echo admin_url( 'admin-ajax.php' ); ?>', data, function( response ) {
325
- // console.log( 'Views count updated' );
326
- });
327
-
328
  views_count_updated = 1;
329
  };
330
-
331
  });
332
-
333
  }
334
- });
335
- });
336
-
337
- })( jQuery );
338
- </script>
339
- <?php do_action( 'aiovg_player_head' ); ?>
340
- </head>
341
- <body>
342
- <video <?php the_aiovg_video_attributes( $attributes ); ?>>
343
- <?php
344
- // Sources
345
- foreach ( $sources as $source ){
346
- printf( '<source type="%s" src="%s" />', esc_attr( $source['type'] ), esc_url_raw( $source['src'] ) );
347
- }
348
-
349
- // Tracks
350
- foreach ( $tracks as $track ) {
351
- printf( '<track src="%s" kind="subtitles" srclang="%s" label="%s">', esc_url_raw( $track['src'] ), esc_attr( $track['srclang'] ), esc_attr( $track['label'] ) );
352
- }
353
- ?>
354
- </video>
355
-
356
- <?php do_action( 'aiovg_player_footer' ); ?>
357
  </body>
358
- </html>
10
  * @subpackage AIOVG/public/templates
11
  */
12
 
13
+ $player_settings = get_option( 'aiovg_player_settings' );
14
+ $brand_settings = get_option( 'aiovg_brand_settings' );
15
  $privacy_settings = get_option( 'aiovg_privacy_settings' );
16
 
17
  $post_id = (int) get_query_var( 'aiovg_video', 0 );
 
18
  $post_meta = array();
 
 
 
 
 
 
 
19
 
20
+ if ( $post_id > 0 ) {
21
+ $post_type = get_post_type( $post_id );
 
 
 
 
 
 
 
 
 
 
 
22
 
23
+ if ( 'aiovg_videos' == $post_type ) {
24
+ $post_meta = get_post_meta( $post_id );
25
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
 
28
+ // Video Sources
 
 
 
 
29
  $types = array(
30
  'all' => array( 'mp4', 'webm', 'ogv', 'youtube', 'vimeo', 'dailymotion', 'facebook' ),
31
  'default' => array( 'mp4', 'webm', 'ogv' ),
42
  }
43
 
44
  $sources = array();
45
+ $thirdparty_providers = array();
46
 
47
  foreach ( $types as $type ) {
48
 
60
  'src' => $src
61
  );
62
 
63
+ if ( 'youtube' === $type || 'vimeo' === $type || 'dailymotion' === $type || 'facebook' === $type ) {
64
+ $thirdparty_providers[] = $type;
65
+ }
66
  }
67
 
68
  }
69
 
70
  $sources = apply_filters( 'aiovg_video_sources', $sources );
71
 
72
+ // Video Attributes
73
+ $attributes = array(
74
+ 'id' => 'player',
75
+ 'playsinline' => ''
76
+ );
77
 
78
+ if ( ! wp_is_mobile() ) {
79
 
80
+ $autoplay = isset( $_GET['autoplay'] ) ? (int) $_GET['autoplay'] : $player_settings['autoplay'];
81
+
82
+ if ( ! empty( $autoplay ) ) {
83
+ $attributes['autoplay'] = true;
84
  }
85
 
86
  }
87
 
88
+ $loop = isset( $_GET['loop'] ) ? (int) $_GET['loop'] : $player_settings['loop'];
89
+
90
+ if ( ! empty( $loop ) ) {
91
+ $attributes['loop'] = true;
92
+ }
93
+
94
+ $attributes['preload'] = esc_attr( $player_settings['preload'] );
95
 
96
+ if ( isset( $_GET['poster'] ) ) {
97
+ $attributes['poster'] = $_GET['poster'];
98
+ } elseif ( ! empty( $post_meta ) ) {
99
+ $attributes['poster'] = aiovg_get_image_url( $post_meta['image_id'][0], 'large', $post_meta['image'][0], 'player' );
100
+ }
101
 
102
+ if( ! empty( $attributes['poster'] ) ) {
103
+ $attributes['poster'] = esc_url( $attributes['poster'] );
104
+
105
+ if ( false !== strpos( $attributes['poster'], 'youtube' ) ) {
106
+ $attributes['poster'] = str_replace( array( 'https:', 'http:' ), '', $attributes['poster'] );
107
+ }
108
  }
109
 
110
+ $use_native_controls = 0;
111
+ $show_privacy_consent = 0;
112
+
113
+ if ( count( $thirdparty_providers ) > 0 ) {
114
 
115
+ if ( wp_is_mobile() ) {
 
116
  $use_native_controls = 1;
117
  }
118
+
119
+ if ( ! ( isset( $_COOKIE['aiovg_gdpr_consent'] ) || empty( $privacy_settings['show_consent'] ) || empty( $privacy_settings['consent_message'] ) || empty( $privacy_settings['consent_button_label'] ) ) ) {
120
+ $use_native_controls = 0;
121
+ $show_privacy_consent = 1;
122
+ }
123
+
124
  }
125
 
126
+ if ( 1 == $use_native_controls ) {
127
+ $attributes['poster'] = '';
128
+ $attributes['controls'] = '';
129
+ }
130
+
131
+ $attributes = apply_filters( 'aiovg_video_attributes', $attributes );
132
+
133
+ // Player Settings
134
+ $features = array( 'playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen' );
135
+ $controls = array( 'aiovg' );
136
+
137
+ foreach ( $features as $feature ) {
138
+
139
+ if ( isset( $_GET[ $feature ] ) ) {
140
+
141
+ if ( 1 == (int) $_GET[ $feature ] ) {
142
+ $controls[] = $feature;
143
+ }
144
+
145
+ } else {
146
+
147
+ if ( isset( $player_settings['controls'][ $feature ] ) ) {
148
+ $controls[] = $feature;
149
  }
150
+
151
+ }
152
+
153
+ }
154
+
155
+ $settings = array(
156
+ 'pluginPath' => AIOVG_PLUGIN_URL . 'public/assets/mediaelement/',
157
+ 'features' => $controls,
158
+ 'iPadUseNativeControls' => $use_native_controls,
159
+ 'iPhoneUseNativeControls' => $use_native_controls,
160
+ 'AndroidUseNativeControls' => $use_native_controls,
161
+ 'youtube' => array( 'showinfo' => 0, 'rel' => 0, 'iv_load_policy' => 3 )
162
+ );
163
+
164
+ $settings = apply_filters( 'aiovg_player_settings', $settings );
165
+
166
+ // Video Tracks
167
+ $tracks = array();
168
+
169
+ if ( in_array( 'tracks', $settings['features'] ) && ! empty( $post_meta['track'] ) ) {
170
+
171
+ foreach ( $post_meta['track'] as $track ) {
172
+ $tracks[] = unserialize( $track );
173
  }
174
+
175
  }
176
+
177
+ $tracks = apply_filters( 'aiovg_video_tracks', $tracks );
178
  ?>
179
  <!DOCTYPE html>
180
  <html>
181
  <head>
182
+ <meta charset="utf-8">
183
+ <?php if ( $post_id > 0 ) : ?>
184
+ <title><?php echo wp_kses_post( get_the_title( $post_id ) ); ?></title>
185
+ <link rel="canonical" href="<?php echo esc_url( get_permalink( $post_id ) ); ?>" />
186
+ <meta property="og:url" content="<?php echo esc_url( get_permalink( $post_id ) ); ?>" />
187
+ <?php endif; ?>
188
+ <link rel="stylesheet" href="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/mediaelementplayer.css?v=4.2.9" />
189
+
190
+ <?php do_action( 'aiovg_player_head' ); ?>
191
+
192
+ <style type="text/css">
193
+ html,
194
+ body,
195
+ video,
196
+ iframe {
197
+ width: 100% !important;
198
+ height: 100% !important;
199
+ margin:0 !important;
200
+ padding:0 !important;
201
+ overflow: hidden;
202
+ }
203
+
204
+ video,
205
+ iframe {
206
+ display: block;
207
+ }
208
+
209
+ .mejs__container,
210
+ .mejs__layer {
211
+ width: 100% !important;
212
+ height: 100% !important;
213
+ }
214
+
215
+ .mejs__captions-layer {
216
+ pointer-events: none;
217
+ }
218
 
219
+ .mejs__logo {
220
+ position: absolute;
221
+ width: auto !important;
222
+ height: auto !important;
223
+ max-width: 150px;
224
+ z-index: 9;
225
+ cursor: pointer;
226
+ }
227
 
228
+ .mejs__logo img {
229
+ display: block;
230
+ opacity: 0.5;
231
+ }
232
+
233
+ .mejs__logo:hover img {
234
+ opacity: 1;
235
+ }
236
+
237
+ .mejs__logo-topleft {
238
+ top: 0;
239
+ left: 0;
240
+ }
241
+
242
+ .mejs__logo-topright {
243
+ top: 0;
244
+ right: 0;
245
+ }
246
+
247
+ .mejs__logo-bottomleft {
248
+ bottom: 40px;
249
+ left: 0;
250
+ }
251
+
252
+ .mejs__logo-bottomright {
253
+ bottom: 40px;
254
+ right: 0;
255
+ }
256
+
257
+ .mejs__privacy {
258
+ color: #FFF;
259
+ text-align: center;
260
+ z-index: 999;
261
+ }
262
+
263
+ .mejs__privacy-consent-block {
264
+ margin: 15px;
265
+ padding: 15px;
266
+ background: #000;
267
+ border-radius: 3px;
268
+ opacity: 0.9;
269
+ }
270
+
271
+ .mejs__privacy-consent-button {
272
+ display: inline-block;
273
+ margin-top: 10px;
274
+ padding: 5px 15px;
275
+ background: #F00;
276
+ border-radius: 3px;
277
+ cursor: pointer;
278
+ }
279
+
280
+ .mejs__privacy-consent-button:hover {
281
+ opacity: 0.8;
282
+ }
283
+
284
+ .contextmenu {
285
+ position: absolute;
286
+ top: 0;
287
+ left: 0;
288
+ margin: 0;
289
+ padding: 0;
290
+ background: #fff;
291
+ border-radius: 2px;
292
+ box-shadow: 1px 1px 2px #333;
293
+ z-index: 9999999999; /* make sure it shows on fullscreen */
294
+ }
295
+
296
+ .contextmenu-item {
297
+ margin: 0;
298
+ padding: 8px 12px;
299
+ font-family: 'Helvetica', Arial, serif;
300
+ font-size: 12px;
301
+ color: #222;
302
+ white-space: nowrap;
303
+ cursor: pointer;
304
+ }
305
+ </style>
306
+ </head>
307
+ <body<?php if ( 1 == $use_native_controls ) echo ' style="background-color: #000;"'; ?>>
308
+ <video <?php the_aiovg_video_attributes( $attributes ); ?>>
309
+ <?php
310
+ // Video Sources
311
+ if ( 0 == $show_privacy_consent ) {
312
+ foreach ( $sources as $source ){
313
+ printf( '<source type="%s" src="%s" />', esc_attr( $source['type'] ), esc_url_raw( $source['src'] ) );
314
+ }
315
+ }
316
+
317
+ // Video Tracks
318
+ foreach ( $tracks as $track ) {
319
+ printf( '<track src="%s" kind="subtitles" srclang="%s" label="%s">', esc_url_raw( $track['src'] ), esc_attr( $track['srclang'] ), esc_attr( $track['label'] ) );
320
+ }
321
+ ?>
322
+ </video>
323
+
324
+ <?php if ( ! empty( $brand_settings['copyright_text'] ) ) : ?>
325
+ <div id="contextmenu" class="contextmenu" style="display: none;">
326
+ <div class="contextmenu-item"><?php echo $brand_settings['copyright_text']; ?></div>
327
+ </div>
328
+ <?php endif; ?>
329
+
330
+ <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/mediaelement-and-player.min.js?v=4.2.9" type="text/javascript"></script>
331
+ <?php if ( in_array( 'vimeo', $thirdparty_providers ) ) : ?>
332
+ <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/renderers/vimeo.min.js?v=4.2.9" type="text/javascript"></script>
333
+ <?php endif; ?>
334
+ <?php if ( in_array( 'dailymotion', $thirdparty_providers ) ) : ?>
335
+ <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/renderers/dailymotion.min.js?v=4.2.9" type="text/javascript"></script>
336
+ <?php endif; ?>
337
+ <?php if ( in_array( 'facebook', $thirdparty_providers ) ) : ?>
338
+ <script src="<?php echo AIOVG_PLUGIN_URL; ?>public/assets/mediaelement/renderers/facebook.min.js?v=4.2.9" type="text/javascript"></script>
339
+ <?php endif; ?>
340
+
341
+ <?php do_action( 'aiovg_player_footer' ); ?>
342
+
343
+ <script type="text/javascript">
344
+ (function() {
345
+ 'use strict';
346
 
347
+ ///////////////////////////////////////
348
+ ///////////////////////////////////////
349
+ //
350
+ // H E L P E R F U N C T I O N S
351
+ //
352
+ ///////////////////////////////////////
353
+ ///////////////////////////////////////
354
+
355
+ function ajaxSubmit( params, id ) {
356
 
357
+ var xmlhttp;
358
+
359
+ if ( window.XMLHttpRequest ) {
360
+ xmlhttp = new XMLHttpRequest();
361
+ } else {
362
+ xmlhttp = new ActiveXObject( 'Microsoft.XMLHTTP' );
363
+ };
364
 
365
+ xmlhttp.onreadystatechange = function() {
366
 
367
+ if ( 4 == xmlhttp.readyState && 200 == xmlhttp.status ) {
 
368
 
369
+ if ( xmlhttp.responseText && 'store_privacy_cookie' == id ) {
370
+ // Reload document
371
+ window.location.reload();
372
+ }
 
 
 
 
 
 
 
 
 
 
373
 
374
+ }
375
+
376
+ };
377
+
378
+ xmlhttp.open( 'POST', '<?php echo admin_url( 'admin-ajax.php' ); ?>', true );
379
+ xmlhttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );
380
+ xmlhttp.send( params );
381
+
382
+ }
383
+
384
+ ///////////////////////////////////////
385
+ ///////////////////////////////////////
386
+ //
387
+ // C O R E F U N C T I O N S
388
+ //
389
+ ///////////////////////////////////////
390
+ ///////////////////////////////////////
391
 
392
+ /**
393
+ * A custom mediaelementjs plugin.
394
+ */
395
+ Object.assign(mejs.MepDefaults, {
396
+ showLogo: '<?php echo (int) $brand_settings['show_logo']; ?>',
397
+ logoImage: '<?php echo esc_url_raw( $brand_settings['logo_image'] ); ?>',
398
+ logoLink: '<?php echo esc_url_raw( $brand_settings['logo_link'] ); ?>',
399
+ logoPosition: '<?php echo sanitize_text_field( $brand_settings['logo_position'] ); ?>',
400
+ logoMargin: '<?php echo (int) $brand_settings['logo_margin']; ?>',
401
+ showPrivacyConsent: '<?php echo $show_privacy_consent; ?>',
402
+ privacyConsentMessage: '<?php echo wp_kses_post( $privacy_settings['consent_message'] ); ?>',
403
+ privacyConsentButtonLabel: '<?php echo sanitize_text_field( $privacy_settings['consent_button_label'] ); ?>',
404
+ showCustomContextMenu: '<?php echo ! empty( $brand_settings['copyright_text'] ) ? 1 : 0; ?>'
405
 
406
+ });
 
 
407
 
408
+ Object.assign(MediaElementPlayer.prototype, {
409
 
410
+ buildaiovg: function buildaiovg( player, controls, layers, media ) {
411
+
412
+ var t = this;
413
+
414
+ // Logo / Watermark
415
+ if ( 1 == t.options.showLogo && '' != t.options.logoImage ) {
416
+
417
+ t.logoLayer = document.createElement( 'div' );
418
+ t.logoLayer.className = t.options.classPrefix + 'logo ' + t.options.classPrefix + 'logo-' + t.options.logoPosition;
419
+ t.logoLayer.style.margin = t.options.logoMargin + 'px';
420
+ t.logoLayer.innerHTML = '<img src="' + t.options.logoImage + '" />';
421
+
422
+ t.layers.appendChild( t.logoLayer );
423
+
424
+ if ( '' != t.options.logoLink ) {
425
+ t.logoLayer.addEventListener( 'click', function() {
426
+ top.window.location.href = t.options.logoLink;
427
+ });
428
+ }
429
+
430
+ t.container.addEventListener( 'controlsshown', function() {
431
+ t.logoLayer.style.display = '';
432
+ });
433
+
434
+ t.container.addEventListener( 'controlshidden', function() {
435
+ t.logoLayer.style.display = 'none';
436
+ });
437
+
438
+ }
439
+
440
+ // Privacy Consent
441
+ if ( 1 == t.options.showPrivacyConsent ) {
442
+
443
+ t.privacyLayer = document.createElement( 'div' );
444
+ t.privacyLayer.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer ' + t.options.classPrefix + 'privacy';
445
+ t.privacyLayer.innerHTML = ( '<div class="' + t.options.classPrefix + 'privacy-consent-block">' ) + ( '<div class="' + t.options.classPrefix + 'privacy-consent-message">' + t.options.privacyConsentMessage + '</div>' ) + ( '<div class="' + t.options.classPrefix + 'privacy-consent-button">' + t.options.privacyConsentButtonLabel + '</div>' ) + '</div>';
446
+
447
+ t.layers.appendChild( t.privacyLayer );
448
+
449
+ t.privacyLayer.querySelector( '.' + t.options.classPrefix + 'privacy-consent-button' ).addEventListener( 'click', t.aiovgOnAgreeToPrivacy.bind( t ) );
450
+
451
+ }
452
+
453
+ // Custom ContextMenu
454
+ if ( 1 == t.options.showCustomContextMenu ) {
455
+
456
+ var contextmenu = document.getElementById( 'contextmenu' );
457
+ var timeout_handler = '';
458
+
459
+ document.addEventListener( 'contextmenu', function( e ) {
460
+
461
+ if ( 3 === e.keyCode || 3 === e.which ) {
462
+ e.preventDefault();
463
+ e.stopPropagation();
464
+
465
+ var width = contextmenu.offsetWidth,
466
+ height = contextmenu.offsetHeight,
467
+ x = event.pageX,
468
+ y = event.pageY,
469
+ doc = document.documentElement,
470
+ scrollLeft = ( window.pageXOffset || doc.scrollLeft ) - ( doc.clientLeft || 0 ),
471
+ scrollTop = ( window.pageYOffset || doc.scrollTop ) - ( doc.clientTop || 0 ),
472
+ left = x + width > window.innerWidth + scrollLeft ? x - width : x,
473
+ top = y + height > window.innerHeight + scrollTop ? y - height : y;
474
+
475
+ contextmenu.style.display = '';
476
+ contextmenu.style.left = left + 'px';
477
+ contextmenu.style.top = top + 'px';
478
+
479
+ clearTimeout( timeout_handler );
480
+ timeout_handler = setTimeout(function() {
481
+ contextmenu.style.display = 'none';
482
+ }, 1500 );
483
+ }
484
+
485
+ });
486
+
487
+ if ( '' != t.options.logoLink ) {
488
+ contextmenu.addEventListener( 'click', function() {
489
+ top.window.location.href = t.options.logoLink;
490
+ });
491
+ }
492
+
493
+ document.addEventListener( 'click', function() {
494
+ contextmenu.style.display = 'none';
495
+ });
496
 
 
 
 
 
497
  }
498
+
499
+ },
500
 
501
+ aiovgOnAgreeToPrivacy: function aiovgOnAgreeToPrivacy() {
502
+
503
+ var t = this;
504
+
505
+ t.privacyLayer.querySelector( '.' + t.options.classPrefix + 'privacy-consent-button' ).innerHTML = '<?php _e( 'Please wait', 'all-in-one-video-gallery' ); ?>...';
506
+
507
+ // Set Cookie
508
+ ajaxSubmit( 'action=aiovg_set_cookie', 'store_privacy_cookie' );
509
+
510
+ }
511
+
512
+ });
513
+
514
+ /**
515
+ * Initialize the player.
516
+ */
517
+ var settings = <?php echo json_encode( $settings ); ?>;
518
+
519
+ settings.success = function( media ) {
520
+
521
  // Fired when the media is ready to start playing
522
+ var views_count_updated = 0;
523
+
524
  media.addEventListener( 'play', function( e ) {
 
525
  if ( ! views_count_updated ) {
526
+ ajaxSubmit( 'action=aiovg_update_views_count&post_id=<?php echo $post_id; ?>&security=<?php echo wp_create_nonce( 'aiovg_video_{$post_id}_views_nonce' ); ?>', 'update_views_count' );
 
 
 
 
 
 
 
 
 
527
  views_count_updated = 1;
528
  };
 
529
  });
530
+
531
  }
532
+
533
+ var player = new MediaElementPlayer( 'player', settings );
534
+ })();
535
+ </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
536
  </body>
537
+ </html>
public/templates/single-video.php CHANGED
@@ -67,7 +67,7 @@
67
  </div>
68
 
69
  <!-- Description -->
70
- <div class="aiovg-description"><?php echo nl2br( $post->post_content ); ?></div>
71
 
72
  <!-- Socialshare buttons -->
73
  <?php the_aiovg_socialshare_buttons(); ?>
67
  </div>
68
 
69
  <!-- Description -->
70
+ <div class="aiovg-description"><?php echo $content; ?></div>
71
 
72
  <!-- Socialshare buttons -->
73
  <?php the_aiovg_socialshare_buttons(); ?>
uninstall.php CHANGED
@@ -79,6 +79,7 @@ if ( $aiovg_created_pages = get_option( 'aiovg_page_settings' ) ) {
79
  $aiovg_settings = array(
80
  'aiovg_general_settings',
81
  'aiovg_player_settings',
 
82
  'aiovg_image_settings',
83
  'aiovg_categories_settings',
84
  'aiovg_videos_settings',
79
  $aiovg_settings = array(
80
  'aiovg_general_settings',
81
  'aiovg_player_settings',
82
+ 'aiovg_brand_settings',
83
  'aiovg_image_settings',
84
  'aiovg_categories_settings',
85
  'aiovg_videos_settings',