iubenda Cookie Solution for GDPR - Version 1.10.5

Version Description

  • Reverting the parsing method to 1.9.19, slower but more stable
Download this release

Release Info

Developer Facens
Plugin Icon 128x128 iubenda Cookie Solution for GDPR
Version 1.10.5
Comparing to
See all releases

Code changes from version 1.10.4 to 1.10.5

Files changed (2) hide show
  1. iubenda_cookie_solution.php +46 -36
  2. readme.txt +3 -0
iubenda_cookie_solution.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin URI: https://www.iubenda.com
5
  Description: Iubenda Cookie Solution permette di gestire tutti gli aspetti della cookie law su WP.
6
  Author: iubenda
7
- Version: 1.10.4
8
  Text Domain: iubenda-cookie-wp-plugin
9
  Author URI: https://www.iubenda.com
10
  */
@@ -13,7 +13,7 @@
13
  DEFINE('VOICE_MENU', 'Iubenda');
14
  DEFINE('URL_MENU', str_replace(' ', '_', VOICE_MENU));
15
  DEFINE('IUB_REGEX_PATTERN', '/<!--IUB_COOKIE_POLICY_START-->(.*)<!--IUB_COOKIE_POLICY_END-->/sU');
16
- DEFINE('IUB_NO_PARSE_GET_PARAM', 'iub_no_parse');
17
 
18
  /**/
19
 
@@ -50,20 +50,17 @@
50
 
51
  add_action("plugins_loaded", "iubenda_load_admin_panel");
52
 
53
- function iubenda_output_parser($output)
54
  {
55
- $iub_no_parse = isset($_GET[IUB_NO_PARSE_GET_PARAM]) ? $_GET[IUB_NO_PARSE_GET_PARAM] : 0;
56
-
57
- /* Parser & Banner */
58
-
59
- if($iub_no_parse || Page::bot_detected() || defined('XMLRPC_REQUEST') || Page::consent_given() && get_option('skip_parsing')) {
60
- return $output;
61
- }
62
-
63
- /**/
64
 
65
- $page = new Page($output);
66
- $page->parse();
67
 
68
  /**/
69
 
@@ -86,14 +83,6 @@
86
  update_option("iub_code", false);
87
  }
88
 
89
- /**/
90
-
91
- $iubenda_code = "";
92
-
93
- /**/
94
-
95
- $output = $page->get_converted_page();
96
-
97
  if(defined("IUBENDA_WPML") && get_option("iubenda-code-".ICL_LANGUAGE_CODE))
