ITRO Popup Plugin - Version 4.9.1

Version Description

ADDED: customizable text for the countdown FIXED: overlayng behaviour with iframes in the popup content FIXED: undefined variable error

Download this release

Release Info

Developer ITRO
Plugin Icon 128x128 ITRO Popup Plugin
Version 4.9.1
Comparing to
See all releases

Code changes from version 4.7.1 to 4.9.1

admin/popup-admin.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
  /*
3
- Copyright 2013 I.T.RO.® (email : support.itro@live.com)
4
- This file is part of ITRO Popup Plugin.
5
  */
 
6
  global $ITRO_VER;
7
 
8
  if ( !current_user_can( 'manage_options' ) ) {
@@ -47,6 +47,8 @@ if( !isset($submitted_form ))
47
  /*opt 32*/'disable_mobile',
48
  /*opt 33*/'cross_selected',
49
  /*opt 34*/'enter_button_url',
 
 
50
  );
51
  $field_name=array(
52
  /*fld 0*/'custom_html',
@@ -190,16 +192,12 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
190
  </div>
191
  </p>
192
 
193
- <!-- disable esc key and mobile !-->
194
  <h3><?php _e("GENERAL SETTINGS","itro-plugin")?></h3>
195
  <p id="<?php echo $opt_name[24]; ?>_div">
196
- <input type="checkbox" id="<?php echo $opt_name[32]; ?>" name="<?php echo $opt_name[32]; ?>" value="yes" <?php if($opt_val[32] == 'yes' ){echo 'checked="checked"';} ?> />
197
- <span onclick="itro_mutual_check('<?php echo $opt_name[32]; ?>','','')"><?php _e("Disable on mobile device", 'itro-plugin' ); ?></span>
198
- <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>"title="<?php _e('Check this to disable popup on mobile devices','itro-plugin');?>" >
199
- &nbsp;&nbsp;&nbsp;
200
  <input type="checkbox" id="<?php echo $opt_name[24]; ?>" name="<?php echo $opt_name[24]; ?>" value="yes" <?php if($opt_val[24] == 'yes' ){echo 'checked="checked"';} ?> />
201
- <span onclick="itro_mutual_check('<?php echo $opt_name[24]; ?>','','')"><?php _e("Disable ESC key", 'itro-plugin' ); ?></span>
202
- <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>"title="<?php _e('If you set this option, popup can not be closed with ESC button of keyboard.','itro-plugin');?>" >
203
  </p>
204
 
205
  <!-- popup seconds!-->
@@ -234,13 +232,17 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
234
  <input type="checkbox" name="<?php echo $opt_name[29]; ?>" id="<?php echo $opt_name[29]; ?>" value="yes" <?php if(itro_get_option($opt_name[29])=='yes' ){echo 'checked="checked"';} ?> />&nbsp;&nbsp;
235
  <span onclick="itro_mutual_check('<?php echo $opt_name[29]; ?>','','')"><?php _e("Show countdown", 'itro-plugin' ); ?></span>
236
  <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>" title="<?php _e('Show the countdown at the bottom of the popup which dispay the time before popup will close. If is hidden, it run anyway.','itro-plugin');?>" >
237
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
 
 
 
238
  <?php _e("Countdown font color:", 'itro-plugin' ); ?>
239
  <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>" title="<?php _e('Select the countdown font color.','itro-plugin');?>" >
240
  <input type="text" class="color" name="<?php echo $opt_name[21]; ?>" value="<?php echo $opt_val[21]; ?>" size="10">
241
  </p>
242
 
243
- <h3><?php _e("POPUP ASPECT","itro-plugin")?></h3>
244
 
245
  <!-- popup width !-->
246
  <div style="display:table; height:10px; padding-bottom:5px;">
@@ -373,6 +375,21 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
373
  <option value="white_border" <?php if(itro_get_option($opt_name[33])=='white_border') {echo 'selected="select"';} ?> ><?php _e("White with border", 'itro-plugin' ); ?></option>
374
  </select>
375
  </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  </div>
377
 
378
  </div>
@@ -414,7 +431,7 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
414
 
415
  <div id="<?php echo $opt_name[6] . '_advanced_2'; ?>">
416
  <p><?php _e("Leave button background color:", 'itro-plugin' ); ?>
417
- <input type="text" name="<?php echo $opt_name[12]; ?>" value="<?php echo $opt_val[12]; ?>" size="10">
418
  </p>
419
  <p><?php _e("Leave button border color:", 'itro-plugin' ); ?>
420
  <input type="text" class="color" name="<?php echo $opt_name[13]; ?>" value="<?php echo $opt_val[13]; ?>" size="10">
@@ -431,7 +448,7 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
431
  <hr>
432
  <p class="submit">
433
  <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Save Changes') ?>" />&nbsp;&nbsp;&nbsp;&nbsp;
434
- <input type="button" target="_blank" class="button" onClick="window.open('<?php echo get_site_url() . '/?page_id=' . itro_get_option('preview_id'); ?>')" value="<?php echo _e('Preview page','itro-plugin' )?>">
435
  </p>
436
  </div>
437
 
@@ -439,7 +456,7 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
439
  <!-- A simple not annoying banner, please do not remove, we use it to quickly comunicate with you about premium and free! !-->
440
  <p class="wpstyle" onClick="jQuery('#premium_ads').toggle('blind');"><?php _e('ITRO Popup messages', 'itro-plugin'); ?> </p>
441
  <div id="premium_ads" style="text-align: center;">
442
- <a target="_blank" href="http://www.itro.eu"><img title="TRY IT FOR FREE!!!" src="http://www.itroteam.com/plugins/premium_banner.png"></a>
443
  </div>
444
 
445
  <input type="hidden" name="<?php echo $submitted_form; ?>" value="Y">
@@ -453,7 +470,7 @@ if( isset($_POST[ $submitted_form ]) && $_POST[ $submitted_form ] == 'Y' || isse
453
  <hr>
454
  <p class="submit">
455
  <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Save Changes') ?>" />&nbsp;&nbsp;&nbsp;&nbsp;
456
- <input type="button" target="_blank" class="button" onClick="window.open('<?php echo get_site_url() . '/?page_id=' . itro_get_option('preview_id'); ?>')" value="<?php echo _e('Preview page','itro-plugin' )?>">
457
  </p>
458
  </div>
459
  </div>
1
  <?php
2
  /*
3
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
 
4
  */
5
+
6
  global $ITRO_VER;
7
 
8
  if ( !current_user_can( 'manage_options' ) ) {
47
  /*opt 32*/'disable_mobile',
48
  /*opt 33*/'cross_selected',
49
  /*opt 34*/'enter_button_url',
50
+ /*opt 35*/'absolute_mobile_pos',
51
+ /*opt 36*/'countdown_text'
52
  );
53
  $field_name=array(
54
  /*fld 0*/'custom_html',
192
  </div>
193
  </p>
194
 
195
+ <!-- disable esc key !-->
196
  <h3><?php _e("GENERAL SETTINGS","itro-plugin")?></h3>
197
  <p id="<?php echo $opt_name[24]; ?>_div">
 
 
 
 
198
  <input type="checkbox" id="<?php echo $opt_name[24]; ?>" name="<?php echo $opt_name[24]; ?>" value="yes" <?php if($opt_val[24] == 'yes' ){echo 'checked="checked"';} ?> />
199
+ <span onclick="itro_mutual_check('<?php echo $opt_name[24]; ?>','','')"><?php _e("Disable easy closing", 'itro-plugin' ); ?></span>
200
+ <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>"title="<?php _e('If you set this option, popup can not be closed with ESC button of keyboard or clicking outside the popup.','itro-plugin');?>" >
201
  </p>
202
 
203
  <!-- popup seconds!-->
232
  <input type="checkbox" name="<?php echo $opt_name[29]; ?>" id="<?php echo $opt_name[29]; ?>" value="yes" <?php if(itro_get_option($opt_name[29])=='yes' ){echo 'checked="checked"';} ?> />&nbsp;&nbsp;
233
  <span onclick="itro_mutual_check('<?php echo $opt_name[29]; ?>','','')"><?php _e("Show countdown", 'itro-plugin' ); ?></span>
234
  <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>" title="<?php _e('Show the countdown at the bottom of the popup which dispay the time before popup will close. If is hidden, it run anyway.','itro-plugin');?>" >
235
+ <br>
236
+ <?php _e("Countdown text:", 'itro-plugin' ); ?>
237
+ <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>" title="<?php _e('Countdown text at the bottom border of the popup','itro-plugin');?>" >
238
+ <input type="text" placeholder="This popup will close in:" name="<?php echo $opt_name[36]; ?>" value="<?php echo $opt_val[36]; ?>" size="40">
239
+ <br>
240
  <?php _e("Countdown font color:", 'itro-plugin' ); ?>
241
  <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>" title="<?php _e('Select the countdown font color.','itro-plugin');?>" >
242
  <input type="text" class="color" name="<?php echo $opt_name[21]; ?>" value="<?php echo $opt_val[21]; ?>" size="10">
243
  </p>
244
 
245
+ <h3><?php _e("POPUP ASPECT","itro-plugin")?></h3>
246
 
247
  <!-- popup width !-->
248
  <div style="display:table; height:10px; padding-bottom:5px;">
375
  <option value="white_border" <?php if(itro_get_option($opt_name[33])=='white_border') {echo 'selected="select"';} ?> ><?php _e("White with border", 'itro-plugin' ); ?></option>
376
  </select>
377
  </p>
378
+
379
+ <!-- RESPONSIVE SETTINGS -->
380
+ <h3><?php _e("RESPONSIVE SETTINGS","itro-plugin")?></h3>
381
+ <p>
382
+ <!-- disable on mobile -->
383
+ <input type="checkbox" id="<?php echo $opt_name[32]; ?>" name="<?php echo $opt_name[32]; ?>" value="yes" <?php if($opt_val[32] == 'yes' ){echo 'checked="checked"';} ?> />
384
+ <span onclick="itro_mutual_check('<?php echo $opt_name[32]; ?>','','')"><?php _e("Disable on mobile device", 'itro-plugin' ); ?></span>
385
+ <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>"title="<?php _e('Check this to disable popup on mobile devices','itro-plugin');?>" >
386
+ &nbsp;&nbsp;&nbsp;&nbsp;
387
+ <!-- absolute position for mobile -->
388
+ <input type="checkbox" id="<?php echo $opt_name[35]; ?>" name="<?php echo $opt_name[35]; ?>" value="yes" <?php if($opt_val[35] == 'yes' ){echo 'checked="checked"';} ?> />
389
+ <span onclick="itro_mutual_check('<?php echo $opt_name[35]; ?>','','')"><?php _e("Absolute position for mobile", 'itro-plugin' ); ?></span>
390
+ <img style="vertical-align:super; cursor:help" src="<?php echo itroImages . 'question_mark.png' ; ?>"title="<?php _e('Set an absolute position for the pop-up. It is useful for mobile devices if your popup is too high','itro-plugin');?>" >
391
+
392
+ </p>
393
  </div>
394
 
395
  </div>
431
 
432
  <div id="<?php echo $opt_name[6] . '_advanced_2'; ?>">
433
  <p><?php _e("Leave button background color:", 'itro-plugin' ); ?>
434
+ <input type="text" class="color" name="<?php echo $opt_name[12]; ?>" value="<?php echo $opt_val[12]; ?>" size="10">
435
  </p>
436
  <p><?php _e("Leave button border color:", 'itro-plugin' ); ?>
437
  <input type="text" class="color" name="<?php echo $opt_name[13]; ?>" value="<?php echo $opt_val[13]; ?>" size="10">
448
  <hr>
449
  <p class="submit">
450
  <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Save Changes') ?>" />&nbsp;&nbsp;&nbsp;&nbsp;
451
+ <input type="button" target="_blank" class="button" onClick="window.open('<?php echo get_site_url() . '/?itro_preview=yes'?>')" value="<?php echo _e('Preview page','itro-plugin' )?>">
452
  </p>
453
  </div>
454
 
456
  <!-- A simple not annoying banner, please do not remove, we use it to quickly comunicate with you about premium and free! !-->
457
  <p class="wpstyle" onClick="jQuery('#premium_ads').toggle('blind');"><?php _e('ITRO Popup messages', 'itro-plugin'); ?> </p>
458
  <div id="premium_ads" style="text-align: center;">
459
+ <a target="_blank" href="http://www.itroteam.com"><img title="TRY IT FOR FREE!!!" src="http://www.itroteam.com/plugins/premium_banner.png"></a>
460
  </div>
461
 
462
  <input type="hidden" name="<?php echo $submitted_form; ?>" value="Y">
470
  <hr>
471
  <p class="submit">
472
  <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Save Changes') ?>" />&nbsp;&nbsp;&nbsp;&nbsp;
473
+ <input type="button" target="_blank" class="button" onClick="window.open('<?php echo get_site_url() . '/?itro_preview=yes'?>')" value="<?php echo _e('Preview page','itro-plugin' )?>">
474
  </p>
475
  </div>
476
  </div>
css/itro-admin-style.css CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  /* Admin pages styles */
2
  .wpstyle
3
  {
1
+ /*
2
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
3
+ */
4
+
5
  /* Admin pages styles */
6
  .wpstyle
7
  {
css/itro-style-functions.php CHANGED
@@ -1,10 +1,16 @@
1
  <?php
2
  /*
3
- Copyright 2013 I.T.RO.® (email : support.itro@live.com)
4
- This file is part of ITRO Popup Plugin.
5
  */
 
6
  function itro_style() { ?>
7
  <style>
 
 
 
 
 
 
8
  #age_button_area
9
  {
10
  padding-top:10px;
@@ -47,8 +53,8 @@ function itro_style() { ?>
47
  background-repeat: no-repeat;
48
  background-position: center center;
49
  margin: 0 auto;
50
- left:30px;
51
- right:30px;
52
  z-index: 2147483647 !important;
53
  <?php if( itro_get_option('popup_padding') != NULL ) { echo 'padding:' . itro_get_option('popup_padding') . 'px !important;'; }?>
54
  <?php
@@ -119,7 +125,52 @@ function itro_style() { ?>
119
  bottom: 0px;
120
  opacity: <?php echo itro_get_option('popup_bg_opacity'); ?> ;
121
  filter:alpha(opacity = <?php echo ( itro_get_option('popup_bg_opacity') * 100); ?>); /* For IE8 and earlier */
122
- }<?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
 
124
  if( itro_get_option('disable_mobile') == 'yes' )
125
  {
@@ -129,7 +180,9 @@ function itro_style() { ?>
129
  #itro_popup{display: none !important;}
130
  #itro_opaco{display: none !important;}
131
  }';
132
- }?>
 
 
133
  </style>
134
  <?php
135
  }
1
  <?php
2
  /*
3
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
 
4
  */
5
+
6
  function itro_style() { ?>
7
  <style>
8
+ /* General styling to prevent white spaces or unwanted visual results */
9
+ p{
10
+ margin-bottom: 0px;
11
+ }
12
+
13
+ /* POP-UP */
14
  #age_button_area
15
  {
16
  padding-top:10px;
53
  background-repeat: no-repeat;
54
  background-position: center center;
55
  margin: 0 auto;
56
+ left:1px;
57
+ right:1px;
58
  z-index: 2147483647 !important;
59
  <?php if( itro_get_option('popup_padding') != NULL ) { echo 'padding:' . itro_get_option('popup_padding') . 'px !important;'; }?>
60
  <?php
125
  bottom: 0px;
126
  opacity: <?php echo itro_get_option('popup_bg_opacity'); ?> ;
127
  filter:alpha(opacity = <?php echo ( itro_get_option('popup_bg_opacity') * 100); ?>); /* For IE8 and earlier */
128
+ }
129
+
130
+ /* label under the popup used to close it for mobile devices */
131
+ #ipp_mobile_close_tab{
132
+ display: none;
133
+ border:none;
134
+ position: absolute;
135
+ padding: 5px;
136
+ width: 80px;
137
+ text-align: center;
138
+ left: 1px;
139
+ right: 1px;
140
+ margin: auto;
141
+ background-color: <?php echo (itro_get_option('popup_border_color') != NULL ? itro_get_option('popup_border_color') : 'white' ); ?>
142
+ }
143
+ #ipp_mobile_close_txt{
144
+ font-weight: bold;
145
+ cursor: pointer;
146
+ }
147
+
148
+ /* RESPONSIVE CSS */
149
+ @media screen and (max-width: 780px)
150
+ {
151
+ #itro_popup{
152
+ max-width: 470px;
153
+ <?php
154
+
155
+ if(itro_get_option('absolute_mobile_pos') == 'yes'){
156
+ echo "position: absolute; top: 50px";
157
+ }
158
+ ?>
159
+ }
160
+ #close_cross{
161
+ display: none;
162
+ }
163
+ #ipp_mobile_close_tab{
164
+ display: block;
165
+ }
166
+ }
167
+ @media screen and (max-width: 480px){
168
+ #itro_popup{
169
+ max-width: 300px
170
+ }
171
+ }
172
+
173
+ <?php
174
 
175
  if( itro_get_option('disable_mobile') == 'yes' )
176
  {
180
  #itro_popup{display: none !important;}
181
  #itro_opaco{display: none !important;}
182
  }';
183
+ }
184
+
185
+ ?>
186
  </style>
187
  <?php
188
  }
