PluginProbe
iframe / 1.8
iframe v1.8
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
← All changes | iframe.php +48 -81 2.51.8 View file →
@@ -1,88 +1,64 @@
1 1 <?php
2 2 /*
3 -Plugin Name: iframe
4 -Plugin URI: http://wordpress.org/extend/plugins/iframe/
5 -Description: [iframe src="http://player.vimeo.com/video/819138" width="100%" height="480"] shortcode
6 -Version: 2.5
3 +Plugin Name: Iframe
4 +Plugin URI: http://web-profile.com.ua/wordpress/plugins/iframe/
5 +Description: Plugin shows iframe with [iframe src="http://player.vimeo.com/video/3261363" width="100%" height="480"] shortcode.
6 +Version: 1.8
7 7 Author: webvitaly
8 -Author URI: http://profiles.wordpress.org/webvitaly/
9 -License: GPLv2 or later
8 +Author Email: webvitaly(at)gmail.com
9 +Author URI: http://web-profile.com.ua/wordpress/
10 10 */
11 11
12 +if ( !function_exists( 'iframe_embed_shortcode' ) ) :
12 13
13 -if ( !function_exists( 'iframe_unqprfx_embed_shortcode' ) ) :
14 -
15 - function iframe_unqprfx_enqueue_script() {
14 + function iframe_enqueue_script() {
16 15 wp_enqueue_script( 'jquery' );
17 16 }
18 - add_action('wp_enqueue_scripts', 'iframe_unqprfx_enqueue_script');
19 -
20 - function iframe_unqprfx_embed_shortcode($atts, $content = null) {
21 - $defaults = array(
22 - 'src' => 'http://player.vimeo.com/video/819138',
17 + add_action('wp_enqueue_scripts', 'iframe_enqueue_script');
18 +
19 + function iframe_embed_shortcode($atts, $content = null) {
20 + extract(shortcode_atts(array(
23 21 'width' => '100%',
24 22 'height' => '480',
23 + 'src' => '',
24 + 'frameborder' => '0',
25 25 'scrolling' => 'no',
26 + 'marginheight' => '0',
27 + 'marginwidth' => '0',
28 + 'allowtransparency' => 'true',
29 + 'id' => '',
26 30 'class' => 'iframe-class',
27 - 'frameborder' => '0'
28 - );
29 -
30 - foreach ($defaults as $default => $value) { // add defaults
31 - if (!@array_key_exists($default, $atts)) { // hide warning with "@" when no params at all
32 - $atts[$default] = $value;
33 - }
34 - }
35 -
36 - $src_cut = substr( $atts["src"], 0, 35 ); // special case for google maps
37 - if( strpos( $src_cut, 'maps.google' ) ){
38 - $atts["src"] .= '&output=embed';
39 - }
40 -
41 - // get_params_from_url
42 - if( isset( $atts["get_params_from_url"] ) && ( $atts["get_params_from_url"] == '1' || $atts["get_params_from_url"] == 1 || $atts["get_params_from_url"] == 'true' ) ) {
43 - if( $_GET != NULL ){
44 - if( strpos( $atts["src"], '?' ) ){ // if we already have '?' and GET params
45 - $encode_string = '&';
46 - }else{
47 - $encode_string = '?';
48 - }
49 - foreach( $_GET as $key => $value ){
50 - $encode_string .= $key.'='.$value.'&';
51 - }
52 - }
53 - $atts["src"] .= $encode_string;
54 - }
55 -
56 - $html = '';
57 - if( isset( $atts["same_height_as"] ) ){
58 - $same_height_as = $atts["same_height_as"];
31 + 'style' => '',
32 + 'same_height_as' => ''
33 + ), $atts));
34 + $src_cut = substr($src, 0, 35);
35 + if(strpos($src_cut, 'maps.google' )){
36 + $google_map_fix = '&output=embed';
59 37 }else{
60 - $same_height_as = '';
38 + $google_map_fix = '';
61 39 }
62 -
40 + $return = '';
63 41 if( $same_height_as != '' ){
64 - $atts["same_height_as"] = '';
65 42 if( $same_height_as != 'content' ){ // we are setting the height of the iframe like as target element
66 43 if( $same_height_as == 'document' || $same_height_as == 'window' ){ // remove quotes for window or document selectors
67 44 $target_selector = $same_height_as;
68 45 }else{
69 - $target_selector = '"' . $same_height_as . '"';
46 + $target_selector = '"'.$same_height_as.'"';
70 47 }
71 - $html .= '
48 + $return .= '
72 49 <script>
73 - jQuery(function($){
74 - var target_height = $(' . $target_selector . ').height();
75 - $("iframe.' . $atts["class"] . '").height(target_height);
76 - //alert(target_height);
50 + jQuery(document).ready(function($) {
51 + var target_height = $('.$target_selector.').height();
52 + $("iframe.'.$class.'").height(target_height);
77 53 });
78 54 </script>
79 55 ';
80 56 }else{ // set the actual height of the iframe (show all content of the iframe without scroll)
81 - $html .= '
57 + $return .= '
82 58 <script>
83 - jQuery(function($){
84 - $("iframe.' . $atts["class"] . '").bind("load", function() {
59 + jQuery(document).ready(function($) {
60 + $("iframe.'.$class.'").bind("load", function() {
85 61 var embed_height = $(this).contents().find("body").height();
86 62 $(this).height(embed_height);
87 63 });
88 64 });
@@ -89,31 +65,22 @@
89 65 </script>
90 66 ';
91 67 }
92 68 }
93 - $html .= "\n".'<!-- iframe plugin v.2.5 wordpress.org/extend/plugins/iframe/ -->'."\n";
94 - $html .= '<iframe';
95 - foreach ($atts as $attr => $value) {
96 - if( $attr != 'same_height_as' ){ // remove some attributes
97 - if( $value != '' ) { // adding all attributes
98 - $html .= ' ' . $attr . '="' . $value . '"';
99 - } else { // adding empty attributes
100 - $html .= ' ' . $attr;
101 - }
102 - }
69 + if( $id != '' ){
70 + $id_text = 'id="'.$id.'" ';
71 + }else{
72 + $id_text = '';
103 73 }
104 - $html .= '></iframe>';
105 - return $html;
74 + if( $style != '' ){
75 + $style_text = 'style="'.$style.'" ';
76 + }else{
77 + $style_text = '';
78 + }
79 + $return .= "\n".'<!-- powered by Iframe plugin ver. 1.8 (wordpress.org/extend/plugins/iframe/) -->'."\n";
80 + $return .= '<iframe '.$id_text.'class="'.$class.'" '.$style_text.'width="'.$width.'" height="'.$height.'" src="'.$src.$google_map_fix.'" frameborder="'.$frameborder.'" scrolling="'.$scrolling.'" marginheight="'.$marginheight.'" marginwidth="'.$marginwidth.'" allowtransparency="'.$allowtransparency.'"></iframe>';
81 + // &amp;output=embed
82 + return $return;
106 83 }
107 - add_shortcode('iframe', 'iframe_unqprfx_embed_shortcode');
84 + add_shortcode('iframe', 'iframe_embed_shortcode');
108 85
109 86 endif;
110 -
111 -
112 -function iframe_unqprfx_plugin_meta( $links, $file ) { // add 'Support' and 'Donate' links to plugin meta row
113 - if ( strpos( $file, 'iframe.php' ) !== false ) {
114 - $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/wordpress/plugins/iframe/" title="Need help?">' . __('Support') . '</a>' ) );
115 - $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/donate/" title="Support the development">' . __('Donate') . '</a>' ) );
116 - }
117 - return $links;
118 -}
119 -add_filter( 'plugin_row_meta', 'iframe_unqprfx_plugin_meta', 10, 2 );