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 / slideshare.php
jetpack / modules / shortcodes Last commit date
css 10 months ago images 2 years ago img 2 years ago js 10 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 10 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 10 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
slideshare.php
138 lines
1 <?php
2 /**
3 * Slideshare shortcode
4 *
5 * Formats:
6 * Old style (still compatible): [slideshare id=5342235&doc=camprock-101002163655-phpapp01&w=300&h=200]
7 * New style: [slideshare id=5342235&w=300&h=200&fb=0&mw=0&mh=0&sc=no]
8 *
9 * Legend:
10 * id = Document ID provided by Slideshare
11 * w = Width of iFrame (int)
12 * h = Height of iFrame (int)
13 * fb = iFrame frameborder (int)
14 * mw = iFrame marginwidth (int)
15 * mh = iFrame marginheight (int)
16 * sc = iFrame Scrollbar (yes/no)
17 * pro = Slideshare Pro (yes/no)
18 * style = Inline CSS (string)
19 *
20 * @package automattic/jetpack
21 */
22
23 if ( ! defined( 'ABSPATH' ) ) {
24 exit( 0 );
25 }
26
27 /**
28 * Register and display shortcode.
29 *
30 * @param array $atts Shortcode attributes.
31 */
32 function slideshare_shortcode( $atts ) {
33 global $content_width;
34
35 $params = shortcode_new_to_old_params( $atts );
36 parse_str( $params, $arguments );
37
38 if ( empty( $arguments ) ) {
39 return '<!-- SlideShare error: no arguments -->';
40 }
41
42 $attr = shortcode_atts(
43 array(
44 'id' => '',
45 'w' => '',
46 'h' => '',
47 'fb' => '',
48 'mw' => '',
49 'mh' => '',
50 'sc' => '',
51 'pro' => '',
52 'style' => '',
53 ),
54 $arguments
55 );
56
57 // check that the Slideshare ID contains letters, numbers and query strings.
58 $pattern = '/[^-_a-zA-Z0-9?=&]/';
59 if ( empty( $attr['id'] ) || preg_match( $pattern, $attr['id'] ) ) {
60 return '<!-- SlideShare error: id is missing or has illegal characters -->';
61 }
62
63 // check the width/height.
64 $w = (int) $attr['w'];
65
66 // If no width was specified (or uses the wrong format), and if we have a $content_width, use that.
67 if ( empty( $w ) && ! empty( $content_width ) ) {
68 $w = (int) $content_width;
69 } elseif ( $w < 300 || $w > 1600 ) { // If width was specified, but is too small/large, set default value.
70 $w = 425;
71 }
72
73 $h = ceil( $w * 348 / 425 ); // Note: user-supplied height is ignored.
74
75 if ( ! empty( $attr['pro'] ) ) {
76 $source = 'https://www.slideshare.net/slidesharepro/' . $attr['id'];
77 } else {
78 $source = 'https://www.slideshare.net/slideshow/embed_code/' . $attr['id'];
79 }
80
81 if ( isset( $attr['rel'] ) ) {
82 $source = add_query_arg( 'rel', (int) $attr['rel'], $source );
83 }
84
85 if ( ! empty( $attr['startSlide'] ) ) {
86 $source = add_query_arg( 'startSlide', (int) $attr['startSlide'], $source );
87 }
88
89 $player = sprintf( "<iframe src='%s' width='%d' height='%d'", esc_url( $source ), $w, $h );
90
91 // check the frameborder.
92 if ( ! empty( $attr['fb'] ) || '0' === $attr['fb'] ) {
93 $player .= " frameborder='" . (int) $attr['fb'] . "'";
94 }
95
96 $is_amp = ( class_exists( 'Jetpack_AMP_Support' ) && Jetpack_AMP_Support::is_amp_request() );
97
98 if ( ! $is_amp ) {
99 // check the margin width; if not empty, cast as int.
100 if ( ( ! empty( $attr['mw'] ) || '0' === $attr['mw'] ) ) {
101 $player .= " marginwidth='" . (int) $attr['mw'] . "'";
102 }
103
104 // check the margin height, if not empty, cast as int.
105 if ( ( ! empty( $attr['mh'] ) || '0' === $attr['mh'] ) ) {
106 $player .= " marginheight='" . (int) $attr['mh'] . "'";
107 }
108 }
109
110 if ( ! empty( $attr['style'] ) ) {
111 $player .= " style='" . esc_attr( $attr['style'] ) . "'";
112 }
113
114 // check the scrollbar; cast as a lowercase string for comparison.
115 if ( ! empty( $attr['sc'] ) ) {
116 $sc = strtolower( $attr['sc'] );
117
118 if ( in_array( $sc, array( 'yes', 'no' ), true ) ) {
119 $player .= " scrolling='" . $sc . "'";
120 }
121 }
122
123 $player .= ' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>';
124
125 /**
126 * Filter the returned SlideShare shortcode.
127 *
128 * @module shortcodes
129 *
130 * @since 4.7.0
131 *
132 * @param string $player The iframe to return.
133 * @param array $atts The attributes specified in the shortcode.
134 */
135 return apply_filters( 'jetpack_slideshare_shortcode', $player, $atts );
136 }
137 add_shortcode( 'slideshare', 'slideshare_shortcode' );
138