functions/core-function.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  /*
3
- Copyright 2013 I.T.RO.® (email : support.itro@live.com)
4
- This file is part of ITRO Popup Plugin.
5
  */
6
  /* ------------------ADD MENU PAGE */
7
  function itro_plugin_menu() {
@@ -19,6 +18,7 @@ function itro_init()
19
  itro_db_init();
20
 
21
  itro_update_option('popup_time',20);
 
22
  itro_update_option('cookie_time_exp',0);
23
  itro_update_option('popup_background','#FFFFFF');
24
  itro_update_option('popup_border_color','#F7FF00');
@@ -51,34 +51,6 @@ function itro_init()
51
 
52
  itro_update_option('sample_popup','done');
53
  }
54
-
55
- /* ---------------create preview page */
56
- switch(WPLANG)
57
- {
58
- case 'en_US':
59
- $preview_text = 'ITRO - Preview page. This page is used to rightly display preview of your popup with site theme.';
60
- break;
61
- case 'it_IT':
62
- $preview_text = 'ITRO - Pagina di anteprima. Questa pagina &egrave; utilizzata per visualizzare correttamente il popup, integrato con lo stile del tema.';
63
- break;
64
- default:
65
- $preview_text = 'ITRO - Preview page. This page is used to rightly display preview of your popup with site theme.';
66
- }
67
- if ( itro_get_option('preview_id') == NULL )
68
- {
69
- /* Create post object */
70
- $preview_post = array(
71
- 'post_title' => 'ITRO - Preview',
72
- 'post_name' => 'itro-preview',
73
- 'post_content' => $preview_text,
74
- 'post_status' => 'private',
75
- 'post_author' => 1,
76
- 'post_type' => 'page',
77
- );
78
- /* Insert the post into the database */
79
- @$preview_id = wp_insert_post( $preview_post );
80
- itro_update_option('preview_id',$preview_id);
81
- }
82
  }
