Version Description
Download this release
Release Info
Developer | nico23 |
Plugin | ARVE Advanced Responsive Video Embedder (YouTube, Vimeo, HTML5 Video …) |
Version | 9.5.3-beta1 |
Comparing to | |
See all releases |
Code changes from version 9.5.2-beta3 to 9.5.3-beta1
- advanced-responsive-video-embedder.php +2 -2
- changelog.md +5 -0
- php/Common/functions-remote-get.php +5 -2
- php/functions-assets.php +1 -1
- php/functions-html-output.php +10 -2
- php/functions-oembed.php +26 -8
- php/functions-settings.php +3 -4
- php/functions-shortcode-args.php +18 -10
- php/functions-shortcodes.php +19 -7
- php/functions-url-handlers.php +6 -7
- php/init.php +1 -1
- php/providers.php +38 -69
- readme.txt +7 -2
advanced-responsive-video-embedder.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: ARVE Advanced Responsive Video Embedder
|
4 |
* Plugin URI: https://nextgenthemes.com/plugins/arve-pro/
|
5 |
* Description: Easy responsive video embeds via URL (like WordPress) or Shortcodes. Supports almost anything you can imagine.
|
6 |
-
* Version: 9.5.
|
7 |
* Author: Nicolas Jonas
|
8 |
* Author URI: https://nextgenthemes.com
|
9 |
* License: GPL-3.0
|
@@ -19,7 +19,7 @@
|
|
19 |
|
20 |
namespace Nextgenthemes\ARVE;
|
21 |
|
22 |
-
const VERSION = '9.5.
|
23 |
const PRO_VERSION_REQUIRED = '5.1.11';
|
24 |
const NUM_TRACKS = 3;
|
25 |
const PLUGIN_FILE = __FILE__;
|
3 |
* Plugin Name: ARVE Advanced Responsive Video Embedder
|
4 |
* Plugin URI: https://nextgenthemes.com/plugins/arve-pro/
|
5 |
* Description: Easy responsive video embeds via URL (like WordPress) or Shortcodes. Supports almost anything you can imagine.
|
6 |
+
* Version: 9.5.3-beta1
|
7 |
* Author: Nicolas Jonas
|
8 |
* Author URI: https://nextgenthemes.com
|
9 |
* License: GPL-3.0
|
19 |
|
20 |
namespace Nextgenthemes\ARVE;
|
21 |
|
22 |
+
const VERSION = '9.5.3-beta1';
|
23 |
const PRO_VERSION_REQUIRED = '5.1.11';
|
24 |
const NUM_TRACKS = 3;
|
25 |
const PLUGIN_FILE = __FILE__;
|
changelog.md
CHANGED
@@ -4,6 +4,11 @@
|
|
4 |
* [ARVE Pro changelog](https://nextgenthemes.com/plugins/arve-pro/#changelog)
|
5 |
* [ARVE Random Videos changelog](https://nextgenthemes.com/plugins/random-video/#changelog)
|
6 |
|
|
|
|
|
|
|
|
|
|
|
7 |
### 2021-02-17 9.5.2-beta1 ###
|
8 |
|
9 |
* Fix: Conflict with Notice library.
|
4 |
* [ARVE Pro changelog](https://nextgenthemes.com/plugins/arve-pro/#changelog)
|
5 |
* [ARVE Random Videos changelog](https://nextgenthemes.com/plugins/random-video/#changelog)
|
6 |
|
7 |
+
### 2021-02-22 9.5.3-beta1 ###
|
8 |
+
|
9 |
+
* Fix: Shortcode arguments not working in all situations.
|
10 |
+
* Removed services that went down.
|
11 |
+
|
12 |
### 2021-02-17 9.5.2-beta1 ###
|
13 |
|
14 |
* Fix: Conflict with Notice library.
|
php/Common/functions-remote-get.php
CHANGED
@@ -2,10 +2,13 @@
|
|
2 |
namespace Nextgenthemes\ARVE\Common;
|
3 |
|
4 |
// phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
|
5 |
-
|
6 |
function remote_get_json( $url, array $args = array(), $json_name = false ) {
|
|
|
|
|
|
|
|
|
7 |
|
8 |
-
$response =
|
9 |
|
10 |
if ( is_wp_error( $response ) ) {
|
11 |
return $response;
|
2 |
namespace Nextgenthemes\ARVE\Common;
|
3 |
|
4 |
// phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralDomain
|
|
|
5 |
function remote_get_json( $url, array $args = array(), $json_name = false ) {
|
6 |
+
return remote_get_json_cached( $url, $args, $json_name );
|
7 |
+
}
|
8 |
+
|
9 |
+
function remote_get_json_cached( $url, array $args = array(), $json_name = false ) {
|
10 |
|
11 |
+
$response = remote_get_body_cached( $url, $args );
|
12 |
|
13 |
if ( is_wp_error( $response ) ) {
|
14 |
return $response;
|
php/functions-assets.php
CHANGED
@@ -110,7 +110,7 @@ function gutenberg_block( $args ) {
|
|
110 |
}
|
111 |
}
|
112 |
|
113 |
-
$args['
|
114 |
|
115 |
if ( isset( $args['align'] ) && in_array( $args['align'], array( 'wide', 'full' ), true ) ) {
|
116 |
$args['align'] = null;
|
110 |
}
|
111 |
}
|
112 |
|
113 |
+
$args['origin_data']['from'] = 'gutenberg_block';
|
114 |
|
115 |
if ( isset( $args['align'] ) && in_array( $args['align'], array( 'wide', 'full' ), true ) ) {
|
116 |
$args['align'] = null;
|
php/functions-html-output.php
CHANGED
@@ -199,8 +199,16 @@ function get_debug_info( $input_html, array $a, array $input_atts ) {
|
|
199 |
}
|
200 |
|
201 |
if ( isset( $_GET['arve-debug-atts'] ) ) {
|
202 |
-
$html .= sprintf(
|
203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
}
|
205 |
|
206 |
if ( isset( $_GET['arve-debug-html'] ) ) {
|
199 |
}
|
200 |
|
201 |
if ( isset( $_GET['arve-debug-atts'] ) ) {
|
202 |
+
$html .= sprintf(
|
203 |
+
'<pre style="%s">in: %s</pre>',
|
204 |
+
esc_attr( $pre_style ),
|
205 |
+
esc_html( var_export( array_filter( $input_atts ), true ) )
|
206 |
+
);
|
207 |
+
$html .= sprintf(
|
208 |
+
'<pre style="%s">$a: %s</pre>',
|
209 |
+
esc_attr( $pre_style ),
|
210 |
+
esc_html( var_export( array_filter( $a ), true ) )
|
211 |
+
);
|
212 |
}
|
213 |
|
214 |
if ( isset( $_GET['arve-debug-html'] ) ) {
|
php/functions-oembed.php
CHANGED
@@ -15,8 +15,8 @@ function add_oembed_providers() {
|
|
15 |
function filter_oembed_dataparse( $result, $data, $url ) {
|
16 |
|
17 |
if ( $data && 'video' === $data->type ) {
|
18 |
-
unset($data->type);
|
19 |
$data->arve_cachetime = gmdate('Y-m-d H:i:s');
|
|
|
20 |
|
21 |
if ( 'YouTube' === $data->provider_name ) {
|
22 |
$data->arve_srcset = yt_srcset( $data->thumbnail_url );
|
@@ -32,22 +32,40 @@ function filter_oembed_dataparse( $result, $data, $url ) {
|
|
32 |
return $result;
|
33 |
}
|
34 |
|
35 |
-
function filter_embed_oembed_html( $cache, $url,
|
36 |
|
37 |
-
|
38 |
|
39 |
-
if (
|
|
|
|
|
|
|
|
|
40 |
|
41 |
-
$
|
42 |
-
$
|
43 |
-
$
|
|
|
|
|
|
|
44 |
|
45 |
-
$cache = build_video( $
|
46 |
}
|
47 |
|
48 |
return $cache;
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
function yt_srcset( $url ) {
|
52 |
|
53 |
$re = '@[a-z]+.jpg$@';
|
15 |
function filter_oembed_dataparse( $result, $data, $url ) {
|
16 |
|
17 |
if ( $data && 'video' === $data->type ) {
|
|
|
18 |
$data->arve_cachetime = gmdate('Y-m-d H:i:s');
|
19 |
+
$data->arve_url = $url;
|
20 |
|
21 |
if ( 'YouTube' === $data->provider_name ) {
|
22 |
$data->arve_srcset = yt_srcset( $data->thumbnail_url );
|
32 |
return $result;
|
33 |
}
|
34 |
|
35 |
+
function filter_embed_oembed_html( $cache, $url, $attr, $post_ID ) {
|
36 |
|
37 |
+
$json = extract_oembed_json( $cache );
|
38 |
|
39 |
+
if ( json_last_error() !== JSON_ERROR_NONE ) {
|
40 |
+
$a['errors'] = new \WP_Error( $url . '-json-error', 'json decode error code ' . json_last_error() );
|
41 |
+
}
|
42 |
+
|
43 |
+
if ( $json ) {
|
44 |
|
45 |
+
$a['url'] = $url;
|
46 |
+
$a['oembed_data'] = $json;
|
47 |
+
$a['origin_data'] = [
|
48 |
+
'from' => 'filter_embed_oembed_html',
|
49 |
+
'post_id' => $post_ID,
|
50 |
+
];
|
51 |
|
52 |
+
$cache = build_video( $a );
|
53 |
}
|
54 |
|
55 |
return $cache;
|
56 |
}
|
57 |
|
58 |
+
function extract_oembed_json( $html ) {
|
59 |
+
|
60 |
+
\preg_match( '#(?<=data-arve-oembed>).*?(?=</script>)#s', $html, $matches );
|
61 |
+
|
62 |
+
if ( ! empty( $matches[0] ) ) {
|
63 |
+
return json_decode( $matches[0], false, 512, JSON_UNESCAPED_UNICODE );
|
64 |
+
}
|
65 |
+
|
66 |
+
return false;
|
67 |
+
}
|
68 |
+
|
69 |
function yt_srcset( $url ) {
|
70 |
|
71 |
$re = '@[a-z]+.jpg$@';
|
php/functions-settings.php
CHANGED
@@ -146,9 +146,6 @@ function shortcode_pairs() {
|
|
146 |
'errors' => new \WP_Error(),
|
147 |
'id' => null,
|
148 |
'provider' => null,
|
149 |
-
'url_handler' => null,
|
150 |
-
'legacy_sc' => null,
|
151 |
-
'gutenberg' => null,
|
152 |
'img_srcset' => null,
|
153 |
'maxwidth' => null, # Overwriting the option value ON PURPOSE here, see arg_maxwidth
|
154 |
'av1mp4' => null,
|
@@ -157,12 +154,14 @@ function shortcode_pairs() {
|
|
157 |
'webm' => null,
|
158 |
'ogv' => null,
|
159 |
'oembed_data' => null,
|
|
|
160 |
'account_id' => null,
|
161 |
'iframe_name' => null,
|
162 |
'brightcove_player' => null,
|
163 |
'brightcove_embed' => null,
|
164 |
'video_sources_html' => null,
|
165 |
'post_id' => null,
|
|
|
166 |
)
|
167 |
);
|
168 |
|
@@ -585,7 +584,7 @@ function all_settings() {
|
|
585 |
'description' => sprintf(
|
586 |
// Translators: URL
|
587 |
__( 'Provider specific player settings on iframe src. See <a href="%s">documentation.</a>', 'advanced-responsive-video-embedder' ),
|
588 |
-
esc_url( 'https://nextgenthemes.com/plugins/arve/documentation/#
|
589 |
),
|
590 |
),
|
591 |
'wp_video_override' => array(
|
146 |
'errors' => new \WP_Error(),
|
147 |
'id' => null,
|
148 |
'provider' => null,
|
|
|
|
|
|
|
149 |
'img_srcset' => null,
|
150 |
'maxwidth' => null, # Overwriting the option value ON PURPOSE here, see arg_maxwidth
|
151 |
'av1mp4' => null,
|
154 |
'webm' => null,
|
155 |
'ogv' => null,
|
156 |
'oembed_data' => null,
|
157 |
+
'origin_data' => null,
|
158 |
'account_id' => null,
|
159 |
'iframe_name' => null,
|
160 |
'brightcove_player' => null,
|
161 |
'brightcove_embed' => null,
|
162 |
'video_sources_html' => null,
|
163 |
'post_id' => null,
|
164 |
+
'thumbnail_fallback' => null, # Pro
|
165 |
)
|
166 |
);
|
167 |
|
584 |
'description' => sprintf(
|
585 |
// Translators: URL
|
586 |
__( 'Provider specific player settings on iframe src. See <a href="%s">documentation.</a>', 'advanced-responsive-video-embedder' ),
|
587 |
+
esc_url( 'https://nextgenthemes.com/plugins/arve/documentation/#parameters' )
|
588 |
),
|
589 |
),
|
590 |
'wp_video_override' => array(
|
php/functions-shortcode-args.php
CHANGED
@@ -124,26 +124,26 @@ function args_validate( array $a ) {
|
|
124 |
switch ( $key ) {
|
125 |
case 'errors':
|
126 |
break;
|
127 |
-
case '
|
128 |
if ( null !== $value && ! is_array( $value ) ) {
|
129 |
-
$a['errors']->add(
|
130 |
}
|
131 |
break;
|
132 |
case 'oembed_data':
|
133 |
if ( null !== $value && ! is_object( $value ) ) {
|
134 |
-
$a['errors']->add( 'oembed_data', 'oembed_data needs to be null or a object' );
|
135 |
}
|
136 |
break;
|
137 |
default:
|
138 |
if ( null !== $value && ! is_string( $value ) ) {
|
139 |
-
$a['errors']->add(
|
140 |
}
|
141 |
break;
|
142 |
}
|
143 |
}
|
144 |
|
145 |
-
foreach ( bool_shortcode_args() as $
|
146 |
-
$a[ $
|
147 |
};
|
148 |
|
149 |
$url_args = array_merge( VIDEO_FILE_EXTENSIONS, [ 'url' ] );
|
@@ -176,9 +176,9 @@ function validate_url( $url, $argname, array $a ) {
|
|
176 |
}
|
177 |
|
178 |
// phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh
|
179 |
-
function validate_bool( $
|
180 |
|
181 |
-
switch ( $
|
182 |
case 'true':
|
183 |
case '1':
|
184 |
case 'y':
|
@@ -195,6 +195,8 @@ function validate_bool( $str, $attr_name ) {
|
|
195 |
case 'off':
|
196 |
return false;
|
197 |
default:
|
|
|
|
|
198 |
$a['errors']->add(
|
199 |
$attr_name,
|
200 |
// Translators: %1$s = Attr Name, %2$s = Attribute array
|
@@ -202,9 +204,15 @@ function validate_bool( $str, $attr_name ) {
|
|
202 |
// Translators: Attribute Name
|
203 |
__( '%1$s <code>%2$s</code> not valid', 'advanced-responsive-video-embedder' ),
|
204 |
esc_html( $attr_name ),
|
205 |
-
esc_html( $
|
206 |
)
|
207 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
return null;
|
209 |
}//end switch
|
210 |
}
|
@@ -479,7 +487,7 @@ function compare_oembed_src_with_generated_src( $a ) {
|
|
479 |
function missing_attribute_check( array $a ) {
|
480 |
|
481 |
// Old shortcodes
|
482 |
-
if ( $a['
|
483 |
|
484 |
if ( ! $a['id'] || ! $a['provider'] ) {
|
485 |
throw new \Exception( 'need id and provider' );
|
124 |
switch ( $key ) {
|
125 |
case 'errors':
|
126 |
break;
|
127 |
+
case 'origin_data':
|
128 |
if ( null !== $value && ! is_array( $value ) ) {
|
129 |
+
$a['errors']->add( 'origin_data-type', 'origin_data needs to be null or array' . $value );
|
130 |
}
|
131 |
break;
|
132 |
case 'oembed_data':
|
133 |
if ( null !== $value && ! is_object( $value ) ) {
|
134 |
+
$a['errors']->add( 'oembed_data-type', 'oembed_data needs to be null or a object' );
|
135 |
}
|
136 |
break;
|
137 |
default:
|
138 |
if ( null !== $value && ! is_string( $value ) ) {
|
139 |
+
$a['errors']->add( 'wrong-type', "$key must be null or string" );
|
140 |
}
|
141 |
break;
|
142 |
}
|
143 |
}
|
144 |
|
145 |
+
foreach ( bool_shortcode_args() as $attr_name ) {
|
146 |
+
$a[ $attr_name ] = validate_bool( $attr_name, $a );
|
147 |
};
|
148 |
|
149 |
$url_args = array_merge( VIDEO_FILE_EXTENSIONS, [ 'url' ] );
|
176 |
}
|
177 |
|
178 |
// phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh
|
179 |
+
function validate_bool( $attr_name, $a ) {
|
180 |
|
181 |
+
switch ( $a[ $attr_name ] ) {
|
182 |
case 'true':
|
183 |
case '1':
|
184 |
case 'y':
|
195 |
case 'off':
|
196 |
return false;
|
197 |
default:
|
198 |
+
$error_code = $attr_name . ' bool-validation';
|
199 |
+
|
200 |
$a['errors']->add(
|
201 |
$attr_name,
|
202 |
// Translators: %1$s = Attr Name, %2$s = Attribute array
|
204 |
// Translators: Attribute Name
|
205 |
__( '%1$s <code>%2$s</code> not valid', 'advanced-responsive-video-embedder' ),
|
206 |
esc_html( $attr_name ),
|
207 |
+
esc_html( $a[ $attr_name ] )
|
208 |
)
|
209 |
);
|
210 |
+
|
211 |
+
$a['errors']->add_data(
|
212 |
+
compact( 'attr_name', 'a' ),
|
213 |
+
$error_code
|
214 |
+
);
|
215 |
+
|
216 |
return null;
|
217 |
}//end switch
|
218 |
}
|
487 |
function missing_attribute_check( array $a ) {
|
488 |
|
489 |
// Old shortcodes
|
490 |
+
if ( ! empty( $a['origin_data']['from'] ) && 'create_shortcodes' === $a['origin_data']['from'] ) {
|
491 |
|
492 |
if ( ! $a['id'] || ! $a['provider'] ) {
|
493 |
throw new \Exception( 'need id and provider' );
|
php/functions-shortcodes.php
CHANGED
@@ -1,17 +1,19 @@
|
|
1 |
<?php
|
2 |
namespace Nextgenthemes\ARVE;
|
3 |
|
4 |
-
function shortcode( $a
|
5 |
|
6 |
$a = (array) $a;
|
7 |
|
|
|
|
|
8 |
foreach ( $a as $k => $v ) {
|
9 |
if ( '' === $v ) {
|
10 |
unset( $a[ $k ] );
|
11 |
}
|
12 |
}
|
13 |
|
14 |
-
$override = apply_filters( 'nextgenthemes/arve/shortcode_override', '', $a,
|
15 |
|
16 |
if ( '' !== $override ) {
|
17 |
return $override;
|
@@ -22,14 +24,23 @@ function shortcode( $a, $content = null ) {
|
|
22 |
|
23 |
if ( ! empty( $a['url'] ) ) {
|
24 |
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
-
if (
|
28 |
-
|
|
|
29 |
}
|
30 |
}
|
31 |
|
32 |
-
return build_video( $a
|
33 |
}
|
34 |
|
35 |
function error( $msg, $code = '' ) {
|
@@ -133,9 +144,10 @@ function create_shortcodes() {
|
|
133 |
if ( ! empty( $properties[ $provider ]['rebuild_url'] ) && ! empty( $a['id'] ) ) {
|
134 |
$a['url'] = sprintf( $properties[ $provider ]['rebuild_url'], $a['id'] );
|
135 |
unset( $a['id'] );
|
|
|
136 |
return shortcode( $a );
|
137 |
} else {
|
138 |
-
$a['
|
139 |
return build_video( $a );
|
140 |
}
|
141 |
};
|
1 |
<?php
|
2 |
namespace Nextgenthemes\ARVE;
|
3 |
|
4 |
+
function shortcode( $a ) {
|
5 |
|
6 |
$a = (array) $a;
|
7 |
|
8 |
+
$a['origin_data']['from'] = 'shortcode';
|
9 |
+
|
10 |
foreach ( $a as $k => $v ) {
|
11 |
if ( '' === $v ) {
|
12 |
unset( $a[ $k ] );
|
13 |
}
|
14 |
}
|
15 |
|
16 |
+
$override = apply_filters( 'nextgenthemes/arve/shortcode_override', '', $a, 'not used' );
|
17 |
|
18 |
if ( '' !== $override ) {
|
19 |
return $override;
|
24 |
|
25 |
if ( ! empty( $a['url'] ) ) {
|
26 |
|
27 |
+
remove_filter( 'embed_oembed_html', __NAMESPACE__ . '\filter_embed_oembed_html', -5 );
|
28 |
+
$maybe_arve_html = $GLOBALS['wp_embed']->shortcode( array(), $a['url'] );
|
29 |
+
add_filter( 'embed_oembed_html', __NAMESPACE__ . '\filter_embed_oembed_html', -5, 4 );
|
30 |
+
|
31 |
+
$json = extract_oembed_json( $maybe_arve_html );
|
32 |
+
|
33 |
+
if ( json_last_error() !== JSON_ERROR_NONE ) {
|
34 |
+
$a['errors']->add( 'json-error', 'json decode error code ' . json_last_error() );
|
35 |
+
}
|
36 |
|
37 |
+
if ( $json ) {
|
38 |
+
$a['oembed_data'] = $json;
|
39 |
+
$a['origin_data']['from'] = 'shortcode oembed_data detected';
|
40 |
}
|
41 |
}
|
42 |
|
43 |
+
return build_video( $a );
|
44 |
}
|
45 |
|
46 |
function error( $msg, $code = '' ) {
|
144 |
if ( ! empty( $properties[ $provider ]['rebuild_url'] ) && ! empty( $a['id'] ) ) {
|
145 |
$a['url'] = sprintf( $properties[ $provider ]['rebuild_url'], $a['id'] );
|
146 |
unset( $a['id'] );
|
147 |
+
$a['origin_data']['from'] = 'create_shortcodes rebuild_url';
|
148 |
return shortcode( $a );
|
149 |
} else {
|
150 |
+
$a['origin_data']['from'] = 'create_shortcodes';
|
151 |
return build_video( $a );
|
152 |
}
|
153 |
};
|
php/functions-url-handlers.php
CHANGED
@@ -19,19 +19,18 @@ function create_url_handlers() {
|
|
19 |
|
20 |
function url_handler( $provider, array $matches, array $attr, $url, $rawattr ) {
|
21 |
|
22 |
-
$info = array(
|
23 |
-
'matches' => $matches,
|
24 |
-
'attr' => $attr,
|
25 |
-
'rawattr' => $rawattr,
|
26 |
-
);
|
27 |
-
|
28 |
if ( is_array( $rawattr ) ) {
|
29 |
$a = $rawattr;
|
30 |
}
|
31 |
|
32 |
$a['provider'] = $provider;
|
33 |
-
$a['url_handler'] = $info;
|
34 |
$a['url'] = $url;
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
return build_video( $a );
|
37 |
}
|
19 |
|
20 |
function url_handler( $provider, array $matches, array $attr, $url, $rawattr ) {
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
if ( is_array( $rawattr ) ) {
|
23 |
$a = $rawattr;
|
24 |
}
|
25 |
|
26 |
$a['provider'] = $provider;
|
|
|
27 |
$a['url'] = $url;
|
28 |
+
$a['origin_data'] = [
|
29 |
+
'from' => 'url_handler',
|
30 |
+
'matches' => $matches,
|
31 |
+
'attr' => $attr,
|
32 |
+
'rawattr' => $rawattr,
|
33 |
+
];
|
34 |
|
35 |
return build_video( $a );
|
36 |
}
|
php/init.php
CHANGED
@@ -12,7 +12,7 @@ function init_public() {
|
|
12 |
|
13 |
add_option( 'arve_install_date', time() );
|
14 |
|
15 |
-
if ( version_compare( get_option( 'arve_version' ), '9.5.
|
16 |
$GLOBALS['wpdb']->query( "DELETE FROM {$GLOBALS['wpdb']->postmeta} WHERE meta_key LIKE '%_oembed_%'" );
|
17 |
}
|
18 |
update_option( 'arve_version', VERSION );
|
12 |
|
13 |
add_option( 'arve_install_date', time() );
|
14 |
|
15 |
+
if ( version_compare( get_option( 'arve_version' ), '9.5.3-alpha1', '<' ) ) {
|
16 |
$GLOBALS['wpdb']->query( "DELETE FROM {$GLOBALS['wpdb']->postmeta} WHERE meta_key LIKE '%_oembed_%'" );
|
17 |
}
|
18 |
update_option( 'arve_version', VERSION );
|
php/providers.php
CHANGED
@@ -12,8 +12,8 @@
|
|
12 |
'id' => 'e269333a-579b-11e5-aa10-8587cc892389',
|
13 |
],
|
14 |
1 => [
|
15 |
-
'url' => 'https://alugha.com/
|
16 |
-
'id' => '
|
17 |
],
|
18 |
2 => [
|
19 |
'url' => 'https://alugha.com/videos/7cab9cd7-f64a-11e5-939b-c39074d29b86',
|
@@ -37,6 +37,7 @@
|
|
37 |
],
|
38 |
'bannedvideo' => [
|
39 |
'name' => 'Banned.video',
|
|
|
40 |
'regex' => '#https://banned\\.video/watch\\?id=(?<id>[a-z0-9]+)#i',
|
41 |
'embed_url' => 'https://api.banned.video/embed/%s',
|
42 |
'tests' => [
|
@@ -61,30 +62,9 @@
|
|
61 |
],
|
62 |
],
|
63 |
],
|
64 |
-
'break' => [
|
65 |
-
'name' => 'Break',
|
66 |
-
'regex' => '#https?://(www\\.|view\\.)break\\.com/(video/|embed/)?[-a-z0-9]*?(?<id>[0-9]+)#i',
|
67 |
-
'oembed' => false,
|
68 |
-
'embed_url' => 'http://break.com/embed/%s',
|
69 |
-
'default_params' => 'embed=1',
|
70 |
-
'auto_thumbnail' => false,
|
71 |
-
'tests' => [
|
72 |
-
0 => [
|
73 |
-
'url' => 'https://www.break.com/video/first-person-pov-of-tornado-strike-2542591-test',
|
74 |
-
'id' => 2542591,
|
75 |
-
],
|
76 |
-
1 => [
|
77 |
-
'url' => 'http://view.break.com/2542591-test',
|
78 |
-
'id' => 2542591,
|
79 |
-
],
|
80 |
-
2 => [
|
81 |
-
'url' => 'http://www.break.com/embed/2542591?embed=1',
|
82 |
-
'id' => 2542591,
|
83 |
-
],
|
84 |
-
],
|
85 |
-
],
|
86 |
'mailru' => [
|
87 |
'name' => 'Mail.ru',
|
|
|
88 |
'regex' => '#https?://my\\.mail\\.ru/video/embed/(?<id>[0-9]+)#i',
|
89 |
'oembed' => false,
|
90 |
'embed_url' => 'https://my.mail.ru/video/embed/%s',
|
@@ -128,6 +108,7 @@
|
|
128 |
],
|
129 |
'cantcensortruthcom' => [
|
130 |
'name' => 'cantcensortruth.com',
|
|
|
131 |
'regex' => '#https://cantcensortruth\\.com/watch\\?id=(?<id>[a-z0-9]+)#i',
|
132 |
'embed_url' => 'https://api.banned.video/embed/%s',
|
133 |
'tests' => [
|
@@ -139,6 +120,7 @@
|
|
139 |
],
|
140 |
'comedycentral' => [
|
141 |
'name' => 'Comedy Central',
|
|
|
142 |
'regex' => '#https?://media\\.mtvnservices\\.com/embed/mgid:arc:video:comedycentral\\.com:(?<id>[-a-z0-9]{36})#i',
|
143 |
'embed_url' => 'http://media.mtvnservices.com/embed/mgid:arc:video:comedycentral.com:%s',
|
144 |
'requires_src' => true,
|
@@ -176,6 +158,7 @@
|
|
176 |
],
|
177 |
'dailymotion_playlist' => [
|
178 |
'name' => 'Dailymotion Playlist',
|
|
|
179 |
'regex' => '#https?://(www\\.)?dailymotion\\.com/playlist/(?<id>[a-z0-9]+)#i',
|
180 |
'embed_url' => 'https://www.dailymotion.com/embed/playlist/%s',
|
181 |
'auto_thumbnail' => false,
|
@@ -188,7 +171,7 @@
|
|
188 |
],
|
189 |
'dtube' => [
|
190 |
'name' => 'DTube',
|
191 |
-
'oembed' =>
|
192 |
'regex' => '%https?://d\\.tube(/#!)?/v/(?<id>[^"]+)%i',
|
193 |
'embed_url' => 'https://emb.d.tube/#!/%s',
|
194 |
'tests' => [
|
@@ -218,6 +201,7 @@
|
|
218 |
],
|
219 |
'googledrive' => [
|
220 |
'name' => 'Google Drive',
|
|
|
221 |
'regex' => '#https?://drive\\.google\\.com/file/d/(?<id>[^\\s/]+)#i',
|
222 |
'embed_url' => 'https://drive.google.com/file/d/%s/preview',
|
223 |
'tests' => [
|
@@ -233,6 +217,7 @@
|
|
233 |
],
|
234 |
'iframe' => [
|
235 |
'name' => 'ARVE general iframe embed',
|
|
|
236 |
'embed_url' => '%s',
|
237 |
'default_params' => '',
|
238 |
'auto_thumbnail' => false,
|
@@ -245,13 +230,14 @@
|
|
245 |
],
|
246 |
'ign' => [
|
247 |
'name' => 'IGN',
|
|
|
248 |
'regex' => '#(?<id>https?://(www\\.)?ign\\.com/videos/[0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9a-z\\-]+)#i',
|
249 |
'embed_url' => 'https://widgets.ign.com/video/embed/content.html?url=%s',
|
250 |
'auto_thumbnail' => false,
|
251 |
'tests' => [
|
252 |
0 => [
|
253 |
-
'url' => 'https://
|
254 |
-
'id' => 'https://
|
255 |
],
|
256 |
],
|
257 |
],
|
@@ -261,7 +247,7 @@
|
|
261 |
],
|
262 |
'kickstarter' => [
|
263 |
'name' => 'Kickstarter',
|
264 |
-
'oembed' =>
|
265 |
'regex' => '#https?://(www\\.)?kickstarter\\.com/projects/(?<id>[0-9a-z\\-]+/[-0-9a-z\\-]+)#i',
|
266 |
'embed_url' => 'https://www.kickstarter.com/projects/%s/widget/video.html',
|
267 |
'auto_thumbnail' => false,
|
@@ -278,6 +264,7 @@
|
|
278 |
],
|
279 |
'klatv' => [
|
280 |
'name' => 'kla.tv',
|
|
|
281 |
'regex' => '#https?://(www\\.)?kla(gemauer)?.tv/(?<id>[0-9]+)#i',
|
282 |
'embed_url' => 'https://www.kla.tv/index.php?a=showembed&vidid=%s',
|
283 |
'url' => true,
|
@@ -294,16 +281,15 @@
|
|
294 |
],
|
295 |
],
|
296 |
'liveleak' => [
|
|
|
|
|
297 |
'name' => 'LiveLeak',
|
|
|
298 |
'regex' => '#https?://(www\\.)?liveleak\\.com/(view|ll_embed)\\?(?<id>(f|i|t)=[0-9a-z\\_]+)#i',
|
299 |
'embed_url' => 'https://www.liveleak.com/ll_embed?%s',
|
300 |
'default_params' => '',
|
301 |
'auto_thumbnail' => true,
|
302 |
'tests' => [
|
303 |
-
0 => [
|
304 |
-
'url' => 'http://www.liveleak.com/view?i=703_1385224413',
|
305 |
-
'id' => 'i=703_1385224413',
|
306 |
-
],
|
307 |
1 => [
|
308 |
'url' => 'http://www.liveleak.com/view?f=c85bdf5e45b2',
|
309 |
'id' => 'f=c85bdf5e45b2',
|
@@ -320,6 +306,7 @@
|
|
320 |
],
|
321 |
'livestream' => [
|
322 |
'name' => 'Livestream.com',
|
|
|
323 |
'regex' => '#https?://(www\\.)?livestream\\.com/accounts/(?<id>[0-9]+/events/[0-9]+(/videos/[0-9]+)?)#i',
|
324 |
'embed_url' => 'https://livestream.com/accounts/%s/player',
|
325 |
'default_params' => 'width=1280&height=720&enableInfoAndActivity=true&defaultDrawer=&mute=false',
|
@@ -337,6 +324,7 @@
|
|
337 |
],
|
338 |
'metacafe' => [
|
339 |
'name' => 'Metacafe',
|
|
|
340 |
'regex' => '#https?://(www\\.)?metacafe\\.com/(watch|fplayer)/(?<id>[0-9]+)#i',
|
341 |
'embed_url' => 'http://www.metacafe.com/embed/%s/',
|
342 |
'auto_thumbnail' => false,
|
@@ -353,6 +341,8 @@
|
|
353 |
],
|
354 |
'myspace' => [
|
355 |
'name' => 'myspace',
|
|
|
|
|
356 |
'regex' => '#https?://(www\\.)?myspace\\.com/.+/(?<id>[0-9]+)#i',
|
357 |
'embed_url' => 'https://media.myspace.com/play/video/%s',
|
358 |
'auto_thumbnail' => false,
|
@@ -369,6 +359,7 @@
|
|
369 |
],
|
370 |
'rumble' => [
|
371 |
'name' => 'Rumble.com',
|
|
|
372 |
'regex' => '#https://rumble\\.com/(embed/)?(?<id>[^-/]+)#i',
|
373 |
'embed_url' => 'https://rumble.com/embed/%s/',
|
374 |
'default_params' => '',
|
@@ -380,13 +371,14 @@
|
|
380 |
'id' => 'vd6thp',
|
381 |
],
|
382 |
1 => [
|
383 |
-
'url' => 'https://rumble.com/
|
384 |
-
'id' => '
|
385 |
],
|
386 |
],
|
387 |
],
|
388 |
'rutube' => [
|
389 |
'name' => 'RuTube.ru',
|
|
|
390 |
'regex' => '#https?://(www\\.)?rutube\\.ru/play/embed/(?<id>[0-9]+)#i',
|
391 |
'embed_url' => 'https://rutube.ru/play/embed/%s',
|
392 |
'tests' => [
|
@@ -404,6 +396,7 @@
|
|
404 |
],
|
405 |
'snotr' => [
|
406 |
'name' => 'Snotr',
|
|
|
407 |
'regex' => '#https?://(www\\.)?snotr\\.com/(video|embed)/(?<id>[0-9]+)#i',
|
408 |
'embed_url' => 'https://www.snotr.com/embed/%s',
|
409 |
'rebuild_url' => 'https://www.snotr.com/video/%s',
|
@@ -415,19 +408,6 @@
|
|
415 |
],
|
416 |
],
|
417 |
],
|
418 |
-
'spike' => [
|
419 |
-
'name' => 'Spike',
|
420 |
-
'regex' => '#https?://media.mtvnservices.com/embed/mgid:arc:video:spike\\.com:(?<id>[a-z0-9\\-]{36})#i',
|
421 |
-
'embed_url' => 'http://media.mtvnservices.com/embed/mgid:arc:video:spike.com:%s',
|
422 |
-
'requires_src' => true,
|
423 |
-
'auto_thumbnail' => false,
|
424 |
-
'tests' => [
|
425 |
-
0 => [
|
426 |
-
'url' => 'http://media.mtvnservices.com/embed/mgid:arc:video:spike.com:6a219882-c412-46ce-a8c9-32e043396621',
|
427 |
-
'id' => '6a219882-c412-46ce-a8c9-32e043396621',
|
428 |
-
],
|
429 |
-
],
|
430 |
-
],
|
431 |
'ted' => [
|
432 |
'name' => 'TED Talks',
|
433 |
'oembed' => true,
|
@@ -469,6 +449,7 @@
|
|
469 |
],
|
470 |
'ustream' => [
|
471 |
'name' => 'Ustream',
|
|
|
472 |
'regex' => '#https?://(www\\.)?ustream\\.tv/(embed/|channel/)?(?<id>[0-9]{8}|recorded/[0-9]{8}(/highlight/[0-9]+)?)#i',
|
473 |
'embed_url' => 'http://www.ustream.tv/embed/%s',
|
474 |
'default_params' => 'html5ui',
|
@@ -487,6 +468,7 @@
|
|
487 |
],
|
488 |
'viddler' => [
|
489 |
'name' => 'Viddler',
|
|
|
490 |
'regex' => '#https?://(www\\.)?viddler\\.com/(embed|v)/(?<id>[a-z0-9]{8})#i',
|
491 |
'embed_url' => 'https://www.viddler.com/embed/%s/',
|
492 |
'rebuild_url' => 'https://www.viddler.com/v/%s/',
|
@@ -516,13 +498,14 @@
|
|
516 |
'id' => 124400795,
|
517 |
],
|
518 |
1 => [
|
519 |
-
'url' => 'https://player.vimeo.com/
|
520 |
-
'id' =>
|
521 |
],
|
522 |
],
|
523 |
],
|
524 |
'vk' => [
|
525 |
'name' => 'VK',
|
|
|
526 |
'regex' => '#https?://(www\\.)?vk\\.com/video_ext\\.php\\?(?<id>[^ ]+)#i',
|
527 |
'embed_url' => 'https://vk.com/video_ext.php?%s',
|
528 |
'rebuild_url' => 'https://vk.com/video_ext.php?%s',
|
@@ -541,21 +524,6 @@
|
|
541 |
],
|
542 |
],
|
543 |
],
|
544 |
-
'vzaar' => [
|
545 |
-
'name' => 'vzaar',
|
546 |
-
'regex' => '#https?://(www\\.)?vzaar.(com|tv)/(videos/)?(?<id>[0-9]+)#i',
|
547 |
-
'embed_url' => 'https://view.vzaar.com/%s/player',
|
548 |
-
'tests' => [
|
549 |
-
0 => [
|
550 |
-
'url' => 'https://vzaar.com/videos/993324',
|
551 |
-
'id' => 993324,
|
552 |
-
],
|
553 |
-
1 => [
|
554 |
-
'url' => 'https://vzaar.com/videos/1515906',
|
555 |
-
'id' => 1515906,
|
556 |
-
],
|
557 |
-
],
|
558 |
-
],
|
559 |
'wistia' => [
|
560 |
'name' => 'Wistia',
|
561 |
'oembed' => true,
|
@@ -588,6 +556,7 @@
|
|
588 |
],
|
589 |
'yahoo' => [
|
590 |
'name' => 'Yahoo',
|
|
|
591 |
'regex' => '#(?<id>https?://([a-z.]+)yahoo\\.com/[/-a-z0-9öäü]+\\.html)#i',
|
592 |
'embed_url' => '%s',
|
593 |
'default_params' => 'format=embed',
|
@@ -606,25 +575,25 @@
|
|
606 |
],
|
607 |
'youku' => [
|
608 |
'name' => 'Youku',
|
609 |
-
'regex' => '#https?://([a-z.]+)?\\.youku.com/(embed/|v_show/id_)(?<id>[a-z0-9]+)#i',
|
610 |
'oembed' => false,
|
|
|
611 |
'embed_url' => 'https://player.youku.com/embed/%s',
|
612 |
'auto_thumbnail' => false,
|
613 |
'aspect_ratio' => '450:292.5',
|
614 |
'tests' => [
|
615 |
0 => [
|
616 |
-
'url' => '
|
617 |
'id' => 'XMTczMDAxMjIyNA',
|
618 |
],
|
619 |
1 => [
|
620 |
-
'url' => '
|
621 |
'id' => 'XMTUyODYwOTc4OA',
|
622 |
],
|
623 |
],
|
624 |
],
|
625 |
'youtube' => [
|
626 |
-
'oembed' => true,
|
627 |
'name' => 'YouTube',
|
|
|
628 |
'regex' => '#https?://(www\\.)?(youtube\\.com\\/\\S*((\\/e(mbed))?\\/|watch\\?(\\S*?&?v\\=))|youtu\\.be\\/)(?<id>[a-zA-Z0-9_-]{6,11})#i',
|
629 |
'embed_url' => 'https://www.youtube.com/embed/%s',
|
630 |
'rebuild_url' => 'https://www.youtube.com/watch?v=%s',
|
@@ -686,7 +655,7 @@
|
|
686 |
'id' => 'PL3Esg-ZzbiUmeSKBAQ3ej1hQxDSsmnp-7',
|
687 |
],
|
688 |
1 => [
|
689 |
-
'url' => 'https://www.youtube.com/
|
690 |
'id' => 'PLMUvgtCRyn-6obmhiDS4n5vYQN3bJRduk',
|
691 |
],
|
692 |
],
|
12 |
'id' => 'e269333a-579b-11e5-aa10-8587cc892389',
|
13 |
],
|
14 |
1 => [
|
15 |
+
'url' => 'https://alugha.com/videos/e5ddd7d0-6b7c-11eb-b741-7b3016ed7f90',
|
16 |
+
'id' => 'e5ddd7d0-6b7c-11eb-b741-7b3016ed7f90',
|
17 |
],
|
18 |
2 => [
|
19 |
'url' => 'https://alugha.com/videos/7cab9cd7-f64a-11e5-939b-c39074d29b86',
|
37 |
],
|
38 |
'bannedvideo' => [
|
39 |
'name' => 'Banned.video',
|
40 |
+
'oembed' => false,
|
41 |
'regex' => '#https://banned\\.video/watch\\?id=(?<id>[a-z0-9]+)#i',
|
42 |
'embed_url' => 'https://api.banned.video/embed/%s',
|
43 |
'tests' => [
|
62 |
],
|
63 |
],
|
64 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
'mailru' => [
|
66 |
'name' => 'Mail.ru',
|
67 |
+
'oembed' => false,
|
68 |
'regex' => '#https?://my\\.mail\\.ru/video/embed/(?<id>[0-9]+)#i',
|
69 |
'oembed' => false,
|
70 |
'embed_url' => 'https://my.mail.ru/video/embed/%s',
|
108 |
],
|
109 |
'cantcensortruthcom' => [
|
110 |
'name' => 'cantcensortruth.com',
|
111 |
+
'oembed' => false,
|
112 |
'regex' => '#https://cantcensortruth\\.com/watch\\?id=(?<id>[a-z0-9]+)#i',
|
113 |
'embed_url' => 'https://api.banned.video/embed/%s',
|
114 |
'tests' => [
|
120 |
],
|
121 |
'comedycentral' => [
|
122 |
'name' => 'Comedy Central',
|
123 |
+
'oembed' => false,
|
124 |
'regex' => '#https?://media\\.mtvnservices\\.com/embed/mgid:arc:video:comedycentral\\.com:(?<id>[-a-z0-9]{36})#i',
|
125 |
'embed_url' => 'http://media.mtvnservices.com/embed/mgid:arc:video:comedycentral.com:%s',
|
126 |
'requires_src' => true,
|
158 |
],
|
159 |
'dailymotion_playlist' => [
|
160 |
'name' => 'Dailymotion Playlist',
|
161 |
+
'oembed' => false,
|
162 |
'regex' => '#https?://(www\\.)?dailymotion\\.com/playlist/(?<id>[a-z0-9]+)#i',
|
163 |
'embed_url' => 'https://www.dailymotion.com/embed/playlist/%s',
|
164 |
'auto_thumbnail' => false,
|
171 |
],
|
172 |
'dtube' => [
|
173 |
'name' => 'DTube',
|
174 |
+
'oembed' => false,
|
175 |
'regex' => '%https?://d\\.tube(/#!)?/v/(?<id>[^"]+)%i',
|
176 |
'embed_url' => 'https://emb.d.tube/#!/%s',
|
177 |
'tests' => [
|
201 |
],
|
202 |
'googledrive' => [
|
203 |
'name' => 'Google Drive',
|
204 |
+
'oembed' => false,
|
205 |
'regex' => '#https?://drive\\.google\\.com/file/d/(?<id>[^\\s/]+)#i',
|
206 |
'embed_url' => 'https://drive.google.com/file/d/%s/preview',
|
207 |
'tests' => [
|
217 |
],
|
218 |
'iframe' => [
|
219 |
'name' => 'ARVE general iframe embed',
|
220 |
+
'oembed' => false,
|
221 |
'embed_url' => '%s',
|
222 |
'default_params' => '',
|
223 |
'auto_thumbnail' => false,
|
230 |
],
|
231 |
'ign' => [
|
232 |
'name' => 'IGN',
|
233 |
+
'oembed' => false,
|
234 |
'regex' => '#(?<id>https?://(www\\.)?ign\\.com/videos/[0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9a-z\\-]+)#i',
|
235 |
'embed_url' => 'https://widgets.ign.com/video/embed/content.html?url=%s',
|
236 |
'auto_thumbnail' => false,
|
237 |
'tests' => [
|
238 |
0 => [
|
239 |
+
'url' => 'https://ign.com/videos/2012/03/06/mass-effect-3-video-review',
|
240 |
+
'id' => 'https://ign.com/videos/2012/03/06/mass-effect-3-video-review',
|
241 |
],
|
242 |
],
|
243 |
],
|
247 |
],
|
248 |
'kickstarter' => [
|
249 |
'name' => 'Kickstarter',
|
250 |
+
'oembed' => false,
|
251 |
'regex' => '#https?://(www\\.)?kickstarter\\.com/projects/(?<id>[0-9a-z\\-]+/[-0-9a-z\\-]+)#i',
|
252 |
'embed_url' => 'https://www.kickstarter.com/projects/%s/widget/video.html',
|
253 |
'auto_thumbnail' => false,
|
264 |
],
|
265 |
'klatv' => [
|
266 |
'name' => 'kla.tv',
|
267 |
+
'oembed' => false,
|
268 |
'regex' => '#https?://(www\\.)?kla(gemauer)?.tv/(?<id>[0-9]+)#i',
|
269 |
'embed_url' => 'https://www.kla.tv/index.php?a=showembed&vidid=%s',
|
270 |
'url' => true,
|
281 |
],
|
282 |
],
|
283 |
'liveleak' => [
|
284 |
+
# <iframe width="640" height="360" src="//www.liveleak.com/e/9UCAQ_1613786191" frameborder="0" allowfullscreen></iframe>
|
285 |
+
# https://www.liveleak.com/view?t=svtYD_1613984945
|
286 |
'name' => 'LiveLeak',
|
287 |
+
'oembed' => false,
|
288 |
'regex' => '#https?://(www\\.)?liveleak\\.com/(view|ll_embed)\\?(?<id>(f|i|t)=[0-9a-z\\_]+)#i',
|
289 |
'embed_url' => 'https://www.liveleak.com/ll_embed?%s',
|
290 |
'default_params' => '',
|
291 |
'auto_thumbnail' => true,
|
292 |
'tests' => [
|
|
|
|
|
|
|
|
|
293 |
1 => [
|
294 |
'url' => 'http://www.liveleak.com/view?f=c85bdf5e45b2',
|
295 |
'id' => 'f=c85bdf5e45b2',
|
306 |
],
|
307 |
'livestream' => [
|
308 |
'name' => 'Livestream.com',
|
309 |
+
'oembed' => false,
|
310 |
'regex' => '#https?://(www\\.)?livestream\\.com/accounts/(?<id>[0-9]+/events/[0-9]+(/videos/[0-9]+)?)#i',
|
311 |
'embed_url' => 'https://livestream.com/accounts/%s/player',
|
312 |
'default_params' => 'width=1280&height=720&enableInfoAndActivity=true&defaultDrawer=&mute=false',
|
324 |
],
|
325 |
'metacafe' => [
|
326 |
'name' => 'Metacafe',
|
327 |
+
'oembed' => false,
|
328 |
'regex' => '#https?://(www\\.)?metacafe\\.com/(watch|fplayer)/(?<id>[0-9]+)#i',
|
329 |
'embed_url' => 'http://www.metacafe.com/embed/%s/',
|
330 |
'auto_thumbnail' => false,
|
341 |
],
|
342 |
'myspace' => [
|
343 |
'name' => 'myspace',
|
344 |
+
'oembed' => false,
|
345 |
+
|
346 |
'regex' => '#https?://(www\\.)?myspace\\.com/.+/(?<id>[0-9]+)#i',
|
347 |
'embed_url' => 'https://media.myspace.com/play/video/%s',
|
348 |
'auto_thumbnail' => false,
|
359 |
],
|
360 |
'rumble' => [
|
361 |
'name' => 'Rumble.com',
|
362 |
+
'oembed' => false,
|
363 |
'regex' => '#https://rumble\\.com/(embed/)?(?<id>[^-/]+)#i',
|
364 |
'embed_url' => 'https://rumble.com/embed/%s/',
|
365 |
'default_params' => '',
|
371 |
'id' => 'vd6thp',
|
372 |
],
|
373 |
1 => [
|
374 |
+
'url' => 'https://rumble.com/ve2ez5-airplane-returns-to-denver-after-engine-malfunction.html?foo=bar',
|
375 |
+
'id' => 've2ez5',
|
376 |
],
|
377 |
],
|
378 |
],
|
379 |
'rutube' => [
|
380 |
'name' => 'RuTube.ru',
|
381 |
+
'oembed' => false,
|
382 |
'regex' => '#https?://(www\\.)?rutube\\.ru/play/embed/(?<id>[0-9]+)#i',
|
383 |
'embed_url' => 'https://rutube.ru/play/embed/%s',
|
384 |
'tests' => [
|
396 |
],
|
397 |
'snotr' => [
|
398 |
'name' => 'Snotr',
|
399 |
+
'oembed' => false,
|
400 |
'regex' => '#https?://(www\\.)?snotr\\.com/(video|embed)/(?<id>[0-9]+)#i',
|
401 |
'embed_url' => 'https://www.snotr.com/embed/%s',
|
402 |
'rebuild_url' => 'https://www.snotr.com/video/%s',
|
408 |
],
|
409 |
],
|
410 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
'ted' => [
|
412 |
'name' => 'TED Talks',
|
413 |
'oembed' => true,
|
449 |
],
|
450 |
'ustream' => [
|
451 |
'name' => 'Ustream',
|
452 |
+
'oembed' => false,
|
453 |
'regex' => '#https?://(www\\.)?ustream\\.tv/(embed/|channel/)?(?<id>[0-9]{8}|recorded/[0-9]{8}(/highlight/[0-9]+)?)#i',
|
454 |
'embed_url' => 'http://www.ustream.tv/embed/%s',
|
455 |
'default_params' => 'html5ui',
|
468 |
],
|
469 |
'viddler' => [
|
470 |
'name' => 'Viddler',
|
471 |
+
'oembed' => false,
|
472 |
'regex' => '#https?://(www\\.)?viddler\\.com/(embed|v)/(?<id>[a-z0-9]{8})#i',
|
473 |
'embed_url' => 'https://www.viddler.com/embed/%s/',
|
474 |
'rebuild_url' => 'https://www.viddler.com/v/%s/',
|
498 |
'id' => 124400795,
|
499 |
],
|
500 |
1 => [
|
501 |
+
'url' => 'https://player.vimeo.com/video/265932452',
|
502 |
+
'id' => 265932452,
|
503 |
],
|
504 |
],
|
505 |
],
|
506 |
'vk' => [
|
507 |
'name' => 'VK',
|
508 |
+
'oembed' => false,
|
509 |
'regex' => '#https?://(www\\.)?vk\\.com/video_ext\\.php\\?(?<id>[^ ]+)#i',
|
510 |
'embed_url' => 'https://vk.com/video_ext.php?%s',
|
511 |
'rebuild_url' => 'https://vk.com/video_ext.php?%s',
|
524 |
],
|
525 |
],
|
526 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
527 |
'wistia' => [
|
528 |
'name' => 'Wistia',
|
529 |
'oembed' => true,
|
556 |
],
|
557 |
'yahoo' => [
|
558 |
'name' => 'Yahoo',
|
559 |
+
'oembed' => false,
|
560 |
'regex' => '#(?<id>https?://([a-z.]+)yahoo\\.com/[/-a-z0-9öäü]+\\.html)#i',
|
561 |
'embed_url' => '%s',
|
562 |
'default_params' => 'format=embed',
|
575 |
],
|
576 |
'youku' => [
|
577 |
'name' => 'Youku',
|
|
|
578 |
'oembed' => false,
|
579 |
+
'regex' => '#https?://([a-z.]+)?\\.youku.com/(embed/|v_show/id_)(?<id>[a-z0-9]+)#i',
|
580 |
'embed_url' => 'https://player.youku.com/embed/%s',
|
581 |
'auto_thumbnail' => false,
|
582 |
'aspect_ratio' => '450:292.5',
|
583 |
'tests' => [
|
584 |
0 => [
|
585 |
+
'url' => 'https://v.youku.com/v_show/id_XMTczMDAxMjIyNA==.html?f=27806190',
|
586 |
'id' => 'XMTczMDAxMjIyNA',
|
587 |
],
|
588 |
1 => [
|
589 |
+
'url' => 'https://player.youku.com/embed/XMTUyODYwOTc4OA==',
|
590 |
'id' => 'XMTUyODYwOTc4OA',
|
591 |
],
|
592 |
],
|
593 |
],
|
594 |
'youtube' => [
|
|
|
595 |
'name' => 'YouTube',
|
596 |
+
'oembed' => true,
|
597 |
'regex' => '#https?://(www\\.)?(youtube\\.com\\/\\S*((\\/e(mbed))?\\/|watch\\?(\\S*?&?v\\=))|youtu\\.be\\/)(?<id>[a-zA-Z0-9_-]{6,11})#i',
|
598 |
'embed_url' => 'https://www.youtube.com/embed/%s',
|
599 |
'rebuild_url' => 'https://www.youtube.com/watch?v=%s',
|
655 |
'id' => 'PL3Esg-ZzbiUmeSKBAQ3ej1hQxDSsmnp-7',
|
656 |
],
|
657 |
1 => [
|
658 |
+
'url' => 'https://www.youtube.com/watch?list=PLMUvgtCRyn-6obmhiDS4n5vYQN3bJRduk&v=cyoffsDl4Hw',
|
659 |
'id' => 'PLMUvgtCRyn-6obmhiDS4n5vYQN3bJRduk',
|
660 |
],
|
661 |
],
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: YouTube, Vimeo, lazyload, thumbnail, video, responsive, embeds, video-embe
|
|
5 |
Requires at least: 4.9.16
|
6 |
Tested up to: 5.6
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 9.
|
9 |
License: GPL-3.0
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -55,7 +55,7 @@ It is very likely the one and only plugin you will ever need to handle video emb
|
|
55 |
#### Supported Providers ####
|
56 |
|
57 |
[All providers with iframe embed codes](https://nextgenthemes.com/plugins/arve/documentation/#general-iframe-embedding)
|
58 |
-
Alugha, Archive.org, Banned.video, Bitchute,
|
59 |
### Reviews ###
|
60 |
|
61 |
#### ★ ★ ★ ★ ★ Great plugin, great support ####
|
@@ -172,6 +172,11 @@ Please read the [official documentation](https://wordpress.org/support/article/m
|
|
172 |
* [ARVE Pro changelog](https://nextgenthemes.com/plugins/arve-pro/#changelog)
|
173 |
* [ARVE Random Videos changelog](https://nextgenthemes.com/plugins/random-video/#changelog)
|
174 |
|
|
|
|
|
|
|
|
|
|
|
175 |
### 2021-02-17 9.5.2-beta1 ###
|
176 |
|
177 |
* Fix: Conflict with Notice library.
|
5 |
Requires at least: 4.9.16
|
6 |
Tested up to: 5.6
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 9.5.3-beta1
|
9 |
License: GPL-3.0
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
55 |
#### Supported Providers ####
|
56 |
|
57 |
[All providers with iframe embed codes](https://nextgenthemes.com/plugins/arve/documentation/#general-iframe-embedding)
|
58 |
+
Alugha, Archive.org, Banned.video, Bitchute, Mail.ru, Brightcove, cantcensortruth.com, Comedy Central, Dailymotion, Dailymotion Playlist, DTube, Facebook, Google Drive, mp4 or webm video files, ARVE general iframe embed, IGN, IMDB, Kickstarter, kla.tv, LiveLeak, Livestream.com, Metacafe, myspace, ooyala, Rumble.com, RuTube.ru, Snotr, TED Talks, Twitch, Ustream, Viddler, Vimeo, VK, Wistia, XTube, Yahoo, Youku, YouTube, YouTube Playlist
|
59 |
### Reviews ###
|
60 |
|
61 |
#### ★ ★ ★ ★ ★ Great plugin, great support ####
|
172 |
* [ARVE Pro changelog](https://nextgenthemes.com/plugins/arve-pro/#changelog)
|
173 |
* [ARVE Random Videos changelog](https://nextgenthemes.com/plugins/random-video/#changelog)
|
174 |
|
175 |
+
### 2021-02-22 9.5.3-beta1 ###
|
176 |
+
|
177 |
+
* Fix: Shortcode arguments not working in all situations.
|
178 |
+
* Removed services that went down.
|
179 |
+
|
180 |
### 2021-02-17 9.5.2-beta1 ###
|
181 |
|
182 |
* Fix: Conflict with Notice library.
|