PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 15.2.1
Jetpack – WP Security, Backup, Speed, & Growth v15.2.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 / kickstarter.php
jetpack / modules / shortcodes Last commit date
css 10 months ago images 2 years ago img 2 years ago js 9 months ago archiveorg-book.php 1 year ago archiveorg.php 1 year ago archives.php 1 year ago bandcamp.php 11 months ago brightcove.php 1 year ago cartodb.php 1 year ago class.filter-embedded-html-objects.php 1 year ago codepen.php 1 year ago crowdsignal.php 9 months ago dailymotion.php 1 year ago descript.php 1 year ago facebook.php 1 year ago flatio.php 1 year ago flickr.php 11 months ago getty.php 1 year ago gist.php 1 year ago googleapps.php 1 year ago googlemaps.php 1 year ago googleplus.php 1 year ago gravatar.php 1 year ago houzz.php 1 year ago inline-pdfs.php 1 year ago instagram.php 1 year ago kickstarter.php 1 year ago mailchimp.php 1 year ago medium.php 1 year ago mixcloud.php 1 year ago others.php 1 year ago pinterest.php 1 year ago presentations.php 1 year ago quiz.php 1 year ago recipe.php 11 months ago scribd.php 1 year ago shortcode-utils.php 1 year ago sitemap.php 1 year ago slideshare.php 9 months ago slideshow.php 11 months ago smartframe.php 1 year ago soundcloud.php 1 year ago spotify.php 1 year ago ted.php 11 months ago tweet.php 1 year ago twitchtv.php 1 year ago twitter-timeline.php 1 year ago twitter.php 1 year ago unavailable.php 1 year ago untappd-menu.php 1 year ago upcoming-events.php 1 year ago ustream.php 1 year ago videopress.php 1 year ago vimeo.php 1 year ago vine.php 1 year ago vr.php 1 year ago wufoo.php 1 year ago youtube.php 1 year ago
kickstarter.php
87 lines
1 <?php
2 /**
3 * Kickstarter shortcode
4 *
5 * Usage:
6 * [kickstarter url="https://www.kickstarter.com/projects/peaktoplateau/yak-wool-baselayers-from-tibet-to-the-world" width="480" height=""]
7 *
8 * @package automattic/jetpack
9 */
10
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit( 0 );
13 }
14
15 add_shortcode( 'kickstarter', 'jetpack_kickstarter_shortcode' );
16 if ( jetpack_shortcodes_should_hook_pre_kses() ) {
17 add_filter( 'pre_kses', 'jetpack_kickstarter_embed_to_shortcode' );
18 }
19
20 /**
21 * Parse shortcode arguments and render its output.
22 *
23 * @since 4.5.0
24 *
25 * @param array $atts Shortcode parameters.
26 *
27 * @return string
28 */
29 function jetpack_kickstarter_shortcode( $atts ) {
30 if ( empty( $atts['url'] ) ) {
31 return '';
32 }
33
34 $url = esc_url_raw( $atts['url'] );
35 if ( ! preg_match( '#^(www\.)?kickstarter\.com$#i', wp_parse_url( $url, PHP_URL_HOST ) ) ) {
36 return '<!-- Invalid Kickstarter URL -->';
37 }
38
39 global $wp_embed;
40 return $wp_embed->shortcode( $atts, $url );
41 }
42
43 /**
44 * Converts Kickstarter iframe embeds to a shortcode.
45 *
46 * EG: <iframe width="480" height="360" src="http://www.kickstarter.com/projects/deweymac/dewey-mac-kid-detective-book-make-diy-and-stem-spy/widget/video.html" frameborder="0" scrolling="no"> </iframe>
47 *
48 * @since 4.5.0
49 *
50 * @param string $content Entry content that possibly includes a Kickstarter embed.
51 *
52 * @return string
53 */
54 function jetpack_kickstarter_embed_to_shortcode( $content ) {
55 if ( ! is_string( $content ) || false === stripos( $content, 'www.kickstarter.com/projects' ) ) {
56 return $content;
57 }
58
59 $regexp = '!<iframe((?:\s+\w+=[\'"][^\'"]*[\'"])*)\s+src=[\'"](http://www\.kickstarter\.com/projects/[^/]+/[^/]+)/[^\'"]+[\'"]((?:\s+\w+=[\'"][^\'"]*[\'"])*)>[\s]*</iframe>!i';
60 $regexp_ent = str_replace( '&amp;#0*58;', '&amp;#0*58;|&#0*58;', htmlspecialchars( $regexp, ENT_NOQUOTES ) ); // phpcs:ignore
61
62 foreach ( array( 'regexp', 'regexp_ent' ) as $reg ) {
63 if ( ! preg_match_all( $$reg, $content, $matches, PREG_SET_ORDER ) ) {
64 continue;
65 }
66
67 foreach ( $matches as $match ) {
68 $url = esc_url( $match[2] );
69
70 $params = $match[1] . $match[3];
71
72 if ( 'regexp_ent' === $reg ) {
73 $params = html_entity_decode( $params, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 );
74 }
75
76 $params = wp_kses_hair( $params, array( 'http' ) );
77
78 $width = isset( $params['width'] ) ? (int) $params['width']['value'] : 0;
79
80 $shortcode = '[kickstarter url=' . $url . ( ( ! empty( $width ) ) ? " width=$width" : '' ) . ']';
81 $content = str_replace( $match[0], $shortcode, $content );
82 }
83 }
84
85 return $content;
86 }
87