83
 
84
  /* --------------------------CHECK THE PLUGIN VERSION */
@@ -100,7 +72,23 @@ function itro_check_ver()
100
  /* --------------------------DISPLAY THE POPUP */
101
  function itro_display_popup()
102
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  /* woocommerce shop page identification */
 
 
104
  if( function_exists('is_shop') && function_exists('woocommerce_get_page_id') ) /* if this functions exist, woocommerce is installed! */
105
  {
106
  if ( is_shop() ) /* if the actual page is the standard woocommerce shop page */
@@ -108,20 +96,17 @@ function itro_display_popup()
108
  $woo_shop = true;
109
  $woo_shop_id = woocommerce_get_page_id( 'shop' );
110
  }
111
- }
112
- else
113
- {
114
- $woo_shop = NULL;
115
- $woo_shop_id = NULL;
116
  }
117
 
118
  /* this condition, control if the popup must or not by displayed in a specified page */
119
  $selected_page_id = json_decode(itro_get_option('selected_page_id'));
120
  $id_match = NULL;
 
121
  /* get the page id */
122
  global $wp_query;
123
  $current_page_id = $wp_query->get_queried_object_id();
124
-
 
125
  switch (itro_get_option('page_selection'))
126
  {
127
  case 'some':
@@ -139,21 +124,24 @@ function itro_display_popup()
139
  {
140
  $id_match++;
141
  }
142
- if( $id_match != NULL || itro_get_option('preview_id') == $current_page_id )
143
  {
 
144
  itro_style();
145
  itro_popup_template();
146
  itro_popup_js();
147
  }
148
  break;
149
  case 'all':
 
150
  itro_style();
151
  itro_popup_template();
152
  itro_popup_js();
153
  break;
154
  case 'none':
155
- if( itro_get_option('preview_id') == $current_page_id )
156
  {
 
157
  itro_style();
158
  itro_popup_template();
159
  itro_popup_js();
@@ -178,6 +166,7 @@ function itro_check_selected_id($id_to_check)
178
  }
179
  }
180
 
 
181
  function itro_list_pages()
