PluginProbe
iframe / 2.9
iframe v2.9
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 2.9, at iframe.php

117 lines 4.0 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/A3PDXmYoF5U" width="100%" height="480"] shortcode
6 Version: 2.9
7 Author: webvitaly
8 Author URI: http://web-profile.com.ua/wordpress/plugins/
9 License: GPLv3
10 */
11
12
13 if ( ! function_exists( 'iframe_unqprfx_embed_shortcode' ) ) :
14
15 function iframe_unqprfx_enqueue_script() {
16 wp_enqueue_script( 'jquery' );
17 }
18 add_action( 'wp_enqueue_scripts', 'iframe_unqprfx_enqueue_script' );
19
20
21 function iframe_unqprfx_embed_shortcode( $atts, $content = null ) {
22 $defaults = array(
23 'src' => 'http://www.youtube.com/embed/A3PDXmYoF5U',
24 'width' => '100%',
25 'height' => '480',
26 'scrolling' => 'no',
27 'class' => 'iframe-class',
28 'frameborder' => '0'
29 );
30
31 foreach ( $defaults as $default => $value ) { // add defaults
32 if ( ! @array_key_exists( $default, $atts ) ) { // hide warning with "@" when no params at all
33 $atts[$default] = $value;
34 }
35 }
36
37 // get_params_from_url
38 if ( isset( $atts["get_params_from_url"] ) && ( $atts["get_params_from_url"] == '1' || $atts["get_params_from_url"] == 1 ) ) {
39 $encode_string = '';
40 if ( $_GET != NULL ) {
41 if ( strpos( $atts["src"], '?' ) ) { // if we already have '?' and GET params
42 $encode_string = '&';
43 } else {
44 $encode_string = '?';
45 }
46 foreach( $_GET as $key => $value ) {
47 $encode_string .= $key.'='.$value.'&';
48 }
49 }
50 $encode_string = rtrim($encode_string, '&'); // remove last '&'
51 $atts["src"] .= $encode_string;
52 }
53
54 $html = '';
55 if ( isset( $atts["same_height_as"] ) ) {
56 $same_height_as = $atts["same_height_as"];
57 } else {
58 $same_height_as = '';
59 }
60
61 if ( $same_height_as != '' ) {
62 $atts["same_height_as"] = '';
63 if ( $same_height_as != 'content' ) { // we are setting the height of the iframe like as target element
64 if ( $same_height_as == 'document' || $same_height_as == 'window' ) { // remove quotes for window or document selectors
65 $target_selector = $same_height_as;
66 } else {
67 $target_selector = '"' . $same_height_as . '"';
68 }
69 $html .= '
70 <script>
71 jQuery(function($){
72 var target_height = $(' . $target_selector . ').height();
73 $("iframe.' . $atts["class"] . '").height(target_height);
74 });
75 </script>
76 ';
77 } else { // set the actual height of the iframe (show all content of the iframe without scroll)
78 $html .= '
79 <script>
80 jQuery(function($){
81 $("iframe.' . $atts["class"] . '").bind("load", function() {
82 var embed_height = $(this).contents().find("body").height();
83 $(this).height(embed_height);
84 });
85 });
86 </script>
87 ';
88 }
89 }
90 $html .= "\n".'<!-- iframe plugin v.2.9 wordpress.org/plugins/iframe/ -->'."\n";
91 $html .= '<iframe';
92 foreach( $atts as $attr => $value ) {
93 if ( $attr != 'same_height_as' ) { // remove some attributes
94 if ( $value != '' ) { // adding all attributes
95 $html .= ' ' . $attr . '="' . $value . '"';
96 } else { // adding empty attributes
97 $html .= ' ' . $attr;
98 }
99 }
100 }
101 $html .= '></iframe>'."\n";
102 return $html;
103 }
104 add_shortcode( 'iframe', 'iframe_unqprfx_embed_shortcode' );
105
106
107 function iframe_unqprfx_plugin_meta( $links, $file ) { // add 'Plugin page' and 'Donate' links to plugin meta row
108 if ( strpos( $file, 'iframe.php' ) !== false ) {
109 $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/wordpress/plugins/iframe/" title="Plugin page">Iframe</a>' ) );
110 $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/donate/" title="Support the development">Donate</a>' ) );
111 $links = array_merge( $links, array( '<a href="http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=webvitaly">Advanced iFrame Pro</a>' ) );
112 }
113 return $links;
114 }
115 add_filter( 'plugin_row_meta', 'iframe_unqprfx_plugin_meta', 10, 2 );
116
117 endif; // end of (function_exists('iframe_unqprfx_embed_shortcode'))