Version Description
- 2015-08-16 =
- minor bugfixing.
Download this release
Release Info
Developer | webvitaly |
Plugin | iframe |
Version | 4.2 |
Comparing to | |
See all releases |
Code changes from version 4.1 to 4.2
- .gitattributes +17 -0
- .gitignore +43 -0
- iframe.php +72 -69
- readme.txt +149 -145
.gitattributes
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Auto detect text files and perform LF normalization
|
2 |
+
* text=auto
|
3 |
+
|
4 |
+
# Custom for Visual Studio
|
5 |
+
*.cs diff=csharp
|
6 |
+
|
7 |
+
# Standard to msysgit
|
8 |
+
*.doc diff=astextplain
|
9 |
+
*.DOC diff=astextplain
|
10 |
+
*.docx diff=astextplain
|
11 |
+
*.DOCX diff=astextplain
|
12 |
+
*.dot diff=astextplain
|
13 |
+
*.DOT diff=astextplain
|
14 |
+
*.pdf diff=astextplain
|
15 |
+
*.PDF diff=astextplain
|
16 |
+
*.rtf diff=astextplain
|
17 |
+
*.RTF diff=astextplain
|
.gitignore
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Windows image file caches
|
2 |
+
Thumbs.db
|
3 |
+
ehthumbs.db
|
4 |
+
|
5 |
+
# Folder config file
|
6 |
+
Desktop.ini
|
7 |
+
|
8 |
+
# Recycle Bin used on file shares
|
9 |
+
$RECYCLE.BIN/
|
10 |
+
|
11 |
+
# Windows Installer files
|
12 |
+
*.cab
|
13 |
+
*.msi
|
14 |
+
*.msm
|
15 |
+
*.msp
|
16 |
+
|
17 |
+
# Windows shortcuts
|
18 |
+
*.lnk
|
19 |
+
|
20 |
+
# =========================
|
21 |
+
# Operating System Files
|
22 |
+
# =========================
|
23 |
+
|
24 |
+
# OSX
|
25 |
+
# =========================
|
26 |
+
|
27 |
+
.DS_Store
|
28 |
+
.AppleDouble
|
29 |
+
.LSOverride
|
30 |
+
|
31 |
+
# Thumbnails
|
32 |
+
._*
|
33 |
+
|
34 |
+
# Files that might appear on external disk
|
35 |
+
.Spotlight-V100
|
36 |
+
.Trashes
|
37 |
+
|
38 |
+
# Directories potentially created on remote AFP share
|
39 |
+
.AppleDB
|
40 |
+
.AppleDesktop
|
41 |
+
Network Trash Folder
|
42 |
+
Temporary Items
|
43 |
+
.apdisk
|
iframe.php
CHANGED
@@ -1,69 +1,72 @@
|
|
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.
|
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.
|
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
|
62 |
-
if (
|
63 |
-
$
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
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 );
|
readme.txt
CHANGED
@@ -1,145 +1,149 @@
|
|
1 |
-
=== iframe ===
|
2 |
-
Contributors: webvitaly
|
3 |
-
Donate link: http://web-profile.com.ua/donate/
|
4 |
-
Tags: iframe, embed, youtube, vimeo, google-map, google-maps
|
5 |
-
Requires at least: 3.0
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 4.
|
8 |
-
License: GPLv3
|
9 |
-
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
-
|
11 |
-
[iframe src="http://www.youtube.com/embed/4qsGTXLnmKs" width="100%" height="500"] shortcode
|
12 |
-
|
13 |
-
== Description ==
|
14 |
-
|
15 |
-
> **[Advanced iFrame Pro](http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=
|
16 |
-
> **[iframe](http://web-profile.com.ua/wordpress/plugins/iframe/ "Plugin page")** |
|
17 |
-
> **[All iframe params](http://wordpress.org/plugins/iframe/other_notes/)** |
|
18 |
-
> **[Donate](http://web-profile.com.ua/donate/ "Support the development")**
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
* [
|
36 |
-
* [
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
* **
|
43 |
-
* **
|
44 |
-
* **
|
45 |
-
* **
|
46 |
-
* **
|
47 |
-
* **
|
48 |
-
* **
|
49 |
-
* **
|
50 |
-
* **
|
51 |
-
* **
|
52 |
-
* **
|
53 |
-
* **
|
54 |
-
* **
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
* removed
|
73 |
-
*
|
74 |
-
|
75 |
-
|
76 |
-
*
|
77 |
-
*
|
78 |
-
*
|
79 |
-
|
80 |
-
|
81 |
-
*
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
*
|
101 |
-
|
102 |
-
= 2.
|
103 |
-
*
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
*
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
*
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
*
|
126 |
-
|
127 |
-
= 1.
|
128 |
-
*
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
1 |
+
=== iframe ===
|
2 |
+
Contributors: webvitaly
|
3 |
+
Donate link: http://web-profile.com.ua/donate/
|
4 |
+
Tags: iframe, embed, youtube, vimeo, google-map, google-maps
|
5 |
+
Requires at least: 3.0
|
6 |
+
Tested up to: 4.7
|
7 |
+
Stable tag: 4.2
|
8 |
+
License: GPLv3
|
9 |
+
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
+
|
11 |
+
[iframe src="http://www.youtube.com/embed/4qsGTXLnmKs" width="100%" height="500"] shortcode
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
+
> **[Advanced iFrame Pro](http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=webvitalii "Advanced iFrame Pro")** |
|
16 |
+
> **[iframe](http://web-profile.com.ua/wordpress/plugins/iframe/ "Plugin page")** |
|
17 |
+
> **[All iframe params](http://wordpress.org/plugins/iframe/other_notes/)** |
|
18 |
+
> **[Donate](http://web-profile.com.ua/donate/ "Support the development")** |
|
19 |
+
> **[GitHub](https://github.com/webvitalii/iframe "Fork")**
|
20 |
+
|
21 |
+
[iframe src="http://www.youtube.com/embed/4qsGTXLnmKs" width="100%" height="500"] shortcode
|
22 |
+
should show something like this:
|
23 |
+
|
24 |
+
[youtube http://www.youtube.com/watch?v=4qsGTXLnmKs]
|
25 |
+
|
26 |
+
|
27 |
+
WordPress removes iframe html tags because of security reasons.
|
28 |
+
Iframe shortcode is the replacement of the iframe html tag and accepts the same [params as iframe](http://wordpress.org/plugins/iframe/other_notes/) html tag does.
|
29 |
+
You may use iframe shortcode to embed content from YouTube, Vimeo, Google Maps or from any external page.
|
30 |
+
|
31 |
+
If you need to embed content from YouTube, Vimeo, SlideShare, SoundCloud, Twitter via direct link, you may use `[embed]http://www.youtube.com/watch?v=4qsGTXLnmKs[/embed]` shortcode.
|
32 |
+
[embed] shortcode is a core WordPress feature and can [embed content from many resources via direct link](http://codex.wordpress.org/Embeds).
|
33 |
+
|
34 |
+
= Useful: =
|
35 |
+
* **[Advanced iFrame Pro](http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=webvitalii "Advanced iFrame Pro")**
|
36 |
+
* **[Silver Bullet Pro - Speedup and protect WordPress in a smart way](http://codecanyon.net/item/silver-bullet-pro/15171769?ref=webvitalii "Speedup and protect WordPress in a smart way")**
|
37 |
+
* **[Anti-spam Pro - Block spam in comments](http://codecanyon.net/item/antispam-pro/6491169?ref=webvitalii "Block spam in comments")**
|
38 |
+
|
39 |
+
== Other Notes ==
|
40 |
+
|
41 |
+
= iframe params: =
|
42 |
+
* **src** - source of the iframe: `[iframe src="http://www.youtube.com/embed/4qsGTXLnmKs"]`; by default src="http://www.youtube.com/embed/4qsGTXLnmKs";
|
43 |
+
* **width** - width in pixels or in percents: `[iframe width="100%"]` or `[iframe width="600"]`; by default width="100%";
|
44 |
+
* **height** - height in pixels: `[iframe height="500"]`; by default height="500";
|
45 |
+
* **scrolling** - with or without the scrollbar: `[iframe scrolling="no"]`; by default scrolling="yes";
|
46 |
+
* **frameborder** - with or without the frame border: `[iframe frameborder="0"]`; by default frameborder="0";
|
47 |
+
* **marginheight** - height of the margin: `[iframe marginheight="0"]`; removed by default;
|
48 |
+
* **marginwidth** - width of the margin: `[iframe marginwidth="0"]`; removed by default;
|
49 |
+
* **allowtransparency** - allows to set transparency of the iframe: `[iframe allowtransparency="true"]`; removed by default;
|
50 |
+
* **id** - allows to add the id of the iframe: `[iframe id="custom_id"]`; removed by default;
|
51 |
+
* **class** - allows to add the class of the iframe: `[iframe class="custom_class"]`; by default class="iframe-class";
|
52 |
+
* **style** - allows to add the css styles of the iframe: `[iframe style="margin-left:-30px;"]`; removed by default;
|
53 |
+
* **same_height_as** - allows to set the height of iframe same as target element: `[iframe same_height_as="div.sidebar"]`, `[iframe same_height_as="div#content"]`, `[iframe same_height_as="body"]`, `[iframe same_height_as="html"]`; removed by default;
|
54 |
+
* **any_other_param** - allows to add new parameter of the iframe `[iframe any_other_param="any_value"]`;
|
55 |
+
* **any_other_empty_param** - allows to add new empty parameter of the iframe (like "allowfullscreen" on youtube) `[iframe any_other_empty_param=""]`;
|
56 |
+
|
57 |
+
== Screenshots ==
|
58 |
+
|
59 |
+
1. [iframe] shortcode
|
60 |
+
|
61 |
+
== Changelog ==
|
62 |
+
|
63 |
+
= 4.2 - 2015-08-16 =
|
64 |
+
* minor bugfixing.
|
65 |
+
|
66 |
+
= 4.1 - 2015-08-11 =
|
67 |
+
* removed onpageshow and onclick params. Reason: XSS vulnerability (thanks to dxw.com).
|
68 |
+
|
69 |
+
= 4.0 - 2015-08-09 =
|
70 |
+
* removed get_params_from_url param. Reason: XSS vulnerability (thanks to dxw.com).
|
71 |
+
If you still need this feature you can [download iframe ver 3.0[(https://wordpress.org/plugins/iframe/developers/) and stick to it but keep in mind of XSS vulnerability.
|
72 |
+
* removed onload param. Reason: XSS vulnerability (thanks to dxw.com).
|
73 |
+
* escaping attributes
|
74 |
+
|
75 |
+
= 3.0 - 2015-01-25 =
|
76 |
+
* removed same_height_as="content", same_height_as="window", same_height_as="document" features because it was not working properly
|
77 |
+
* rewrote the javascript-code using pure JavaScript and without jQuery - no need to load jQuery for every site using iframe plugin
|
78 |
+
* removed function_exists check because each function has unique prefix
|
79 |
+
* code refactored
|
80 |
+
* update docs
|
81 |
+
* set height="500" instead of 480 by default
|
82 |
+
* set scrolling="yes" instead of "no" by default
|
83 |
+
|
84 |
+
= 2.9 - 2014-05-31 =
|
85 |
+
* remove '&' from the end of the string in 'get_params_from_url' param
|
86 |
+
|
87 |
+
= 2.8 - 2014-03-14 =
|
88 |
+
* remove fix for google maps
|
89 |
+
|
90 |
+
= 2.7 - 2013-06-09 =
|
91 |
+
* minor changes
|
92 |
+
|
93 |
+
= 2.6 - 2013-03-18 =
|
94 |
+
* minor changes
|
95 |
+
|
96 |
+
= 2.5 - 2012-11-03 =
|
97 |
+
* added 'get_params_from_url' (thanks to Nathanael Majoros)
|
98 |
+
|
99 |
+
= 2.4 - 2012-10-31 =
|
100 |
+
* minor changes
|
101 |
+
|
102 |
+
= 2.3 - 2012.09.09 =
|
103 |
+
* small fixes
|
104 |
+
* added (src="http://www.youtube.com/embed/4qsGTXLnmKs") by default
|
105 |
+
|
106 |
+
= 2.2 =
|
107 |
+
* fixed bug (Notice: Undefined index: same_height_as)
|
108 |
+
|
109 |
+
= 2.1 =
|
110 |
+
* added (frameborder="0") by default
|
111 |
+
|
112 |
+
= 2.0 =
|
113 |
+
* plugin core rebuild (thanks to Gregg Tavares)
|
114 |
+
* remove not setted params except the defaults
|
115 |
+
* added support for all params, which user will set
|
116 |
+
* added support for empty params (like "allowfullscreen" on youtube)
|
117 |
+
|
118 |
+
= 1.8 =
|
119 |
+
* Added style parameter
|
120 |
+
|
121 |
+
= 1.7 =
|
122 |
+
* Fixing minor bugs
|
123 |
+
|
124 |
+
= 1.6.0 =
|
125 |
+
* Added auto-height feature (thanks to Willem Veelenturf)
|
126 |
+
|
127 |
+
= 1.5.0 =
|
128 |
+
* Using native jQuery from include directory
|
129 |
+
* Improved "same_height_as" parameter
|
130 |
+
|
131 |
+
= 1.4.0 =
|
132 |
+
* Added "same_height_as" parameter
|
133 |
+
|
134 |
+
= 1.3.0 =
|
135 |
+
* Added "id" and "class" parameters
|
136 |
+
|
137 |
+
= 1.2.0 =
|
138 |
+
* Added "output=embed" fix to Google Map
|
139 |
+
|
140 |
+
= 1.1.0 =
|
141 |
+
* Parameter allowtransparency added (thanks to Kent)
|
142 |
+
|
143 |
+
= 1.0.0 =
|
144 |
+
* Initial release
|
145 |
+
|
146 |
+
== Installation ==
|
147 |
+
|
148 |
+
1. install and activate the plugin on the Plugins page
|
149 |
+
2. add shortcode `[iframe src="http://www.youtube.com/embed/4qsGTXLnmKs" width="100%" height="500"]` to page or post content
|