182
  {?>
183
  <select name="selected_page_id[]" multiple>
@@ -197,6 +186,27 @@ function itro_list_pages()
197
  <?php
198
  }
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  /* ------------------------- DEBUG INFORMATION ON ADMIN PANNEL */
201
  function itro_get_serverinfo()
202
  {
1
  <?php
2
  /*
3
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
 
4
  */
5
  /* ------------------ADD MENU PAGE */
6
  function itro_plugin_menu() {
18
  itro_db_init();
19
 
20
  itro_update_option('popup_time',20);
21
+ itro_update_option('popup_delay',0);
22
  itro_update_option('cookie_time_exp',0);
23
  itro_update_option('popup_background','#FFFFFF');
24
  itro_update_option('popup_border_color','#F7FF00');
51
 
52
  itro_update_option('sample_popup','done');
53
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  }
55
 
56
  /* --------------------------CHECK THE PLUGIN VERSION */
72
  /* --------------------------DISPLAY THE POPUP */
73
  function itro_display_popup()
74
  {
75
+ global $popup_fired; //it check if there is a popup visualization via shortcode or via automatic visualization
76
+
77
+ //if a shortcode was fired it stop everything
78
+ if($popup_fired === true){
79
+ return;
80
+ }
81
+
82
+ /* check if it is the preview visualization */
83
+ if(!empty($_GET['itro_preview']) && $_GET['itro_preview']=='yes' && is_user_logged_in() ){
84
+ $is_preview = true;
85
+ }else {
86
+ $is_preview = false;
87
+ }
88
+
89
  /* woocommerce shop page identification */
90
+ $woo_shop = NULL;
91
+ $woo_shop_id = NULL;
92
  if( function_exists('is_shop') && function_exists('woocommerce_get_page_id') ) /* if this functions exist, woocommerce is installed! */
93
  {
94
  if ( is_shop() ) /* if the actual page is the standard woocommerce shop page */
96
  $woo_shop = true;
97
  $woo_shop_id = woocommerce_get_page_id( 'shop' );
98
  }
 
 
 
 
 
99
  }
100
 
101
  /* this condition, control if the popup must or not by displayed in a specified page */
102
  $selected_page_id = json_decode(itro_get_option('selected_page_id'));
103
  $id_match = NULL;
104
+
105
  /* get the page id */
106
  global $wp_query;
107
  $current_page_id = $wp_query->get_queried_object_id();
108
+
109
+
110
  switch (itro_get_option('page_selection'))
111
  {
112
  case 'some':
124
  {
125
  $id_match++;
126
  }
127
+ if( $id_match != NULL || $is_preview )
128
  {
129
+ $popup_fired = true;
130
  itro_style();
131
  itro_popup_template();
132
  itro_popup_js();
133
  }
134
  break;
135
  case 'all':
136
+ $popup_fired = true;
137
  itro_style();
138
  itro_popup_template();
139
  itro_popup_js();
140
  break;
141
  case 'none':
142
+ if( $is_preview )
143
  {
144
+ $popup_fired = true;
145
  itro_style();
146
  itro_popup_template();
147
  itro_popup_js();
166
  }
167
  }
168
 
169
+
170
  function itro_list_pages()
171
  {?>
172
  <select name="selected_page_id[]" multiple>
186
  <?php
187
  }
188
 
189
+ /**
190
+ * Shortcode for popup appearing
191
+ *
192
+ * @since 4.9
193
+ *
194
+ */
195
+
196
+ function itro_popup_shortcode(){
197
+ global $popup_fired; //it check if there is a popup visualization via shortcode or via automatic visualization
198
+ $popup_fired = true;
199
+
200
+ ob_start();
201
+
202
+ itro_style();
203
+ itro_popup_template();
204
+ itro_popup_js();
205
+
206
+ return ob_get_clean();
207
+ }
208
+ add_shortcode('itroshowpopup', 'itro_popup_shortcode');
209
+
210
  /* ------------------------- DEBUG INFORMATION ON ADMIN PANNEL */
211
  function itro_get_serverinfo()
212
  {
functions/database-function.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  /*
3
- Copyright 2013 I.T.RO.® (email : support.itro@live.com)
4
- This file is part of ITRO Popup Plugin.
5
  */
6
  global $wpdb;
7
  define ('OPTION_TABLE_NAME', $wpdb->prefix . 'itro_plugin_option');
@@ -51,6 +50,18 @@ function itro_update_db()
51
  $wpdb->query("RENAME TABLE wp_itro_plugin_option TO ". $wpdb->prefix ."itro_plugin_option");
52
  $wpdb->query("RENAME TABLE wp_itro_plugin_field TO ". $wpdb->prefix ."itro_plugin_field");
53
  }
 
 
 
 
 
 
 
 
 
 
 
 
54
  }
55
 
56
  /* ------------------ PLUGIN OPTION DB MANAGEMENT -------------- */
1
  <?php
2
  /*
3
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
 
4
  */
5
  global $wpdb;
6
  define ('OPTION_TABLE_NAME', $wpdb->prefix . 'itro_plugin_option');
50
  $wpdb->query("RENAME TABLE wp_itro_plugin_option TO ". $wpdb->prefix ."itro_plugin_option");
51
  $wpdb->query("RENAME TABLE wp_itro_plugin_field TO ". $wpdb->prefix ."itro_plugin_field");
52
  }
53
+
54
+ if( get_option('itro_prev_ver') <= 4.7 )
55
+ {
56
+ /* delete the obsolete and useless preview post */
57
+ if(itro_get_option('preview_id') != NULL){
58
+ wp_delete_post(itro_get_option('preview_id'), true);
59
+ }
60
+ }
61
+ if( get_option('itro_prev_ver') <= 4.91 )
62
+ {
63
+ itro_update_option('countdown_text', 'This popup will close in:');
64
+ }
65
  }
66
 
67
  /* ------------------ PLUGIN OPTION DB MANAGEMENT -------------- */
functions/js-function.php CHANGED
@@ -1,19 +1,23 @@
1
  <?php
2
  /*
3
- Copyright 2013 I.T.RO.® (email : support.itro@live.com)
4
- This file is part of ITRO Popup Plugin.
5
  */
6
 
7
  /* ------------ LOAD SCRIPTS FOR POPUP VISUALIZATION */
8
  function itro_popup_js()
9
- { ?>
 
 
 
 
 
 
 
10
  <script type="text/javascript">
11
  /* init var */
12
  itro_cookie_expiration = <?php echo itro_get_option('cookie_time_exp'); ?>;
13
- itro_is_preview = <?php if ( itro_get_option('preview_id') == get_the_id() ){echo 'true';}else{ echo 'false'; } ?>;
14
-
15
- /* pass true if is the preview page. used for cookie control via js due W3 total cache or similar */
16
- itro_is_preview = <?php if( itro_get_option('preview_id') == get_the_id() ){ echo 'true'; }else{ echo 'false'; } ?>;
17
  <?php
18
  if (itro_get_option('age_restriction') == NULL) /* OFF age validation */
19
  {
@@ -26,7 +30,7 @@ function itro_popup_js()
26
  var key = event.keyCode;
27
  if(key==27)
28
  {
29
- jQuery("#itro_popup").fadeOut(function() {itro_opaco.style.visibility='Hidden';});
30
  }
31
  }; <?php
32
  }
