PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.8.1
Jetpack – WP Security, Backup, Speed, & Growth v14.8.1
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / shortcodes / ted.php
jetpack / modules / shortcodes Last commit date
css 1 year ago images 2 years ago img 2 years ago js 1 year ago archiveorg-book.php 5 years ago archiveorg.php 5 years ago archives.php 5 years ago bandcamp.php 3 years ago brightcove.php 5 years ago cartodb.php 5 years ago class.filter-embedded-html-objects.php 2 years ago codepen.php 5 years ago crowdsignal.php 1 year ago dailymotion.php 3 years ago descript.php 4 years ago facebook.php 1 year ago flatio.php 5 years ago flickr.php 1 year ago getty.php 2 years ago gist.php 1 year ago googleapps.php 2 years ago googlemaps.php 2 years ago googleplus.php 5 years ago gravatar.php 2 years ago houzz.php 5 years ago inline-pdfs.php 4 years ago instagram.php 1 year ago kickstarter.php 3 years ago mailchimp.php 3 years ago medium.php 3 years ago mixcloud.php 2 years ago others.php 1 year ago pinterest.php 2 years ago presentations.php 2 years ago quiz.php 4 years ago recipe.php 1 year ago scribd.php 5 years ago sitemap.php 5 years ago slideshare.php 5 years ago slideshow.php 1 year ago smartframe.php 3 years ago soundcloud.php 3 years ago spotify.php 2 years ago ted.php 5 years ago tweet.php 2 years ago twitchtv.php 5 years ago twitter-timeline.php 5 years ago twitter.php 1 year ago unavailable.php 3 years ago untappd-menu.php 3 years ago upcoming-events.php 1 year ago ustream.php 5 years ago videopress.php 4 years ago vimeo.php 2 years ago vine.php 5 years ago vr.php 2 years ago wufoo.php 3 years ago youtube.php 1 year ago
ted.php
122 lines
1 <?php
2 /**
3 * TED Player embed code
4 * http://www.ted.com
5 *
6 * Examples:
7 * http://www.ted.com/talks/view/id/210
8 * http://www.ted.com/talks/marc_goodman_a_vision_of_crimes_in_the_future.html
9 * [ted id="210" lang="en"]
10 * [ted id="http://www.ted.com/talks/view/id/210" lang="en"]
11 * [ted id=1539 lang=fr width=560 height=315]
12 *
13 * @package automattic/jetpack
14 */
15
16 wp_oembed_add_provider( '!https?://(www\.)?ted.com/talks/view/id/.+!i', 'https://www.ted.com/talks/oembed.json', true );
17 wp_oembed_add_provider( '!https?://(www\.)?ted.com/talks/[a-zA-Z\-\_]+\.html!i', 'https://www.ted.com/talks/oembed.json', true );
18
19 /**
20 * Get the unique ID of a TED video.
21 * Used in Jetpack_Media_Meta_Extractor.
22 *
23 * @param array $atts Shortcode attributes.
24 */
25 function jetpack_shortcode_get_ted_id( $atts ) {
26 return ( ! empty( $atts['id'] ) ? $atts['id'] : 0 );
27 }
28
29 /**
30 * Handle Ted Shortcode.
31 *
32 * @param array $atts Shortcode attributes.
33 */
34 function shortcode_ted( $atts ) {
35 global $wp_embed;
36
37 $defaults = array(
38 'id' => '',
39 'width' => '',
40 'height' => '',
41 'lang' => 'en',
42 );
43 $atts = shortcode_atts( $defaults, $atts, 'ted' );
44
45 if ( empty( $atts['id'] ) ) {
46 return '<!-- Missing TED ID -->';
47 }
48
49 $url = '';
50 if ( preg_match( '#^[\d]+$#', $atts['id'], $matches ) ) {
51 $url = 'https://ted.com/talks/view/id/' . $matches[0];
52 } elseif ( preg_match( '#^https?://(www\.)?ted\.com/talks/view/id/[0-9]+$#', $atts['id'], $matches ) ) {
53 $url = set_url_scheme( $matches[0], 'https' );
54 }
55
56 unset( $atts['id'] );
57
58 $args = array();
59 $embed_size_w = get_option( 'embed_size_w' );
60
61 if ( is_numeric( $atts['width'] ) ) {
62 $args['width'] = $atts['width'];
63 } elseif ( $embed_size_w ) {
64 $args['width'] = $embed_size_w;
65 } elseif ( ! empty( $GLOBALS['content_width'] ) ) {
66 $args['width'] = (int) $GLOBALS['content_width'];
67 } else {
68 $args['width'] = 500;
69 }
70
71 // Default to a 16x9 aspect ratio if there's no height set.
72 if ( is_numeric( $atts['height'] ) ) {
73 $args['height'] = $atts['height'];
74 } else {
75 $args['height'] = $args['width'] * 0.5625;
76 }
77
78 if ( ! empty( $atts['lang'] ) ) {
79 $args['lang'] = sanitize_key( $atts['lang'] );
80 add_filter( 'oembed_fetch_url', 'ted_filter_oembed_fetch_url', 10, 3 );
81 }
82 $retval = $wp_embed->shortcode( $args, $url );
83 remove_filter( 'oembed_fetch_url', 'ted_filter_oembed_fetch_url', 10 );
84
85 return $retval;
86 }
87 add_shortcode( 'ted', 'shortcode_ted' );
88
89 /**
90 * Filter the request URL to also include the $lang parameter
91 *
92 * @param string $provider URL of provider that supplies the tweet we're requesting.
93 * @param string $url URL of tweet to embed.
94 * @param array $args Parameters supplied to shortcode and passed to wp_oembed_get.
95 */
96 function ted_filter_oembed_fetch_url( $provider, $url, $args ) {
97 return add_query_arg( 'lang', $args['lang'], $provider );
98 }
99
100 /**
101 * Filter the oembed html to set the sandbox attribute in the iframe
102 *
103 * @param string|false $cache The cached HTML result, stored in post meta.
104 * @param string $url The attempted embed URL.
105 *
106 * @return string|false
107 */
108 function ted_filter_oembed_amp_iframe( $cache, $url ) {
109 if ( is_string( $cache )
110 && strpos( $url, 'ted.com' )
111 ) {
112 $cache = preg_replace(
113 '/src=[\'"].*?[\'"]/',
114 '$0 sandbox="allow-popups allow-scripts allow-same-origin"',
115 $cache
116 );
117 }
118
119 return $cache;
120 }
121 add_filter( 'embed_oembed_html', 'ted_filter_oembed_amp_iframe', 10, 2 );
122