Version Description
- Fix: Skip parsing engine when scripts blocking is disabled
- Tweak: Update iubenda logo
Download this release
Release Info
Developer | dfactory |
Plugin | iubenda Cookie Solution for GDPR |
Version | 1.15.5 |
Comparing to | |
See all releases |
Code changes from version 1.15.4 to 1.15.5
- iubenda_cookie_solution.php +71 -59
- readme.txt +8 -4
iubenda_cookie_solution.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: iubenda Cookie Solution for GDPR
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: iubenda Cookie Solution allows you to make your website GDPR compliant and manage all aspects of cookie law on WP.
|
6 |
-
Version: 1.15.
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
@@ -12,7 +12,7 @@ Text Domain: iubenda-cookie-law-solution
|
|
12 |
Domain Path: /languages
|
13 |
|
14 |
ibenda Cookie Solution
|
15 |
-
Copyright (C) 2018, iubenda s.r.l
|
16 |
|
17 |
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
18 |
|
@@ -35,7 +35,7 @@ $iubenda_cookie_law_solution = new iubenda_Cookie_Law_Solution();
|
|
35 |
* iubenda_Cookie_Law_Solution final class.
|
36 |
*
|
37 |
* @class iubenda_Cookie_Law_Solution
|
38 |
-
* @version 1.15.
|
39 |
*/
|
40 |
class iubenda_Cookie_Law_Solution {
|
41 |
|
@@ -53,7 +53,7 @@ class iubenda_Cookie_Law_Solution {
|
|
53 |
'custom_iframes' => array(),
|
54 |
'deactivation' => false
|
55 |
);
|
56 |
-
public $version = '1.15.
|
57 |
public $no_html = false;
|
58 |
public $links = array();
|
59 |
public $multilang = false;
|
@@ -88,7 +88,7 @@ class iubenda_Cookie_Law_Solution {
|
|
88 |
|
89 |
/**
|
90 |
* Initialize plugin.
|
91 |
-
*
|
92 |
* @return void
|
93 |
*/
|
94 |
public function init() {
|
@@ -130,7 +130,7 @@ class iubenda_Cookie_Law_Solution {
|
|
130 |
|
131 |
// load iubenda parser
|
132 |
require_once( dirname( __FILE__ ) . '/iubenda-cookie-class/iubenda.class.php' );
|
133 |
-
|
134 |
$links = array(
|
135 |
'en' => array(
|
136 |
'guide' => 'https://www.iubenda.com/en/iubenda-cookie-law-solution',
|
@@ -147,17 +147,17 @@ class iubenda_Cookie_Law_Solution {
|
|
147 |
'documentation' => 'https://www.iubenda.com/it/help/posts/810',
|
148 |
)
|
149 |
);
|
150 |
-
|
151 |
$locale = explode( '_', get_locale() );
|
152 |
$locale_code = $locale[0];
|
153 |
-
|
154 |
// assign links
|
155 |
$this->links = in_array( $locale_code, array_keys( $links ) ) ? $links[$locale_code] : $links['en'];
|
156 |
}
|
157 |
|
158 |
/**
|
159 |
* Plugin activation.
|
160 |
-
*
|
161 |
* @return void
|
162 |
*/
|
163 |
public function activation() {
|
@@ -167,7 +167,7 @@ class iubenda_Cookie_Law_Solution {
|
|
167 |
|
168 |
/**
|
169 |
* Plugin deactivation.
|
170 |
-
*
|
171 |
* @return void
|
172 |
*/
|
173 |
public function deactivation() {
|
@@ -180,7 +180,7 @@ class iubenda_Cookie_Law_Solution {
|
|
180 |
|
181 |
/**
|
182 |
* Plugin options migration for versions < 1.14.0
|
183 |
-
*
|
184 |
* @return void
|
185 |
*/
|
186 |
public function update_plugin() {
|
@@ -246,7 +246,7 @@ class iubenda_Cookie_Law_Solution {
|
|
246 |
|
247 |
/**
|
248 |
* Handle shortcode function.
|
249 |
-
*
|
250 |
* @param array $atts
|
251 |
* @param mixed $content
|
252 |
* @return mixed
|
@@ -264,12 +264,12 @@ class iubenda_Cookie_Law_Solution {
|
|
264 |
if ( $this->options['menu_position'] === 'submenu' ) {
|
265 |
// sub menu
|
266 |
add_submenu_page(
|
267 |
-
'options-general.php', 'iubenda', 'iubenda', apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda-cookie-law-solution', array( $this, 'options_page' ), 'none'
|
268 |
);
|
269 |
} else {
|
270 |
// top menu
|
271 |
add_menu_page(
|
272 |
-
'iubenda', 'iubenda', apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda-cookie-law-solution', array( $this, 'options_page' ), 'none'
|
273 |
);
|
274 |
}
|
275 |
}
|
@@ -285,7 +285,7 @@ class iubenda_Cookie_Law_Solution {
|
|
285 |
|
286 |
/**
|
287 |
* Load admin scripts and styles.
|
288 |
-
*
|
289 |
* @param string $page
|
290 |
* @return void
|
291 |
*/
|
@@ -302,14 +302,14 @@ class iubenda_Cookie_Law_Solution {
|
|
302 |
|
303 |
/**
|
304 |
* Load admin style inline, for menu icon only.
|
305 |
-
*
|
306 |
* @return mixed
|
307 |
*/
|
308 |
public function admin_print_styles() {
|
309 |
echo '
|
310 |
<style>
|
311 |
a.toplevel_page_iubenda-cookie-law-solution .wp-menu-image {
|
312 |
-
background-image: url(data:image/svg+xml;base64,
|
313 |
background-position: center center;
|
314 |
background-repeat: no-repeat;
|
315 |
background-size: 7px auto;
|
@@ -317,20 +317,20 @@ class iubenda_Cookie_Law_Solution {
|
|
317 |
</style>
|
318 |
';
|
319 |
}
|
320 |
-
|
321 |
/**
|
322 |
* Redirect to the correct urle after switching menu position.
|
323 |
-
*
|
324 |
* @global string $pagenow
|
325 |
* @return void
|
326 |
*/
|
327 |
public function admin_page_redirect() {
|
328 |
if ( ! empty( $_GET['settings-updated'] ) && ! empty( $_GET['page'] ) && in_array( $_GET['page'], array( 'iubenda-cookie-law-solution' ) ) ) {
|
329 |
global $pagenow;
|
330 |
-
|
331 |
// no redirect by default
|
332 |
$redirect_to = false;
|
333 |
-
|
334 |
if ( $this->options['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
335 |
// sub menu
|
336 |
$redirect_to = admin_url( 'options-general.php?page=iubenda-cookie-law-solution' );
|
@@ -338,18 +338,18 @@ class iubenda_Cookie_Law_Solution {
|
|
338 |
// top menu
|
339 |
$redirect_to = admin_url( 'admin.php?page=iubenda-cookie-law-solution' );
|
340 |
}
|
341 |
-
|
342 |
if ( $redirect_to ) {
|
343 |
// make sure it's current host location
|
344 |
wp_safe_redirect( add_query_arg( 'settings-updated', true, $redirect_to ) );
|
345 |
exit;
|
346 |
-
}
|
347 |
}
|
348 |
}
|
349 |
|
350 |
/**
|
351 |
* Add wp_head content.
|
352 |
-
*
|
353 |
* @return void
|
354 |
*/
|
355 |
public function wp_head() {
|
@@ -395,16 +395,16 @@ class iubenda_Cookie_Law_Solution {
|
|
395 |
$iubenda_code .= "\n
|
396 |
<script>
|
397 |
var iCallback = function() {};
|
398 |
-
|
399 |
if ( typeof _iub.csConfiguration != 'undefined' ) {
|
400 |
if ( 'callback' in _iub.csConfiguration ) {
|
401 |
if ( 'onConsentGiven' in _iub.csConfiguration.callback )
|
402 |
iCallback = _iub.csConfiguration.callback.onConsentGiven;
|
403 |
-
|
404 |
_iub.csConfiguration.callback.onConsentGiven = function() {
|
405 |
iCallback();
|
406 |
-
|
407 |
-
/* separator */
|
408 |
jQuery('noscript._no_script_iub').each(function (a, b) { var el = jQuery(b); el.after(el.html()); });
|
409 |
}
|
410 |
}
|
@@ -417,7 +417,7 @@ class iubenda_Cookie_Law_Solution {
|
|
417 |
|
418 |
/**
|
419 |
* Initialize html output.
|
420 |
-
*
|
421 |
* @return void
|
422 |
*/
|
423 |
public function output_start() {
|
@@ -427,7 +427,7 @@ class iubenda_Cookie_Law_Solution {
|
|
427 |
|
428 |
/**
|
429 |
* Finish html output.
|
430 |
-
*
|
431 |
* @return void
|
432 |
*/
|
433 |
public function output_end() {
|
@@ -437,25 +437,27 @@ class iubenda_Cookie_Law_Solution {
|
|
437 |
|
438 |
/**
|
439 |
* Handle final html output.
|
440 |
-
*
|
441 |
* @param mixed $output
|
442 |
* @return mixed
|
443 |
*/
|
444 |
public function output_callback( $output ) {
|
445 |
-
//
|
|
|
|
|
446 |
if (
|
447 |
-
( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
|
448 |
-
|| ( defined( 'DOING_AJAX' ) && DOING_AJAX )
|
449 |
-
|| isset( $_SERVER["HTTP_X_REQUESTED_WITH"] )
|
450 |
-
|| isset( $_GET['iub_no_parse'] )
|
451 |
)
|
452 |
return $output;
|
453 |
|
454 |
-
//
|
455 |
if ( is_admin() )
|
456 |
return $output;
|
457 |
|
458 |
-
//
|
459 |
if ( is_feed() && $this->options['output_feed'] )
|
460 |
return $output;
|
461 |
|
@@ -464,8 +466,16 @@ class iubenda_Cookie_Law_Solution {
|
|
464 |
elseif ( strpos( $output, "<html" ) > 200 )
|
465 |
return $output;
|
466 |
|
467 |
-
//
|
468 |
-
if ( !
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
return $output;
|
470 |
|
471 |
$startime = microtime( true );
|
@@ -514,12 +524,12 @@ class iubenda_Cookie_Law_Solution {
|
|
514 |
|
515 |
/**
|
516 |
* Display errors and notices.
|
517 |
-
*
|
518 |
* @global string $pagenow
|
519 |
*/
|
520 |
public function settings_errors() {
|
521 |
global $pagenow;
|
522 |
-
|
523 |
// force display notices in top menu settings page
|
524 |
if ( $pagenow != 'options-general.php' )
|
525 |
settings_errors( 'iub_settings_errors' );
|
@@ -527,7 +537,7 @@ class iubenda_Cookie_Law_Solution {
|
|
527 |
|
528 |
/**
|
529 |
* Code option.
|
530 |
-
*
|
531 |
* @return mixed
|
532 |
*/
|
533 |
public function iub_code() {
|
@@ -555,7 +565,7 @@ class iubenda_Cookie_Law_Solution {
|
|
555 |
$code = ! empty( $this->options['code_' . $lang_id] ) ? html_entity_decode( trim( wp_kses( $this->options['code_' . $lang_id], $this->get_allowed_html() ) ) ) : '';
|
556 |
// handle default, if empty
|
557 |
$code = empty( $code ) && $lang_id == $this->lang_default ? html_entity_decode( trim( wp_kses( $this->options['code_default'], $this->get_allowed_html() ) ) ) : $code;
|
558 |
-
|
559 |
echo '
|
560 |
<div id="tab-panel-' . $lang_id . '" class="help-tab-content' . ( $this->lang_default == $lang_id ? ' active' : '' ) . '">
|
561 |
<textarea name="iubenda_cookie_law_solution[code_' . $lang_id . ']" class="large-text" cols="50" rows="10">' . $code . '</textarea>
|
@@ -611,7 +621,7 @@ class iubenda_Cookie_Law_Solution {
|
|
611 |
|
612 |
/**
|
613 |
* Parsing option.
|
614 |
-
*
|
615 |
* @return mixed
|
616 |
*/
|
617 |
public function iub_parse() {
|
@@ -635,7 +645,7 @@ class iubenda_Cookie_Law_Solution {
|
|
635 |
|
636 |
/**
|
637 |
* Ctype option.
|
638 |
-
*
|
639 |
* @return mixed
|
640 |
*/
|
641 |
public function iub_ctype() {
|
@@ -647,7 +657,7 @@ class iubenda_Cookie_Law_Solution {
|
|
647 |
|
648 |
/**
|
649 |
* RSS feed option.
|
650 |
-
*
|
651 |
* @return mixed
|
652 |
*/
|
653 |
public function iub_output_feed() {
|
@@ -656,10 +666,10 @@ class iubenda_Cookie_Law_Solution {
|
|
656 |
<label><input id="iub_ctype" type="checkbox" name="iubenda_cookie_law_solution[output_feed]" value="1" ' . checked( true, (bool) $this->options['output_feed'], false ) . '/>' . __( 'Do not run the plugin inside the RSS feed (recommended)', 'iubenda-cookie-law-solution' ) . '</label>
|
657 |
</div>';
|
658 |
}
|
659 |
-
|
660 |
/**
|
661 |
* Menu option.
|
662 |
-
*
|
663 |
* @return mixed
|
664 |
*/
|
665 |
public function iub_menu_position() {
|
@@ -673,7 +683,7 @@ class iubenda_Cookie_Law_Solution {
|
|
673 |
|
674 |
/**
|
675 |
* Deactivation option.
|
676 |
-
*
|
677 |
* @return mixed
|
678 |
*/
|
679 |
public function iub_deactivation() {
|
@@ -685,13 +695,13 @@ class iubenda_Cookie_Law_Solution {
|
|
685 |
|
686 |
/**
|
687 |
* Save options.
|
688 |
-
*
|
689 |
* @return void
|
690 |
*/
|
691 |
public function save_options( $input ) {
|
692 |
if ( ! current_user_can( apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ) ) )
|
693 |
return $input;
|
694 |
-
|
695 |
// save options
|
696 |
if ( isset( $_POST['save_iubenda_options'] ) ) {
|
697 |
$input['parse'] = (bool) isset( $input['parse'] );
|
@@ -706,7 +716,7 @@ class iubenda_Cookie_Law_Solution {
|
|
706 |
if ( $this->multilang && ! empty( $this->languages ) ) {
|
707 |
foreach ( $this->languages as $lang_id => $lang_name ) {
|
708 |
$input['code_' . $lang_id] = ! empty( $input['code_' . $lang_id] ) ? wp_kses( $input['code_' . $lang_id], $this->get_allowed_html() ) : '';
|
709 |
-
|
710 |
// handle default lang too
|
711 |
if ( $lang_id == $this->lang_default ) {
|
712 |
$input['code_default'] = ! empty( $input['code_' . $lang_id] ) ? wp_kses( $input['code_' . $lang_id], $this->get_allowed_html() ) : $this->options['code_default'];
|
@@ -754,7 +764,7 @@ class iubenda_Cookie_Law_Solution {
|
|
754 |
|
755 |
return $input;
|
756 |
}
|
757 |
-
|
758 |
/**
|
759 |
* Get allowed iubenda script HTML.
|
760 |
*
|
@@ -790,7 +800,7 @@ class iubenda_Cookie_Law_Solution {
|
|
790 |
|
791 |
/**
|
792 |
* Load admin options page.
|
793 |
-
*
|
794 |
* @return void
|
795 |
*/
|
796 |
public function options_page() {
|
@@ -800,9 +810,11 @@ class iubenda_Cookie_Law_Solution {
|
|
800 |
?>
|
801 |
<div class="wrap">
|
802 |
<div id="iubenda-view">
|
803 |
-
<?php
|
804 |
echo '
|
805 |
-
<a class="iubenda-link" href="http://iubenda.com"
|
|
|
|
|
806 |
<p class="iubenda-text">
|
807 |
' . __( "This plugin is the easiest and most comprehensive way to adapt your WordPress site to the European cookie law. Upon your user's first visit, the plugin will take care of collecting their consent, of blocking the most popular among the scripts that install cookies and subsequently reactivate these scripts as soon as consent is provided. The basic settings include obtaining consent by a simple scroll action (the most effective method) and script reactivation without refreshing the page.", 'iubenda-cookie-law-solution' ) . '
|
808 |
</p>
|
@@ -810,7 +822,7 @@ class iubenda_Cookie_Law_Solution {
|
|
810 |
<span class="iubenda-title">' . __( "Would you like to know more about the cookie law?", 'iubenda-cookie-law-solution' ) . '</span><br />
|
811 |
' . sprintf( __( "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete guide to the cookie law.</a>", 'iubenda-cookie-law-solution' ), $this->links['guide'] ) . '
|
812 |
</p>
|
813 |
-
<p class="iubenda-text">
|
814 |
<span class="iubenda-title">' . __( "What is the full functionality of the plugin?", 'iubenda-cookie-law-solution' ) . '</span><br />
|
815 |
' . sprintf( __( "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page.</a>", 'iubenda-cookie-law-solution' ), $this->links['plugin_page'] ) . '
|
816 |
</p>
|
@@ -847,4 +859,4 @@ class iubenda_Cookie_Law_Solution {
|
|
847 |
<?php
|
848 |
}
|
849 |
|
850 |
-
}
|
3 |
Plugin Name: iubenda Cookie Solution for GDPR
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: iubenda Cookie Solution allows you to make your website GDPR compliant and manage all aspects of cookie law on WP.
|
6 |
+
Version: 1.15.5
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
12 |
Domain Path: /languages
|
13 |
|
14 |
ibenda Cookie Solution
|
15 |
+
Copyright (C) 2018-2019, iubenda s.r.l
|
16 |
|
17 |
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
18 |
|
35 |
* iubenda_Cookie_Law_Solution final class.
|
36 |
*
|
37 |
* @class iubenda_Cookie_Law_Solution
|
38 |
+
* @version 1.15.5
|
39 |
*/
|
40 |
class iubenda_Cookie_Law_Solution {
|
41 |
|
53 |
'custom_iframes' => array(),
|
54 |
'deactivation' => false
|
55 |
);
|
56 |
+
public $version = '1.15.5';
|
57 |
public $no_html = false;
|
58 |
public $links = array();
|
59 |
public $multilang = false;
|
88 |
|
89 |
/**
|
90 |
* Initialize plugin.
|
91 |
+
*
|
92 |
* @return void
|
93 |
*/
|
94 |
public function init() {
|
130 |
|
131 |
// load iubenda parser
|
132 |
require_once( dirname( __FILE__ ) . '/iubenda-cookie-class/iubenda.class.php' );
|
133 |
+
|
134 |
$links = array(
|
135 |
'en' => array(
|
136 |
'guide' => 'https://www.iubenda.com/en/iubenda-cookie-law-solution',
|
147 |
'documentation' => 'https://www.iubenda.com/it/help/posts/810',
|
148 |
)
|
149 |
);
|
150 |
+
|
151 |
$locale = explode( '_', get_locale() );
|
152 |
$locale_code = $locale[0];
|
153 |
+
|
154 |
// assign links
|
155 |
$this->links = in_array( $locale_code, array_keys( $links ) ) ? $links[$locale_code] : $links['en'];
|
156 |
}
|
157 |
|
158 |
/**
|
159 |
* Plugin activation.
|
160 |
+
*
|
161 |
* @return void
|
162 |
*/
|
163 |
public function activation() {
|
167 |
|
168 |
/**
|
169 |
* Plugin deactivation.
|
170 |
+
*
|
171 |
* @return void
|
172 |
*/
|
173 |
public function deactivation() {
|
180 |
|
181 |
/**
|
182 |
* Plugin options migration for versions < 1.14.0
|
183 |
+
*
|
184 |
* @return void
|
185 |
*/
|
186 |
public function update_plugin() {
|
246 |
|
247 |
/**
|
248 |
* Handle shortcode function.
|
249 |
+
*
|
250 |
* @param array $atts
|
251 |
* @param mixed $content
|
252 |
* @return mixed
|
264 |
if ( $this->options['menu_position'] === 'submenu' ) {
|
265 |
// sub menu
|
266 |
add_submenu_page(
|
267 |
+
'options-general.php', 'iubenda', 'iubenda', apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda-cookie-law-solution', array( $this, 'options_page' ), 'none'
|
268 |
);
|
269 |
} else {
|
270 |
// top menu
|
271 |
add_menu_page(
|
272 |
+
'iubenda', 'iubenda', apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda-cookie-law-solution', array( $this, 'options_page' ), 'none'
|
273 |
);
|
274 |
}
|
275 |
}
|
285 |
|
286 |
/**
|
287 |
* Load admin scripts and styles.
|
288 |
+
*
|
289 |
* @param string $page
|
290 |
* @return void
|
291 |
*/
|
302 |
|
303 |
/**
|
304 |
* Load admin style inline, for menu icon only.
|
305 |
+
*
|
306 |
* @return mixed
|
307 |
*/
|
308 |
public function admin_print_styles() {
|
309 |
echo '
|
310 |
<style>
|
311 |
a.toplevel_page_iubenda-cookie-law-solution .wp-menu-image {
|
312 |
+
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyMzIgNTAzIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MS40MTQyMTsiPiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEzNi4yNDcsMjY4LjgzMSkiPiAgICAgICAgPHBhdGggZD0iTTAsLTM1LjgxTC0zNi4zLDAuNDg5TC0zNi4zLDE0MC45NzhMMCwxNDAuOTc4TDAsLTM1LjgxWk0tMjAuOTM4LC0xMjkuODAyQy02LjI4NywtMTI5LjgwMiA1LjU4NywtMTQxLjU2NSA1LjU4NywtMTU2LjA2QzUuNTg3LC0xNzAuNTU2IC02LjI4NywtMTgyLjMwOCAtMjAuOTM4LC0xODIuMzA4Qy0zNS42LC0xODIuMzA4IC00Ny40NzQsLTE3MC41NTYgLTQ3LjQ3NCwtMTU2LjA2Qy00Ny40NzQsLTE0MS41NjUgLTM1LjYsLTEyOS44MDIgLTIwLjkzOCwtMTI5LjgwMk04OS4zNiwtMTU0LjQxNkM4OS4zNiwtMTI3LjgyNSA3OS41NzUsLTEwMy40OTkgNjMuMjY5LC04NC42NzJMODYuNjk0LDIyNi42MjhMLTEyMi43MjgsMjI2LjYyOEwtMTAwLjAyNCwtNzkuMjI5Qy0xMTkuMzUxLC05OC42NjggLTEzMS4yNDcsLTEyNS4xNTkgLTEzMS4yNDcsLTE1NC40MTZDLTEzMS4yNDcsLTIxNC4wODYgLTgxLjg3NCwtMjYyLjQzOCAtMjAuOTM4LC0yNjIuNDM4QzM5Ljk5OSwtMjYyLjQzOCA4OS4zNiwtMjE0LjA4NiA4OS4zNiwtMTU0LjQxNiIgc3R5bGU9ImZpbGw6d2hpdGU7ZmlsbC1ydWxlOm5vbnplcm87Ii8+ICAgIDwvZz48L3N2Zz4=);
|
313 |
background-position: center center;
|
314 |
background-repeat: no-repeat;
|
315 |
background-size: 7px auto;
|
317 |
</style>
|
318 |
';
|
319 |
}
|
320 |
+
|
321 |
/**
|
322 |
* Redirect to the correct urle after switching menu position.
|
323 |
+
*
|
324 |
* @global string $pagenow
|
325 |
* @return void
|
326 |
*/
|
327 |
public function admin_page_redirect() {
|
328 |
if ( ! empty( $_GET['settings-updated'] ) && ! empty( $_GET['page'] ) && in_array( $_GET['page'], array( 'iubenda-cookie-law-solution' ) ) ) {
|
329 |
global $pagenow;
|
330 |
+
|
331 |
// no redirect by default
|
332 |
$redirect_to = false;
|
333 |
+
|
334 |
if ( $this->options['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
335 |
// sub menu
|
336 |
$redirect_to = admin_url( 'options-general.php?page=iubenda-cookie-law-solution' );
|
338 |
// top menu
|
339 |
$redirect_to = admin_url( 'admin.php?page=iubenda-cookie-law-solution' );
|
340 |
}
|
341 |
+
|
342 |
if ( $redirect_to ) {
|
343 |
// make sure it's current host location
|
344 |
wp_safe_redirect( add_query_arg( 'settings-updated', true, $redirect_to ) );
|
345 |
exit;
|
346 |
+
}
|
347 |
}
|
348 |
}
|
349 |
|
350 |
/**
|
351 |
* Add wp_head content.
|
352 |
+
*
|
353 |
* @return void
|
354 |
*/
|
355 |
public function wp_head() {
|
395 |
$iubenda_code .= "\n
|
396 |
<script>
|
397 |
var iCallback = function() {};
|
398 |
+
|
399 |
if ( typeof _iub.csConfiguration != 'undefined' ) {
|
400 |
if ( 'callback' in _iub.csConfiguration ) {
|
401 |
if ( 'onConsentGiven' in _iub.csConfiguration.callback )
|
402 |
iCallback = _iub.csConfiguration.callback.onConsentGiven;
|
403 |
+
|
404 |
_iub.csConfiguration.callback.onConsentGiven = function() {
|
405 |
iCallback();
|
406 |
+
|
407 |
+
/* separator */
|
408 |
jQuery('noscript._no_script_iub').each(function (a, b) { var el = jQuery(b); el.after(el.html()); });
|
409 |
}
|
410 |
}
|
417 |
|
418 |
/**
|
419 |
* Initialize html output.
|
420 |
+
*
|
421 |
* @return void
|
422 |
*/
|
423 |
public function output_start() {
|
427 |
|
428 |
/**
|
429 |
* Finish html output.
|
430 |
+
*
|
431 |
* @return void
|
432 |
*/
|
433 |
public function output_end() {
|
437 |
|
438 |
/**
|
439 |
* Handle final html output.
|
440 |
+
*
|
441 |
* @param mixed $output
|
442 |
* @return mixed
|
443 |
*/
|
444 |
public function output_callback( $output ) {
|
445 |
+
// check whether to run parser or not
|
446 |
+
|
447 |
+
// bail on ajax, xmlrpc or iub_no_parse request
|
448 |
if (
|
449 |
+
( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
|
450 |
+
|| ( defined( 'DOING_AJAX' ) && DOING_AJAX )
|
451 |
+
|| isset( $_SERVER["HTTP_X_REQUESTED_WITH"] )
|
452 |
+
|| isset( $_GET['iub_no_parse'] )
|
453 |
)
|
454 |
return $output;
|
455 |
|
456 |
+
// bail on admin side
|
457 |
if ( is_admin() )
|
458 |
return $output;
|
459 |
|
460 |
+
// bail on rss feed
|
461 |
if ( is_feed() && $this->options['output_feed'] )
|
462 |
return $output;
|
463 |
|
466 |
elseif ( strpos( $output, "<html" ) > 200 )
|
467 |
return $output;
|
468 |
|
469 |
+
// bail if skripts blocking disabled
|
470 |
+
if ( ! $this->options['parse'] )
|
471 |
+
return $output;
|
472 |
+
|
473 |
+
// bail if consent given and skip parsing enabled
|
474 |
+
if ( iubendaParser::consent_given() && $this->options['skip_parsing'] )
|
475 |
+
return $output;
|
476 |
+
|
477 |
+
// bail if bot detectd, no html in output or it's a post request
|
478 |
+
if ( iubendaParser::bot_detected() || $_POST || $this->no_html )
|
479 |
return $output;
|
480 |
|
481 |
$startime = microtime( true );
|
524 |
|
525 |
/**
|
526 |
* Display errors and notices.
|
527 |
+
*
|
528 |
* @global string $pagenow
|
529 |
*/
|
530 |
public function settings_errors() {
|
531 |
global $pagenow;
|
532 |
+
|
533 |
// force display notices in top menu settings page
|
534 |
if ( $pagenow != 'options-general.php' )
|
535 |
settings_errors( 'iub_settings_errors' );
|
537 |
|
538 |
/**
|
539 |
* Code option.
|
540 |
+
*
|
541 |
* @return mixed
|
542 |
*/
|
543 |
public function iub_code() {
|
565 |
$code = ! empty( $this->options['code_' . $lang_id] ) ? html_entity_decode( trim( wp_kses( $this->options['code_' . $lang_id], $this->get_allowed_html() ) ) ) : '';
|
566 |
// handle default, if empty
|
567 |
$code = empty( $code ) && $lang_id == $this->lang_default ? html_entity_decode( trim( wp_kses( $this->options['code_default'], $this->get_allowed_html() ) ) ) : $code;
|
568 |
+
|
569 |
echo '
|
570 |
<div id="tab-panel-' . $lang_id . '" class="help-tab-content' . ( $this->lang_default == $lang_id ? ' active' : '' ) . '">
|
571 |
<textarea name="iubenda_cookie_law_solution[code_' . $lang_id . ']" class="large-text" cols="50" rows="10">' . $code . '</textarea>
|
621 |
|
622 |
/**
|
623 |
* Parsing option.
|
624 |
+
*
|
625 |
* @return mixed
|
626 |
*/
|
627 |
public function iub_parse() {
|
645 |
|
646 |
/**
|
647 |
* Ctype option.
|
648 |
+
*
|
649 |
* @return mixed
|
650 |
*/
|
651 |
public function iub_ctype() {
|
657 |
|
658 |
/**
|
659 |
* RSS feed option.
|
660 |
+
*
|
661 |
* @return mixed
|
662 |
*/
|
663 |
public function iub_output_feed() {
|
666 |
<label><input id="iub_ctype" type="checkbox" name="iubenda_cookie_law_solution[output_feed]" value="1" ' . checked( true, (bool) $this->options['output_feed'], false ) . '/>' . __( 'Do not run the plugin inside the RSS feed (recommended)', 'iubenda-cookie-law-solution' ) . '</label>
|
667 |
</div>';
|
668 |
}
|
669 |
+
|
670 |
/**
|
671 |
* Menu option.
|
672 |
+
*
|
673 |
* @return mixed
|
674 |
*/
|
675 |
public function iub_menu_position() {
|
683 |
|
684 |
/**
|
685 |
* Deactivation option.
|
686 |
+
*
|
687 |
* @return mixed
|
688 |
*/
|
689 |
public function iub_deactivation() {
|
695 |
|
696 |
/**
|
697 |
* Save options.
|
698 |
+
*
|
699 |
* @return void
|
700 |
*/
|
701 |
public function save_options( $input ) {
|
702 |
if ( ! current_user_can( apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ) ) )
|
703 |
return $input;
|
704 |
+
|
705 |
// save options
|
706 |
if ( isset( $_POST['save_iubenda_options'] ) ) {
|
707 |
$input['parse'] = (bool) isset( $input['parse'] );
|
716 |
if ( $this->multilang && ! empty( $this->languages ) ) {
|
717 |
foreach ( $this->languages as $lang_id => $lang_name ) {
|
718 |
$input['code_' . $lang_id] = ! empty( $input['code_' . $lang_id] ) ? wp_kses( $input['code_' . $lang_id], $this->get_allowed_html() ) : '';
|
719 |
+
|
720 |
// handle default lang too
|
721 |
if ( $lang_id == $this->lang_default ) {
|
722 |
$input['code_default'] = ! empty( $input['code_' . $lang_id] ) ? wp_kses( $input['code_' . $lang_id], $this->get_allowed_html() ) : $this->options['code_default'];
|
764 |
|
765 |
return $input;
|
766 |
}
|
767 |
+
|
768 |
/**
|
769 |
* Get allowed iubenda script HTML.
|
770 |
*
|
800 |
|
801 |
/**
|
802 |
* Load admin options page.
|
803 |
+
*
|
804 |
* @return void
|
805 |
*/
|
806 |
public function options_page() {
|
810 |
?>
|
811 |
<div class="wrap">
|
812 |
<div id="iubenda-view">
|
813 |
+
<?php
|
814 |
echo '
|
815 |
+
<a class="iubenda-link" href="http://iubenda.com" title="iubenda" title="_blank">
|
816 |
+
<img id="iubenda-logo" alt="iubenda logo" width="300" height="90" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjM3LjggMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYzNy44IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6IzFDQzY5MTt9LnN0MXtmaWxsOiM1MTUyNTQ7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE3OC45LDk5LjljMCw4LjItMywxNS42LTgsMjEuNGw3LjIsOTUuNGgtNjQuMmw3LTkzLjhjLTUuOS02LTkuNi0xNC4xLTkuNi0yMy4xYzAtMTguMywxNS4xLTMzLjEsMzMuOC0zMy4xUzE3OC45LDgxLjYsMTc4LjksOTkuOSBNMTQ1LjEsMTA3LjRjNC41LDAsOC4xLTMuNiw4LjEtOC4xcy0zLjYtOC04LjEtOGMtNC41LDAtOC4xLDMuNi04LjEsOFMxNDAuNiwxMDcuNCwxNDUuMSwxMDcuNCBNMTUxLjUsMTM2LjJsLTExLjEsMTEuMXY0My4xaDExLjFWMTM2LjJ6Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTI2NS40LDE3OC42Yy0yLjMsMS4yLTQuNywxLjgtNy4yLDEuOGMtMi44LDAtNS4zLTAuOC03LjQtMi40Yy0yLjEtMS42LTMuNS0zLjctNC4zLTYuMmMtMC44LTIuNS0xLjItNi4xLTEuMi0xMC44di0xOC4yYzAsMCwwLTAuOSwwLTIuOGMwLTAuNSwwLTIuOC0xLjUtMy41Yy0wLjItMC4xLTAuNi0wLjItMS4yLTAuM2MtMC40LDAtMC44LTAuNC0wLjgtMC44bDAtMi40YzAtMC41LDAuNC0wLjksMC44LTAuOWg5LjNjMS4zLDAsMi40LDEuMSwyLjQsMi40VjE0N2wwLDE1LjVjMCw0LjYsMC44LDcuNywyLjUsOS4xYzEuNiwxLjUsMy42LDIuMiw1LjksMi4yYzEuNiwwLDMuNC0wLjUsNS40LTEuNWMyLTEsNS4zLTIuOCw4LjEtNS42bDAtMi40bDAtMjIuMlYxNDBjMC0wLjUsMC0yLjgtMS40LTMuNWMtMC4yLTAuMS0wLjYtMC4yLTEuMS0wLjNjLTAuNC0wLjEtMC44LTAuNC0wLjgtMC44bDAtMi40YzAtMC41LDAuNC0wLjksMC45LTAuOWg5LjJjMS4zLDAsMi40LDEuMSwyLjQsMi40djhjMCwwLjEsMCwwLjEsMCwwLjJ2MTYuNmMwLDMuOCwwLDcuNCwwLDEwLjZjMCwwLjcsMCwxLjIsMCwxLjJjMCwwLjUtMC4xLDMuMSwxLjQsMy44YzAuMiwwLjEsMC42LDAuMiwxLjIsMC4zYzAuNCwwLDAuOCwwLjQsMC44LDAuOGwwLDIuNGMwLDAuNS0wLjQsMC44LTAuOSwwLjloLTkuMmMtMS4zLDAtMi40LTEuMS0yLjQtMi40bDAtNC41bDAtMi41QzI3MS45LDE3NC41LDI2Ny43LDE3Ny40LDI2NS40LDE3OC42Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTMwOS4yLDE3NmMxLjksMC45LDMuOSwxLjMsNiwxLjNjMy4yLDAsNi4zLTEuNyw5LTUuMmMyLjgtMy41LDQuMi04LjUsNC4yLTE1LjJjMC02LjEtMS40LTEwLjgtNC4yLTE0LjFjLTIuOC0zLjMtNi00LjktOS41LTQuOWMtMS45LDAtMy44LDAuNS01LjcsMS40Yy0xLjIsMC42LTIuOCwxLjgtNC43LDMuNGMtMC41LDAuNS0wLjgsMS4xLTAuOCwxLjhWMTcxYzAsMC43LDAuMywxLjQsMC44LDEuOEMzMDYsMTc0LjIsMzA3LjYsMTc1LjMsMzA5LjIsMTc2IE0yOTQuOCwxMThjMC0wLjUsMC0yLjctMS40LTMuNGMtMC4yLTAuMS0wLjMtMC4xLTAuNi0wLjJjLTAuNC0wLjEtMC42LTAuNC0wLjYtMC44bDAtMi4zYzAtMC41LDAuNC0wLjgsMC45LTAuOWgxLjhoNi41YzEuMywwLDIuMywxLDIuMywyLjNsMCwxMnYxNS40YzQuNy02LjQsOS44LTkuNiwxNS4zLTkuNmM1LDAsOS40LDIuMSwxMy4xLDYuM2MzLjcsNC4yLDUuNiw5LjksNS42LDE3LjJjMCw4LjUtMi45LDE1LjMtOC42LDIwLjVjLTQuOSw0LjQtMTAuNSw2LjctMTYuNSw2LjdjLTIuOCwwLTUuNy0wLjUtOC43LTEuNWMtMi41LTAuOS01LjEtMi4xLTcuNy0zLjdjLTAuOC0wLjUtMS4zLTEuNC0xLjMtMi40di00NmMwLTAuOSwwLTIsMC0zLjNMMjk0LjgsMTE4eiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zODkuMywxNzkuMWMtMC41LDAtMC45LTAuNC0wLjktMC45bDAtMi4zYzAtMC40LDAuMy0wLjgsMC43LTAuOGMwLjUtMC4xLDAuOC0wLjEsMS0wLjJjMS40LTAuNywxLjQtMi45LDEuNC0zLjR2LTIuN2MwLDAsMC01LjgsMC0xNy41YzAtMS45LDAtMy44LDAuMS01LjVsMC00LjZjMC0wLjUsMC0xLDAtMS41YzAtMC42LDAtMi44LTEuNC0zLjVjLTAuMS0wLjEtMC4zLTAuMS0wLjUtMC4yYy0wLjQtMC4xLTAuNi0wLjQtMC42LTAuOGwwLTIuM2MwLTAuNSwwLjQtMC44LDAuOS0wLjloOC4xYzEuMywwLDIuMywxLDIuMywyLjN2My40YzAsMCwwLDAuNiwwLDEuOGMwLDAuMywwLjIsMC42LDAuNiwwLjZjMC4yLDAsMC4zLTAuMSwwLjQtMC4yYzUuNC01LjksMTIuMy04LjgsMTcuMi04LjhjMi43LDAsNSwwLjYsNi45LDEuOWMxLjksMS4zLDMuNCwzLjQsNC42LDYuM2MwLjgsMi4xLDEuMiw1LjIsMS4yLDkuNHYxNi41bDAsNi4zYzAsMC41LDAsMi43LDEuNCwzLjRjMC4yLDAuMSwwLjQsMC4yLDAuOCwwLjJjMC40LDAuMSwwLjcsMC40LDAuNywwLjhsMCwyLjNjMCwwLjUtMC40LDAuOC0wLjgsMC45Yy0wLjgsMC0xLjUsMC0yLDBoLTYuNWMtMC4xLDAtMC4zLDAtMC40LDBoLTMuMWMtMS4xLDAtMi0wLjktMi0yYzAtMSwwLjctMS45LDEuNi0yLjJjMC4xLDAsMC4xLDAsMC4yLTAuMWMxLTAuNSwxLjMtMS44LDEuNC0yLjd2LTcuNGwwLTE1LjJjMC00LjMtMC42LTcuNC0xLjctOS4zYy0xLjItMS45LTMuMS0yLjktNS44LTIuOWMtNC4yLDAtMTAuMywyLjItMTQuNCw2Ljd2MjAuOHYwLjNsMCw2LjRjMCwwLjUsMCwyLjgsMS40LDMuNWMwLjEsMCwwLjEsMCwwLjIsMC4xYzEsMC4zLDEuNiwxLjIsMS42LDIuMmMwLDEuMS0wLjksMi0yLDJIMzk0QzM5NCwxNzkuMSwzOTIuNCwxNzkuMSwzODkuMywxNzkuMSIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik01MTUsMTUzLjRjLTYuNiwxLjMtMTAuNCwyLjItMTEuNCwyLjVjLTMuNywxLjItNi42LDIuNi02LjgsOC43Yy0wLjEsMi41LDAuOCw0LjcsMi4zLDYuM2MxLjUsMS43LDMuMywyLjUsNS4zLDIuNWMyLjUsMCw1LjctMS44LDkuNi00LjhjMC43LTAuNSwxLjEtMS4zLDEuMS0yLjJWMTUzLjR6IE01MjMuOCwxNzAuOGMwLDAuMSwwLDAuMiwwLDAuMmMwLDAuMiwwLDAuMywwLDAuNGMwLjEsMS40LDAuNiwyLjQsMS40LDIuOGMwLjIsMC4xLDAuNCwwLjIsMC42LDAuMmMwLjQsMC4xLDAuNywwLjQsMC43LDAuOGwwLDIuNGMwLDAuNS0wLjQsMC44LTAuOSwwLjloLTguM2MtMS4zLDAtMi4zLTEtMi4zLTIuM3YtNC41Yy01LDMuOS04LjIsNi4xLTkuNSw2LjdjLTEuOSwwLjktNCwxLjMtNi4xLDEuM2MtMy40LDAtNi4yLTEuMi04LjQtMy40Yy0yLjItMi4zLTMuMy01LjMtMy4zLTkuMWMwLTIuNCwwLjUtNC40LDEuNi02LjJjMS41LTIuNCwzLjctNS4yLDcuNi02LjhjNC0xLjYsNy4zLTIsMTgtNC40YzAtMC4zLDAtNCwwLTQuM2MwLTQuNS0wLjgtOS4yLTguNC04LjdjLTUuMywwLjMtMTAuMiwyLTE0LjcsNWMtMC40LDAuMy0wLjksMC4yLTEuMi0wLjJjLTAuMS0wLjEtMC4xLTAuMy0wLjEtMC41di0yLjhjMC0xLjUsMC4zLTIuNCwwLjktMi45YzMuMS0yLjUsMTAuOS01LjUsMTguNS01YzguNCwwLjYsMTEuNCw0LDEyLjksOS4zYzAuNSwxLjYsMSwyLjgsMSw3LjV2MTQuNWMwLDIsMCw0LDAsNS44VjE3MC44eiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik00NjUuNCwxMzcuOGMtMS43LTEtMy40LTEuNS01LTEuNWMtMywwLTUuOCwxLjMtOC4zLDMuOGMtMi43LDIuOC00LjYsNi41LTQuNiwxMy41YzAsNywxLjUsMTIuNCw0LjYsMTYuMmMzLDMuNyw2LjQsNS42LDEwLjIsNS42YzIuNywwLDUuMy0xLjEsNy44LTMuNGMwLjktMC44LDEuNC0xLjksMS40LTN2LTIwLjhDNDcxLjQsMTQzLjksNDY5LjEsMTQwLDQ2NS40LDEzNy44IE00ODEuMywxNzQuNmMwLjEsMC4xLDAuMywwLjEsMC41LDAuMmMwLjQsMC4xLDAuNiwwLjQsMC42LDAuOGwwLDIuM2MwLDAuNS0wLjQsMC44LTAuOSwwLjloLThjLTEuMiwwLTIuMy0xLTIuMy0yLjJ2LTIuMmMtMi4zLDIuNC00LjYsNC4yLTYuOCw1LjNjLTIuMiwxLjEtNC42LDEuNi03LjEsMS42Yy01LjIsMC05LjctMi4yLTEzLjYtNi42Yy0zLjktNC40LTUuOC0xMC01LjgtMTYuOXMyLjEtMTMuMSw2LjQtMTguOGM0LjMtNS43LDkuOC04LjUsMTYuNS04LjVjNC4yLDAsNy42LDEuMywxMC40LDR2LTE2LjdjMC0wLjUsMC0yLjctMS40LTMuNGMtMC4xLTAuMS0wLjMtMC4xLTAuNS0wLjJjLTAuNC0wLjEtMC42LTAuNC0wLjYtMC44bDAtMi40YzAtMC41LDAuNC0wLjksMC45LTAuOWg3LjljMS4yLDAsMi4zLDEsMi4zLDIuMnY1OC45QzQ3OS45LDE3MS44LDQ3OS45LDE3My45LDQ4MS4zLDE3NC42Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTM1MCwxNTAuMmMwLDAuMSwwLDAuMywwLjEsMC4zYzAuMSwwLjEsMC4yLDAuMSwwLjQsMC4xaDIzLjljMC4zLDAsMC41LTAuMiwwLjUtMC40YzAuMy0yLjUsMC40LTctMy4zLTEwLjhjLTEuOC0xLjktNC4xLTIuOC04LjMtMi44QzM1NS43LDEzNi42LDM1MC44LDE0My45LDM1MCwxNTAuMiBNMzQ3LjUsMTc0LjljLTMuOS00LjMtNS45LTExLjMtNS45LTE4LjJjMC03LjMsMi4zLTEzLjksNi40LTE4LjdjNC4zLTUsMTAuMi03LjcsMTcuMS03LjdjNS44LDAsMTAuMiwyLDEzLjIsNS44YzIuNywzLjYsNC4xLDguOCw0LjEsMTUuNGMwLDAuOCwwLDEuOS0wLjEsMy4zYy0wLjEsMC45LTAuOCwxLjYtMS43LDEuNmgtMjkuOGMtMC4xLDAtMC4zLDAuMS0wLjQsMC4xYy0wLjEsMC4xLTAuMSwwLjItMC4xLDAuNGMwLjEsNS40LDEuOCwxMCw1LDEzLjJjMy4xLDMuMiw3LjQsNC45LDEyLjQsNC45YzMuNywwLDguNi0xLDEyLjQtMi4xYzAuNS0wLjIsMS4xLDAuMSwxLjMsMC43YzAuMSwwLjIsMC4xLDAuNCwwLDAuNWwtMC41LDEuOWMtMC4yLDAuNy0wLjcsMS4zLTEuMywxLjZjLTMuNywxLjgtOS4zLDMuNS0xNSwzLjVDMzU3LjYsMTgxLjIsMzUxLjYsMTc5LjUsMzQ3LjUsMTc0LjkiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjMxLjEsMTM1Ljl2MzYuOWMwLDEsMC42LDEuOSwxLjQsMi4zYzAuOSwwLjQsMS40LDEuMywxLjQsMi4zdjAuN2MwLDAuOC0wLjYsMS40LTEuNCwxLjRIMjIwYy0wLjgsMC0xLjQtMC42LTEuNC0xLjR2LTAuN2MwLTEsMC42LTEuOSwxLjQtMi4zYzAuOS0wLjQsMS40LTEuMywxLjQtMi4zdi0zNS43YzAtMC41LTAuNC0wLjktMC45LTAuOXMtMC45LTAuNC0wLjktMC45di0xLjJjMC0xLjIsMC45LTIuMSwyLjEtMi4xaDUuNkMyMjkuNCwxMzIsMjMxLjEsMTMzLjcsMjMxLjEsMTM1LjkiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjI2LjMsMTEwLjhjMy4zLDAsNiwyLjcsNiw1LjljMCwzLjMtMi43LDUuOS02LDUuOXMtNi0yLjctNi01LjlDMjIwLjMsMTEzLjUsMjIzLDExMC44LDIyNi4zLDExMC44Ii8+PC9zdmc+"/>
|
817 |
+
</a>
|
818 |
<p class="iubenda-text">
|
819 |
' . __( "This plugin is the easiest and most comprehensive way to adapt your WordPress site to the European cookie law. Upon your user's first visit, the plugin will take care of collecting their consent, of blocking the most popular among the scripts that install cookies and subsequently reactivate these scripts as soon as consent is provided. The basic settings include obtaining consent by a simple scroll action (the most effective method) and script reactivation without refreshing the page.", 'iubenda-cookie-law-solution' ) . '
|
820 |
</p>
|
822 |
<span class="iubenda-title">' . __( "Would you like to know more about the cookie law?", 'iubenda-cookie-law-solution' ) . '</span><br />
|
823 |
' . sprintf( __( "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete guide to the cookie law.</a>", 'iubenda-cookie-law-solution' ), $this->links['guide'] ) . '
|
824 |
</p>
|
825 |
+
<p class="iubenda-text">
|
826 |
<span class="iubenda-title">' . __( "What is the full functionality of the plugin?", 'iubenda-cookie-law-solution' ) . '</span><br />
|
827 |
' . sprintf( __( "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page.</a>", 'iubenda-cookie-law-solution' ), $this->links['plugin_page'] ) . '
|
828 |
</p>
|
859 |
<?php
|
860 |
}
|
861 |
|
862 |
+
}
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Donate link:
|
|
4 |
Tags: cookies, cookie law, cookie policy, cookie banner, cookie block, privacy policy, cookie consent, privacy
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
-
Tested up to: 5.0.
|
8 |
-
Stable tag: 1.15.
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
@@ -141,6 +141,10 @@ We will be very happy to receive feedback here: [Uservoice forum](http://support
|
|
141 |
|
142 |
== Changelog ==
|
143 |
|
|
|
|
|
|
|
|
|
144 |
= 1.15.4 =
|
145 |
* New: Option to block custom scripts and iframes
|
146 |
* Tweak: Update and extend the list of blocked scripts including Google Site Search, Google oAuth, Linkedin widgets, PayPal widgets, Freshchat, Uservoice
|
@@ -341,5 +345,5 @@ We will be very happy to receive feedback here: [Uservoice forum](http://support
|
|
341 |
|
342 |
== Upgrade Notice ==
|
343 |
|
344 |
-
= 1.15.
|
345 |
-
*
|
4 |
Tags: cookies, cookie law, cookie policy, cookie banner, cookie block, privacy policy, cookie consent, privacy
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
+
Tested up to: 5.0.3
|
8 |
+
Stable tag: 1.15.5
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
141 |
|
142 |
== Changelog ==
|
143 |
|
144 |
+
= 1.15.5 =
|
145 |
+
* Fix: Skip parsing engine when scripts blocking is disabled
|
146 |
+
* Tweak: Update iubenda logo
|
147 |
+
|
148 |
= 1.15.4 =
|
149 |
* New: Option to block custom scripts and iframes
|
150 |
* Tweak: Update and extend the list of blocked scripts including Google Site Search, Google oAuth, Linkedin widgets, PayPal widgets, Freshchat, Uservoice
|
345 |
|
346 |
== Upgrade Notice ==
|
347 |
|
348 |
+
= 1.15.5 =
|
349 |
+
* Fix: Skip parsing engine when scripts blocking is disabled
|