@@ -79,7 +83,7 @@ function itro_popup_js()
79
  if( itro_get_option('auto_margin_check') != NULL )
80
  {?>
81
  var browserWidth = 0, browserHeight = 0;
82
- setInterval(function(){marginRefresh()},100); /* refresh every 0.1 second the popup top margin (needed for browser window resizeing) */
83
  <?php
84
  }?>
85
  </script>
1
  <?php
2
  /*
3
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
 
4
  */
5
 
6
  /* ------------ LOAD SCRIPTS FOR POPUP VISUALIZATION */
7
  function itro_popup_js()
8
+ {
9
+ /* check if it is the preview visualization */
10
+ if(!empty($_GET['itro_preview']) && $_GET['itro_preview']=='yes' && is_user_logged_in() ){
11
+ $is_preview = 'true';
12
+ }else {
13
+ $is_preview = 'false';
14
+ }
15
+ ?>
16
  <script type="text/javascript">
17
  /* init var */
18
  itro_cookie_expiration = <?php echo itro_get_option('cookie_time_exp'); ?>;
19
+ itro_is_preview = <?php echo $is_preview; ?>;/* pass true if is the preview page. used for cookie control via js due W3 total cache or similar */
20
+ jQuery('#ipp_mobile_close_txt').css({color: itro_invert_color(itro_rgb2hex(jQuery('#itro_popup').css('border-bottom-color'))) });
 
 
21
  <?php
22
  if (itro_get_option('age_restriction') == NULL) /* OFF age validation */
23
  {
30
  var key = event.keyCode;
31
  if(key==27)
32
  {
33
+ jQuery("#itro_popup").fadeOut(function() {jQuery("#itro_opaco").fadeOut();});
34
  }
35
  }; <?php
36
  }
83
  if( itro_get_option('auto_margin_check') != NULL )
84
  {?>
85
  var browserWidth = 0, browserHeight = 0;
86
+ setInterval(function(){itro_margin_refresh()},500); /* refresh every 0.1 second the popup top margin (needed for browser window resizeing) */
87
  <?php
88
  }?>
89
  </script>
