Version Description
Show only a specifiy part of the page in the iframe if the pages are on the same domain.
Download this release
Release Info
Developer | mdempfle |
Plugin | Advanced iFrame |
Version | 2.1 |
Comparing to | |
See all releases |
Code changes from version 1.3 to 2.1
- advanced-iframe-admin-page.php +229 -91
- advanced-iframe.php +234 -35
- css/ai.css +3 -2
- example.html +39 -0
- js/ai.js +111 -0
- js/iframe_height.html +14 -0
- js/iframe_scroll.html +5 -0
- languages/default.mo +0 -0
- languages/default.po +205 -66
- readme.txt +62 -10
- screenshot-5.png +0 -0
advanced-iframe-admin-page.php
CHANGED
@@ -3,13 +3,11 @@
|
|
3 |
Advanced iframe
|
4 |
http://www.tinywebgallery.com/blog/advanced-iframe
|
5 |
Michael Dempfle
|
6 |
-
|
7 |
Administration include
|
8 |
-
|
9 |
*/
|
10 |
-
?>
|
11 |
-
<script>
|
12 |
-
function
|
13 |
intputField.value = intputField.value.split(' ').join('');
|
14 |
var f = intputField.value;
|
15 |
if (intputField.value == '') return;
|
@@ -17,63 +15,69 @@ Administration include
|
|
17 |
if (!match) {
|
18 |
alert("<?php _e("Please check the value you have entered. Only numbers with an optional px, %, em or pt are allowed", "advanced-iframe");?>");
|
19 |
}
|
20 |
-
}
|
21 |
-
</script>
|
22 |
<?php
|
23 |
if (is_user_logged_in() && is_admin()) {
|
24 |
-
|
25 |
$devOptions = $this->getAdminOptions();
|
26 |
// print_r($devOptions);
|
27 |
if (isset($_POST['update_iframe-loader'])) { //save option changes
|
28 |
$adminSettings = array('securitykey', 'src', 'width', 'height', 'scrolling',
|
29 |
'marginwidth', 'marginheight', 'frameborder', 'transparency',
|
30 |
'content_id', 'content_styles', 'hide_elements', 'class',
|
31 |
-
'shortcode_attributes', 'url_forward_parameter'
|
32 |
-
|
|
|
|
|
|
|
|
|
33 |
if (!wp_verify_nonce($_POST['twg-options'], 'twg-options')) die('Sorry, your nonce did not verify.');
|
34 |
-
|
35 |
foreach ($adminSettings as $item) {
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
update_option($this->adminOptionsName, $devOptions);
|
39 |
-
?>
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
44 |
<?php
|
45 |
}
|
46 |
-
?>
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
<div class="
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
</p>
|
65 |
-
|
66 |
-
<p>
|
67 |
-
<?php _e('Please use the following shortcode to include a page to your page: ', 'advanced-iframe'); ?>
|
68 |
-
<strong>[advanced_iframe securitykey="<?php echo $devOptions['securitykey']; ?>"]</strong>
|
69 |
-
</p>
|
70 |
-
<table class="form-table">
|
71 |
-
<?php
|
72 |
printTextInput($devOptions, __('Security key', 'advanced-iframe'), 'securitykey', __('This is the security key which has to be used in the shorttag. This is mandatory because otherwise anyone who can create an article can insert a gallery as well. The default security key was randomly generated during installation. Please change the key if you like. You should use this in combination with e.g. Page security to make sure that only the users you define can modify pages.', 'advanced-iframe'));
|
73 |
printTrueFalse($devOptions, __('Allow shortcode attributes', 'advanced-iframe'), 'shortcode_attributes', __('Allow to set attributes in the shortcode. All of the attributes can be overwritten in the shortcode if you set \'Yes\'. Otherwise the settings you specify here are used.', 'advanced-iframe'));
|
74 |
printTextInput($devOptions, __('Url', 'advanced-iframe'), 'src', __('Enter the full URL to your page. e.g. http://www.tinywebgallery.com. Shortcode attribute: src=""', 'advanced-iframe'));
|
75 |
printNumberInput($devOptions, __('Width', 'advanced-iframe'), 'width', __('The width of the iframe. You can specify the value in px or in %. If you don\'t specify anything px is assumed. Shortcode attribute: width=""', 'advanced-iframe'));
|
76 |
-
printNumberInput($devOptions, __('Height', 'advanced-iframe'), 'height', __('The height of the iframe. You can specify the value in px or in %. If you don\'t specify anything px is assumed. Shortcode attribute: height=""', 'advanced-iframe'));
|
77 |
printAutoNo($devOptions, __('Scrolling', 'advanced-iframe'), 'scrolling', __('Defines if scrollbars are shown if the page is too big for your iframe. Please note: If you select \'Yes\' IE does always show scrollbars on many pages! So only use this if needed. Shortcode attribute: scrolling="auto" or scrolling="no"', 'advanced-iframe'));
|
78 |
printNumberInput($devOptions, __('Margin width', 'advanced-iframe'), 'marginwidth', __('The margin width of the iframe. You can specify the value in px. If you don\'t specify anything px is assumed. Shortcode attribute: marginwidth=""', 'advanced-iframe'));
|
79 |
printNumberInput($devOptions, __('Margin height', 'advanced-iframe'), 'marginheight', __('The margin height of the iframe. You can specify the value in px. If you don\'t specify anything px is assumed. Shortcode attribute: marginheight=""', 'advanced-iframe'));
|
@@ -81,52 +85,144 @@ if (is_user_logged_in() && is_admin()) {
|
|
81 |
printTrueFalse($devOptions, __('Transparency', 'advanced-iframe'), 'transparency', __('If you like that the iframe is transparent and your background is shown you should set this to \'Yes\'. If this value is not set then the iframe is transparent in IE but transparent in e.g. Firefox. So by default you should leave this to \'Yes\'. Shortcode attribute: transparency="true" or transparency="false" ', 'advanced-iframe'));
|
82 |
printTextInput($devOptions, __('Class', 'advanced-iframe'), 'class', __('You can define a class for the iframe if you like. Shortcode attribute: class=""', 'advanced-iframe'));
|
83 |
printTextInput($devOptions, __('URL forward parameters', 'advanced-iframe'), 'url_forward_parameter', __('Define the parameters that should be passed from the browser url to the iframe url. Please separate the parameters by \',\'. In e.g. TinyWebGallery this enables you to jump directly to an album or image although TinyWebGallery is included in an iframe. Shortcode attribute: url_forward_parameter=""', 'advanced-iframe'));
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
<h3
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
printTextInput($devOptions, __('Content id', 'advanced-iframe'), 'content_id', __('Some templates do not use the full width for their content and even most \'One column, no sidebar Page Template\' templates only remove the sidebar but do not change the content width. Please set the id of the div starting with a hash (#) that defines the content. In the field below you then define the style you want to overwrite. For Twenty Ten and WordPress Default the id is #content, for iNove it is #main. You can also define more than one element. Please separate them by | and provide the styles below. Please read the note below how to find this id for other templates. #content|h2 means that you want to set a new style for the div content and the heading h2 below. Shortcode attribute: content_styles=""', 'advanced-iframe'));
|
99 |
-
printTextInput($devOptions, __('Content styles', 'advanced-iframe'), 'content_styles', __('Define the styles that have to be overwritten to enable the full width. Most of the time have to modify some of the following attributes: width, margin-left, margin-right, padding-left. Please use ; as separator between styles. If you have defined more than one element above (Content id) please separate the different style sets with |. The default values are: Wordpress default: \'width:450px;padding-left:45px;\'. Twenty Ten: \'margin-left:20px;margin-right:240px\'. iNove: \'width:605px\'. Please read the note below how to find this styles for other templates. If you have defined #content|h2 at the Content id you can e.g. set \'width:650px;padding-left:25px;|padding-left:15px;\'. Shortcode attribute: content_styles=""', 'advanced-iframe'));
|
100 |
printTextInput($devOptions, __('Hide elements', 'advanced-iframe'), 'hide_elements', __('This setting allows to hide elements when the iframe is shown. This can be used to hide the sidebar or the heading. Usage: If you want to hide a div you have to enter a hash (#) followed by the id e.g. #sidebar. If you want to hide a heading which is a <h2> you have to enter h2. You can define several elements separated by , e.g. #sidebar,h2. This gives you a lot more space to show the content of the iframe. To get the id of the sidebar go to Appearance -> Editor -> Click on \'Sidebar\' on the right side. Then look for the first \'div\' you find. The id of this div is the one you need. For some common templates the id is e.g. #menu, #sidebar, or #primary. For Twenty Ten and iNove you can remove the sidebar directly: Page attributes -> Template -> no sidebar. Wordpress default: \'#sidebar\'. I recommend to use firebug (see below) to find the elements and ids. You can use any valid jQuery selector pattern here! Shortcode attribute: hide_elements=""', 'advanced-iframe'));
|
101 |
-
?>
|
102 |
-
</table>
|
103 |
-
<p>
|
104 |
-
<?php _e('<strong>How to find the id and the attributes:</strong><ol><li>Manually: Go to Appearance -> Editor and select the page template. The you have to look with div elements are defined. e.g. container, content, main. Also classes can be defined here. Then you have to select the style sheet below and search for this ids and classes and look which one does define the width of you content.</li><li>Firebug: For Firefox you can use the plugin firebug to select the content element directly in the page. On the right side the styles are always shown. Look for the styles that set the width or any bigger margins. This are the values you can then overwrite by the settings above.</li></ol>', 'advanced-iframe'); ?>
|
105 |
-
</p>
|
106 |
-
|
107 |
-
<p>
|
108 |
-
<input class="button-primary" type="submit" name="update_iframe-loader"
|
109 |
-
value="<?php _e('Update Settings', 'advanced-iframe') ?>"/>
|
110 |
-
</p>
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
<?php
|
131 |
}
|
132 |
function printTrueFalse($options, $label, $id, $description) {
|
@@ -148,7 +244,6 @@ function printTrueFalse($options, $label, $id, $description) {
|
|
148 |
</tr>
|
149 |
';
|
150 |
}
|
151 |
-
|
152 |
function printAutoNo($options, $label, $id, $description) {
|
153 |
echo '
|
154 |
<tr valign="top">
|
@@ -168,26 +263,69 @@ function printAutoNo($options, $label, $id, $description) {
|
|
168 |
</tr>
|
169 |
';
|
170 |
}
|
171 |
-
|
172 |
function printTextInput($options, $label, $id, $description, $type = 'text') {
|
173 |
echo '
|
174 |
<tr valign="top">
|
175 |
<th scope="row">' . $label . '</th>
|
176 |
<td>
|
177 |
-
<input name="' . $id . '" type="' . $type . '" size="
|
178 |
<em>' . $description . '</em></td>
|
179 |
</tr>
|
180 |
';
|
181 |
}
|
182 |
-
|
183 |
function printNumberInput($options, $label, $id, $description, $type = 'text') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
echo '
|
185 |
<tr valign="top">
|
186 |
<th scope="row">' . $label . '</th>
|
187 |
<td>
|
188 |
-
<input name="' . $id . '" type="' . $type . '" size="
|
189 |
<em>' . $description . '</em></td>
|
190 |
</tr>
|
191 |
';
|
192 |
}
|
|
|
193 |
?>
|
3 |
Advanced iframe
|
4 |
http://www.tinywebgallery.com/blog/advanced-iframe
|
5 |
Michael Dempfle
|
|
|
6 |
Administration include
|
|
|
7 |
*/
|
8 |
+
?>
|
9 |
+
<script type="text/javascript">
|
10 |
+
function aiCheckInputNumber(intputField) {
|
11 |
intputField.value = intputField.value.split(' ').join('');
|
12 |
var f = intputField.value;
|
13 |
if (intputField.value == '') return;
|
15 |
if (!match) {
|
16 |
alert("<?php _e("Please check the value you have entered. Only numbers with an optional px, %, em or pt are allowed", "advanced-iframe");?>");
|
17 |
}
|
18 |
+
}
|
19 |
+
</script>
|
20 |
<?php
|
21 |
if (is_user_logged_in() && is_admin()) {
|
|
|
22 |
$devOptions = $this->getAdminOptions();
|
23 |
// print_r($devOptions);
|
24 |
if (isset($_POST['update_iframe-loader'])) { //save option changes
|
25 |
$adminSettings = array('securitykey', 'src', 'width', 'height', 'scrolling',
|
26 |
'marginwidth', 'marginheight', 'frameborder', 'transparency',
|
27 |
'content_id', 'content_styles', 'hide_elements', 'class',
|
28 |
+
'shortcode_attributes', 'url_forward_parameter', 'id', 'name',
|
29 |
+
'onload', 'onload_resize', 'onload_scroll_top',
|
30 |
+
'additional_js', 'additional_css', 'store_height_in_cookie', 'additional_height',
|
31 |
+
'iframe_content_id', 'iframe_content_styles', 'iframe_hide_elements', 'version_counter',
|
32 |
+
'onload_show_element_only'
|
33 |
+
);
|
34 |
if (!wp_verify_nonce($_POST['twg-options'], 'twg-options')) die('Sorry, your nonce did not verify.');
|
|
|
35 |
foreach ($adminSettings as $item) {
|
36 |
+
if ($item == 'version_counter') {
|
37 |
+
$text = rand(100000, 999999);
|
38 |
+
} else {
|
39 |
+
$text = trim($_POST[$item]);
|
40 |
+
}
|
41 |
+
// replace ' with "
|
42 |
+
$text = str_replace("'", '"' ,$text);
|
43 |
+
if (function_exists('sanitize_text_field')) {
|
44 |
+
$devOptions[$item] = stripslashes(sanitize_text_field($text));
|
45 |
+
} else {
|
46 |
+
$devOptions[$item] = stripslashes($text);
|
47 |
+
}
|
48 |
}
|
49 |
update_option($this->adminOptionsName, $devOptions);
|
50 |
+
?>
|
51 |
+
<div class="updated">
|
52 |
+
<p><strong>
|
53 |
+
<?php _e("Settings Updated.", "advanced-iframe");?></strong>
|
54 |
+
</p>
|
55 |
+
</div>
|
56 |
<?php
|
57 |
}
|
58 |
+
?>
|
59 |
+
<style type="text/css"> table th { text-align: left; }
|
60 |
+
</style>
|
61 |
+
<div class="wrap">
|
62 |
+
<form method="post" action="options-general.php?page=advanced-iframe.php">
|
63 |
+
<?php wp_nonce_field('twg-options', 'twg-options'); ?>
|
64 |
+
<div id="icon-options-general" class="icon_ai">
|
65 |
+
<br>
|
66 |
+
</div> <h2>
|
67 |
+
<?php _e('Advanced iframe default settings', 'advanced-iframe'); ?></h2>
|
68 |
+
<p>
|
69 |
+
<?php _e('This plugin will include any content an advanced iframe. Please enter the url and the size you want to include your page. You have a couple of additional default options which help to integrate your site better into your template. You can overwrite all of these settings by specifying the parameter in the shortcode. Please read the documentation after each field about the parameter you have to use.', 'advanced-iframe'); ?>
|
70 |
+
</p>
|
71 |
+
<p>
|
72 |
+
<?php _e('Please use the following shortcode to include a page to your page: ', 'advanced-iframe'); ?> <strong>[advanced_iframe securitykey="<?php echo $devOptions['securitykey']; ?>"]</strong>
|
73 |
+
</p>
|
74 |
+
<table class="form-table">
|
75 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
printTextInput($devOptions, __('Security key', 'advanced-iframe'), 'securitykey', __('This is the security key which has to be used in the shorttag. This is mandatory because otherwise anyone who can create an article can insert a gallery as well. The default security key was randomly generated during installation. Please change the key if you like. You should use this in combination with e.g. Page security to make sure that only the users you define can modify pages.', 'advanced-iframe'));
|
77 |
printTrueFalse($devOptions, __('Allow shortcode attributes', 'advanced-iframe'), 'shortcode_attributes', __('Allow to set attributes in the shortcode. All of the attributes can be overwritten in the shortcode if you set \'Yes\'. Otherwise the settings you specify here are used.', 'advanced-iframe'));
|
78 |
printTextInput($devOptions, __('Url', 'advanced-iframe'), 'src', __('Enter the full URL to your page. e.g. http://www.tinywebgallery.com. Shortcode attribute: src=""', 'advanced-iframe'));
|
79 |
printNumberInput($devOptions, __('Width', 'advanced-iframe'), 'width', __('The width of the iframe. You can specify the value in px or in %. If you don\'t specify anything px is assumed. Shortcode attribute: width=""', 'advanced-iframe'));
|
80 |
+
printNumberInput($devOptions, __('Height', 'advanced-iframe'), 'height', __('The height of the iframe. You can specify the value in px or in %. If you don\'t specify anything px is assumed. Please note that % does most of the time does NOT give the expected result (e.g. 100% is only 150px) because the % are not from the iframe page but from the parent element. If you like something like that the iframe is resized to the content please read the \'<a href="#onload">Javascript iframe onload options</a>\' section below! Shortcode attribute: height=""', 'advanced-iframe'));
|
81 |
printAutoNo($devOptions, __('Scrolling', 'advanced-iframe'), 'scrolling', __('Defines if scrollbars are shown if the page is too big for your iframe. Please note: If you select \'Yes\' IE does always show scrollbars on many pages! So only use this if needed. Shortcode attribute: scrolling="auto" or scrolling="no"', 'advanced-iframe'));
|
82 |
printNumberInput($devOptions, __('Margin width', 'advanced-iframe'), 'marginwidth', __('The margin width of the iframe. You can specify the value in px. If you don\'t specify anything px is assumed. Shortcode attribute: marginwidth=""', 'advanced-iframe'));
|
83 |
printNumberInput($devOptions, __('Margin height', 'advanced-iframe'), 'marginheight', __('The margin height of the iframe. You can specify the value in px. If you don\'t specify anything px is assumed. Shortcode attribute: marginheight=""', 'advanced-iframe'));
|
85 |
printTrueFalse($devOptions, __('Transparency', 'advanced-iframe'), 'transparency', __('If you like that the iframe is transparent and your background is shown you should set this to \'Yes\'. If this value is not set then the iframe is transparent in IE but transparent in e.g. Firefox. So by default you should leave this to \'Yes\'. Shortcode attribute: transparency="true" or transparency="false" ', 'advanced-iframe'));
|
86 |
printTextInput($devOptions, __('Class', 'advanced-iframe'), 'class', __('You can define a class for the iframe if you like. Shortcode attribute: class=""', 'advanced-iframe'));
|
87 |
printTextInput($devOptions, __('URL forward parameters', 'advanced-iframe'), 'url_forward_parameter', __('Define the parameters that should be passed from the browser url to the iframe url. Please separate the parameters by \',\'. In e.g. TinyWebGallery this enables you to jump directly to an album or image although TinyWebGallery is included in an iframe. Shortcode attribute: url_forward_parameter=""', 'advanced-iframe'));
|
88 |
+
// new 1.4
|
89 |
+
printTextInput($devOptions, __('Id', 'advanced-iframe'), 'id', __('Enter the \'id\' attribute of the iframe. Shortcode attribute: id=""', 'advanced-iframe'));
|
90 |
+
printTextInput($devOptions, __('Name', 'advanced-iframe'), 'name', __('Enter the \'name\' attribute of the iframe. Shortcode attribute: name=""', 'advanced-iframe'));
|
91 |
+
?>
|
92 |
+
</table>
|
93 |
+
<p>
|
94 |
+
<input class="button-primary" type="submit" name="update_iframe-loader" value="<?php _e('Update Settings', 'advanced-iframe') ?>"/>
|
95 |
+
</p> <br /> <h3>
|
96 |
+
<?php _e('Advanced options', 'advanced-iframe') ?></h3>
|
97 |
+
<p>
|
98 |
+
<?php _e('With the following 3 options you can modify your template on the fly to give the iframe more space! At most templates you would have to create a page template with a special css and this is quite complicated. By using the options below your template is modified on the fly by jQuery. Please look at the screenshots to make these options more clear. The options are very useful for templates that have a top navigation because otherwise your menu is gone! If you still want to do this you should add a back link to the page. The examples below are for Twenty Ten, iNove and the default Wordpress theme.', 'advanced-iframe'); ?>
|
99 |
+
</p>
|
100 |
+
<table class="form-table">
|
101 |
+
<?php
|
|
|
|
|
102 |
printTextInput($devOptions, __('Hide elements', 'advanced-iframe'), 'hide_elements', __('This setting allows to hide elements when the iframe is shown. This can be used to hide the sidebar or the heading. Usage: If you want to hide a div you have to enter a hash (#) followed by the id e.g. #sidebar. If you want to hide a heading which is a <h2> you have to enter h2. You can define several elements separated by , e.g. #sidebar,h2. This gives you a lot more space to show the content of the iframe. To get the id of the sidebar go to Appearance -> Editor -> Click on \'Sidebar\' on the right side. Then look for the first \'div\' you find. The id of this div is the one you need. For some common templates the id is e.g. #menu, #sidebar, or #primary. For Twenty Ten and iNove you can remove the sidebar directly: Page attributes -> Template -> no sidebar. Wordpress default: \'#sidebar\'. I recommend to use firebug (see below) to find the elements and ids. You can use any valid jQuery selector pattern here! Shortcode attribute: hide_elements=""', 'advanced-iframe'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
+
echo '</table><p>';
|
105 |
+
_e('With the following 2 options you can modify the css of your parent page. The first option defines the id/class/element you want to modify and at the 2nd option you define the styles you want to change.', 'advanced-iframe');
|
106 |
+
echo '</p><table class="form-table">';
|
107 |
+
|
108 |
+
printTextInput($devOptions, __('Content id', 'advanced-iframe'), 'content_id', __('Some templates do not use the full width for their content and even most \'One column, no sidebar Page Template\' templates only remove the sidebar but do not change the content width. Set the e.g. id of the div starting with a hash (#) that defines the content. You can use any valid jQuery selector pattern here! In the field below you then define the style you want to overwrite. For Twenty Ten and WordPress Default the id is #content, for iNove it is #main. You can also define more than one element. Please separate them by | and provide the styles below. Please read the note below how to find this id for other templates. #content|h2 means that you want to set a new style for the div content and the heading h2 below. Shortcode attribute: content_styles=""', 'advanced-iframe'));
|
109 |
+
printTextInput($devOptions, __('Content styles', 'advanced-iframe'), 'content_styles', __('Define the styles that have to be overwritten to enable the full width. Most of the time have to modify some of the following attributes: width, margin-left, margin-right, padding-left. Please use ; as separator between styles. If you have defined more than one element above (Content id) please separate the different style sets with |. The default values are: Wordpress default: \'width:450px;padding-left:45px;\'. Twenty Ten: \'margin-left:20px;margin-right:240px\'. iNove: \'width:605px\'. Read the note below how to find these styles for other templates. If you have defined #content|h2 at the Content id you can e.g. set \'width:650px;padding-left:25px;|padding-left:15px;\'. Shortcode attribute: content_styles=""', 'advanced-iframe'));
|
110 |
+
?>
|
111 |
+
</table>
|
112 |
+
<br id="howtoid" />
|
113 |
+
<p>
|
114 |
+
<?php _e('<strong>How to find the id and the attributes:</strong><ol><li>Manually: Go to Appearance -> Editor and select the page template. The you have to look with div elements are defined. e.g. container, content, main. Also classes can be defined here. Then you have to select the style sheet below and search for this ids and classes and look which one does define the width of you content.</li><li>Firebug: For Firefox you can use the plugin firebug to select the content element directly in the page. On the right side the styles are always shown. Look for the styles that set the width or any bigger margins. These are the values you can then overwrite by the settings above.</li><li><strong>Small jquery help</strong><br>Above you have to use the jQuery syntax:<p><ul><li>- tags - if you want to hide/modify a tag directly (e.g. h1, h2) simply use it directly e.g. h1,h2</li><li>- id - if you want to hide/modify an element where you have the id use #id</li><li>- class - if you want to hide/modify an element where you have the class use .class</li></ul></p>For more complex selectors please read the jQuery documentation.</li></ol>', 'advanced-iframe'); ?>
|
115 |
+
</p>
|
116 |
+
<p>
|
117 |
+
<input id="onload" class="button-primary" type="submit" name="update_iframe-loader" value="<?php _e('Update Settings', 'advanced-iframe') ?>"/>
|
118 |
+
</p> <br /> <h3>
|
119 |
+
<?php _e('Javascript iframe onload options', 'advanced-iframe') ?></h3>
|
120 |
+
<p> PLEASE READ THIS FIRST:
|
121 |
+
</p>
|
122 |
+
<p>Only if the content from the iframe comes from the <strong>same domain</strong> it is possible that the onload attribute can execute Javascript directly which does e.g. resize the iframe to the height of the content or scroll the parent window to the top. <br /> If this is the case you can use the settings below. If you want to include an iframe from a different domain please read the how-to "Enabling cross-site scripting XSS via an iframe" below where I explain how this can be done if you can modify the web site that should be included. So if you are on a different domain and cannot edit the iframe page no interaction between parent and iframe is possible!
|
123 |
+
</p>
|
124 |
+
<table class="form-table">
|
125 |
+
<?php
|
126 |
+
printTextInput($devOptions, __('Onload', 'advanced-iframe'), 'onload', __('Enter the \'onload\' script of the iframe you want to execute. You can enter Javascript that is executed when the iframe is loaded. Please check the next 2 settings first! There you find a solution for iframe resize and one for scrolling the parent to the top. Please note that the output is escaped for security reasons with the Wordpress function esc_js. So please define your Javascript functions in your parent page, read all needed parameters inside the functions and call this function here. I recommend only to use the following characters: a-zA-Z_0-9();. Also note that the 2 settings below also use the onload event. So if you set them to true the code is appended to your onload function. If you like a different order of the predefined functions (aiShowElementOnly(id,element); aiResizeIframe(this); and aiScrollToTop();) please set the settings below to \'No\' and enter them here directly. Shortcode attribute: onload=""', 'advanced-iframe'));
|
127 |
+
printTextInput($devOptions, __('Show only one element', 'advanced-iframe'), 'onload_show_element_only', __('You can define which part of the page should be shown in the iframe. You can define the id (e.g. #id) or the class (.class) which should be shown. Be aware that all other elements below the body are removed! So if your css relies on a certain structure you have to add additional css by "Content id in iframe" below. Very often also a background is defined for the header which you should remove below. e.g. by setting background-image: none; in the body. This can be done at "Content id in iframe" and "Content styles in iframe" below. Shortcode attribute: onload_show_element_only=""', 'advanced-iframe'));
|
128 |
|
129 |
+
printTrueFalse($devOptions, __('Resize iframe to content height', 'advanced-iframe'), 'onload_resize', __('If you like that the iframe is resized to the height of the content you should set this to \'Yes\'. Please note that this is done by Javascript! So if a user has Javascript deactivated or a not supported browser the iframe does not get resized. Please set the height of the iframe to the minimum pixels the iframe should have! Some web pages use 100% of the height. Specifying a too big value as height does not gives you the expected result. This setting generates the code onload="aiResizeIframe(this);" to the iframe. Shortcode attribute: onload_resize="true" or onload_resize="false" ', 'advanced-iframe'));
|
130 |
+
printHeightTrueFalse($devOptions, __('Store height in cookie', 'advanced-iframe'), 'store_height_in_cookie', __('If you enable the dynamic resize the value is calculated each time when the page is loaded. So each time it took a little time until the resize of the iframe is done. And this is visible sometimes if the content page loads very slow or is on a different domain or depends on the browser. By enabling this option the last calculated height is stored in a cookie and available right away. The iframe is then first resized to this height and later on when the new height comes it is updated. By default this is disabled because when you have dynamic content in the iframe it is possible that the iframe does not shrink. So please try this setting with your destination page. If you use several iframes please specify a different id for each iframe because the name of the cookie is ai-last-height-<id>. Shortcode attribute: store_height_in_cookie="true" or store_height_in_cookie="false" ', 'advanced-iframe'));
|
131 |
+
printHeightNumberInput($devOptions, __('Additional height', 'advanced-iframe'), 'additional_height', __('If you like that the iframe is higher than the calculated value you can add some extra height here. This number is then added to the calculated one. This is e.g. needed if one of your tested browsers displays a scrollbar because of 1 or 2 pixel. Or you have an invisible area that is shown by the click on a button that can increases the size of the page. This option is NOT possible when "Store height in cookie" is enabled because this would cause that the height will increase at each reload of the parent page. Shortcode attribute: additional_height=""', 'advanced-iframe'));
|
132 |
+
|
133 |
+
printTrueFalse($devOptions, __('Scrolls the parent window to the top', 'advanced-iframe'), 'onload_scroll_top', __('If you like that if you click on a link in the iframe and the parent page should scroll to the top you should set this to \'Yes\'. Please note that this is done by Javascript! So if a user has Javascript deactivated no scrolling is done. This setting generates the code onload="aiScrollToTop();" to the iframe. If you select the resize iframe as well then onload="aiResizeIframe(this);aiScrollToTop();" is generated. If you like a different order please enter the javascript functions directly in the onload parameter in the order you like. Shortcode attribute: onload_scroll_top="true" or onload_scroll_top="false" ', 'advanced-iframe'));
|
134 |
+
?>
|
135 |
+
</table>
|
136 |
+
<p>
|
137 |
+
<?php _e('With the following 3 options you can modify the content of the iframe. <strong>IMPORTANT</strong>: This is only possible if the iframe comes from the <strong>same domain</strong> because of the <a href="http://en.wikipedia.org/wiki/Same_origin_policy" target="_blank">same origin policy</a> of Javascript. Please read the section "<a href="#howtoid">How to find the id and the attributes</a>" above how to find the right styles. If the content comes from a different domain you have to modify the iframe page by e.g. adding a Javascript function that is then called by the onload function you can set above.', 'advanced-iframe'); ?>
|
138 |
+
</p>
|
139 |
+
<table class="form-table">
|
140 |
+
<?php
|
141 |
+
printTextInput($devOptions, __('Hide elements in iframe', 'advanced-iframe'), 'iframe_hide_elements', __('This setting allows to hide elements inside the iframe. This can be used to hide a border or a heading. Usage: If you want to hide a div you have to enter a hash (#) followed by the id e.g. #header. If you want to hide a heading which is a <h2> you have to enter h2. You can define several elements separated by , e.g. #header,h2. I recommend to use firebug to find the elements and ids. You can use any valid jQuery selector pattern here! Shortcode attribute: iframe_hide_elements=""', 'advanced-iframe'));
|
142 |
+
|
143 |
+
echo '</table><p>';
|
144 |
+
_e('With the following 2 options you can modify the css of your iframe if <strong>it is on the same domain</strong>. The first option defines the id/class/element you want to modify and at the 2nd option you define the styles you want to change.', 'advanced-iframe');
|
145 |
+
echo '</p><table class="form-table">';
|
146 |
+
|
147 |
+
printTextInput($devOptions, __('Content id in iframe', 'advanced-iframe'), 'iframe_content_id', __('Set the id of the element starting with a hash (#) that defines element you want to modify the css. You can use any valid jQuery selector pattern here! In the field below you then define the style you want to overwrite. You can also define more than one element. Please separate them by | and provide the styles below. Please read the note below how to find this id for other templates. #content|h2 means that you want to set a new style for the div content and the heading h2 below. Shortcode attribute: iframe_content_styles=""', 'advanced-iframe'));
|
148 |
+
printTextInput($devOptions, __('Content styles in iframe', 'advanced-iframe'), 'iframe_content_styles', __('Define the styles that have to be overwritten to enable the full width. Most of the time have to modify some of the following attributes: width, margin-left, margin-right, padding-left. Please use ; as separator between styles. If you have defined more than one element above (Content id in iframe) please separate the different style sets with |. The default values are: Wordpress default: \'width:450px;padding-left:45px;\'. Twenty Ten: \'margin-left:20px;margin-right:240px\'. iNove: \'width:605px\'. Please read the note below how to find these styles for other templates. If you have defined #content|h2 at the Content id you can e.g. set \'width:650px;padding-left:25px;|padding-left:15px;\'. Shortcode attribute: iframe_content_styles=""', 'iframe_advanced-iframe'));
|
149 |
+
?>
|
150 |
+
</table>
|
151 |
+
<p>
|
152 |
+
<input class="button-primary" type="submit" name="update_iframe-loader" value="<?php _e('Update Settings', 'advanced-iframe') ?>"/>
|
153 |
+
</p>
|
154 |
+
<p> <h4>
|
155 |
+
<?php _e('Enabling cross-site scripting XSS via an iframe', 'advanced-iframe') ?></h4> If the parent site and the iframe site are NOT on the same domain it is only possible to do the above stuff by including an additional iframe to the iframe page which runs again on the parent domain and can then access the functions there. A detailed documentation how this can be done is described here:
|
156 |
+
<p>
|
157 |
+
<a target="_blank" href="http://www.codecouch.com/2008/10/cross-site-scripting-xss-using-iframes/">http://www.codecouch.com/2008/10/cross-site-scripting-xss-using-iframes</a>
|
158 |
+
</p>The following steps are needed:
|
159 |
+
<ol>
|
160 |
+
<li>Don't use the onload options above (cookie and additional height does work).
|
161 |
+
</li>
|
162 |
+
<li>The parent page has a Javascript function that resized the iframe
|
163 |
+
</li>
|
164 |
+
<li>The iframe page has an additional hidden iframe, an onload attribute at the body and a javascript function
|
165 |
+
</li>
|
166 |
+
<li>A page on the parent domain does exist that is included by the hidden iframe that calls the function on the parent page
|
167 |
+
</li>
|
168 |
+
</ol>For that features 'resize' and 'scroll to top' I have already prepared everything that you need on the parent domain. Therefore 2. and 4. are already done :). For 3. you have to do the following changes in your page that is included in the iframe:
|
169 |
+
<br>
|
170 |
+
<ol>
|
171 |
+
<li> Add the following Javascript function to the header and <strong>check if the domain and wordpress root is correct</strong>!:
|
172 |
+
<p> <script type="text/javascript"><br /> function updateIframeHeight() {<br /> var iframe = document.getElementById('hiddenIframe');<br /> var newHeight = parseInt(document.body.scrollHeight,10);<br /> iframe.src = '
|
173 |
+
<?php echo site_url(); ?> /wp-content/plugins/advanced-iframe/js/iframe_height.html?height=' + newHeight;<br /> }<br /> </script>
|
174 |
+
</p>
|
175 |
+
</li>
|
176 |
+
<li> Change <body> to <body onload="updateIframeHeight()">:
|
177 |
+
</li>
|
178 |
+
<li> Add the hidden iframe at the bottom of your body:
|
179 |
+
<p> <iframe id="hiddenIframe" style="visibility:hidden;" width="0" height="0" src="
|
180 |
+
<?php echo site_url(); ?> /wp-content/plugins/advanced-iframe/js/iframe_height.html">Iframes not supported.</iframe>
|
181 |
+
</p>
|
182 |
+
</li>
|
183 |
+
</ol>
|
184 |
+
</p>
|
185 |
+
<p> For the 'scroll to top' functionality please replace <strong>iframe_height.html</strong> with <strong>iframe_scroll.html</strong> and remove the height variable. In the plugin folder is an example.html where both examples are shown. For "Show only one element" you also have to rewrite the Javscript because it would remove the hidden iframe as well. The example should point you to the right direction if you like to do something simelar.
|
186 |
+
</p> <h3>
|
187 |
+
<?php _e('Additional files', 'advanced-iframe') ?></h3>
|
188 |
+
<p>
|
189 |
+
<?php _e('For some features in iframes additional css or js files are needed in the parent page. E.g. for the newest version of lytebox this is needed. Each of the files do get a version number which is randomly changed each time you save the settings. So if you cange the ccs or the js file you should save the settings once to make sure your users to get the new version right away and not a chached one.', 'advanced-iframe'); ?>
|
190 |
+
</p>
|
191 |
+
<table class="form-table">
|
192 |
+
<?php
|
193 |
+
printTextInput($devOptions, __('Additional css', 'advanced-iframe'), 'additional_css', __('If you want to include an additional css into the parent page please specify the path to this file here. The css file will be added into the header of the page. You can specify a full or relative url. If you specify a relative one /style.css means that the style.css is located in the main directory of Wordpress. Start relative urls with /. Shortcode attribute: additional_css=""', 'advanced-iframe'));
|
194 |
+
printTextInput($devOptions, __('Additional js', 'advanced-iframe'), 'additional_js', __('If you want to include an additional Javascript into the parent page please specify the path to this file here. The Javascript will be added after the iframe or if you use Wordpress >= 3.3 in the footer section. You can specify a full or relative url. If you specify a relative one /javascript.js means that the javascript.js is located in the main directory of Wordpress. Start relative urls with /. Shortcode attribute: additional_js=""', 'advanced-iframe'));
|
195 |
+
?>
|
196 |
+
</table>
|
197 |
+
<p>
|
198 |
+
<input id="onload" class="button-primary" type="submit" name="update_iframe-loader" value="<?php _e('Update Settings', 'advanced-iframe') ?>"/>
|
199 |
+
</p> <br />
|
200 |
+
</form>
|
201 |
+
<div id="icon-options-general" class="icon_ai">
|
202 |
+
<br>
|
203 |
+
</div> <h2>
|
204 |
+
<?php _e('Wordpress Flash Uploader, TinyWebGallery, Joomla Flash Uploader', 'advanced-iframe'); ?></h2>
|
205 |
+
<p>
|
206 |
+
<?php _e('This plugin is the extract for the iframe wrapper which was written for the TinyWebGallery. I needed an iframe wrapper that could do more than simply include a page. It needed to pass parameters to the iframe and modify the template on the fly to get more space for TWG. If you want to integrate TWG please use the "TinyWebGallery wrapper". It offers specific features only needed for the gallery. I hope this standalone wrapper is useful for other Wordpress users as well.', 'advanced-iframe'); ?>
|
207 |
+
</p>
|
208 |
+
<p>
|
209 |
+
<?php _e('Please take a look at my other projects: Wordpress Flash Uploader, TinyWebGallery, Joomla Flash Uploader or TWG Flash Uploader. If you like TWG or one of my other projects like JFU, WFU or TFU you should consider to register because you can use all products with one single license and get all features of the gallery and a complete upload solution as well.', 'advanced-iframe'); ?>
|
210 |
+
</p>
|
211 |
+
<p>
|
212 |
+
<?php _e('Please go <a href="http://www.tinywebgallery.com" target="_blank">www.tinywebgallery.com</a> for details.', 'advanced-iframe'); ?>
|
213 |
+
</p>
|
214 |
+
<br>
|
215 |
+
<div id="icon-options-general" class="icon_ai">
|
216 |
<br>
|
217 |
+
</div> <h2>Donate</h2>
|
218 |
+
<p>You like this plugin? Support the development with a small donation.
|
219 |
+
</p>
|
220 |
+
<p>
|
221 |
+
<A HREF="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40mdempfle%2ede&item_name=advanced%20iframe&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0¤cy_code=EUR&lc=EN&bn=PP%2dDonationsBF&charset=UTF%2d8">
|
222 |
+
<img src="../wp-content/plugins/wordpress-flash-uploader/img/btn_donate_LG.gif"></A>
|
223 |
+
</p>
|
224 |
+
</p>
|
225 |
+
</div>
|
226 |
<?php
|
227 |
}
|
228 |
function printTrueFalse($options, $label, $id, $description) {
|
244 |
</tr>
|
245 |
';
|
246 |
}
|
|
|
247 |
function printAutoNo($options, $label, $id, $description) {
|
248 |
echo '
|
249 |
<tr valign="top">
|
263 |
</tr>
|
264 |
';
|
265 |
}
|
|
|
266 |
function printTextInput($options, $label, $id, $description, $type = 'text') {
|
267 |
echo '
|
268 |
<tr valign="top">
|
269 |
<th scope="row">' . $label . '</th>
|
270 |
<td>
|
271 |
+
<input name="' . $id . '" type="' . $type . '" size="90" id="' . $id . '" value="' . esc_attr($options[$id]) . '" /><br>
|
272 |
<em>' . $description . '</em></td>
|
273 |
</tr>
|
274 |
';
|
275 |
}
|
|
|
276 |
function printNumberInput($options, $label, $id, $description, $type = 'text') {
|
277 |
+
if (!isset($options[$id])) {
|
278 |
+
$options[$id] = 'false';
|
279 |
+
}
|
280 |
+
echo '
|
281 |
+
<tr valign="top">
|
282 |
+
<th scope="row">' . $label . '</th>
|
283 |
+
<td>
|
284 |
+
<input name="' . $id . '" type="' . $type . '" size="90" id="' . $id . '" onblur="aiCheckInputNumber(this)" value="' . esc_attr($options[$id]) . '" /><br>
|
285 |
+
<em>' . $description . '</em></td>
|
286 |
+
</tr>
|
287 |
+
';
|
288 |
+
}
|
289 |
+
|
290 |
+
function printHeightTrueFalse($options, $label, $id, $description) {
|
291 |
+
echo '
|
292 |
+
<tr valign="top">
|
293 |
+
<th scope="row">' . $label . '</th>
|
294 |
+
<td>
|
295 |
+
';
|
296 |
+
echo '<input onclick="aiDisableHeight();" type="radio" id="' . $id . '" name="' . $id . '" value="true" ';
|
297 |
+
if ($options[$id] == "true") {
|
298 |
+
echo 'checked="checked"';
|
299 |
+
}
|
300 |
+
echo ' /> ' . __('Yes', 'advanced-iframe') . ' <input onclick="aiEnableHeight();" type="radio" id="' . $id . '" name="' . $id . '" value="false" ';
|
301 |
+
if ($options[$id] == "false") {
|
302 |
+
echo 'checked="checked"';
|
303 |
+
}
|
304 |
+
echo '/> ' . __('No', 'advanced-iframe') . '<br>
|
305 |
+
<em>' . $description . '</em></td>
|
306 |
+
</tr>
|
307 |
+
';
|
308 |
+
}
|
309 |
+
|
310 |
+
function printHeightNumberInput($options, $label, $id, $description, $type = 'text') {
|
311 |
+
if (!isset($options[$id])) {
|
312 |
+
$options[$id] = 'false';
|
313 |
+
}
|
314 |
+
|
315 |
+
$disabled = '';
|
316 |
+
if ($options['store_height_in_cookie'] == 'true') {
|
317 |
+
$disabled = ' readonly="readonly" ';
|
318 |
+
$options[$id] = '0';
|
319 |
+
}
|
320 |
+
|
321 |
echo '
|
322 |
<tr valign="top">
|
323 |
<th scope="row">' . $label . '</th>
|
324 |
<td>
|
325 |
+
<input ' . $disabled . ' name="' . $id . '" type="' . $type . '" size="90" id="' . $id . '" onblur="aiCheckInputNumber(this)" value="' . esc_attr($options[$id]) . '" /><br>
|
326 |
<em>' . $description . '</em></td>
|
327 |
</tr>
|
328 |
';
|
329 |
}
|
330 |
+
|
331 |
?>
|
advanced-iframe.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Advanced iframe
|
4 |
Plugin URI: http://www.tinywebgallery.com/blog/advanced-iframe
|
5 |
-
Version: 1
|
6 |
Author: Michael Dempfle
|
7 |
Author URI: http://www.tinywebgallery.com
|
8 |
Description: This plugin includes any webpage as shortcode in an advanced iframe.
|
@@ -18,9 +18,9 @@ Description: This plugin includes any webpage as shortcode in an advanced iframe
|
|
18 |
along with this program; if not, write to the Free Software
|
19 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20 |
*/
|
21 |
-
if (!class_exists(
|
22 |
class advancediFrame {
|
23 |
-
var $adminOptionsName =
|
24 |
|
25 |
//
|
26 |
// class constructor
|
@@ -42,7 +42,13 @@ if (!class_exists("advancediFrame")) {
|
|
42 |
'src' => 'http://www.tinywebgallery.com', 'width' => '100%',
|
43 |
'height' => '600', 'scrolling' => 'no', 'marginwidth' => '0', 'marginheight' => '0',
|
44 |
'frameborder' => '0', 'transparency' => 'true', 'content_id' => '', 'content_styles' => '',
|
45 |
-
'hide_elements' => '', 'class' => '', 'shortcode_attributes' => 'true', 'url_forward_parameter' => ''
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
return $iframeAdminOptions;
|
47 |
}
|
48 |
|
@@ -64,8 +70,32 @@ if (!class_exists("advancediFrame")) {
|
|
64 |
|
65 |
/* CSS for the admin area */
|
66 |
function addAdminHeaderCode() {
|
67 |
-
echo '<link type="text/css" rel="stylesheet" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/advanced-iframe/css/
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
|
71 |
function param($param, $content = null) {
|
@@ -74,34 +104,108 @@ if (!class_exists("advancediFrame")) {
|
|
74 |
}
|
75 |
|
76 |
function do_iframe_script($atts) {
|
77 |
-
$options = get_option(
|
78 |
-
// defaults
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
extract(array('securitykey' => 'not set',
|
80 |
-
'src' => $options['src'], 'height' => $options['height'], 'width' => $options['width'],
|
81 |
-
'
|
|
|
82 |
'transparency' => $options['transparency'], 'content_id' => $options['content_id'],
|
83 |
'content_styles' => $options['content_styles'], 'hide_elements' => $options['hide_elements'],
|
84 |
-
'class' => $options['class'], 'url_forward_parameter' => $options['url_forward_parameter'],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
// read the shortcode attributes
|
86 |
if ($options['shortcode_attributes'] == 'true') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
extract(shortcode_atts(array('securitykey' => 'not set',
|
88 |
-
'src' => $options['src'], 'height' => $options['height'], 'width' => $options['width'],
|
89 |
-
'
|
|
|
90 |
'transparency' => $options['transparency'], 'content_id' => $options['content_id'],
|
91 |
'content_styles' => $options['content_styles'], 'hide_elements' => $options['hide_elements'],
|
92 |
-
'class' => $options['class'], 'url_forward_parameter' => $options['url_forward_parameter']
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
// only the secrity key is read.
|
96 |
extract(shortcode_atts(array('securitykey' => 'not set'), $atts));
|
97 |
}
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
echo '<link type="text/css" rel="stylesheet" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/advanced-iframe/css/ai.css" />' . "\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
if ($options['securitykey'] != $securitykey) {
|
101 |
-
echo '<div class="errordiv">' . __('An invalid security key was specified. Please use at least the following shortcode:<br>[advanced_iframe securitykey="<your security key - see settings>"]', 'advanced-iframe') . '</div>';
|
102 |
return;
|
103 |
} else {
|
104 |
-
|
105 |
// add parameters
|
106 |
if ($url_forward_parameter != '') {
|
107 |
$sep = "&";
|
@@ -118,14 +222,15 @@ if (!class_exists("advancediFrame")) {
|
|
118 |
}
|
119 |
}
|
120 |
|
121 |
-
$html = '';
|
122 |
-
|
123 |
-
if ((!empty($content_id) && !empty($content_styles))
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
127 |
if (!empty($hide_elements)) {
|
128 |
-
$
|
129 |
}
|
130 |
if (!empty($content_id)) {
|
131 |
$elements = esc_html($content_id); // this field should not have a problem if they are encoded.
|
@@ -133,23 +238,78 @@ if (!class_exists("advancediFrame")) {
|
|
133 |
$elementArray = explode("|", $elements);
|
134 |
$valuesArray = explode("|", $values);
|
135 |
if (count($elementArray) != count($valuesArray)) {
|
136 |
-
echo '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
return;
|
138 |
} else {
|
139 |
for ($x = 0; $x < count($elementArray); ++$x) {
|
140 |
$valuesArrayPairs = explode(";", trim($valuesArray[$x], " ;:"));
|
141 |
for ($y = 0; $y < count($valuesArrayPairs); ++$y) {
|
142 |
$elements = explode(":", $valuesArrayPairs[$y]);
|
143 |
-
$
|
|
|
144 |
}
|
145 |
}
|
146 |
}
|
147 |
}
|
148 |
-
$
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
}
|
151 |
-
$html .= "
|
152 |
-
|
|
|
|
|
153 |
$html .= " marginwidth='" . esc_html($marginwidth) . "' ";
|
154 |
}
|
155 |
if (!empty ($marginheight)) {
|
@@ -157,6 +317,9 @@ if (!class_exists("advancediFrame")) {
|
|
157 |
}
|
158 |
if ($frameborder != '') {
|
159 |
$html .= " frameborder='" . esc_html($frameborder) . "' ";
|
|
|
|
|
|
|
160 |
}
|
161 |
if (!empty ($transparency)) {
|
162 |
$html .= " allowtransparency='" . esc_html($transparency) . "' ";
|
@@ -164,12 +327,45 @@ if (!class_exists("advancediFrame")) {
|
|
164 |
if (!empty ($class)) {
|
165 |
$html .= " class='" . esc_html($class) . "' ";
|
166 |
}
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
$html .= "></iframe>\n ";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
}
|
170 |
return $html;
|
171 |
}
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
173 |
function printAdminPage() {
|
174 |
require_once('advanced-iframe-admin-page.php');
|
175 |
}
|
@@ -182,7 +378,7 @@ if (class_exists("advancediFrame")) {
|
|
182 |
//Actions and Filters
|
183 |
if (isset($cons_advancediFrame)) {
|
184 |
//Initialize the admin panel
|
185 |
-
if (!function_exists(
|
186 |
function advancediFrame_ap() {
|
187 |
global $cons_advancediFrame;
|
188 |
if (!isset($cons_advancediFrame)) {
|
@@ -197,6 +393,9 @@ if (isset($cons_advancediFrame)) {
|
|
197 |
add_action('admin_menu', 'advancediFrame_ap', 1); //admin page
|
198 |
add_action('init', array(&$cons_advancediFrame, 'loadLanguage'), 1); // add languages
|
199 |
add_action('admin_head', array(&$cons_advancediFrame, 'addAdminHeaderCode'), 99); // load css
|
|
|
|
|
|
|
200 |
add_shortcode('advanced_iframe', array(&$cons_advancediFrame, 'do_iframe_script'), 1); // setup shortcode [twg]
|
201 |
register_activation_hook(__FILE__, array(&$cons_advancediFrame, 'activate'));
|
202 |
}
|
2 |
/*
|
3 |
Plugin Name: Advanced iframe
|
4 |
Plugin URI: http://www.tinywebgallery.com/blog/advanced-iframe
|
5 |
+
Version: 2.1
|
6 |
Author: Michael Dempfle
|
7 |
Author URI: http://www.tinywebgallery.com
|
8 |
Description: This plugin includes any webpage as shortcode in an advanced iframe.
|
18 |
along with this program; if not, write to the Free Software
|
19 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20 |
*/
|
21 |
+
if (!class_exists('advancediFrame')) {
|
22 |
class advancediFrame {
|
23 |
+
var $adminOptionsName = 'advancediFrameAdminOptions';
|
24 |
|
25 |
//
|
26 |
// class constructor
|
42 |
'src' => 'http://www.tinywebgallery.com', 'width' => '100%',
|
43 |
'height' => '600', 'scrolling' => 'no', 'marginwidth' => '0', 'marginheight' => '0',
|
44 |
'frameborder' => '0', 'transparency' => 'true', 'content_id' => '', 'content_styles' => '',
|
45 |
+
'hide_elements' => '', 'class' => '', 'shortcode_attributes' => 'true', 'url_forward_parameter' => '',
|
46 |
+
'id' => 'advanced_iframe', 'name' => '',
|
47 |
+
'onload' => '', 'onload_resize' => 'false', 'onload_scroll_top' => 'false',
|
48 |
+
'additional_js' => '', 'additional_css' => '', 'store_height_in_cookie' => 'false',
|
49 |
+
'additional_height' => '0', 'iframe_content_id' => '', 'iframe_content_styles' => '',
|
50 |
+
'iframe_hide_elements' => '', 'version_counter' => '1', 'onload_show_element_only' => ''
|
51 |
+
);
|
52 |
return $iframeAdminOptions;
|
53 |
}
|
54 |
|
70 |
|
71 |
/* CSS for the admin area */
|
72 |
function addAdminHeaderCode() {
|
73 |
+
echo '<link type="text/css" rel="stylesheet" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/advanced-iframe/css/ai.css" />' . "\n";
|
74 |
+
echo '<script type="text/javascript" src="' . get_bloginfo('wpurl') . '/wp-content/plugins/advanced-iframe/js/ai.js" ></script>' . "\n";
|
75 |
+
}
|
76 |
+
|
77 |
+
/* additional CSS for wp area */
|
78 |
+
function addWpHeaderCode($atts) {
|
79 |
+
$options = get_option('advancediFrameAdminOptions');
|
80 |
+
// defaults
|
81 |
+
extract(array('additional_css' => $options['additional_css'],
|
82 |
+
'additional_js' => $options['additional_js'],
|
83 |
+
'version_counter' => $options['version_counter'],
|
84 |
+
$atts));
|
85 |
+
// read the shortcode attributes
|
86 |
+
if ($options['shortcode_attributes'] == 'true') {
|
87 |
+
extract(shortcode_atts(array('additional_css' => $options['additional_css'],
|
88 |
+
'additional_js' => $options['additional_js']), $atts));
|
89 |
+
}
|
90 |
+
if ($additional_css != '') {
|
91 |
+
wp_register_style( 'additional-advanced-iframe', $additional_css, false, $version_counter);
|
92 |
+
wp_enqueue_style( 'additional-advanced-iframe' );
|
93 |
+
// wp_enqueue_style( 'additional-advanced-iframe', $additional_css , false );
|
94 |
+
}
|
95 |
+
if ($additional_js != '' && version_compare(get_bloginfo('version'), '3.3') < 0 ) { // wp < 3.3
|
96 |
+
wp_register_script( 'additional-advanced-iframe', $additional_js, false, $version_counter);
|
97 |
+
wp_enqueue_script( 'additional-advanced-iframe');
|
98 |
+
}
|
99 |
}
|
100 |
|
101 |
function param($param, $content = null) {
|
104 |
}
|
105 |
|
106 |
function do_iframe_script($atts) {
|
107 |
+
$options = get_option('advancediFrameAdminOptions');
|
108 |
+
// defaults for new settings in 2.0
|
109 |
+
if (!isset ($options['id'])) { $options['id'] = ''; }
|
110 |
+
if (!isset ($options['name'])) { $options['name'] = ''; }
|
111 |
+
if (!isset ($options['onload'])) { $options['onload'] = ''; }
|
112 |
+
if (!isset ($options['onload_resize'])) { $options['onload_resize'] = 'false'; }
|
113 |
+
if (!isset ($options['onload_scroll_top'])) { $options['onload_scroll_top'] = 'false'; }
|
114 |
+
if (!isset ($options['additional_js'])) { $options['additional_js'] = ''; }
|
115 |
+
if (!isset ($options['additional_css'])) { $options['additional_css'] = ''; }
|
116 |
+
if (!isset ($options['store_height_in_cookie'])) { $options['store_height_in_cookie'] = 'false'; }
|
117 |
+
if (!isset ($options['additional_height'])) { $options['additional_height'] = 0; }
|
118 |
+
if (!isset ($options['iframe_content_id'])) { $options['iframe_content_id'] = ''; }
|
119 |
+
if (!isset ($options['iframe_content_styles'])) { $options['iframe_content_styles'] = ''; }
|
120 |
+
if (!isset ($options['iframe_hide_elements'])) { $options['iframe_hide_elements'] = ''; }
|
121 |
+
if (!isset ($options['version_counter'])) { $options['version_counter'] = '1'; }
|
122 |
+
if (!isset ($options['onload_show_element_only'])) { $options['onload_show_element_only'] = ''; }
|
123 |
+
|
124 |
+
// defaults from main config
|
125 |
extract(array('securitykey' => 'not set',
|
126 |
+
'src' => $options['src'], 'height' => $options['height'], 'width' => $options['width'],
|
127 |
+
'frameborder' => $options['frameborder'], 'scrolling' => $options['scrolling'],
|
128 |
+
'marginheight' => $options['marginheight'], 'marginwidth' => $options['marginwidth'],
|
129 |
'transparency' => $options['transparency'], 'content_id' => $options['content_id'],
|
130 |
'content_styles' => $options['content_styles'], 'hide_elements' => $options['hide_elements'],
|
131 |
+
'class' => $options['class'], 'url_forward_parameter' => $options['url_forward_parameter'],
|
132 |
+
'id' => $options['id'], 'name' => $options['name'],
|
133 |
+
'onload' => $options['onload'], 'onload_resize' => $options['onload_resize'],
|
134 |
+
'onload_scroll_top'=> $options['onload_scroll_top'],
|
135 |
+
'additional_js'=> $options['additional_js'],
|
136 |
+
'additional_css'=> $options['additional_css'],
|
137 |
+
'store_height_in_cookie'=> $options['store_height_in_cookie'],
|
138 |
+
'additional_height' => $options['additional_height'],
|
139 |
+
'iframe_content_id' => $options['iframe_content_id'],
|
140 |
+
'iframe_content_styles' => $options['iframe_content_styles'],
|
141 |
+
'iframe_hide_elements' => $options['iframe_hide_elements'],
|
142 |
+
'version_counter' => $options['version_counter'],
|
143 |
+
'onload_show_element_only' => $options['onload_show_element_only'],
|
144 |
+
$atts));
|
145 |
// read the shortcode attributes
|
146 |
if ($options['shortcode_attributes'] == 'true') {
|
147 |
+
// src value can be hidden in [0] and [1] if the editor does hotlink the url. Therefore I look in there if the src is not set!
|
148 |
+
if (!isset($atts['src'])) {
|
149 |
+
if (isset($atts[0]) && (stristr($atts[0], 'src') !== FALSE)) {
|
150 |
+
if (isset($atts[1])) {
|
151 |
+
$input = '<a ' . $atts[1];
|
152 |
+
$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
|
153 |
+
if(preg_match_all("/$regexp/siU", $input, $matches)) {
|
154 |
+
if (isset($matches[2])) {
|
155 |
+
$atts['src'] = $matches[2][0];
|
156 |
+
}
|
157 |
+
}
|
158 |
+
}
|
159 |
+
}
|
160 |
+
}
|
161 |
extract(shortcode_atts(array('securitykey' => 'not set',
|
162 |
+
'src' => $options['src'], 'height' => $options['height'], 'width' => $options['width'],
|
163 |
+
'frameborder' => $options['frameborder'], 'scrolling' => $options['scrolling'],
|
164 |
+
'marginheight' => $options['marginheight'], 'marginwidth' => $options['marginwidth'],
|
165 |
'transparency' => $options['transparency'], 'content_id' => $options['content_id'],
|
166 |
'content_styles' => $options['content_styles'], 'hide_elements' => $options['hide_elements'],
|
167 |
+
'class' => $options['class'], 'url_forward_parameter' => $options['url_forward_parameter'],
|
168 |
+
'id' => $options['id'], 'name' => $options['name'],
|
169 |
+
'onload' => $options['onload'],
|
170 |
+
'onload_resize' => $options['onload_resize'],
|
171 |
+
'onload_scroll_top'=> $options['onload_scroll_top'],
|
172 |
+
'additional_js'=> $options['additional_js'],
|
173 |
+
'additional_css'=> $options['additional_css'],
|
174 |
+
'store_height_in_cookie'=> $options['store_height_in_cookie'],
|
175 |
+
'additional_height' => $options['additional_height'],
|
176 |
+
'iframe_content_id' => $options['iframe_content_id'],
|
177 |
+
'iframe_content_styles' => $options['iframe_content_styles'],
|
178 |
+
'iframe_hide_elements' => $options['iframe_hide_elements'],
|
179 |
+
'onload_show_element_only' => $options['onload_show_element_only'],
|
180 |
+
)
|
181 |
+
, $atts));
|
182 |
+
} else {
|
183 |
// only the secrity key is read.
|
184 |
extract(shortcode_atts(array('securitykey' => 'not set'), $atts));
|
185 |
}
|
186 |
+
|
187 |
+
if (empty ($id)) {
|
188 |
+
$id = 'advanced_iframe';
|
189 |
+
}
|
190 |
+
if (empty ($name)) {
|
191 |
+
$name = 'advanced_iframe';
|
192 |
+
}
|
193 |
+
|
194 |
echo '<link type="text/css" rel="stylesheet" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/advanced-iframe/css/ai.css" />' . "\n";
|
195 |
+
echo '<script type="text/javascript" src="' . get_bloginfo('wpurl') . '/wp-content/plugins/advanced-iframe/js/ai.js" ></script>' . "\n";
|
196 |
+
|
197 |
+
if ($store_height_in_cookie == 'true') {
|
198 |
+
echo '<script type="text/javascript">aiEnableCookie=true; aiId="' . $id . '";</script>';
|
199 |
+
}
|
200 |
+
if ($additional_height != 0) {
|
201 |
+
echo '<script type="text/javascript">aiExtraSpace=' . $additional_height . ';</script>';
|
202 |
+
}
|
203 |
+
echo '<script type="text/javascript">function aiResizeIframeHeight(height) { aiResizeIframeHeightById("'.$id.'",height); }</script>' . "\n";
|
204 |
+
|
205 |
if ($options['securitykey'] != $securitykey) {
|
206 |
+
echo '<div class="errordiv">' . __('An invalid security key was specified. Please use at least the following shortcode:<br>[advanced_iframe securitykey="<your security key - see settings>"]. Please also check in the html mode that your shortcode does only contain notmal spaces and not a &nbsp; instead.', 'advanced-iframe') . '</div>';
|
207 |
return;
|
208 |
} else {
|
|
|
209 |
// add parameters
|
210 |
if ($url_forward_parameter != '') {
|
211 |
$sep = "&";
|
222 |
}
|
223 |
}
|
224 |
|
225 |
+
$html = '';
|
226 |
+
|
227 |
+
if ((!empty($content_id) && !empty($content_styles)) || !empty($hide_elements)) {
|
228 |
+
|
229 |
+
|
230 |
+
// hide elements is called directy in the page to hide elements as fast as quickly
|
231 |
+
$hidehtml = '';
|
232 |
if (!empty($hide_elements)) {
|
233 |
+
$hidehtml .= "jQuery('" . esc_html($hide_elements) . "').css('display', 'none');";
|
234 |
}
|
235 |
if (!empty($content_id)) {
|
236 |
$elements = esc_html($content_id); // this field should not have a problem if they are encoded.
|
238 |
$elementArray = explode("|", $elements);
|
239 |
$valuesArray = explode("|", $values);
|
240 |
if (count($elementArray) != count($valuesArray)) {
|
241 |
+
echo '</script><div class="errordiv">' . __('Configuration error: The attributes content_id and content_styles have to have the amount of value sets separated by |.', 'advanced-iframe') . '</div>';
|
242 |
+
return;
|
243 |
+
} else {
|
244 |
+
for ($x = 0; $x < count($elementArray); ++$x) {
|
245 |
+
$valuesArrayPairs = explode(";", trim($valuesArray[$x], " ;:"));
|
246 |
+
for ($y = 0; $y < count($valuesArrayPairs); ++$y) {
|
247 |
+
$elements = explode(":", $valuesArrayPairs[$y]);
|
248 |
+
$hidehtml .= "jQuery('" . $elementArray[$x] . "').css('" . $elements[0] . "', '" . $elements[1] . "');";
|
249 |
+
}
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
253 |
+
$html .= '<script type="text/javascript">';
|
254 |
+
$html .= 'function aiModifyParent() { ';
|
255 |
+
$html .= $hidehtml;
|
256 |
+
$html .= '}';
|
257 |
+
$html .= 'jQuery(document).ready(function() { ';
|
258 |
+
$html .= 'aiModifyParent();';
|
259 |
+
$html .= ' });';
|
260 |
+
$html .= 'aiModifyParent();';
|
261 |
+
$html .= '</script>';
|
262 |
+
}
|
263 |
+
|
264 |
+
// jQuery("#advanced_iframe").contents().find("#iframe-div").css("border","4px solid blue");
|
265 |
+
$hideiframehtml = '';
|
266 |
+
if ((!empty($iframe_content_id) && !empty($iframe_content_styles))|| !empty($iframe_hide_elements)) {
|
267 |
+
|
268 |
+
// hide elements is called directy in the page to hide elements as fast as quickly
|
269 |
+
$hideiframehtml = '';
|
270 |
+
if (!empty($iframe_hide_elements)) {
|
271 |
+
$hideiframehtml .= "jQuery('#".$id."').contents().find('" .
|
272 |
+
esc_html($iframe_hide_elements) . "').css('display', 'none');";
|
273 |
+
}
|
274 |
+
if (!empty($iframe_content_id)) {
|
275 |
+
$elements = esc_html($iframe_content_id); // this field should not have a problem if they are encoded.
|
276 |
+
$values = esc_html($iframe_content_styles); // this field style should not have a problem if they are encoded.
|
277 |
+
$elementArray = explode("|", $elements);
|
278 |
+
$valuesArray = explode("|", $values);
|
279 |
+
if (count($elementArray) != count($valuesArray)) {
|
280 |
+
echo '</script><div class="errordiv">' . __('Configuration error: The attributes iframe_content_id and iframe_content_styles have to have the amount of value sets separated by |.', 'advanced-iframe') . '</div>';
|
281 |
return;
|
282 |
} else {
|
283 |
for ($x = 0; $x < count($elementArray); ++$x) {
|
284 |
$valuesArrayPairs = explode(";", trim($valuesArray[$x], " ;:"));
|
285 |
for ($y = 0; $y < count($valuesArrayPairs); ++$y) {
|
286 |
$elements = explode(":", $valuesArrayPairs[$y]);
|
287 |
+
$hideiframehtml .= "jQuery('#".$id."').contents().find('" . $elementArray[$x]
|
288 |
+
. "').css('" . $elements[0] . "', '" . $elements[1] . "');";
|
289 |
}
|
290 |
}
|
291 |
}
|
292 |
}
|
293 |
+
if ($hideiframehtml != '') {
|
294 |
+
$html .= '<script type="text/javascript">';
|
295 |
+
$html .= 'function aiModifyIframe() { ';
|
296 |
+
$html .= $hideiframehtml;
|
297 |
+
$html .= '}';
|
298 |
+
$html .= '</script>';
|
299 |
+
}
|
300 |
+
}
|
301 |
+
|
302 |
+
|
303 |
+
|
304 |
+
|
305 |
+
$html .= "<iframe id='" . esc_html($id) . "' ";
|
306 |
+
if (!empty ($name)) {
|
307 |
+
$html .= " name='" . esc_html($name) . "' ";
|
308 |
}
|
309 |
+
$html .= " src='" . $src . "' width='" . esc_html($width) . "' height='" . esc_html($height) .
|
310 |
+
"' scrolling='" . esc_html($scrolling) . "' ";
|
311 |
+
|
312 |
+
if (!empty ($marginwidth)) {
|
313 |
$html .= " marginwidth='" . esc_html($marginwidth) . "' ";
|
314 |
}
|
315 |
if (!empty ($marginheight)) {
|
317 |
}
|
318 |
if ($frameborder != '') {
|
319 |
$html .= " frameborder='" . esc_html($frameborder) . "' ";
|
320 |
+
if ($frameborder == 0) {
|
321 |
+
$html .= " border='0' ";
|
322 |
+
}
|
323 |
}
|
324 |
if (!empty ($transparency)) {
|
325 |
$html .= " allowtransparency='" . esc_html($transparency) . "' ";
|
327 |
if (!empty ($class)) {
|
328 |
$html .= " class='" . esc_html($class) . "' ";
|
329 |
}
|
330 |
+
// create onload string
|
331 |
+
$onload_str = '';
|
332 |
+
if ($hideiframehtml) {
|
333 |
+
$onload_str .= ';aiModifyIframe();';
|
334 |
+
}
|
335 |
+
|
336 |
+
if (!empty ($onload)) {
|
337 |
+
$onload_str .= esc_html($onload);
|
338 |
+
}
|
339 |
+
if (!empty($onload_show_element_only)) {
|
340 |
+
$onload_str .= ';aiShowElementOnly("#'.$id.'","'.$onload_show_element_only.'");';
|
341 |
+
}
|
342 |
+
if ($onload_resize == 'true') {
|
343 |
+
$onload_str .= ';aiResizeIframe(this);';
|
344 |
+
}
|
345 |
+
if ($onload_scroll_top == 'true') {
|
346 |
+
$onload_str .= ';aiScrollToTop();';
|
347 |
+
}
|
348 |
+
if ($onload_str != '') {
|
349 |
+
$html .= " onload='" . esc_js($onload_str) . "' ";
|
350 |
+
}
|
351 |
$html .= "></iframe>\n ";
|
352 |
+
if ($store_height_in_cookie == 'true') {
|
353 |
+
$html .= '<script type="text/javascript">aiUseCookie();</script>';
|
354 |
+
}
|
355 |
+
if ($additional_js != '' && version_compare(get_bloginfo('version'), '3.3') >= 0 ) { // wp >= 3.3
|
356 |
+
wp_register_script( 'additional-advanced-iframe', $additional_js, false, $version_counter);
|
357 |
+
wp_enqueue_script( 'additional-advanced-iframe');
|
358 |
+
}
|
359 |
+
|
360 |
}
|
361 |
return $html;
|
362 |
}
|
363 |
+
|
364 |
+
function add_script_footer() {
|
365 |
+
echo '<script type="text/javascript">if(window.aiModifyParent) {aiModifyParent();}</script>';
|
366 |
+
}
|
367 |
+
|
368 |
+
|
369 |
function printAdminPage() {
|
370 |
require_once('advanced-iframe-admin-page.php');
|
371 |
}
|
378 |
//Actions and Filters
|
379 |
if (isset($cons_advancediFrame)) {
|
380 |
//Initialize the admin panel
|
381 |
+
if (!function_exists('advancediFrame_ap')) {
|
382 |
function advancediFrame_ap() {
|
383 |
global $cons_advancediFrame;
|
384 |
if (!isset($cons_advancediFrame)) {
|
393 |
add_action('admin_menu', 'advancediFrame_ap', 1); //admin page
|
394 |
add_action('init', array(&$cons_advancediFrame, 'loadLanguage'), 1); // add languages
|
395 |
add_action('admin_head', array(&$cons_advancediFrame, 'addAdminHeaderCode'), 99); // load css
|
396 |
+
add_action('wp_enqueue_scripts', array(&$cons_advancediFrame, 'addWpHeaderCode'), 98); // load css
|
397 |
+
add_action('wp_footer', array(&$cons_advancediFrame, 'add_script_footer'), 2);
|
398 |
+
|
399 |
add_shortcode('advanced_iframe', array(&$cons_advancediFrame, 'do_iframe_script'), 1); // setup shortcode [twg]
|
400 |
register_activation_hook(__FILE__, array(&$cons_advancediFrame, 'activate'));
|
401 |
}
|
css/ai.css
CHANGED
@@ -12,14 +12,15 @@ line-height: 1.3em;
|
|
12 |
line-height: 1.1;
|
13 |
}
|
14 |
|
15 |
-
.
|
16 |
float: left;
|
17 |
height: 36px;
|
18 |
-
margin-top:
|
19 |
margin-right: 6px;
|
20 |
margin-bottom: 0pt;
|
21 |
margin-left: 0pt;
|
22 |
width: 36px;
|
23 |
background-image: url(../img/jfu_logo_32x32.png) !important;
|
|
|
24 |
background-position: -0px -0px !important;
|
25 |
}
|
12 |
line-height: 1.1;
|
13 |
}
|
14 |
|
15 |
+
.icon_ai {
|
16 |
float: left;
|
17 |
height: 36px;
|
18 |
+
margin-top: 8px;
|
19 |
margin-right: 6px;
|
20 |
margin-bottom: 0pt;
|
21 |
margin-left: 0pt;
|
22 |
width: 36px;
|
23 |
background-image: url(../img/jfu_logo_32x32.png) !important;
|
24 |
+
background-repeat: no-repeat;
|
25 |
background-position: -0px -0px !important;
|
26 |
}
|
example.html
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<html>
|
2 |
+
<head>
|
3 |
+
<script type="text/javascript">
|
4 |
+
function updateIframeHeight() {
|
5 |
+
var iframe = document.getElementById('hiddenIframe');
|
6 |
+
var newHeight = parseInt(document.body.scrollHeight,10);
|
7 |
+
iframe.src = 'http://localhost/wordpress32/wp-content/plugins/advanced-iframe/js/iframe_height.html?height=' + newHeight;
|
8 |
+
}
|
9 |
+
function scrollToTop() {
|
10 |
+
var iframe = document.getElementById('hiddenIframe2');
|
11 |
+
iframe.src = 'http://localhost/wordpress32/wp-content/plugins/advanced-iframe/js/iframe_scroll.html';
|
12 |
+
}
|
13 |
+
</script>
|
14 |
+
</head>
|
15 |
+
<body onload="updateIframeHeight();scrollToTop();">
|
16 |
+
<div id="iframe-first-div" style="height:400px;border:2px solid #f00;">
|
17 |
+
|
18 |
+
This is an example page where the scroll to top and automatic setting of the iframe height is implmented.<br/>
|
19 |
+
Please look at the source code to see how this works.
|
20 |
+
|
21 |
+
<p>
|
22 |
+
This is a simple div with a height of 600 px and a border of 2px. <br/>
|
23 |
+
</p>
|
24 |
+
If you click on the link below you come back to the same page but your parent page should scroll to the top.<br/>
|
25 |
+
Scroll down your page to see a result.
|
26 |
+
<p>
|
27 |
+
<a href="example.html">Link to this page </a>
|
28 |
+
</p>
|
29 |
+
</div>
|
30 |
+
<div id="iframe-second-div" style="height:100px;border:2px solid #00f;">
|
31 |
+
<p>
|
32 |
+
This a 2nd small div with id="iframe-second-div" I use as example how to hide an element in the iframe.
|
33 |
+
</p>
|
34 |
+
</div>
|
35 |
+
<iframe id="hiddenIframe" style="visibility:hidden;" frameborder="0" border="0" width="0" height="0" src="http://localhost/wordpress32/wp-content/plugins/advanced-iframe/js/iframe_height.html">
|
36 |
+
Iframes not supported.</iframe><iframe id="hiddenIframe2" style="visibility:hidden;" frameborder="0" border="0" width="0" height="0" src="http://localhost/wordpress32/wp-content/plugins/advanced-iframe/js/iframe_scroll.html">
|
37 |
+
Iframes not supported.</iframe>
|
38 |
+
</body>
|
39 |
+
</html>
|
js/ai.js
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var aiEnableCookie=false;
|
2 |
+
var aiId='';
|
3 |
+
var aiExtraSpace = 0;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* This function resizes the iframe after loading to the height
|
7 |
+
* of then content of the iframe.
|
8 |
+
*
|
9 |
+
* The extra space is not stored in the cookie! The height would
|
10 |
+
* be added every time otherwise and the iframe would grow,
|
11 |
+
*/
|
12 |
+
function aiResizeIframe(obj) {
|
13 |
+
obj.height = obj.contentWindow.document.body.scrollHeight + aiExtraSpace; //IE6, IE7, IE9, Safari, FF and Chrome
|
14 |
+
if (aiEnableCookie && aiExtraSpace == 0 ) {
|
15 |
+
aiWriteCookie(obj.height);
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Resizes an iframe to a given height.
|
21 |
+
* this is used for xss enabled iframes.
|
22 |
+
* Please read the documentation!
|
23 |
+
*/
|
24 |
+
function aiResizeIframeHeightById(id, nHeight) {
|
25 |
+
height = parseInt(nHeight) + aiExtraSpace;
|
26 |
+
var iframe = document.getElementById(id);
|
27 |
+
iframe.setAttribute('height', height + 'px');
|
28 |
+
if (aiEnableCookie && aiExtraSpace == 0) {
|
29 |
+
aiWriteCookie(height);
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Scrolls the parent window to the top.
|
35 |
+
* This is e.g. wanted when you have a link in the iframe and you want that the
|
36 |
+
* page starts at the top and not that only the iframe changes.
|
37 |
+
*/
|
38 |
+
function aiScrollToTop() {
|
39 |
+
window.parent.window.scrollTo(0,0);
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Writes the last height to the cookie.
|
44 |
+
*/
|
45 |
+
function aiWriteCookie(height) {
|
46 |
+
var cookieName = 'ai-last-height';
|
47 |
+
if (aiId != '') {
|
48 |
+
cookieName = cookieName + '-' + aiId ;
|
49 |
+
}
|
50 |
+
var cookieStr = cookieName + "=" + height;
|
51 |
+
document.cookie=cookieStr;
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Reads the cookie and preset the height of the iframe
|
56 |
+
*/
|
57 |
+
function aiUseCookie() {
|
58 |
+
var cookieName = 'ai-last-height';
|
59 |
+
if (aiId != '') {
|
60 |
+
cookieName = cookieName + '-' + aiId ;
|
61 |
+
}
|
62 |
+
var allcookies = document.cookie;
|
63 |
+
// Get all the cookies pairs in an array
|
64 |
+
cookiearray = allcookies.split(';');
|
65 |
+
// Now take key value pair out of this array
|
66 |
+
for(var i=0; i<cookiearray.length; i++){
|
67 |
+
name = cookiearray[i].split('=')[0];
|
68 |
+
value = cookiearray[i].split('=')[1];
|
69 |
+
// alert("Key is : " + name + " and Value is : " + value);
|
70 |
+
// cookie does exist and has a numeric value
|
71 |
+
if (name == cookieName && value != null && ai_is_numeric(value)) {
|
72 |
+
var iframe = document.getElementById(aiId);
|
73 |
+
iframe.setAttribute('height', (parseInt(value) + aiExtraSpace) + 'px');
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* check if we have a numeric input
|
80 |
+
*/
|
81 |
+
function ai_is_numeric(input){
|
82 |
+
return !isNaN(input);
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Disable the additional_height input field
|
87 |
+
*/
|
88 |
+
function aiDisableHeight() {
|
89 |
+
jQuery("#additional_height").attr('readonly','readonly');
|
90 |
+
jQuery("#additional_height").val('0');
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Enable the additional_height input field
|
95 |
+
*/
|
96 |
+
function aiEnableHeight() {
|
97 |
+
jQuery("#additional_height").removeAttr('readonly');
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Removes all elements from an iframe except the given one
|
102 |
+
*
|
103 |
+
* @param iframeId id of the iframe
|
104 |
+
* @param showElement the id, class (jQuery syntax) of the element that should be displayed.
|
105 |
+
*/
|
106 |
+
function aiShowElementOnly( iframeId, showElement ) {
|
107 |
+
var iframe = jQuery(iframeId).contents().find("body");
|
108 |
+
var selectedBox = iframe.find(showElement).clone();
|
109 |
+
iframe.find("*").remove();
|
110 |
+
iframe.append(selectedBox);
|
111 |
+
}
|
js/iframe_height.html
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type="text/javascript">
|
2 |
+
function getFirstParamFromLocation() {
|
3 |
+
var pair = window.location.search.substring(1);
|
4 |
+
var parts = pair.split('=');
|
5 |
+
return parts[1];
|
6 |
+
}
|
7 |
+
var nHeight = getFirstParamFromLocation();
|
8 |
+
if (nHeight != undefined) {
|
9 |
+
try {
|
10 |
+
window.top.aiResizeIframeHeight(nHeight);
|
11 |
+
} catch(e) {
|
12 |
+
}
|
13 |
+
}
|
14 |
+
</script>
|
js/iframe_scroll.html
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type="text/javascript">
|
2 |
+
try {
|
3 |
+
window.top.aiScrollToTop();
|
4 |
+
} catch(e) {};
|
5 |
+
</script>
|
languages/default.mo
CHANGED
Binary file
|
languages/default.po
CHANGED
@@ -2,208 +2,347 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Advanced iframe\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date:
|
6 |
-
"PO-Revision-Date:
|
7 |
-
"Last-Translator:
|
8 |
-
"Language-Team:
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"X-Poedit-KeywordsList: __;_e\n"
|
13 |
-
"X-Poedit-Basepath: C:\\software\\
|
14 |
-
"X-Poedit-Language: English\n"
|
15 |
-
"X-Poedit-Country: UNITED STATES\n"
|
16 |
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
"X-Poedit-SearchPath-0: advanced-iframe\n"
|
18 |
|
19 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
20 |
msgid "Please check the value you have entered. Only numbers with an optional px, %, em or pt are allowed"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
24 |
msgid "Settings Updated."
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
28 |
msgid "Advanced iframe default settings"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
32 |
msgid "This plugin will include any content an advanced iframe. Please enter the url and the size you want to include your page. You have a couple of additional default options which help to integrate your site better into your template. You can overwrite all of these settings by specifying the parameter in the shortcode. Please read the documentation after each field about the parameter you have to use."
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
36 |
msgid "Please use the following shortcode to include a page to your page: "
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
40 |
msgid "Security key"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
44 |
msgid "This is the security key which has to be used in the shorttag. This is mandatory because otherwise anyone who can create an article can insert a gallery as well. The default security key was randomly generated during installation. Please change the key if you like. You should use this in combination with e.g. Page security to make sure that only the users you define can modify pages."
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
48 |
msgid "Allow shortcode attributes"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
52 |
msgid "Allow to set attributes in the shortcode. All of the attributes can be overwritten in the shortcode if you set 'Yes'. Otherwise the settings you specify here are used."
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
56 |
msgid "Url"
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
60 |
msgid "Enter the full URL to your page. e.g. http://www.tinywebgallery.com. Shortcode attribute: src=\"\""
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
64 |
msgid "Width"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
68 |
msgid "The width of the iframe. You can specify the value in px or in %. If you don't specify anything px is assumed. Shortcode attribute: width=\"\""
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
72 |
msgid "Height"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
76 |
-
msgid "The height of the iframe. You can specify the value in px or in %. If you don't specify anything px is assumed. Shortcode attribute: height=\"\""
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
80 |
msgid "Scrolling"
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
84 |
msgid "Defines if scrollbars are shown if the page is too big for your iframe. Please note: If you select 'Yes' IE does always show scrollbars on many pages! So only use this if needed. Shortcode attribute: scrolling=\"auto\" or scrolling=\"no\""
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
88 |
msgid "Margin width"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
92 |
msgid "The margin width of the iframe. You can specify the value in px. If you don't specify anything px is assumed. Shortcode attribute: marginwidth=\"\""
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
96 |
msgid "Margin height"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
100 |
msgid "The margin height of the iframe. You can specify the value in px. If you don't specify anything px is assumed. Shortcode attribute: marginheight=\"\""
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
104 |
msgid "Frame border"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
108 |
msgid "The frame border of the iframe. You can specify the value in px. If you don't specify anything px is assumed. Shortcode attribute: frameborder=\"\""
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
112 |
msgid "Transparency"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
116 |
msgid "If you like that the iframe is transparent and your background is shown you should set this to 'Yes'. If this value is not set then the iframe is transparent in IE but transparent in e.g. Firefox. So by default you should leave this to 'Yes'. Shortcode attribute: transparency=\"true\" or transparency=\"false\" "
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
120 |
msgid "Class"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
124 |
msgid "You can define a class for the iframe if you like. Shortcode attribute: class=\"\""
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
128 |
msgid "URL forward parameters"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
132 |
msgid "Define the parameters that should be passed from the browser url to the iframe url. Please separate the parameters by ','. In e.g. TinyWebGallery this enables you to jump directly to an album or image although TinyWebGallery is included in an iframe. Shortcode attribute: url_forward_parameter=\"\""
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
136 |
-
|
137 |
-
msgid "Update Settings"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
141 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
msgstr ""
|
143 |
|
144 |
#: advanced-iframe/advanced-iframe-admin-page.php:94
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
msgstr ""
|
147 |
|
148 |
#: advanced-iframe/advanced-iframe-admin-page.php:98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
msgid "Content id"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
153 |
-
msgid "Some templates do not use the full width for their content and even most 'One column, no sidebar Page Template' templates only remove the sidebar but do not change the content width.
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
157 |
msgid "Content styles"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
161 |
-
msgid "Define the styles that have to be overwritten to enable the full width. Most of the time have to modify some of the following attributes: width, margin-left, margin-right, padding-left. Please use ; as separator between styles. If you have defined more than one element above (Content id) please separate the different style sets with |. The default values are: Wordpress default: 'width:450px;padding-left:45px;'. Twenty Ten: 'margin-left:20px;margin-right:240px'. iNove: 'width:605px'.
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
165 |
-
msgid "
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
169 |
-
msgid "
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
173 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
msgid "Wordpress Flash Uploader, TinyWebGallery, Joomla Flash Uploader"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
181 |
-
msgid "This plugin is the extract for the iframe wrapper which was written for the TinyWebGallery. I needed an iframe wrapper that could do more
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
185 |
msgid "Please take a look at my other projects: Wordpress Flash Uploader, TinyWebGallery, Joomla Flash Uploader or TWG Flash Uploader. If you like TWG or one of my other projects like JFU, WFU or TFU you should consider to register because you can use all products with one single license and get all features of the gallery and a complete upload solution as well."
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
189 |
msgid "Please go <a href=\"http://www.tinywebgallery.com\" target=\"_blank\">www.tinywebgallery.com</a> for details."
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
193 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
|
|
194 |
msgid "Yes"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
198 |
-
#: advanced-iframe/advanced-iframe-admin-page.php:
|
|
|
199 |
msgid "No"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: advanced-iframe/advanced-iframe.php:
|
203 |
-
msgid "An invalid security key was specified. Please use at least the following shortcode:<br>[advanced_iframe securitykey=\"<your security key - see settings>\"]"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: advanced-iframe/advanced-iframe.php:
|
207 |
msgid "Configuration error: The attributes content_id and content_styles have to have the amount of value sets separated by |."
|
208 |
msgstr ""
|
209 |
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Advanced iframe\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2013-02-07 22:59+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-02-07 23:00+0100\n"
|
7 |
+
"Last-Translator: TinyWebGallery <tinywebgallery@mdempfle.de>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"X-Poedit-KeywordsList: __;_e\n"
|
13 |
+
"X-Poedit-Basepath: C:\\software\\xampplite173\\htdocs\\wordpress32\\wp-content\\plugins\n"
|
|
|
|
|
14 |
"X-Poedit-SourceCharset: utf-8\n"
|
15 |
"X-Poedit-SearchPath-0: advanced-iframe\n"
|
16 |
|
17 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:16
|
18 |
msgid "Please check the value you have entered. Only numbers with an optional px, %, em or pt are allowed"
|
19 |
msgstr ""
|
20 |
|
21 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:53
|
22 |
msgid "Settings Updated."
|
23 |
msgstr ""
|
24 |
|
25 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:67
|
26 |
msgid "Advanced iframe default settings"
|
27 |
msgstr ""
|
28 |
|
29 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:69
|
30 |
msgid "This plugin will include any content an advanced iframe. Please enter the url and the size you want to include your page. You have a couple of additional default options which help to integrate your site better into your template. You can overwrite all of these settings by specifying the parameter in the shortcode. Please read the documentation after each field about the parameter you have to use."
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:72
|
34 |
msgid "Please use the following shortcode to include a page to your page: "
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:76
|
38 |
msgid "Security key"
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:76
|
42 |
msgid "This is the security key which has to be used in the shorttag. This is mandatory because otherwise anyone who can create an article can insert a gallery as well. The default security key was randomly generated during installation. Please change the key if you like. You should use this in combination with e.g. Page security to make sure that only the users you define can modify pages."
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:77
|
46 |
msgid "Allow shortcode attributes"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:77
|
50 |
msgid "Allow to set attributes in the shortcode. All of the attributes can be overwritten in the shortcode if you set 'Yes'. Otherwise the settings you specify here are used."
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:78
|
54 |
msgid "Url"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:78
|
58 |
msgid "Enter the full URL to your page. e.g. http://www.tinywebgallery.com. Shortcode attribute: src=\"\""
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:79
|
62 |
msgid "Width"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:79
|
66 |
msgid "The width of the iframe. You can specify the value in px or in %. If you don't specify anything px is assumed. Shortcode attribute: width=\"\""
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:80
|
70 |
msgid "Height"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:80
|
74 |
+
msgid "The height of the iframe. You can specify the value in px or in %. If you don't specify anything px is assumed. Please note that % does most of the time does NOT give the expected result (e.g. 100% is only 150px) because the % are not from the iframe page but from the parent element. If you like something like that the iframe is resized to the content please read the '<a href=\"#onload\">Javascript iframe onload options</a>' section below! Shortcode attribute: height=\"\""
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:81
|
78 |
msgid "Scrolling"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:81
|
82 |
msgid "Defines if scrollbars are shown if the page is too big for your iframe. Please note: If you select 'Yes' IE does always show scrollbars on many pages! So only use this if needed. Shortcode attribute: scrolling=\"auto\" or scrolling=\"no\""
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:82
|
86 |
msgid "Margin width"
|
87 |
msgstr ""
|
88 |
|
89 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:82
|
90 |
msgid "The margin width of the iframe. You can specify the value in px. If you don't specify anything px is assumed. Shortcode attribute: marginwidth=\"\""
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:83
|
94 |
msgid "Margin height"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:83
|
98 |
msgid "The margin height of the iframe. You can specify the value in px. If you don't specify anything px is assumed. Shortcode attribute: marginheight=\"\""
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:84
|
102 |
msgid "Frame border"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:84
|
106 |
msgid "The frame border of the iframe. You can specify the value in px. If you don't specify anything px is assumed. Shortcode attribute: frameborder=\"\""
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:85
|
110 |
msgid "Transparency"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:85
|
114 |
msgid "If you like that the iframe is transparent and your background is shown you should set this to 'Yes'. If this value is not set then the iframe is transparent in IE but transparent in e.g. Firefox. So by default you should leave this to 'Yes'. Shortcode attribute: transparency=\"true\" or transparency=\"false\" "
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:86
|
118 |
msgid "Class"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:86
|
122 |
msgid "You can define a class for the iframe if you like. Shortcode attribute: class=\"\""
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:87
|
126 |
msgid "URL forward parameters"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:87
|
130 |
msgid "Define the parameters that should be passed from the browser url to the iframe url. Please separate the parameters by ','. In e.g. TinyWebGallery this enables you to jump directly to an album or image although TinyWebGallery is included in an iframe. Shortcode attribute: url_forward_parameter=\"\""
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:89
|
134 |
+
msgid "Id"
|
|
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:89
|
138 |
+
msgid "Enter the 'id' attribute of the iframe. Shortcode attribute: id=\"\""
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:90
|
142 |
+
msgid "Name"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:90
|
146 |
+
msgid "Enter the 'name' attribute of the iframe. Shortcode attribute: name=\"\""
|
147 |
msgstr ""
|
148 |
|
149 |
#: advanced-iframe/advanced-iframe-admin-page.php:94
|
150 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:117
|
151 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:152
|
152 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:198
|
153 |
+
msgid "Update Settings"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:96
|
157 |
+
msgid "Advanced options"
|
158 |
msgstr ""
|
159 |
|
160 |
#: advanced-iframe/advanced-iframe-admin-page.php:98
|
161 |
+
msgid "With the following 3 options you can modify your template on the fly to give the iframe more space! At most templates you would have to create a page template with a special css and this is quite complicated. By using the options below your template is modified on the fly by jQuery. Please look at the screenshots to make these options more clear. The options are very useful for templates that have a top navigation because otherwise your menu is gone! If you still want to do this you should add a back link to the page. The examples below are for Twenty Ten, iNove and the default Wordpress theme."
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:102
|
165 |
+
msgid "Hide elements"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:102
|
169 |
+
msgid "This setting allows to hide elements when the iframe is shown. This can be used to hide the sidebar or the heading. Usage: If you want to hide a div you have to enter a hash (#) followed by the id e.g. #sidebar. If you want to hide a heading which is a <h2> you have to enter h2. You can define several elements separated by , e.g. #sidebar,h2. This gives you a lot more space to show the content of the iframe. To get the id of the sidebar go to Appearance -> Editor -> Click on 'Sidebar' on the right side. Then look for the first 'div' you find. The id of this div is the one you need. For some common templates the id is e.g. #menu, #sidebar, or #primary. For Twenty Ten and iNove you can remove the sidebar directly: Page attributes -> Template -> no sidebar. Wordpress default: '#sidebar'. I recommend to use firebug (see below) to find the elements and ids. You can use any valid jQuery selector pattern here! Shortcode attribute: hide_elements=\"\""
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:105
|
173 |
+
msgid "With the following 2 options you can modify the css of your parent page. The first option defines the id/class/element you want to modify and at the 2nd option you define the styles you want to change."
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:108
|
177 |
msgid "Content id"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:108
|
181 |
+
msgid "Some templates do not use the full width for their content and even most 'One column, no sidebar Page Template' templates only remove the sidebar but do not change the content width. Set the e.g. id of the div starting with a hash (#) that defines the content. You can use any valid jQuery selector pattern here! In the field below you then define the style you want to overwrite. For Twenty Ten and WordPress Default the id is #content, for iNove it is #main. You can also define more than one element. Please separate them by | and provide the styles below. Please read the note below how to find this id for other templates. #content|h2 means that you want to set a new style for the div content and the heading h2 below. Shortcode attribute: content_styles=\"\""
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:109
|
185 |
msgid "Content styles"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:109
|
189 |
+
msgid "Define the styles that have to be overwritten to enable the full width. Most of the time have to modify some of the following attributes: width, margin-left, margin-right, padding-left. Please use ; as separator between styles. If you have defined more than one element above (Content id) please separate the different style sets with |. The default values are: Wordpress default: 'width:450px;padding-left:45px;'. Twenty Ten: 'margin-left:20px;margin-right:240px'. iNove: 'width:605px'. Read the note below how to find these styles for other templates. If you have defined #content|h2 at the Content id you can e.g. set 'width:650px;padding-left:25px;|padding-left:15px;'. Shortcode attribute: content_styles=\"\""
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:114
|
193 |
+
msgid "<strong>How to find the id and the attributes:</strong><ol><li>Manually: Go to Appearance -> Editor and select the page template. The you have to look with div elements are defined. e.g. container, content, main. Also classes can be defined here. Then you have to select the style sheet below and search for this ids and classes and look which one does define the width of you content.</li><li>Firebug: For Firefox you can use the plugin firebug to select the content element directly in the page. On the right side the styles are always shown. Look for the styles that set the width or any bigger margins. These are the values you can then overwrite by the settings above.</li><li><strong>Small jquery help</strong><br>Above you have to use the jQuery syntax:<p><ul><li>- tags - if you want to hide/modify a tag directly (e.g. h1, h2) simply use it directly e.g. h1,h2</li><li>- id - if you want to hide/modify an element where you have the id use #id</li><li>- class - if you want to hide/modify an element where you have the class use .class</li></ul></p>For more complex selectors please read the jQuery documentation.</li></ol>"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:119
|
197 |
+
msgid "Javascript iframe onload options"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:126
|
201 |
+
msgid "Onload"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:126
|
205 |
+
msgid "Enter the 'onload' script of the iframe you want to execute. You can enter Javascript that is executed when the iframe is loaded. Please check the next 2 settings first! There you find a solution for iframe resize and one for scrolling the parent to the top. Please note that the output is escaped for security reasons with the Wordpress function esc_js. So please define your Javascript functions in your parent page, read all needed parameters inside the functions and call this function here. I recommend only to use the following characters: a-zA-Z_0-9();. Also note that the 2 settings below also use the onload event. So if you set them to true the code is appended to your onload function. If you like a different order of the predefined functions (aiShowElementOnly(id,element); aiResizeIframe(this); and aiScrollToTop();) please set the settings below to 'No' and enter them here directly. Shortcode attribute: onload=\"\""
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:127
|
209 |
+
msgid "Show only one element"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:127
|
213 |
+
msgid "You can define which part of the page should be shown in the iframe. You can define the id (e.g. #id) or the class (.class) which should be shown. Be aware that all other elements below the body are removed! So if your css relies on a certain structure you have to add additional css by \"Content id in iframe\" below. Very often also a background is defined for the header which you should remove below. e.g. by setting background-image: none; in the body. This can be done at \"Content id in iframe\" and \"Content styles in iframe\" below. Shortcode attribute: onload_show_element_only=\"\""
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:129
|
217 |
+
msgid "Resize iframe to content height"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:129
|
221 |
+
#, php-format
|
222 |
+
msgid "If you like that the iframe is resized to the height of the content you should set this to 'Yes'. Please note that this is done by Javascript! So if a user has Javascript deactivated or a not supported browser the iframe does not get resized. Please set the height of the iframe to the minimum pixels the iframe should have! Some web pages use 100% of the height. Specifying a too big value as height does not gives you the expected result. This setting generates the code onload=\"aiResizeIframe(this);\" to the iframe. Shortcode attribute: onload_resize=\"true\" or onload_resize=\"false\" "
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:130
|
226 |
+
msgid "Store height in cookie"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:130
|
230 |
+
msgid "If you enable the dynamic resize the value is calculated each time when the page is loaded. So each time it took a little time until the resize of the iframe is done. And this is visible sometimes if the content page loads very slow or is on a different domain or depends on the browser. By enabling this option the last calculated height is stored in a cookie and available right away. The iframe is then first resized to this height and later on when the new height comes it is updated. By default this is disabled because when you have dynamic content in the iframe it is possible that the iframe does not shrink. So please try this setting with your destination page. If you use several iframes please specify a different id for each iframe because the name of the cookie is ai-last-height-<id>. Shortcode attribute: store_height_in_cookie=\"true\" or store_height_in_cookie=\"false\" "
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:131
|
234 |
+
msgid "Additional height"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:131
|
238 |
+
msgid "If you like that the iframe is higher than the calculated value you can add some extra height here. This number is then added to the calculated one. This is e.g. needed if one of your tested browsers displays a scrollbar because of 1 or 2 pixel. Or you have an invisible area that is shown by the click on a button that can increases the size of the page. This option is NOT possible when \"Store height in cookie\" is enabled because this would cause that the height will increase at each reload of the parent page. Shortcode attribute: additional_height=\"\""
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:133
|
242 |
+
msgid "Scrolls the parent window to the top"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:133
|
246 |
+
msgid "If you like that if you click on a link in the iframe and the parent page should scroll to the top you should set this to 'Yes'. Please note that this is done by Javascript! So if a user has Javascript deactivated no scrolling is done. This setting generates the code onload=\"aiScrollToTop();\" to the iframe. If you select the resize iframe as well then onload=\"aiResizeIframe(this);aiScrollToTop();\" is generated. If you like a different order please enter the javascript functions directly in the onload parameter in the order you like. Shortcode attribute: onload_scroll_top=\"true\" or onload_scroll_top=\"false\" "
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:137
|
250 |
+
msgid "With the following 3 options you can modify the content of the iframe. <strong>IMPORTANT</strong>: This is only possible if the iframe comes from the <strong>same domain</strong> because of the <a href=\"http://en.wikipedia.org/wiki/Same_origin_policy\" target=\"_blank\">same origin policy</a> of Javascript. Please read the section \"<a href=\"#howtoid\">How to find the id and the attributes</a>\" above how to find the right styles. If the content comes from a different domain you have to modify the iframe page by e.g. adding a Javascript function that is then called by the onload function you can set above."
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:141
|
254 |
+
msgid "Hide elements in iframe"
|
255 |
+
msgstr ""
|
256 |
+
|
257 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:141
|
258 |
+
msgid "This setting allows to hide elements inside the iframe. This can be used to hide a border or a heading. Usage: If you want to hide a div you have to enter a hash (#) followed by the id e.g. #header. If you want to hide a heading which is a <h2> you have to enter h2. You can define several elements separated by , e.g. #header,h2. I recommend to use firebug to find the elements and ids. You can use any valid jQuery selector pattern here! Shortcode attribute: iframe_hide_elements=\"\""
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:144
|
262 |
+
msgid "With the following 2 options you can modify the css of your iframe if <strong>it is on the same domain</strong>. The first option defines the id/class/element you want to modify and at the 2nd option you define the styles you want to change."
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:147
|
266 |
+
msgid "Content id in iframe"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:147
|
270 |
+
msgid "Set the id of the element starting with a hash (#) that defines element you want to modify the css. You can use any valid jQuery selector pattern here! In the field below you then define the style you want to overwrite. You can also define more than one element. Please separate them by | and provide the styles below. Please read the note below how to find this id for other templates. #content|h2 means that you want to set a new style for the div content and the heading h2 below. Shortcode attribute: iframe_content_styles=\"\""
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:148
|
274 |
+
msgid "Content styles in iframe"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:148
|
278 |
+
msgid "Define the styles that have to be overwritten to enable the full width. Most of the time have to modify some of the following attributes: width, margin-left, margin-right, padding-left. Please use ; as separator between styles. If you have defined more than one element above (Content id in iframe) please separate the different style sets with |. The default values are: Wordpress default: 'width:450px;padding-left:45px;'. Twenty Ten: 'margin-left:20px;margin-right:240px'. iNove: 'width:605px'. Please read the note below how to find these styles for other templates. If you have defined #content|h2 at the Content id you can e.g. set 'width:650px;padding-left:25px;|padding-left:15px;'. Shortcode attribute: iframe_content_styles=\"\""
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:155
|
282 |
+
msgid "Enabling cross-site scripting XSS via an iframe"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:187
|
286 |
+
msgid "Additional files"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:189
|
290 |
+
msgid "For some features in iframes additional css or js files are needed in the parent page. E.g. for the newest version of lytebox this is needed. Each of the files do get a version number which is randomly changed each time you save the settings. So if you cange the ccs or the js file you should save the settings once to make sure your users to get the new version right away and not a chached one."
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:193
|
294 |
+
msgid "Additional css"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:193
|
298 |
+
msgid "If you want to include an additional css into the parent page please specify the path to this file here. The css file will be added into the header of the page. You can specify a full or relative url. If you specify a relative one /style.css means that the style.css is located in the main directory of Wordpress. Start relative urls with /. Shortcode attribute: additional_css=\"\""
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:194
|
302 |
+
msgid "Additional js"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:194
|
306 |
+
msgid "If you want to include an additional Javascript into the parent page please specify the path to this file here. The Javascript will be added after the iframe or if you use Wordpress >= 3.3 in the footer section. You can specify a full or relative url. If you specify a relative one /javascript.js means that the javascript.js is located in the main directory of Wordpress. Start relative urls with /. Shortcode attribute: additional_js=\"\""
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:204
|
310 |
msgid "Wordpress Flash Uploader, TinyWebGallery, Joomla Flash Uploader"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:206
|
314 |
+
msgid "This plugin is the extract for the iframe wrapper which was written for the TinyWebGallery. I needed an iframe wrapper that could do more than simply include a page. It needed to pass parameters to the iframe and modify the template on the fly to get more space for TWG. If you want to integrate TWG please use the \"TinyWebGallery wrapper\". It offers specific features only needed for the gallery. I hope this standalone wrapper is useful for other Wordpress users as well."
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:209
|
318 |
msgid "Please take a look at my other projects: Wordpress Flash Uploader, TinyWebGallery, Joomla Flash Uploader or TWG Flash Uploader. If you like TWG or one of my other projects like JFU, WFU or TFU you should consider to register because you can use all products with one single license and get all features of the gallery and a complete upload solution as well."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:212
|
322 |
msgid "Please go <a href=\"http://www.tinywebgallery.com\" target=\"_blank\">www.tinywebgallery.com</a> for details."
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:238
|
326 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:257
|
327 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:300
|
328 |
msgid "Yes"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:242
|
332 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:261
|
333 |
+
#: advanced-iframe/advanced-iframe-admin-page.php:304
|
334 |
msgid "No"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: advanced-iframe/advanced-iframe.php:206
|
338 |
+
msgid "An invalid security key was specified. Please use at least the following shortcode:<br>[advanced_iframe securitykey=\"<your security key - see settings>\"]. Please also check in the html mode that your shortcode does only contain notmal spaces and not a &nbsp; instead."
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: advanced-iframe/advanced-iframe.php:241
|
342 |
msgid "Configuration error: The attributes content_id and content_styles have to have the amount of value sets separated by |."
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: advanced-iframe/advanced-iframe.php:280
|
346 |
+
msgid "Configuration error: The attributes iframe_content_id and iframe_content_styles have to have the amount of value sets separated by |."
|
347 |
+
msgstr ""
|
348 |
+
|
readme.txt
CHANGED
@@ -3,17 +3,17 @@ Contributors: mdempfle, Michael Dempfle
|
|
3 |
Donate link: http://www.tinywebgallery.com
|
4 |
Tags: iframe, advanced, shortcode, widget
|
5 |
Requires at least: 2.8.6
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 1
|
8 |
|
9 |
-
This plugin includes any webpage as shortcode in an advanced iframe.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
-
This plugin includes any webpage as shortcode in an advanced iframe.
|
14 |
|
15 |
= Shortcode for advanced iframe =
|
16 |
-
By entering the shortcode '[advanced_iframe
|
17 |
The following differences to a normal iframe are implemented:
|
18 |
|
19 |
- Security code: You can only insert the shortcode with a valid security code from the administration.
|
@@ -21,10 +21,21 @@ The following differences to a normal iframe are implemented:
|
|
21 |
- Hide areas of the layout to give the iframe more space (see screenshot)
|
22 |
- Modify css styles to e.g. change the width of the content area (see screenshot)
|
23 |
- Forward parameters to the iframe
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
The following shortcode attributes can be used. Please go to the administration for details:
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
= Aministration =
|
30 |
* See Settings -> Advanced iframe
|
@@ -38,28 +49,69 @@ There are 2 ways to install the advanced iframe
|
|
38 |
1. Click Plugins, Add New
|
39 |
1. Search for advanced iframe
|
40 |
1. Install and Activate it
|
41 |
-
1. Place '[advanced_iframe
|
42 |
|
43 |
*Using FTP*
|
44 |
|
45 |
1. Upload 'advanced-iframe' to the '/wp-content/plugins/' directory
|
46 |
1. Activate the plugin through the 'Plugins' menu in WordPress
|
47 |
-
1. Place '[advanced_iframe
|
48 |
|
49 |
== Screenshots ==
|
50 |
1. Comparison between normal iframe and advanced iframe wrapper. The red areas are modified by the advanced iframe to display the content better.
|
51 |
2. This image shows the difference with an url forward parameter. In the advanced iframe a sub album is shown while the normal iframe still shows the entry screen.
|
52 |
3. The basic admin screen to enable standard settings
|
53 |
4. The advanced admin screen to enable advanced settings like html and css changes
|
|
|
54 |
|
55 |
== Frequently Asked Questions ==
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
== Upgrade Notice ==
|
59 |
= 1.0 =
|
60 |
First version.
|
61 |
|
62 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
= 1.3 =
|
64 |
Fix: content_id,content_styles,hide_elements was always used from the config even when a shortcode was given. Now the shortcode is used as well.
|
65 |
|
3 |
Donate link: http://www.tinywebgallery.com
|
4 |
Tags: iframe, advanced, shortcode, widget
|
5 |
Requires at least: 2.8.6
|
6 |
+
Tested up to: 3.5.1
|
7 |
+
Stable tag: 2.1
|
8 |
|
9 |
+
This plugin includes any webpage as shortcode in an advanced iframe that can hide and modify elements and foreward parameters to the iframe.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
+
This plugin includes any webpage as shortcode in an advanced iframe that can hide and modify elements and foreward parameters to the iframe.
|
14 |
|
15 |
= Shortcode for advanced iframe =
|
16 |
+
By entering the shortcode '[advanced_iframe securitykey=""]' you can include any webpage to any page or article.
|
17 |
The following differences to a normal iframe are implemented:
|
18 |
|
19 |
- Security code: You can only insert the shortcode with a valid security code from the administration.
|
21 |
- Hide areas of the layout to give the iframe more space (see screenshot)
|
22 |
- Modify css styles to e.g. change the width of the content area (see screenshot)
|
23 |
- Forward parameters to the iframe
|
24 |
+
- Resize the iframe to the content height (new 2.0)
|
25 |
+
- Scroll the parent to the top when the iframe is loaded (new 2.0)
|
26 |
+
- Hide areas inside iframe if the pages are on the same domain (new 2.0)
|
27 |
+
- Modify css styles inside iframe if the pages are on the same domain to e.g. change the width of the content area (new 2.0)
|
28 |
+
- Add a css and js file to the parent page (new 2.0)
|
29 |
+
- Show only a specifiy part of the page in the iframe if the pages are on the same domain (new 2.1)
|
30 |
|
31 |
The following shortcode attributes can be used. Please go to the administration for details:
|
32 |
+
|
33 |
+
[advanced_iframe securitykey="" src="" width="" height="" scrolling="" marginwidth=""
|
34 |
+
marginheight="" id="" name="" frameborder="" content_id="" content_styles="" hide_elements=""
|
35 |
+
class="" url_forward_parameter="" onload="" onload_resize="" onload_scroll_top=""
|
36 |
+
additional_js="" additional_css="" store_height_in_cookie="" additional_height=""
|
37 |
+
iframe_content_id="", iframe_content_styles="", iframe_hide_elements="",
|
38 |
+
onload_show_element_only=""]
|
39 |
|
40 |
= Aministration =
|
41 |
* See Settings -> Advanced iframe
|
49 |
1. Click Plugins, Add New
|
50 |
1. Search for advanced iframe
|
51 |
1. Install and Activate it
|
52 |
+
1. Place '[advanced_iframe securitykey=""]' in your pages or posts. the security key can be found at Settings -> Advanced iframe
|
53 |
|
54 |
*Using FTP*
|
55 |
|
56 |
1. Upload 'advanced-iframe' to the '/wp-content/plugins/' directory
|
57 |
1. Activate the plugin through the 'Plugins' menu in WordPress
|
58 |
+
1. Place '[advanced_iframe securitykey=""]' in your pages or posts. the security key can be found at Settings -> Advanced iframe
|
59 |
|
60 |
== Screenshots ==
|
61 |
1. Comparison between normal iframe and advanced iframe wrapper. The red areas are modified by the advanced iframe to display the content better.
|
62 |
2. This image shows the difference with an url forward parameter. In the advanced iframe a sub album is shown while the normal iframe still shows the entry screen.
|
63 |
3. The basic admin screen to enable standard settings
|
64 |
4. The advanced admin screen to enable advanced settings like html and css changes
|
65 |
+
5. The advanced admin screen to enable Javascript scroll to top and autoresize resize
|
66 |
|
67 |
== Frequently Asked Questions ==
|
68 |
+
= Shortcodes =
|
69 |
+
Please read the instructions in the administration careful. The documentation there should explain all of your questions!
|
70 |
+
|
71 |
+
= Demo =
|
72 |
+
See the demo here:
|
73 |
+
http://www.tinywebgallery.com/blog/advanced-iframe/demo-advanced-iframe-2-0/
|
74 |
|
75 |
== Upgrade Notice ==
|
76 |
= 1.0 =
|
77 |
First version.
|
78 |
|
79 |
== Changelog ==
|
80 |
+
= 2.1 =
|
81 |
+
Show only a specifiy part of the page in the iframe if the pages are on the same domain.
|
82 |
+
|
83 |
+
= 2.0.2 =
|
84 |
+
Tested with Wordpress 3.5
|
85 |
+
|
86 |
+
= 2.0.1 =
|
87 |
+
Fix: The included footer was causing an Javascript error on non advanced iframe pages. Now I check if the function does exist.
|
88 |
+
|
89 |
+
= 2.0 =
|
90 |
+
New: onload attribute added
|
91 |
+
New: Javascript onload solution for scolling the parent page to the top.
|
92 |
+
New: Javascript onload solution for resizing the iframe dynamically to the height of the content.
|
93 |
+
New: Javascript solution for the scrolling and resizing that works cross domain as well.
|
94 |
+
New: Hide elements/modify css modify speed was dramatically improved. The function is now not called only in the ready event of JQuery but also directly before the footer. This causes that you don't see the changes most of the time anymore!
|
95 |
+
New: An additional css file can be added to the parent page.
|
96 |
+
New: An additional Javascript file can be added to the parent page.
|
97 |
+
New: Hide areas inside iframe if the pages are on the same domain.
|
98 |
+
New: Modify css styles inside iframe if the pages are on the same domain to e.g. change the width of the content area.
|
99 |
+
|
100 |
+
= 1.5 =
|
101 |
+
Support for src values that are hotlinked by the editor.
|
102 |
+
Fixed the typo in the doumentation. in securitykey sometimes the r was missing
|
103 |
+
|
104 |
+
= 1.4 =
|
105 |
+
Documentation updated
|
106 |
+
New: id and name attribute added
|
107 |
+
|
108 |
+
= 1.3.2 =
|
109 |
+
Improved the help
|
110 |
+
Fix: css was not loaded because old css name was used
|
111 |
+
|
112 |
+
= 1.3.1 =
|
113 |
+
Fix: Improved error message if a is in the shortcode instead of a normal space.
|
114 |
+
|
115 |
= 1.3 =
|
116 |
Fix: content_id,content_styles,hide_elements was always used from the config even when a shortcode was given. Now the shortcode is used as well.
|
117 |
|
screenshot-5.png
ADDED
Binary file
|