PluginProbe
iframe / 3.0
iframe v3.0
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 3.0, at iframe.php

86 lines 2.9 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: 3.0
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, $content = null ) {
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 // get_params_from_url
30 if ( isset( $atts["get_params_from_url"] ) && ( $atts["get_params_from_url"] == '1' || $atts["get_params_from_url"] == 1 ) ) {
31 $encode_string = '';
32 if ( $_GET != NULL ) {
33 if ( strpos( $atts["src"], '?' ) ) { // if we already have '?' and GET params
34 $encode_string = '&';
35 } else {
36 $encode_string = '?';
37 }
38 foreach( $_GET as $key => $value ) {
39 $encode_string .= $key.'='.$value.'&';
40 }
41 }
42 $encode_string = rtrim($encode_string, '&'); // remove last '&'
43 $atts["src"] .= $encode_string;
44 }
45
46 $html = "\n".'<!-- iframe plugin v.3.0 wordpress.org/plugins/iframe/ -->'."\n";
47 $html .= '<iframe';
48 foreach( $atts as $attr => $value ) {
49 if ( $attr != 'same_height_as' ) { // remove some attributes
50 if ( $value != '' ) { // adding all attributes
51 $html .= ' ' . $attr . '="' . $value . '"';
52 } else { // adding empty attributes
53 $html .= ' ' . $attr;
54 }
55 }
56 }
57 $html .= '></iframe>'."\n";
58
59 if ( isset( $atts["same_height_as"] ) ) {
60 $html .= '
61 <script>
62 document.addEventListener("DOMContentLoaded", function(){
63 var target_element, iframe_element;
64 iframe_element = document.querySelector("iframe.' . $atts["class"] . '");
65 target_element = document.querySelector("' . $atts["same_height_as"] . '");
66 iframe_element.style.height = target_element.offsetHeight + "px";
67 });
68 </script>
69 ';
70 }
71
72 return $html;
73 }
74 add_shortcode( 'iframe', 'iframe_unqprfx_embed_shortcode' );
75
76
77 function iframe_unqprfx_plugin_meta( $links, $file ) { // add 'Plugin page' and 'Donate' links to plugin meta row
78 if ( strpos( $file, 'iframe.php' ) !== false ) {
79 $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/wordpress/plugins/iframe/" title="Plugin page">Iframe</a>' ) );
80 $links = array_merge( $links, array( '<a href="http://web-profile.com.ua/donate/" title="Support the development">Donate</a>' ) );
81 $links = array_merge( $links, array( '<a href="http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=webvitaly">Advanced iFrame Pro</a>' ) );
82 }
83 return $links;
84 }
85 add_filter( 'plugin_row_meta', 'iframe_unqprfx_plugin_meta', 10, 2 );
86