i18n-config.json CHANGED
@@ -6,6 +6,7 @@
6
  "forms":{
7
  "optionForm":{
8
  "fields":{
 
9
  "enter_button_text":{"name":"enter_button_text"},
10
  "leave_button_text":{"name":"leave_button_text"},
11
  "enter_button_url":{"name":"enter_button_url"},
6
  "forms":{
7
  "optionForm":{
8
  "fields":{
9
+ "countdown_text":{"name":"countdown_text"},
10
  "enter_button_text":{"name":"enter_button_text"},
11
  "leave_button_text":{"name":"leave_button_text"},
12
  "enter_button_url":{"name":"enter_button_url"},
mc-main.php CHANGED
@@ -1,19 +1,20 @@
1
  <?php
2
  /*
3
- Copyright 2015 I.T.RO.® (email : support@itroteam.com)
4
- This file is part of ITRO Popup Plugin.
5
-
6
  Plugin Name: ITRO Popup Plugin
7
- Plugin URI: http://www.itro.eu/
8
  Description: EN - Show a perfecly centered customizable popup and a popup-system for age-restricted site and allow to insert own HTML code. IT - Visualizza un popup perfettamente centrato e personalizzabile con possibile blocco per i siti con restrizioni di eta' e permette di inserire il proprio codice HTML.
9
  Author: ITRO Team
10
  E-mail: support@itroteam.com
11
- Version: 4.7.1
12
- Author URI: http://www.itro.eu/
 
13
  */
14
 
15
  global $ITRO_VER;
16
- $ITRO_VER = 4.71;
 
 
 
17
 
18
  define('itroPath', plugins_url() . '/itro-popup/');
19
  define('itroImages', plugins_url() . '/itro-popup/images/');
@@ -68,4 +69,4 @@ add_action( 'wp_enqueue_scripts' , 'itro_load_script' );
68
  add_action('admin_print_scripts', 'itro_admin_scripts');
69
  add_action('admin_print_styles', 'itro_load_admin_styles');
70
  add_action('admin_menu', 'itro_plugin_menu');
71
- ?>
1
  <?php
2
  /*
 
 
 
3
  Plugin Name: ITRO Popup Plugin
4
+ Plugin URI: http://www.itroteam.com
5
  Description: EN - Show a perfecly centered customizable popup and a popup-system for age-restricted site and allow to insert own HTML code. IT - Visualizza un popup perfettamente centrato e personalizzabile con possibile blocco per i siti con restrizioni di eta' e permette di inserire il proprio codice HTML.
6
  Author: ITRO Team
7
  E-mail: support@itroteam.com
8
+ Text Domain: itro-popup
9
+ Version: 4.9.1
10
+ Author URI: http://www.itroteam.com
11
  */
12
 
13
  global $ITRO_VER;
14
+ $ITRO_VER = 4.91;
15
+
16
+ global $popup_fired; //it check if there is a popup visualization via shortcode or via automatic visualization
17
+ $popup_fired = false;
18
 
19
  define('itroPath', plugins_url() . '/itro-popup/');
20
  define('itroImages', plugins_url() . '/itro-popup/images/');
69
  add_action('admin_print_scripts', 'itro_admin_scripts');
70
  add_action('admin_print_styles', 'itro_load_admin_styles');
71
  add_action('admin_menu', 'itro_plugin_menu');
72
+ ?>
readme.txt CHANGED
@@ -1,26 +1,32 @@
1
  === ITRO Popup Plugin ===
2
  Contributors: ITRO
3
- Donate link: http://www.itro.eu/
4
- Tags: popup, popup message, popup box, popup ads, popup advertising, jquery popup, popup jquery, automatic popup, age restriction, popup block, popup violence, age validation popup, adult, adult content, content warning, content warning popup, fancy box, fancy popup, custom popup, advertising popup, pop-up, lightbox, lightbox popup
5
  Requires at least: 3.0.1
6
- Tested up to: 4.3.1
7
- Stable tag: 4.7.1
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
- ITRO Popup display a popup to your WP site:
12
- ★ Age validation for adult-content site
13
- ★ Fully customizable with WP Post Editor
14
- ★ Very easy to use
15
 
16
  == Description ==
17
 
18
- ITRO Popup Plugin - The BEST WP Popup Plugin
 
 
 
 
 
 
 
 
 
19
 
20
  ★ Pretty fade-in and fade-out animation.
21
  ★ Need to remove plugin and save data? It is possible!
22
  ★ Selcted pages where you want to display the popup, by a scrollable list. NO SHORTCODES NEEDED!
23
- Fully translated in Italian. Ready for multilingual translation.
24
  ★ Close popup with ESC button (not with "age restricted option" checked).
25
  ★ Automatic popup centering in browser page.
26
  ★ Fully and easy customizable aspect (background, border, color, etc...).
@@ -31,30 +37,29 @@ ITRO Popup Plugin - The BEST WP Popup Plugin
31
  ★ All great explaned by tips in admin pannel.
32
  ★ Great and fast support for all your problem with our popup plugin.
33
  ★ All in a very easy way to use!
34
-
35
- WANT MORE FEATURES? Try ITRO Wordpress Marketing for free!
36
- [TRY IT FOR FREE!](http://www.itro.eu/)
37
 
38
- ITRO Popup is a very lightweight Plugin for Wordpress which allow users to add a fully-customizable and perfectly centered popup.
39
- It has a very user-friendly interface, which allow Wordpress users to easily modify all settings needed for a popup, without coding.
40
- With "Age restricted site" option, the popup block the navigation (for age validation) until the user declare that is above the local country legal age.
41
- It is useful for adult content Wordpress site (tobacco & alcohol selling, violence, bad language, etc...). The leave and the enter button
42
- are separately customizable. Is embedded the Wordpress editor to simplify input whatever you want in your popup.
43
- Popup can be rendered unlockable with the option "Unlockable popup" so it will close only with countdown.
44
- This plugin is basic-user oriented, no code knowledge is required.
45
- Simply the best Wordpress popup plugin!
46
 
47
  TRANSLATED IN FOLLOWING LANGUAGES:
 
48
  - Italian
 
49
  - English
 
50
  - French (thanks to Patrice CHASSAING)
 
51
  - Serbo-Croatian (thanks to Andrijana Nikolic www.webhostinggeeks.com)
 
52
  - Nederlands (thanks to Descamps Gino)
53
 
54
- FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itro.eu/?page_id=390)
55
- DONATE NOW! [DONATE NOW](http://www.itro.eu/?page_id=396)
56
 
57
- For any problem, please contact us at our site: [CONTACT US](http://www.itro.eu/?page_id=247)
 
 
 
58
 
59
  Want a more powerful marketing tools?
60
  Try ITRO Wordpress Marketing PRO with a 14 days free trial.
@@ -63,46 +68,71 @@ Try ITRO Wordpress Marketing PRO with a 14 days free trial.
63
  ★ ON-CLICK POPUP
64
  ★ RESPONSIVE POPUP
65
  ★ SHORTCODES (on click popup, automatic popup, contact forms...)
66
- ★ MAILCHIMP INTEGRATION with autoresponder different for each contact form
67
  ★ LINK CLICKS COUNTER (or DOWNLOAD COUNTER)
68
- ★ CONTACT POPUPS
69
  ★ SUPPORT REQUEST MANAGEMENT SYSTEM
70
  ★ SMTP AUTH AUTORESPONDER
71
  ★ POPUP ANIMATIONS
72
  ★ SOCIAL POPUPS
73
  ★ VIDEO EMBEDDING (Youtube and Vimeo)
74
 
75
- [TRY IT FOR FREE!](http://www.itro.eu/)
76
 
77
  == Installation ==
78
 
79
- FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itro.eu/?page_id=390)
80
 
81
- DONATE NOW! - HELP US TO DEVELOP FOR YOU! [DONATE NOW](http://www.itro.eu/?page_id=396)
82
 
83
  1. Unzip `itro-plugin.zip` to the `/wp-content/plugins/` directory or select it by "Add new" in the 'Plugins' menu in WordPress
84
  2. Activate the plugin through the 'Plugins' menu in WordPress
85
  3. Go to "Settings->ITRO Popup" in the admin menu
86
- 4. Enjoy
87
 
88
  == Frequently Asked Questions ==
89
 
90
- FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itro.eu/?page_id=390)
91
 
92
- DONATE NOW! - HELP US TO DEVELOP FOR YOU! [DONATE NOW](http://www.itro.eu/?page_id=396)
93
 
94
  == Screenshots ==
95
 
96
- VIEW NOW DEMOS ON OUR OFFICIAL SITE - [CLICK HERE!](http://www.itro.eu/?page_id=3056)
97
 
98
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  = 4.7.1 =
100
  FIXED: shortcodes not working in the popup contents
101
 
102
  = 4.7 =
103
  ADDED: Multilingual compatibility with qtranslate X.
104
  ADDED: Url for the enter button of age validation.
105
- FIXED: Popup closing by clicking outside with age restriction.
106
 
107
  = 4.6.4 =
108
  ADDED: Nederlands translation, thanks to Descamps Gino.
@@ -297,20 +327,28 @@ bug fixed: color table now works in admin pannel.
297
  First released version.
298
 
299
  == Upgrade Notice ==
300
- = 4.6 =
301
- database error fixed
 
 
 
 
302
 
303
- = 4.5.9 =
304
- improved caching compatibility
 
305
 
306
- = 4.5.8 =
307
- wp_ prefix bug fixed. Now the table has the right wordpress table prefix.
308
- Caching issue resolved (W3 super cache and similar) now "Next visualization time" works
 
 
 
309
 
310
  == Notes ==
311
- FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itro.eu/?page_id=390)
312
 
313
- DONATE NOW! - HELP US TO DEVELOP FOR YOU! [DONATE NOW](http://www.itro.eu/?page_id=396)
314
 
315
  We accept all kind of suggestion.
316
  Thanks to Jan Odvarko for jscolor: http://jscolor.com/
1
  === ITRO Popup Plugin ===
2
  Contributors: ITRO
3
+ Donate link: http://www.itroteam.com/
4
+ Tags: multilingual popup, popup, popup message, popuup optin, popup box, popup ads, popup advertising, popup block, popup content warning, fancy box, fancy popup, advertising popup, pop-up, lightbox popup
5
  Requires at least: 3.0.1
6
+ Tested up to: 4.5
7
+ Stable tag: 4.9.1
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
+ ITRO Popup display a popup to your WP site: age restriction popup for adult-content site; multilanguage popup with qTransalte-X; very easy to use
 
 
 
12
 
13
  == Description ==
14
 
15
+ ITRO Popup Plugin - The BEST WordpPress Popup Plugin
16
+
17
+ ITRO Popup is a very lightweight Plugin for Wordpress which allow users to add a fully-customizable, multilanguage pop-up thanks to qTranslate-X.
18
+ It has a very user-friendly interface, which allow Wordpress users to easily modify all settings needed for a popup, without coding.
19
+ With "Age restricted site" option, the popup block the navigation (for age validation) until the user declare that is above the local country legal age.
20
+ It is useful for adult content Wordpress site (tobacco & alcohol selling, violence, bad language, etc...). The leave and the enter button
21
+ are separately customizable. Is embedded the Wordpress editor to simplify input whatever you want in your popup.
22
+ Popup can be rendered unlockable with the option "Unlockable popup" so it will close only with countdown.
23
+ This plugin is basic-user oriented, no code knowledge is required.
24
+ Simply the best Wordpress popup plugin!
25
 
26
  ★ Pretty fade-in and fade-out animation.
27
  ★ Need to remove plugin and save data? It is possible!
28
  ★ Selcted pages where you want to display the popup, by a scrollable list. NO SHORTCODES NEEDED!
29
+ Multilanguage popup with qTransalte-X.
30
  ★ Close popup with ESC button (not with "age restricted option" checked).
31
  ★ Automatic popup centering in browser page.
32
  ★ Fully and easy customizable aspect (background, border, color, etc...).
37
  ★ All great explaned by tips in admin pannel.
38
  ★ Great and fast support for all your problem with our popup plugin.
39
  ★ All in a very easy way to use!
 
 
 
40
 
41
+ Thanks to [Viterbo Marketing](https://www.viterbomarketing.com) for website and marketing consulting.
42
+
43
+ WANT MORE FEATURES? Try ITRO Wordpress Marketing for free!
44
+ [TRY IT FOR FREE!](http://www.itroteam.com/)
 
 
 
 
45
 
46
  TRANSLATED IN FOLLOWING LANGUAGES:
47
+
48
  - Italian
49
+
50
  - English
51
+
52
  - French (thanks to Patrice CHASSAING)
53
+
54
  - Serbo-Croatian (thanks to Andrijana Nikolic www.webhostinggeeks.com)
55
+
56
  - Nederlands (thanks to Descamps Gino)
57
 
 
 
58
 
59
+ FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itroteam.com/)
60
+ DONATE NOW! [DONATE NOW](http://www.itroteam.com/)
61
+
62
+ For any problem, please contact us at our site: [CONTACT US](http://www.itroteam.com/)
63
 
64
  Want a more powerful marketing tools?
65
  Try ITRO Wordpress Marketing PRO with a 14 days free trial.
68
  ★ ON-CLICK POPUP
69
  ★ RESPONSIVE POPUP
70
  ★ SHORTCODES (on click popup, automatic popup, contact forms...)
71
+ ★ MAILCHIMP INTEGRATION with autoresponder and auto-sync
72
  ★ LINK CLICKS COUNTER (or DOWNLOAD COUNTER)
73
+ ★ CONTACT POPUPS with visual contact form builder
74
  ★ SUPPORT REQUEST MANAGEMENT SYSTEM
75
  ★ SMTP AUTH AUTORESPONDER
76
  ★ POPUP ANIMATIONS
77
  ★ SOCIAL POPUPS
78
  ★ VIDEO EMBEDDING (Youtube and Vimeo)
79
 
80
+ [TRY IT FOR FREE!](http://www.itroteam.com/)
81
 
82
  == Installation ==
83
 
84
+ FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itroteam.com/)
85
 
86
+ DONATE NOW! - HELP US TO DEVELOP FOR YOU! [DONATE NOW](http://www.itroteam.com/)
87
 
88
  1. Unzip `itro-plugin.zip` to the `/wp-content/plugins/` directory or select it by "Add new" in the 'Plugins' menu in WordPress
89
  2. Activate the plugin through the 'Plugins' menu in WordPress
90
  3. Go to "Settings->ITRO Popup" in the admin menu
91
+ 4. Enjoy it
92
 
93
  == Frequently Asked Questions ==
94
 
95
+ FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itroteam.com/)
96
 
97
+ DONATE NOW! - HELP US TO KEEP IT FREE! [DONATE NOW](http://www.itroteam.com/)
98
 
99
  == Screenshots ==
100
 
101
+ VIEW LIVE DEMOS ON OUR OFFICIAL SITE - [CLICK HERE!](http://www.itroteam.com/)
102
 
103
  == Changelog ==
104
+ = 4.9.1 =
105
+ ADDED: customizable text for the countdown
106
+ FIXED: overlayng behaviour with iframes in the popup content
107
+ FIXED: undefined variable error
108
+
109
+ = 4.9 =
110
+ ADDED: shortcode for visualization.
111
+ ADDED: mobile close tag text automatic font color.
112
+ FIXED: mobile close tab not working.
113
+ FIXED: popup delay default value set to 0.
114
+ IMPROVED: automatic vertical align.
115
+
116
+ = 4.8.1 =
117
+ FIXED: Popup cookie affect the preview mode.
118
+ IMPROVED: Easy closing the popup can be disabled. Nor ESC or clicking outside will close the popup.
119
+
120
+ = 4.8 =
121
+ ADDED: Fully responsive design.
122
+ ADDED: Absolute position only for mobile devices.
123
+
124
+ = 4.7.3 =
125
+ IMPROVED: Useless preview page deleted. Preview via GET request.
126
+
127
+ = 4.7.2 =
128
+ FIXED: Popup closing by clicking outside with age restriction.
129
+
130
  = 4.7.1 =
131
  FIXED: shortcodes not working in the popup contents
132
 
133
  = 4.7 =
134
  ADDED: Multilingual compatibility with qtranslate X.
135
  ADDED: Url for the enter button of age validation.
 
136
 
137
  = 4.6.4 =
138
  ADDED: Nederlands translation, thanks to Descamps Gino.
327
  First released version.
328
 
329
  == Upgrade Notice ==
330
+ = 4.9 =
331
+ ADDED: shortcode for visualization.
332
+ ADDED: mobile close tag text automatic font color.
333
+ FIXED: mobile close tab not working.
334
+ FIXED: popup delay default value set to 0.
335
+ IMPROVED: automatic vertical align.
336
 
337
+ = 4.8.1 =
338
+ FIXED: Popup cookie affect the preview mode.
339
+ IMPROVED: Easy closing the popup can be disabled. Nor ESC or clicking outside will close the popup.
340
 
341
+ = 4.8 =
342
+ ADDED: Fully responsive design.
343
+ ADDED: Absolute position only for mobile devices.
344
+
345
+ = 4.7.3 =
346
+ IMPROVED: Useless preview page deleted. Preview via GET request.
347
 
348
  == Notes ==
349
+ FOR TUTORIAL AND FAQ VISIT THE OFFICIAL SITE [CLICK HERE!](http://www.itroteam.com/)
350
 
351
+ DONATE NOW! - HELP US TO KEEP IT FREE! [DONATE NOW](http://www.itroteam.com/)
352
 
353
  We accept all kind of suggestion.
354
  Thanks to Jan Odvarko for jscolor: http://jscolor.com/
scripts/itro-admin-scripts.js CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  /* -------------- SCRIPTS FOR ADMIN PANNEL */
2
 
3
  function itro_pos(e)
1
+ /*
2
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
3
+ */
4
+
5
  /* -------------- SCRIPTS FOR ADMIN PANNEL */
6
 
7
  function itro_pos(e)
scripts/itro-scripts.js CHANGED
@@ -1,17 +1,25 @@
 
 
 
 
1
  /* init variables */
2
  var itro_is_preview;
3
  var itro_cookie_expiration;
4
  var itro_age_restriction;
5
 
6
- /* manage fade in animation */
 
 
 
 
 
 
7
  function itro_enter_anim()
8
- {
9
  if( document.cookie.indexOf("popup_cookie") == -1 || itro_is_preview === true )
10
  {
11
- itro_popup.style.visibility = '';
12
- itro_opaco.style.visibility = '';
13
- itro_popup.style.display = 'none';
14
- itro_opaco.style.display = 'none';
15
  jQuery("#itro_opaco").fadeIn(function()
16
  {
17
  jQuery("#itro_popup").fadeIn();
@@ -24,9 +32,19 @@ function itro_enter_anim()
24
 
25
  }
26
 
27
- /* function for automatic top margin refresh, to center the popup vertically */
28
- function marginRefresh()
29
- {
 
 
 
 
 
 
 
 
 
 
30
  if( typeof( window.innerWidth ) == 'number' )
31
  {
32
  /* Non-IE */
@@ -43,8 +61,61 @@ function marginRefresh()
43
  browserWidth = document.body.clientWidth;
44
  browserHeight = document.body.clientHeight;
45
  }
46
- popupHeight = document.getElementById('itro_popup').offsetHeight ; /* get the actual px size of popup div */
47
- document.getElementById('itro_popup').style.top = (browserHeight - popupHeight)/2 + "px"; /* update the top margin of popup */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }
49
 
50
  /* function for countdown to show popup when the delay is set */
@@ -58,7 +129,13 @@ function popup_delay()
58
  }
59
  }
60
 
61
- /* countdown for automatic closing */
 
 
 
 
 
 
62
  function popTimer()
63
  {
64
  if (popTime>0)
1
+ /*
2
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
3
+ */
4
+
5
  /* init variables */
6
  var itro_is_preview;
7
  var itro_cookie_expiration;
8
  var itro_age_restriction;
9
 
10
+ /**
11
+ * Manage popup appearing
12
+ *
13
+ *
14
+ * @since 1.0
15
+ *
16
+ */
17
  function itro_enter_anim()
18
+ {
19
  if( document.cookie.indexOf("popup_cookie") == -1 || itro_is_preview === true )
20
  {
21
+ itro_margin_refresh(50); //align the popup before fadein
22
+
 
 
23
  jQuery("#itro_opaco").fadeIn(function()
24
  {
25
  jQuery("#itro_popup").fadeIn();
32
 
33
  }
34
 
35
+
36
+ /**
37
+ * Center the popup vertically
38
+ *
39
+ * @param int speed: the milesec speed fo the alignment animation
40
+ *
41
+ * @since 1.0
42
+ *
43
+ */
44
+ function itro_margin_refresh(speed){
45
+ if(typeof(speed) == undefined){speed = 200;}
46
+
47
+ //if( jQuery('#itro_popup').css('position') )
48
  if( typeof( window.innerWidth ) == 'number' )
49
  {
50
  /* Non-IE */
61
  browserWidth = document.body.clientWidth;
62
  browserHeight = document.body.clientHeight;
63
  }
64
+ popupHeight = document.getElementById('itro_popup').offsetHeight ; //get the px size of popup div
65
+ parentOffset = jQuery('#itro_popup').position().top;
66
+ docOffset = jQuery('#itro_popup').offset().top;
67
+
68
+ desTopWindowMargin = Math.round((browserHeight - popupHeight)/2); //desired top margin of popup (window related)
69
+ desTopWindowMargin = desTopWindowMargin < 0 ? 0 : desTopWindowMargin; //avoid that negative top position will hide the popup
70
+ popupTopMargin = desTopWindowMargin - docOffset + parentOffset;
71
+
72
+ if(jQuery('#itro_popup').css('position') == 'absolute'){
73
+ //set a tollerance to avoid flickering
74
+ if(Math.abs(popupTopMargin - parentOffset) > 2){
75
+ jQuery('#itro_popup').animate({top: popupTopMargin}, speed);
76
+ }
77
+ }else{
78
+ if(Math.abs(popupTopMargin - parentOffset) > 2){
79
+ jQuery('#itro_popup').animate({top: desTopWindowMargin}, speed);
80
+ }
81
+ }
82
+
83
+ }
84
+
85
+ /**
86
+ * Invert an hex color with the # char
87
+ *
88
+ * @param string hexTripletColor: the hex string
89
+ *
90
+ * @since 4.9
91
+ *
92
+ */
93
+ function itro_invert_color(hexTripletColor) {
94
+ var color = hexTripletColor;
95
+ color = color.substring(1); // remove #
96
+ color = parseInt(color, 16); // convert to integer
97
+ color = 0xFFFFFF ^ color; // invert three bytes
98
+ color = color.toString(16); // convert to hex
99
+ color = "#" + color; // prepend #
100
+ return color;
101
+ }
102
+
103
+ /**
104
+ * Convert an rgb string like rgb(255, 255, 255) to an hex code
105
+ *
106
+ * @param string rgbString: the rgb string
107
+ *
108
+ * @since 4.9
109
+ *
110
+ */
111
+ function itro_rgb2hex(rgbString){
112
+ var parts = rgbString.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
113
+ delete (parts[0]);
114
+ for (var i = 1; i <= 3; ++i) {
115
+ parts[i] = parseInt(parts[i]).toString(16);
116
+ if (parts[i].length == 1) parts[i] = '0' + parts[i];
117
+ }
118
+ return '#'+parts.join('').toUpperCase();
119
  }
120
 
121
  /* function for countdown to show popup when the delay is set */
129
  }
130
  }
131
 
132
+
133
+ /**
134
+ * Countdown for automatic closing
135
+ *
136
+ * @since 1.0
137
+ *
138
+ */
139
  function popTimer()
140
  {
141
  if (popTime>0)
templates/itro-popup-template.php CHANGED
@@ -1,14 +1,17 @@
1
- <?php
 
 
 
2
  function itro_popup_template()
3
  { ?>
4
- <div id="itro_popup" style="visibility:hidden; display: none;">
5
  <?php
6
  if( itro_get_option('age_restriction') == NULL ) /* age restriction off */
7
  {
8
  if( itro_get_option('popup_time') != 0 )
9
  {
10
  echo '<div id="popup_countdown" align="center">';
11
- _e('This popup will be closed in: ','itro-plugin');
12
  echo '<b id="timer"></b></div>';
13
  }
14
 
@@ -38,9 +41,14 @@ function itro_popup_template()
38
  </p><?php
39
  }
40
  ?>
 
 
 
 
41
  </div>
 
42
  </div>
43
- <div id="itro_opaco" style="visibility:hidden" <?php if ( itro_get_option('age_restriction') == 'yes' ){ ?> onclick="jQuery('#itro_popup').fadeOut(function(){itro_opaco.style.visibility='hidden';})" <?php } ?> ></div>
44
  <?php
45
  }
46
  ?>
1
+ <?php
2
+ /*
3
+ This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
4
+ */
5
  function itro_popup_template()
6
  { ?>
7
+ <div id="itro_popup" style="display: none">
8
  <?php
9
  if( itro_get_option('age_restriction') == NULL ) /* age restriction off */
10
  {
11
  if( itro_get_option('popup_time') != 0 )
12
  {
13
  echo '<div id="popup_countdown" align="center">';
14
+ _e(itro_get_option('countdown_text'));
15
  echo '<b id="timer"></b></div>';
16
  }
17
 
41
  </p><?php
42
  }
43
  ?>
44
+ </div>
45
+ <?php if ( itro_get_option('age_restriction') != 'yes'){ ?>
46
+ <div id="ipp_mobile_close_tab">
47
+ <span id="ipp_mobile_close_txt" onclick="jQuery('#itro_popup').fadeOut(function(){itro_opaco.style.visibility='hidden';})">CLOSE</span>
48
  </div>
49
+ <?php }?>
50
  </div>
51
+ <div id="itro_opaco" style="display: none" <?php if ( itro_get_option('age_restriction') != 'yes' && itro_get_option('popup_unlockable') != 'yes' ){ ?> onclick="jQuery('#itro_popup').fadeOut(function(){itro_opaco.style.visibility='hidden';})" <?php } ?> ></div>
52
  <?php
53
  }
54
  ?>