PluginProbe
iframe / 4.2
iframe v4.2
trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7 1.8 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 4.0 4.1 4.2 4.3 All 35 releases
iframe / iframe.php

iframe.php in iframe 4.2, at iframe.php

73 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: iframe
4 Plugin URI: http://wordpress.org/plugins/iframe/
5 Description: [iframe src="http://www.youtube.com/embed/4qsGTXLnmKs" width="100%" height="500"] shortcode
6 Version: 4.2
7 Author: webvitaly
8 Author URI: http://web-profile.com.ua/wordpress/plugins/
9 License: GPLv3
10 */
11
12
13 function iframe_unqprfx_embed_shortcode( $atts ) {
14 $defaults = array(
15 'src' => 'http://www.youtube.com/embed/4qsGTXLnmKs',
16 'width' => '100%',
17 'height' => '500',
18 'scrolling' => 'yes',
19 'class' => 'iframe-class',
20 'frameborder' => '0'
21 );
22
23 foreach ( $defaults as $default => $value ) { // add defaults
24 if ( ! @array_key_exists( $default, $atts ) ) { // mute warning with "@" when no params at all
25 $atts[$default] = $value;
26 }
27 }
28
29 $html = "\n".'<!-- iframe plugin v.4.2 wordpress.org/plugins/iframe/ -->'."\n";
30 $html .= '<iframe';
31 foreach( $atts as $attr => $value ) {
32 if ( strtolower($attr) != 'same_height_as' AND strtolower($attr) != 'onload'
33 AND strtolower($attr) != 'onpageshow' AND strtolower($attr) != 'onclick') { // remove some attributes
34 if ( $value != '' ) { // adding all attributes
35 $html .= ' ' . esc_attr( $attr ) . '="' . esc_attr( $value ) . '"';
36 } else { // adding empty attributes
37 $html .= ' ' . esc_attr( $attr );
38 }
39 }
40 }
41 $html .= '></iframe>'."\n";
42
43 if ( isset( $atts["same_height_as"] ) ) {
44 $html .= '
45 <script>
46 document.addEventListener("DOMContentLoaded", function(){
47 var target_element, iframe_element;
48 iframe_element = document.querySelector("iframe.' . esc_attr( $atts["class"] ) . '");
49 target_element = document.querySelector("' . esc_attr( $atts["same_height_as"] ) . '");
50 iframe_element.style.height = target_element.offsetHeight + "px";
51 });
52 </script>
53 ';
54 }
55
56 return $html;
57 }
58 add_shortcode( 'iframe', 'iframe_unqprfx_embed_shortcode' );
59
60
61 function iframe_unqprfx_plugin_meta( $links, $file ) { // add links to plugin meta row
62 if ( $file == plugin_basename( __FILE__ ) ) {
63 $row_meta = array(
64 'support' => '<a href="http://web-profile.com.ua/wordpress/plugins/iframe/" target="_blank"><span class="dashicons dashicons-editor-help"></span> ' . __( 'Iframe', 'iframe' ) . '</a>',
65 'donate' => '<a href="http://web-profile.com.ua/donate/" target="_blank"><span class="dashicons dashicons-heart"></span> ' . __( 'Donate', 'iframe' ) . '</a>',
66 'pro' => '<a href="http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=webvitalii" target="_blank"><span class="dashicons dashicons-star-filled"></span> ' . __( 'Advanced iFrame Pro', 'iframe' ) . '</a>'
67 );
68 $links = array_merge( $links, $row_meta );
69 }
70 return (array) $links;
71 }
72 add_filter( 'plugin_row_meta', 'iframe_unqprfx_plugin_meta', 10, 2 );
73