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

119 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.7
7 Author: webvitaly
8 Author URI: http://web-profile.com.ua/wordpress/plugins/
9 License: GPLv2 or later
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 function iframe_unqprfx_embed_shortcode( $atts, $content = null ) {
21 $defaults = array(
22 'src' => 'http://www.youtube.com/embed/A3PDXmYoF5U',
23 'width' => '100%',
24 'height' => '480',
25 'scrolling' => 'no',
26 '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"];
59 }else{
60 $same_height_as = '';
61 }
62
63 if( $same_height_as != '' ){
64 $atts["same_height_as"] = '';
65 if( $same_height_as != 'content' ){ // we are setting the height of the iframe like as target element
66 if( $same_height_as == 'document' || $same_height_as == 'window' ){ // remove quotes for window or document selectors
67 $target_selector = $same_height_as;
68 }else{
69 $target_selector = '"' . $same_height_as . '"';
70 }
71 $html .= '
72 <script>
73 jQuery(function($){
74 var target_height = $(' . $target_selector . ').height();
75 $("iframe.' . $atts["class"] . '").height(target_height);
76 //alert(target_height);
77 });
78 </script>
79 ';
80 }else{ // set the actual height of the iframe (show all content of the iframe without scroll)
81 $html .= '
82 <script>
83 jQuery(function($){
84 $("iframe.' . $atts["class"] . '").bind("load", function() {
85 var embed_height = $(this).contents().find("body").height();
86 $(this).height(embed_height);
87 });
88 });
89 </script>
90 ';
91 }
92 }
93 $html .= "\n".'<!-- iframe plugin v.2.7 wordpress.org/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 }
103 }
104 $html .= '></iframe>';
105 return $html;
106 }
107 add_shortcode( 'iframe', 'iframe_unqprfx_embed_shortcode' );
108
109
110 function iframe_unqprfx_plugin_meta( $links, $file ) { // add 'Plugin page' and 'Donate' links to plugin meta row
111 if ( strpos( $file, 'iframe.php' ) !== false ) {
112 $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/wordpress/plugins/iframe/" title="Plugin page">' . __('Iframe') . '</a>' ) );
113 $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/donate/" title="Support the development">' . __('Donate') . '</a>' ) );
114 }
115 return $links;
116 }
117 add_filter( 'plugin_row_meta', 'iframe_unqprfx_plugin_meta', 10, 2 );
118
119 endif; // end of if(function_exists('iframe_unqprfx_embed_shortcode'))