98
  {
99
 
@@ -125,24 +114,45 @@ if('callback' in _iub.csConfiguration) {
125
  </script>";
126
 
127
 
128
- $output = str_replace("</head>", "$iubenda_code</head>", $output);
129
-
130
  /**/
131
 
132
- return $output;
133
  }
134
-
135
- /**/
136
-
137
- function iubenda_buffer_start() { ob_start("iubenda_output_parser"); }
138
- function iubenda_buffer_end() { /* ob_end_flush(); */ }
139
 
140
  /**/
141
 
142
- if(!is_admin() && !$_POST) {
143
- add_action("plugins_loaded", "iubenda_buffer_start");
144
- add_action("shutdown", "iubenda_buffer_end");
145
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
 
147
  /**/
148
 
@@ -220,7 +230,7 @@ if('callback' in _iub.csConfiguration) {
220
  }
221
  }
222
 
223
- if(!get_option("skip_parsing") && !get_option("default_skip_parsing")) {
224
  update_option("default_skip_parsing", true);
225
  update_option("skip_parsing", "skip");
226
  }
@@ -503,7 +513,7 @@ if('callback' in _iub.csConfiguration) {
503
  Lascia intatti gli script della pagina se l\'utente ha già dato il consenso (migliora le prestazioni, altamente consigliato, da disattivare solo qualora tuo sito utilizzi un sistema di cache)
504
  </p>
505
  <p>
506
- <input type="submit" value="Save" id="iubenda-save">
507
  </p>
508
  </form>
509
  <p class="iubenda-text">
4
  Plugin URI: https://www.iubenda.com
5
  Description: Iubenda Cookie Solution permette di gestire tutti gli aspetti della cookie law su WP.
6
  Author: iubenda
7
+ Version: 1.10.5
8
  Text Domain: iubenda-cookie-wp-plugin
9
  Author URI: https://www.iubenda.com
10
  */
13
  DEFINE('VOICE_MENU', 'Iubenda');
14
  DEFINE('URL_MENU', str_replace(' ', '_', VOICE_MENU));
15
  DEFINE('IUB_REGEX_PATTERN', '/<!--IUB_COOKIE_POLICY_START-->(.*)<!--IUB_COOKIE_POLICY_END-->/sU');
16
+ DEFINE('IUB_NO_PARSE_GET_PARAM', isset($_GET['iub_no_parse']));
17
 
18
  /**/
19
 
50
 
51
  add_action("plugins_loaded", "iubenda_load_admin_panel");
52
 
53
+ function __iubenda_buffer_head()
54
  {
55
+ /*
56
+ * __iubenda_buffer_head
57
+ */
58
+
59
+ ob_start();
60
+
61
+ /**/
 
 
62
 
63
+ $iubenda_code = "";
 
64
 
65
  /**/
66
 
83
  update_option("iub_code", false);
84
  }
85
 
 
 
 
 
 
 
 
 
86
  if(defined("IUBENDA_WPML") && get_option("iubenda-code-".ICL_LANGUAGE_CODE))
87
  {
88
 
114
  </script>";
115
 
116
 
 
 
117
  /**/
118
 
119
+ echo $iubenda_code;
120
  }
 
 
 
 
 
121
 
122
  /**/
123
 
124
+ add_action("wp_head", "__iubenda_buffer_head", 99);
125
+
126
+ function __iubenda_shutdown()
127
+ {
128
+ $final = "";
129
+
130
+ $levels = count(ob_get_level());
131
+
132
+ for($i = 0; $i < $levels; $i++){
133
+ $final .= ob_get_clean();
134
+ }
135
+
136
+ echo apply_filters("final_output", $final);
137
+ }
138
+
139
+ add_action("shutdown", "__iubenda_shutdown", 0);
140
+
141
+ function __iubenda_final_output($output)
142
+ {
143
+ if(Page::consent_given() && get_option("skip_parsing") || defined(IUB_NO_PARSE_GET_PARAM) || Page::bot_detected()) {
144
+ return $output;
145
+ }
146
+
147
+ $page = new Page($output);
148
+ $page->parse();
149
+
150
+ /**/
151
+
152
+ return $page->get_converted_page();
153
+ }
154
+
155
+ add_filter("final_output", "__iubenda_final_output");
156
 
157
  /**/
158
 
230
  }
231
  }
232
 
233
+ if(!get_option("default_skip_parsing")) {
234
  update_option("default_skip_parsing", true);
235
  update_option("skip_parsing", "skip");
236
  }
513
  Lascia intatti gli script della pagina se l\'utente ha già dato il consenso (migliora le prestazioni, altamente consigliato, da disattivare solo qualora tuo sito utilizzi un sistema di cache)
514
  </p>
515
  <p>
516
+ <input type="submit" value="SAVE" id="iubenda-save">
517
  </p>
518
  </form>
519
  <p class="iubenda-text">
readme.txt CHANGED
@@ -122,6 +122,9 @@ Il plugin Wordpress di iubenda permette di semplificare l’adeguamento del prop
122
 
123
  == Changelog ==
124
 
 
 
 
125
  = 1.10.4 =
126
  * Fixed compatibility with the Yoast SEO plugin (and possibly others)
127
  * Fixed preference saving after update from 1.9.19
122
 
123
  == Changelog ==
124
 
125
+ = 1.10.5 =
126
+ * Reverting the parsing method to 1.9.19, slower but more stable
127
+
128
  = 1.10.4 =
129
  * Fixed compatibility with the Yoast SEO plugin (and possibly others)
130
  * Fixed preference saving after update from 1.9.19