Version Description
- Add analytics to the plugin
Download this release
Release Info
Developer | iubenda |
Plugin | iubenda Cookie Solution for GDPR |
Version | 3.2.2 |
Comparing to | |
See all releases |
Code changes from version 3.2.1 to 3.2.2
- assets/js/admin.js +4 -0
- assets/js/matomo.js +14 -0
- includes/settings.php +5 -0
- iubenda-cookie-class/README.md +3 -0
- iubenda-cookie-class/iubenda.class.page.php +4 -4
- iubenda-cookie-class/iubenda.class.php +10 -10
- iubenda-cookie-class/listeners/GoogleTagManagerListener.php +1 -1
- iubenda-cookie-class/simple_html_dom.php +11 -11
- iubenda_cookie_solution.php +3 -3
- readme.txt +6 -3
- views/frontpage.php +1 -1
- views/partials/modals/modal_almost_there.php +1 -1
- views/partials/modals/modal_no_website_found.php +2 -2
- views/partials/modals/modal_select_language.php +1 -0
- views/partials/modals/modal_sync.php +2 -2
- views/partials/product-card.php +1 -1
- views/partials/siteInfo.php +1 -1
assets/js/admin.js
CHANGED
@@ -152,6 +152,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
|
152 |
scrollTop: $(response.focus).offset().top
|
153 |
}, 500);
|
154 |
}
|
|
|
155 |
$('#modal-no-website-found').addClass('shown')
|
156 |
}
|
157 |
},
|
@@ -203,6 +204,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
|
203 |
scrollTop: $(response.focus).offset().top
|
204 |
}, 500);
|
205 |
}
|
|
|
206 |
$('#modal-no-website-found').addClass('shown')
|
207 |
}
|
208 |
},
|
@@ -319,6 +321,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
|
319 |
});
|
320 |
|
321 |
}else{
|
|
|
322 |
$('#modal-no-website-found').addClass('shown')
|
323 |
}
|
324 |
},
|
@@ -707,6 +710,7 @@ jQuery(document).ready(function($){
|
|
707 |
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
708 |
data : {action: "frontpage_main_box"},
|
709 |
success: function(response) {
|
|
|
710 |
$('#frontpage-main-box').html(response)
|
711 |
document.querySelectorAll(".circularBar").forEach(function (el) {
|
712 |
$(el).attr('data-perc', result.data.percentage);
|
152 |
scrollTop: $(response.focus).offset().top
|
153 |
}, 500);
|
154 |
}
|
155 |
+
_paq.push(['trackEvent', 'Error', 'No website found with this embed code.']);
|
156 |
$('#modal-no-website-found').addClass('shown')
|
157 |
}
|
158 |
},
|
204 |
scrollTop: $(response.focus).offset().top
|
205 |
}, 500);
|
206 |
}
|
207 |
+
_paq.push(['trackEvent', 'Error', 'No website found with this embed code.']);
|
208 |
$('#modal-no-website-found').addClass('shown')
|
209 |
}
|
210 |
},
|
321 |
});
|
322 |
|
323 |
}else{
|
324 |
+
_paq.push(['trackEvent', 'Error', 'No website found with this embed code.']);
|
325 |
$('#modal-no-website-found').addClass('shown')
|
326 |
}
|
327 |
},
|
710 |
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
711 |
data : {action: "frontpage_main_box"},
|
712 |
success: function(response) {
|
713 |
+
_paq.push(['trackEvent', 'Event', 'End of scan and report rating']);
|
714 |
$('#frontpage-main-box').html(response)
|
715 |
document.querySelectorAll(".circularBar").forEach(function (el) {
|
716 |
$(el).attr('data-perc', result.data.percentage);
|
assets/js/matomo.js
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var _paq = window._paq = window._paq || [];
|
2 |
+
|
3 |
+
_paq.push(['disableAlwaysUseSendBeacon']);
|
4 |
+
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
5 |
+
_paq.push(['setCustomDimension' , 1 , iub_js_vars['site_locale'] ]);
|
6 |
+
_paq.push(['trackPageView']);
|
7 |
+
_paq.push(['enableLinkTracking']);
|
8 |
+
(function() {
|
9 |
+
var u="//athena.iubenda.com/";
|
10 |
+
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
11 |
+
_paq.push(['setSiteId', '11']);
|
12 |
+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
13 |
+
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
14 |
+
})();
|
includes/settings.php
CHANGED
@@ -461,6 +461,9 @@ class iubenda_Settings {
|
|
461 |
wp_enqueue_style('iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/css/style.css');
|
462 |
wp_enqueue_script('iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/js/admin.js','','',true);
|
463 |
|
|
|
|
|
|
|
464 |
// Get radar api status
|
465 |
$iubendaRadarApiConfiguration = get_option('iubenda_radar_api_configuration', []) ?: [];
|
466 |
|
@@ -468,6 +471,8 @@ class iubenda_Settings {
|
|
468 |
$iub_js_vars = [
|
469 |
'site_url' => get_site_url(),
|
470 |
'plugin_url' => IUBENDA_PLUGIN_URL,
|
|
|
|
|
471 |
'radar_status' => iub_array_get($iubendaRadarApiConfiguration, 'status'),
|
472 |
'form_id' => iub_array_get($_GET,'form_id', 0),
|
473 |
'iub_dismiss_notification_alert_nonce' => wp_create_nonce( 'iub_dismiss_notification_alert_nonce' ),
|
461 |
wp_enqueue_style('iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/css/style.css');
|
462 |
wp_enqueue_script('iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/js/admin.js','','',true);
|
463 |
|
464 |
+
// Add analytics script to the plugin
|
465 |
+
wp_enqueue_script('iubenda-admin-matomo', IUBENDA_PLUGIN_URL . '/assets/js/matomo.js','','',true);
|
466 |
+
|
467 |
// Get radar api status
|
468 |
$iubendaRadarApiConfiguration = get_option('iubenda_radar_api_configuration', []) ?: [];
|
469 |
|
471 |
$iub_js_vars = [
|
472 |
'site_url' => get_site_url(),
|
473 |
'plugin_url' => IUBENDA_PLUGIN_URL,
|
474 |
+
'site_language' => iubenda()->lang_current,
|
475 |
+
'site_locale' => get_locale(),
|
476 |
'radar_status' => iub_array_get($iubendaRadarApiConfiguration, 'status'),
|
477 |
'form_id' => iub_array_get($_GET,'form_id', 0),
|
478 |
'iub_dismiss_notification_alert_nonce' => wp_create_nonce( 'iub_dismiss_notification_alert_nonce' ),
|
iubenda-cookie-class/README.md
CHANGED
@@ -98,6 +98,9 @@ These operations take place in accordance with the rules explained in [this guid
|
|
98 |
|
99 |
## Changelog
|
100 |
|
|
|
|
|
|
|
101 |
##### 4.1.10
|
102 |
* Move www.googletagmanager.com/gtag/js under analytics #4
|
103 |
|
98 |
|
99 |
## Changelog
|
100 |
|
101 |
+
##### 4.1.11
|
102 |
+
* Support PHP 8
|
103 |
+
|
104 |
##### 4.1.10
|
105 |
* Move www.googletagmanager.com/gtag/js under analytics #4
|
106 |
|
iubenda-cookie-class/iubenda.class.page.php
CHANGED
@@ -266,10 +266,10 @@ if('callback' in _iub.csConfiguration) {
|
|
266 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
267 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
268 |
|
269 |
-
$ad_client = trim( $ad_client[1] );
|
270 |
-
$ad_slot = trim( $ad_slot[1] );
|
271 |
-
$ad_width = trim( $ad_width[1] );
|
272 |
-
$ad_height = trim( $ad_height[1] );
|
273 |
|
274 |
$ad_class = 'class="_iub_cs_activate_google_ads"';
|
275 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
266 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
267 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
268 |
|
269 |
+
$ad_client = trim( $ad_client[1] ?: '' );
|
270 |
+
$ad_slot = trim( $ad_slot[1] ?: '' );
|
271 |
+
$ad_width = trim( $ad_width[1] ?: '' );
|
272 |
+
$ad_height = trim( $ad_height[1] ?: '' );
|
273 |
|
274 |
$ad_class = 'class="_iub_cs_activate_google_ads"';
|
275 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
iubenda-cookie-class/iubenda.class.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @author iubenda s.r.l
|
6 |
* @copyright 2018-2020, iubenda s.r.l
|
7 |
* @license GNU/GPL
|
8 |
-
* @version 4.1.
|
9 |
* @deprecated
|
10 |
*
|
11 |
* This program is free software: you can redistribute it and/or modify
|
@@ -441,7 +441,7 @@ class iubendaParser {
|
|
441 |
switch ( $element->tag ) {
|
442 |
case 'script':
|
443 |
case 'iframe':
|
444 |
-
$class = trim( $element->class );
|
445 |
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
446 |
$js .= $element->outertext;
|
447 |
break;
|
@@ -481,7 +481,7 @@ class iubendaParser {
|
|
481 |
// loop through scripts
|
482 |
for ( $j = 0; $j < $count; $j ++ ) {
|
483 |
$s = $scripts[$j];
|
484 |
-
$script_class = trim( $s->class );
|
485 |
|
486 |
if ( $script_class !== '' ) {
|
487 |
$classes = explode( ' ', $script_class );
|
@@ -565,10 +565,10 @@ class iubendaParser {
|
|
565 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
566 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
567 |
|
568 |
-
$ad_client = trim( $ad_client[1] );
|
569 |
-
$ad_slot = trim( $ad_slot[1] );
|
570 |
-
$ad_width = trim( $ad_width[1] );
|
571 |
-
$ad_height = trim( $ad_height[1] );
|
572 |
|
573 |
$ad_class = 'class="' . $this->iub_class . '_google_ads"';
|
574 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
@@ -658,7 +658,7 @@ class iubendaParser {
|
|
658 |
if ( ! empty( $scripts ) && is_object( $scripts ) ) {
|
659 |
foreach ( $scripts as $script ) {
|
660 |
$src = $script->getAttribute( 'src' );
|
661 |
-
$script_class = trim( $script->getAttribute( 'class' ) );
|
662 |
|
663 |
if ( $script_class !== '' ) {
|
664 |
$classes = explode( ' ', $script_class );
|
@@ -754,7 +754,7 @@ class iubendaParser {
|
|
754 |
|
755 |
for ( $j = 0; $j < $count; $j ++ ) {
|
756 |
$i = $iframes[$j];
|
757 |
-
$iframe_class = trim( $i->class );
|
758 |
|
759 |
if ( $iframe_class !== '' ) {
|
760 |
$classes = explode( ' ', $iframe_class );
|
@@ -820,7 +820,7 @@ class iubendaParser {
|
|
820 |
if ( ! empty( $iframes ) && is_object( $iframes ) ) {
|
821 |
foreach ( $iframes as $iframe ) {
|
822 |
$src = $iframe->getAttribute( 'src' );
|
823 |
-
$iframe_class = trim( $iframe->getAttribute( 'class' ) );
|
824 |
|
825 |
if ( $iframe_class !== '' ) {
|
826 |
$classes = explode( ' ', $iframe_class );
|
5 |
* @author iubenda s.r.l
|
6 |
* @copyright 2018-2020, iubenda s.r.l
|
7 |
* @license GNU/GPL
|
8 |
+
* @version 4.1.11
|
9 |
* @deprecated
|
10 |
*
|
11 |
* This program is free software: you can redistribute it and/or modify
|
441 |
switch ( $element->tag ) {
|
442 |
case 'script':
|
443 |
case 'iframe':
|
444 |
+
$class = trim( $element->class ?: '' );
|
445 |
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
446 |
$js .= $element->outertext;
|
447 |
break;
|
481 |
// loop through scripts
|
482 |
for ( $j = 0; $j < $count; $j ++ ) {
|
483 |
$s = $scripts[$j];
|
484 |
+
$script_class = trim( $s->class ?: '' );
|
485 |
|
486 |
if ( $script_class !== '' ) {
|
487 |
$classes = explode( ' ', $script_class );
|
565 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
566 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
567 |
|
568 |
+
$ad_client = trim( $ad_client[1] ?: '' );
|
569 |
+
$ad_slot = trim( $ad_slot[1] ?: '' );
|
570 |
+
$ad_width = trim( $ad_width[1] ?: '' );
|
571 |
+
$ad_height = trim( $ad_height[1] ?: '' );
|
572 |
|
573 |
$ad_class = 'class="' . $this->iub_class . '_google_ads"';
|
574 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
658 |
if ( ! empty( $scripts ) && is_object( $scripts ) ) {
|
659 |
foreach ( $scripts as $script ) {
|
660 |
$src = $script->getAttribute( 'src' );
|
661 |
+
$script_class = trim( $script->getAttribute( 'class' ) ?: '' );
|
662 |
|
663 |
if ( $script_class !== '' ) {
|
664 |
$classes = explode( ' ', $script_class );
|
754 |
|
755 |
for ( $j = 0; $j < $count; $j ++ ) {
|
756 |
$i = $iframes[$j];
|
757 |
+
$iframe_class = trim( $i->class ?: '' );
|
758 |
|
759 |
if ( $iframe_class !== '' ) {
|
760 |
$classes = explode( ' ', $iframe_class );
|
820 |
if ( ! empty( $iframes ) && is_object( $iframes ) ) {
|
821 |
foreach ( $iframes as $iframe ) {
|
822 |
$src = $iframe->getAttribute( 'src' );
|
823 |
+
$iframe_class = trim( $iframe->getAttribute( 'class' ) ?: '' );
|
824 |
|
825 |
if ( $iframe_class !== '' ) {
|
826 |
$classes = explode( ' ', $iframe_class );
|
iubenda-cookie-class/listeners/GoogleTagManagerListener.php
CHANGED
@@ -43,7 +43,7 @@ class GoogleTagManagerListener {
|
|
43 |
}
|
44 |
|
45 |
# Avoid non inline-scripts
|
46 |
-
if ( ! trim( $str ) ) {
|
47 |
continue;
|
48 |
}
|
49 |
|
43 |
}
|
44 |
|
45 |
# Avoid non inline-scripts
|
46 |
+
if ( ! trim( $str ?: '' ) ) {
|
47 |
continue;
|
48 |
}
|
49 |
|
iubenda-cookie-class/simple_html_dom.php
CHANGED
@@ -444,7 +444,7 @@ class simple_html_dom_node
|
|
444 |
foreach ($this->nodes as $n) {
|
445 |
// Start paragraph after a blank line
|
446 |
if ($n->tag === 'p') {
|
447 |
-
$ret = trim($ret) . "\n\n";
|
448 |
}
|
449 |
|
450 |
$ret .= $this->convert_text($n->text());
|
@@ -632,7 +632,7 @@ class simple_html_dom_node
|
|
632 |
// Check if ID matches
|
633 |
if ($pass && $id !== '' && isset($node->attr['id'])) {
|
634 |
// Note: Only consider the first ID (as browsers do)
|
635 |
-
$node_id = explode(' ', trim($node->attr['id']))[0];
|
636 |
|
637 |
if($id !== $node_id) { $pass = false; }
|
638 |
}
|
@@ -818,7 +818,7 @@ class simple_html_dom_node
|
|
818 |
* anything (since the words are separated by spaces). Also if
|
819 |
* "val" is the empty string, it will never represent anything.
|
820 |
*/
|
821 |
-
return in_array($pattern, explode(' ', trim($value)), true);
|
822 |
}
|
823 |
return false;
|
824 |
}
|
@@ -876,7 +876,7 @@ class simple_html_dom_node
|
|
876 |
|
877 |
preg_match_all(
|
878 |
$pattern,
|
879 |
-
trim($selector_string) . ' ', // Add final ' ' as pseudo separator
|
880 |
$matches,
|
881 |
PREG_SET_ORDER
|
882 |
);
|
@@ -889,7 +889,7 @@ class simple_html_dom_node
|
|
889 |
$result = array();
|
890 |
|
891 |
foreach ($matches as $m) {
|
892 |
-
$m[0] = trim($m[0]);
|
893 |
|
894 |
// Skip NoOps
|
895 |
if ($m[0] === '' || $m[0] === '/' || $m[0] === '//') { continue; }
|
@@ -915,7 +915,7 @@ class simple_html_dom_node
|
|
915 |
if($m[4] !== '') {
|
916 |
preg_match_all(
|
917 |
"/\[@?(!?[\w:-]+)(?:([!*^$|~]?=)[\"']?(.*?)[\"']?)?(?:\s+?([iIsS])?)?\]/is",
|
918 |
-
trim($m[4]),
|
919 |
$attributes,
|
920 |
PREG_SET_ORDER
|
921 |
);
|
@@ -925,7 +925,7 @@ class simple_html_dom_node
|
|
925 |
|
926 |
foreach($attributes as $att) {
|
927 |
// Skip empty matches
|
928 |
-
if(trim($att[0]) === '') { continue; }
|
929 |
|
930 |
$inverted = (isset($att[1][0]) && $att[1][0] === '!');
|
931 |
$m[4][] = array(
|
@@ -939,10 +939,10 @@ class simple_html_dom_node
|
|
939 |
}
|
940 |
|
941 |
// Sanitize Separator
|
942 |
-
if ($m[5] !== '' && trim($m[5]) === '') { // Descendant Separator
|
943 |
$m[5] = ' ';
|
944 |
} else { // Other Separator
|
945 |
-
$m[5] = trim($m[5]);
|
946 |
}
|
947 |
|
948 |
// Clear Separator if it's a Selector List
|
@@ -1625,7 +1625,7 @@ class simple_html_dom
|
|
1625 |
{
|
1626 |
$this->clear();
|
1627 |
|
1628 |
-
$this->doc = trim($str);
|
1629 |
$this->size = strlen($this->doc);
|
1630 |
$this->original_size = $this->size; // original size of the html
|
1631 |
$this->pos = 0;
|
@@ -2115,7 +2115,7 @@ class simple_html_dom
|
|
2115 |
// PaperG: If this is a "class" selector, lets get rid of the preceeding
|
2116 |
// and trailing space since some people leave it in the multi class case.
|
2117 |
if ($name === 'class') {
|
2118 |
-
$value = trim($value);
|
2119 |
}
|
2120 |
|
2121 |
if (!$is_duplicate) {
|
444 |
foreach ($this->nodes as $n) {
|
445 |
// Start paragraph after a blank line
|
446 |
if ($n->tag === 'p') {
|
447 |
+
$ret = trim($ret ?: '') . "\n\n";
|
448 |
}
|
449 |
|
450 |
$ret .= $this->convert_text($n->text());
|
632 |
// Check if ID matches
|
633 |
if ($pass && $id !== '' && isset($node->attr['id'])) {
|
634 |
// Note: Only consider the first ID (as browsers do)
|
635 |
+
$node_id = explode(' ', trim($node->attr['id'] ?: ''))[0];
|
636 |
|
637 |
if($id !== $node_id) { $pass = false; }
|
638 |
}
|
818 |
* anything (since the words are separated by spaces). Also if
|
819 |
* "val" is the empty string, it will never represent anything.
|
820 |
*/
|
821 |
+
return in_array($pattern, explode(' ', trim($value ?: '')), true);
|
822 |
}
|
823 |
return false;
|
824 |
}
|
876 |
|
877 |
preg_match_all(
|
878 |
$pattern,
|
879 |
+
trim($selector_string ?: '') . ' ', // Add final ' ' as pseudo separator
|
880 |
$matches,
|
881 |
PREG_SET_ORDER
|
882 |
);
|
889 |
$result = array();
|
890 |
|
891 |
foreach ($matches as $m) {
|
892 |
+
$m[0] = trim($m[0] ?: '');
|
893 |
|
894 |
// Skip NoOps
|
895 |
if ($m[0] === '' || $m[0] === '/' || $m[0] === '//') { continue; }
|
915 |
if($m[4] !== '') {
|
916 |
preg_match_all(
|
917 |
"/\[@?(!?[\w:-]+)(?:([!*^$|~]?=)[\"']?(.*?)[\"']?)?(?:\s+?([iIsS])?)?\]/is",
|
918 |
+
trim($m[4] ?: ''),
|
919 |
$attributes,
|
920 |
PREG_SET_ORDER
|
921 |
);
|
925 |
|
926 |
foreach($attributes as $att) {
|
927 |
// Skip empty matches
|
928 |
+
if(trim($att[0] ?: '') === '') { continue; }
|
929 |
|
930 |
$inverted = (isset($att[1][0]) && $att[1][0] === '!');
|
931 |
$m[4][] = array(
|
939 |
}
|
940 |
|
941 |
// Sanitize Separator
|
942 |
+
if ($m[5] !== '' && trim($m[5] ?: '') === '') { // Descendant Separator
|
943 |
$m[5] = ' ';
|
944 |
} else { // Other Separator
|
945 |
+
$m[5] = trim($m[5] ?: '');
|
946 |
}
|
947 |
|
948 |
// Clear Separator if it's a Selector List
|
1625 |
{
|
1626 |
$this->clear();
|
1627 |
|
1628 |
+
$this->doc = trim($str ?: '');
|
1629 |
$this->size = strlen($this->doc);
|
1630 |
$this->original_size = $this->size; // original size of the html
|
1631 |
$this->pos = 0;
|
2115 |
// PaperG: If this is a "class" selector, lets get rid of the preceeding
|
2116 |
// and trailing space since some people leave it in the multi class case.
|
2117 |
if ($name === 'class') {
|
2118 |
+
$value = trim($value ?: '');
|
2119 |
}
|
2120 |
|
2121 |
if (!$is_duplicate) {
|
iubenda_cookie_solution.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: An All-in-One approach developed by iubenda, which includes functionalities of two powerful solutions that help to make your website GDPR and ePrivacy compliant.
|
6 |
-
Version: 3.2.
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
@@ -36,7 +36,7 @@ define( 'IUB_DEBUG', false );
|
|
36 |
* @property IubendaLegalBlock $block
|
37 |
*
|
38 |
* @class iubenda
|
39 |
-
* @version 3.2.
|
40 |
*/
|
41 |
class iubenda {
|
42 |
|
@@ -94,7 +94,7 @@ class iubenda {
|
|
94 |
)
|
95 |
);
|
96 |
public $base_url;
|
97 |
-
public $version = '3.2.
|
98 |
public $activation = array(
|
99 |
'update_version' => 0,
|
100 |
'update_notice' => true,
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: An All-in-One approach developed by iubenda, which includes functionalities of two powerful solutions that help to make your website GDPR and ePrivacy compliant.
|
6 |
+
Version: 3.2.2
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
36 |
* @property IubendaLegalBlock $block
|
37 |
*
|
38 |
* @class iubenda
|
39 |
+
* @version 3.2.2
|
40 |
*/
|
41 |
class iubenda {
|
42 |
|
94 |
)
|
95 |
);
|
96 |
public $base_url;
|
97 |
+
public $version = '3.2.2';
|
98 |
public $activation = array(
|
99 |
'update_version' => 0,
|
100 |
'update_notice' => true,
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: cookie banner, cookie law, eprivacy, gdpr, ukgdpr, ccpa, caloppa, lgpd, ds
|
|
5 |
Requires at least: 5.0
|
6 |
Requires PHP: 7.0.0
|
7 |
Tested up to: 6.0
|
8 |
-
Stable tag: 3.2.
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
@@ -254,6 +254,9 @@ The Brazilian General Data Protection Law, the ***Lei Geral de Proteção de Dad
|
|
254 |
|
255 |
== Changelog ==
|
256 |
|
|
|
|
|
|
|
257 |
= 3.2.1 =
|
258 |
* Bugfix: Show Iubenda legal block in WP Block Editor
|
259 |
|
@@ -713,5 +716,5 @@ The Brazilian General Data Protection Law, the ***Lei Geral de Proteção de Dad
|
|
713 |
|
714 |
== Upgrade Notice ==
|
715 |
|
716 |
-
= 3.2.
|
717 |
-
*
|
5 |
Requires at least: 5.0
|
6 |
Requires PHP: 7.0.0
|
7 |
Tested up to: 6.0
|
8 |
+
Stable tag: 3.2.2
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
254 |
|
255 |
== Changelog ==
|
256 |
|
257 |
+
= 3.2.2 =
|
258 |
+
* Add analytics to the plugin
|
259 |
+
|
260 |
= 3.2.1 =
|
261 |
* Bugfix: Show Iubenda legal block in WP Block Editor
|
262 |
|
716 |
|
717 |
== Upgrade Notice ==
|
718 |
|
719 |
+
= 3.2.2 =
|
720 |
+
* Add analytics to the plugin
|
views/frontpage.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
<hr>
|
7 |
<div class="welcome-screen-footer p-5">
|
8 |
<h3 class="text-md text-normal m-0 mb-3"><?php _e("Let's configure your website for compliance.", 'iubenda') ?></h3>
|
9 |
-
<a class="btn btn-green-primary btn-lg show-modal"
|
10 |
</div>
|
11 |
</div>
|
12 |
|
6 |
<hr>
|
7 |
<div class="welcome-screen-footer p-5">
|
8 |
<h3 class="text-md text-normal m-0 mb-3"><?php _e("Let's configure your website for compliance.", 'iubenda') ?></h3>
|
9 |
+
<a class="btn btn-green-primary btn-lg show-modal" data-modal-name="#modal-setup-screen" href="javascript:void(0)" onclick="_paq.push(['trackEvent', 'Click', 'Help me get compliant!']);"><?php _e('Help me get compliant!', 'iubenda') ?></a>
|
10 |
</div>
|
11 |
</div>
|
12 |
|
views/partials/modals/modal_almost_there.php
CHANGED
@@ -71,7 +71,7 @@
|
|
71 |
<?php endforeach; ?>
|
72 |
|
73 |
<div class="text-center">
|
74 |
-
<button type="submit" class="btn btn-green-primary btn-sm mt-5 hidden" id="submit-btn">
|
75 |
<span class="button__text"><?php _e('Synchronize products', 'iubenda') ?></span>
|
76 |
</button>
|
77 |
</div>
|
71 |
<?php endforeach; ?>
|
72 |
|
73 |
<div class="text-center">
|
74 |
+
<button type="submit" class="btn btn-green-primary btn-sm mt-5 hidden" id="submit-btn" onclick="_paq.push(['trackEvent', 'Click', 'Synchronize products']);">
|
75 |
<span class="button__text"><?php _e('Synchronize products', 'iubenda') ?></span>
|
76 |
</button>
|
77 |
</div>
|
views/partials/modals/modal_no_website_found.php
CHANGED
@@ -7,8 +7,8 @@
|
|
7 |
</h1>
|
8 |
<p class="mb-4"><?php _e('It seems that it is not possible to access your data with the code you pasted, do you want to try again or do you prefer to start configuring your website from scratch?', 'iubenda') ?></p>
|
9 |
|
10 |
-
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 hide-modal" data-modal-name="#modal-no-website-found" href="javascript:void(0)"><?php _e('Try again', 'iubenda') ?></button>
|
11 |
-
<div class="btn btn-gray-lighter btn-block btn-sm show-modal" data-modal-name="#modal-setup-screen"> <?php _e('I want to start from scratch', 'iubenda') ?></div>
|
12 |
</div>
|
13 |
</div>
|
14 |
</div>
|
7 |
</h1>
|
8 |
<p class="mb-4"><?php _e('It seems that it is not possible to access your data with the code you pasted, do you want to try again or do you prefer to start configuring your website from scratch?', 'iubenda') ?></p>
|
9 |
|
10 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 hide-modal" data-modal-name="#modal-no-website-found" href="javascript:void(0)" onclick="_paq.push(['trackEvent', 'Click', 'Try again']);"><?php _e('Try again', 'iubenda') ?></button>
|
11 |
+
<div class="btn btn-gray-lighter btn-block btn-sm show-modal" data-modal-name="#modal-setup-screen" onclick="_paq.push(['trackEvent', 'Click', 'I want to start from scratch']);"> <?php _e('I want to start from scratch', 'iubenda') ?></div>
|
12 |
</div>
|
13 |
</div>
|
14 |
</div>
|
views/partials/modals/modal_select_language.php
CHANGED
@@ -65,6 +65,7 @@
|
|
65 |
};
|
66 |
|
67 |
function iubendaQuickGeneratorCallback(payload) {
|
|
|
68 |
jQuery.ajax({
|
69 |
type: "POST",
|
70 |
dataType: "json",
|
65 |
};
|
66 |
|
67 |
function iubendaQuickGeneratorCallback(payload) {
|
68 |
+
_paq.push(['trackEvent', 'Event', 'Quick generator api done']);
|
69 |
jQuery.ajax({
|
70 |
type: "POST",
|
71 |
dataType: "json",
|
views/partials/modals/modal_sync.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
<h1 class="text-lg mb-4">
|
4 |
<?php _e('First of all, tell us if you already use our products for this website or if you want to start from scratch', 'iubenda') ?>
|
5 |
</h1>
|
6 |
-
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 show-modal" data-modal-name="#modal-have-existing-products"><?php _e('I’ve already made the set up on iubenda.com', 'iubenda') ?></button>
|
7 |
<div class="mb-3"><?php _e('or', 'iubenda') ?></div>
|
8 |
-
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 show-modal" data-modal-name="#modal-select-language"><?php _e('I want to start from scratch', 'iubenda') ?></button>
|
9 |
</div>
|
3 |
<h1 class="text-lg mb-4">
|
4 |
<?php _e('First of all, tell us if you already use our products for this website or if you want to start from scratch', 'iubenda') ?>
|
5 |
</h1>
|
6 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 show-modal" data-modal-name="#modal-have-existing-products" onclick="_paq.push(['trackEvent', 'Click', 'I’ve already made the set up on iubenda.com']);"><?php _e('I’ve already made the set up on iubenda.com', 'iubenda') ?></button>
|
7 |
<div class="mb-3"><?php _e('or', 'iubenda') ?></div>
|
8 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 show-modal" data-modal-name="#modal-select-language" onclick="_paq.push(['trackEvent', 'Click', 'I want to start from scratch']);"><?php _e('I want to start from scratch', 'iubenda') ?></button>
|
9 |
</div>
|
views/partials/product-card.php
CHANGED
@@ -45,7 +45,7 @@
|
|
45 |
<label for="toggle-<?php echo $serviceKey; ?>"></label>
|
46 |
<p class="notification text-xs text-bold text-gray-lighter ml-2" id="<?php echo "iubenda-{$serviceKey}-status-label" ?>" data-status-label-off="<?php _e('Service off', 'iubenda') ?>"><?php $serviceOptions['status']=='true' ? _e('Service on', 'iubenda') : _e('Service off', 'iubenda') ?></p>
|
47 |
</div>
|
48 |
-
<a class="btn btn-gray-lighter btn-xs" href="<?php echo add_query_arg(array('view' => "$serviceKey-configuration"), iubenda()->base_url ); ?>"><?php _e('Configure', 'iubenda') ?></a>
|
49 |
</div>
|
50 |
|
51 |
</div>
|
45 |
<label for="toggle-<?php echo $serviceKey; ?>"></label>
|
46 |
<p class="notification text-xs text-bold text-gray-lighter ml-2" id="<?php echo "iubenda-{$serviceKey}-status-label" ?>" data-status-label-off="<?php _e('Service off', 'iubenda') ?>"><?php $serviceOptions['status']=='true' ? _e('Service on', 'iubenda') : _e('Service off', 'iubenda') ?></p>
|
47 |
</div>
|
48 |
+
<a class="btn btn-gray-lighter btn-xs" href="<?php echo add_query_arg(array('view' => "$serviceKey-configuration"), iubenda()->base_url ); ?>" onclick="_paq.push(['trackEvent', 'Click', '<?php echo $serviceOptions['label']. " configuration" ?>']);"><?php _e('Configure', 'iubenda') ?></a>
|
49 |
</div>
|
50 |
|
51 |
</div>
|
views/partials/siteInfo.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
<p class="m-0 text-bold text-md"><?php _e('Your rating', 'iubenda') ?></p>
|
21 |
<span class="btn-reset link-underline-dashed text-gray show-modal show-rating-modal"><?php _e('How is it calculated?', 'iubenda') ?></span>
|
22 |
</div>
|
23 |
-
<div class="circularBar sm show-modal show-rating-modal" id="iubendaRadarCircularBar" data-perc="<?php echo iubenda()->serviceRating->services_percentage() ?>"></div>
|
24 |
</div>
|
25 |
</div>
|
26 |
<hr>
|
20 |
<p class="m-0 text-bold text-md"><?php _e('Your rating', 'iubenda') ?></p>
|
21 |
<span class="btn-reset link-underline-dashed text-gray show-modal show-rating-modal"><?php _e('How is it calculated?', 'iubenda') ?></span>
|
22 |
</div>
|
23 |
+
<div class="circularBar sm show-modal show-rating-modal" id="iubendaRadarCircularBar" data-perc="<?php echo iubenda()->serviceRating->services_percentage() ?>" onclick="_paq.push(['trackEvent', 'Click', 'How is it calculated?']);"></div>
|
24 |
</div>
|
25 |
</div>
|
26 |
<hr>
|