Version Description
- New: Support LGPD legislation.
- New: Support European Portuguese beside Brazilian Portuguese
- Tweak: Support Avada theme builder
- Bugfix: Check block/widget classes are supported
Download this release
Release Info
Developer | iubenda |
Plugin | iubenda Cookie Solution for GDPR |
Version | 3.3.0 |
Comparing to | |
See all releases |
Code changes from version 3.2.6 to 3.3.0
- includes/CookieSolutionGenerator.php +22 -11
- includes/LanguageHelper.php +5 -0
- includes/PrivacyPolicyGenerator.php +6 -1
- includes/ProductHelper.php +84 -0
- includes/QuickGeneratorService.php +3 -3
- includes/block/IubendaLegalBlock.php +5 -0
- includes/settings.php +5 -3
- includes/widget/IubendaLegalWidget.php +5 -0
- iubenda_cookie_solution.php +30 -6
- readme.txt +12 -6
- views/partials/csSimplifiedConfiguration.php +10 -6
includes/CookieSolutionGenerator.php
CHANGED
@@ -26,10 +26,16 @@ class CookieSolutionGenerator {
|
|
26 |
$language = iubenda()->lang_current ?: iubenda()->lang_default;
|
27 |
}
|
28 |
|
29 |
-
//
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
|
35 |
$beforeConfiguration = '
|
@@ -50,8 +56,8 @@ class CookieSolutionGenerator {
|
|
50 |
|
51 |
$legislation = iub_array_get($args, 'legislation');
|
52 |
|
53 |
-
// If legislation is GDPR or
|
54 |
-
if ($legislation == 'gdpr' || $legislation == '
|
55 |
$csConfiguration['consentOnContinuedBrowsing'] = false;
|
56 |
$csConfiguration['perPurposeConsent'] = true;
|
57 |
$csConfiguration['banner']['listPurposes'] = true;
|
@@ -75,8 +81,8 @@ class CookieSolutionGenerator {
|
|
75 |
}
|
76 |
}
|
77 |
|
78 |
-
// If legislation is CCPA or
|
79 |
-
if ($legislation == 'ccpa' || $legislation == '
|
80 |
$csConfiguration['enableCcpa'] = true;
|
81 |
|
82 |
// If Require Consent is Worldwide
|
@@ -88,8 +94,13 @@ class CookieSolutionGenerator {
|
|
88 |
';
|
89 |
}
|
90 |
|
91 |
-
// If legislation is
|
92 |
-
if ($legislation == '
|
|
|
|
|
|
|
|
|
|
|
93 |
// If Require Consent is Worldwide
|
94 |
if(iub_array_get($args, 'require_consent') == 'worldwide'){
|
95 |
$csConfiguration['enableGdpr'] = false;
|
@@ -97,7 +108,7 @@ class CookieSolutionGenerator {
|
|
97 |
}
|
98 |
|
99 |
// conditions on TCF is enabled
|
100 |
-
if (($legislation == 'gdpr' || $legislation == '
|
101 |
$csConfiguration['enableTcf'] = true;
|
102 |
$csConfiguration['banner']['closeButtonRejects'] = true;
|
103 |
$csConfiguration['tcfPurposes']['1'] = true;
|
26 |
$language = iubenda()->lang_current ?: iubenda()->lang_default;
|
27 |
}
|
28 |
|
29 |
+
// Special handling if the language is pt-pt
|
30 |
+
if(strtolower($language) == 'pt-pt'){
|
31 |
+
$language = 'pt';
|
32 |
+
}
|
33 |
+
|
34 |
+
// Special handling if the language has a country to replace the country code with capital letters
|
35 |
+
if(strpos($language, '-')){
|
36 |
+
$language = explode('-', $language);
|
37 |
+
$language[1] = strtoupper($language[1]);
|
38 |
+
$language = implode('-', $language);
|
39 |
}
|
40 |
|
41 |
$beforeConfiguration = '
|
56 |
|
57 |
$legislation = iub_array_get($args, 'legislation');
|
58 |
|
59 |
+
// If legislation is GDPR or LGPD or All
|
60 |
+
if ($legislation == 'gdpr' || $legislation == 'lgpd' || $legislation == 'all'){
|
61 |
$csConfiguration['consentOnContinuedBrowsing'] = false;
|
62 |
$csConfiguration['perPurposeConsent'] = true;
|
63 |
$csConfiguration['banner']['listPurposes'] = true;
|
81 |
}
|
82 |
}
|
83 |
|
84 |
+
// If legislation is CCPA or All
|
85 |
+
if ($legislation == 'ccpa' || $legislation == 'all'){
|
86 |
$csConfiguration['enableCcpa'] = true;
|
87 |
|
88 |
// If Require Consent is Worldwide
|
94 |
';
|
95 |
}
|
96 |
|
97 |
+
// If legislation is LGDP or All
|
98 |
+
if ($legislation == 'lgpd' || $legislation == 'all'){
|
99 |
+
$csConfiguration['enableLgpd'] = true;
|
100 |
+
}
|
101 |
+
|
102 |
+
// If legislation is CCPA or LGPD
|
103 |
+
if ($legislation == 'ccpa' || $legislation == 'lgpd'){
|
104 |
// If Require Consent is Worldwide
|
105 |
if(iub_array_get($args, 'require_consent') == 'worldwide'){
|
106 |
$csConfiguration['enableGdpr'] = false;
|
108 |
}
|
109 |
|
110 |
// conditions on TCF is enabled
|
111 |
+
if (($legislation == 'gdpr' || $legislation == 'all') && true == iub_array_get($args, 'tcf')){
|
112 |
$csConfiguration['enableTcf'] = true;
|
113 |
$csConfiguration['banner']['closeButtonRejects'] = true;
|
114 |
$csConfiguration['tcfPurposes']['1'] = true;
|
includes/LanguageHelper.php
CHANGED
@@ -49,6 +49,11 @@ class LanguageHelper {
|
|
49 |
elseif (is_plugin_active('sitepress-multilingual-cms/sitepress.php') && class_exists('SitePress')) {
|
50 |
global $sitepress;
|
51 |
$website_language_code = $sitepress->get_default_language();
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
else {
|
54 |
$website_language_code = iub_array_get(iubenda()->lang_mapping, get_locale());
|
49 |
elseif (is_plugin_active('sitepress-multilingual-cms/sitepress.php') && class_exists('SitePress')) {
|
50 |
global $sitepress;
|
51 |
$website_language_code = $sitepress->get_default_language();
|
52 |
+
|
53 |
+
// Special handling if the default language is pt-pt
|
54 |
+
if($website_language_code == 'pt-pt'){
|
55 |
+
$website_language_code = 'pt';
|
56 |
+
}
|
57 |
}
|
58 |
else {
|
59 |
$website_language_code = iub_array_get(iubenda()->lang_mapping, get_locale());
|
includes/PrivacyPolicyGenerator.php
CHANGED
@@ -21,8 +21,13 @@ class PrivacyPolicyGenerator {
|
|
21 |
}
|
22 |
$privacyTitle = 'Privacy Policy';
|
23 |
|
|
|
|
|
|
|
|
|
|
|
24 |
// If the language has translation in iubenda plugin
|
25 |
-
$language_code = array_search($language, iubenda()->lang_mapping) ?: null;
|
26 |
if($language_code){
|
27 |
$privacyTitle = __iub_trans('Privacy Policy', $language_code);
|
28 |
}
|
21 |
}
|
22 |
$privacyTitle = 'Privacy Policy';
|
23 |
|
24 |
+
// Handle if the website is single language
|
25 |
+
if ($language == 'default') {
|
26 |
+
$language = iubenda()->lang_current ?: iubenda()->lang_default;
|
27 |
+
}
|
28 |
+
|
29 |
// If the language has translation in iubenda plugin
|
30 |
+
$language_code = array_search(strtolower($language), array_map('strtolower', iubenda()->lang_mapping)) ?: null;
|
31 |
if($language_code){
|
32 |
$privacyTitle = __iub_trans('Privacy Policy', $language_code);
|
33 |
}
|
includes/ProductHelper.php
CHANGED
@@ -152,4 +152,88 @@ class ProductHelper
|
|
152 |
|
153 |
return $iubenda_intersect_supported_langs;
|
154 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
}
|
152 |
|
153 |
return $iubenda_intersect_supported_langs;
|
154 |
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Check if iubenda service is enabled
|
158 |
+
*
|
159 |
+
* @param $service
|
160 |
+
* @return bool
|
161 |
+
*/
|
162 |
+
private function is_iub_service_enabled($service): bool {
|
163 |
+
return boolval(iub_array_get(iubenda()->settings->services, "{$service}.status") == 'true');
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Check if CS service is enabled
|
168 |
+
*
|
169 |
+
*/
|
170 |
+
public function is_cs_service_enabled(): bool {
|
171 |
+
return $this->is_iub_service_enabled('cs');
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Check if PP service is enabled
|
176 |
+
*
|
177 |
+
*/
|
178 |
+
public function is_pp_service_enabled(): bool {
|
179 |
+
return $this->is_iub_service_enabled('pp');
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Check if TC service is enabled
|
184 |
+
*
|
185 |
+
*/
|
186 |
+
public function is_tc_service_enabled(): bool {
|
187 |
+
return $this->is_iub_service_enabled('tc');
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Check if CONS service is enabled
|
192 |
+
*
|
193 |
+
*/
|
194 |
+
public function is_cons_service_enabled(): bool {
|
195 |
+
return $this->is_iub_service_enabled('cons');
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Check if iubenda service is configured
|
200 |
+
*
|
201 |
+
* @param $service
|
202 |
+
* @return bool
|
203 |
+
*/
|
204 |
+
private function is_iub_service_configured($service): bool {
|
205 |
+
return boolval(iub_array_get(iubenda()->settings->services, "{$service}.configured") == 'true');
|
206 |
+
}
|
207 |
+
|
208 |
+
/**
|
209 |
+
* Check if CS service is configured
|
210 |
+
*
|
211 |
+
*/
|
212 |
+
public function is_cs_service_configured(): bool {
|
213 |
+
return $this->is_iub_service_configured('cs');
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Check if PP service is configured
|
218 |
+
*
|
219 |
+
*/
|
220 |
+
public function is_pp_service_configured(): bool {
|
221 |
+
return $this->is_iub_service_configured('pp');
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Check if TC service is configured
|
226 |
+
*
|
227 |
+
*/
|
228 |
+
public function is_tc_service_configured(): bool {
|
229 |
+
return $this->is_iub_service_configured('tc');
|
230 |
+
}
|
231 |
+
|
232 |
+
/**
|
233 |
+
* Check if CONS service is configured
|
234 |
+
*
|
235 |
+
*/
|
236 |
+
public function is_cons_service_configured(): bool {
|
237 |
+
return $this->is_iub_service_configured('cons');
|
238 |
+
}
|
239 |
}
|
includes/QuickGeneratorService.php
CHANGED
@@ -36,14 +36,14 @@ class QuickGeneratorService
|
|
36 |
continue;
|
37 |
}
|
38 |
|
39 |
-
// Map
|
40 |
-
if (
|
41 |
$result[] = $lang_code;
|
42 |
continue;
|
43 |
}
|
44 |
|
45 |
// Cases iubenda languages without _ mapped to
|
46 |
-
if ($iub_lang_code == strstr($lower_wordpress_locale, '_', true)) {
|
47 |
$result[] = $lang_code;
|
48 |
continue;
|
49 |
}
|
36 |
continue;
|
37 |
}
|
38 |
|
39 |
+
// Map pt iubenda language to pt-pt
|
40 |
+
if ($iub_lang_code == 'pt' && $lower_wordpress_locale == 'pt_pt') {
|
41 |
$result[] = $lang_code;
|
42 |
continue;
|
43 |
}
|
44 |
|
45 |
// Cases iubenda languages without _ mapped to
|
46 |
+
if ($iub_lang_code == strstr($lower_wordpress_locale, '_', true) && $iub_lang_code != 'pt') {
|
47 |
$result[] = $lang_code;
|
48 |
continue;
|
49 |
}
|
includes/block/IubendaLegalBlock.php
CHANGED
@@ -314,6 +314,11 @@ class IubendaLegalBlock
|
|
314 |
return;
|
315 |
}
|
316 |
|
|
|
|
|
|
|
|
|
|
|
317 |
$block_registry = WP_Block_Patterns_Registry::get_instance();
|
318 |
|
319 |
foreach ( $block_registry->get_all_registered() as $block) {
|
314 |
return;
|
315 |
}
|
316 |
|
317 |
+
// Check if WP_Block_Patterns_Registry is exist
|
318 |
+
if (!class_exists('WP_Block_Patterns_Registry', false)) {
|
319 |
+
return;
|
320 |
+
}
|
321 |
+
|
322 |
$block_registry = WP_Block_Patterns_Registry::get_instance();
|
323 |
|
324 |
foreach ( $block_registry->get_all_registered() as $block) {
|
includes/settings.php
CHANGED
@@ -1114,7 +1114,7 @@ class iubenda_Settings {
|
|
1114 |
private function services_option() {
|
1115 |
$cs_settings = [];
|
1116 |
if(iub_array_get(iubenda()->options['cs'], 'configuration_type') == 'simplified'){
|
1117 |
-
$legislation = iub_array_get(iubenda()->options['cs'], 'simplified.legislation') == '
|
1118 |
$cs_settings = [
|
1119 |
['label' => __('Style', 'iubenda'), 'value' => ucwords(iub_array_get(iubenda()->options['cs'], 'simplified.banner_style'))],
|
1120 |
['label' => __('Position', 'iubenda'), 'value' => ucwords(iub_array_get(iubenda()->options['cs'], 'simplified.position'))],
|
@@ -1129,10 +1129,12 @@ class iubenda_Settings {
|
|
1129 |
$options = iubenda()->parse_configuration($code);
|
1130 |
|
1131 |
$style = iub_array_get($banner, 'backgroundColor') ? 'White' : 'Dark';
|
1132 |
-
if(iub_array_get($options, 'enableGdpr') === null && iub_array_get($options, 'ccpaApplies') == 1){
|
1133 |
-
$legislation = 'GDPR/CCPA';
|
1134 |
}elseif(iub_array_get($options, 'enableGdpr') === null){
|
1135 |
$legislation = 'GDPR';
|
|
|
|
|
1136 |
}else{
|
1137 |
$legislation = 'CCPA';
|
1138 |
}
|
1114 |
private function services_option() {
|
1115 |
$cs_settings = [];
|
1116 |
if(iub_array_get(iubenda()->options['cs'], 'configuration_type') == 'simplified'){
|
1117 |
+
$legislation = iub_array_get(iubenda()->options['cs'], 'simplified.legislation') == 'all' ? 'GDPR/CCPA/LGPD' : strtoupper(iub_array_get(iubenda()->options['cs'], 'simplified.legislation'));
|
1118 |
$cs_settings = [
|
1119 |
['label' => __('Style', 'iubenda'), 'value' => ucwords(iub_array_get(iubenda()->options['cs'], 'simplified.banner_style'))],
|
1120 |
['label' => __('Position', 'iubenda'), 'value' => ucwords(iub_array_get(iubenda()->options['cs'], 'simplified.position'))],
|
1129 |
$options = iubenda()->parse_configuration($code);
|
1130 |
|
1131 |
$style = iub_array_get($banner, 'backgroundColor') ? 'White' : 'Dark';
|
1132 |
+
if(iub_array_get($options, 'enableGdpr') === null && iub_array_get($options, 'ccpaApplies') == 1 && iub_array_get($options, 'enableLgpd') == 1){
|
1133 |
+
$legislation = 'GDPR/CCPA/LGPD';
|
1134 |
}elseif(iub_array_get($options, 'enableGdpr') === null){
|
1135 |
$legislation = 'GDPR';
|
1136 |
+
}elseif(iub_array_get($options, 'enableLgpd') == 1){
|
1137 |
+
$legislation = 'LGPD';
|
1138 |
}else{
|
1139 |
$legislation = 'CCPA';
|
1140 |
}
|
includes/widget/IubendaLegalWidget.php
CHANGED
@@ -206,6 +206,11 @@ class IubendaLegalWidget extends WP_Widget
|
|
206 |
return;
|
207 |
}
|
208 |
|
|
|
|
|
|
|
|
|
|
|
209 |
// Iubenda widget in not activated in sidebar and sidebar-1 is registered and activated
|
210 |
wp_assign_widget_to_sidebar("{$this->widget_id}-1", 'sidebar-1');
|
211 |
}
|
206 |
return;
|
207 |
}
|
208 |
|
209 |
+
// Check if wp_assign_widget_to_sidebar is exist
|
210 |
+
if (!function_exists('wp_assign_widget_to_sidebar')) {
|
211 |
+
return;
|
212 |
+
}
|
213 |
+
|
214 |
// Iubenda widget in not activated in sidebar and sidebar-1 is registered and activated
|
215 |
wp_assign_widget_to_sidebar("{$this->widget_id}-1", 'sidebar-1');
|
216 |
}
|
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: The iubenda plugin is an <strong>all-in-one</strong>, extremely easy to use 360° compliance solution, with text crafted by actual lawyers, that quickly <strong>scans your site and auto-configures to match your specific setup</strong>. It supports the GDPR (DSGVO, RGPD), UK-GDPR, ePrivacy, LGPD, CCPA, CalOPPA, PECR and more.
|
6 |
-
Version: 3.
|
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.
|
40 |
*/
|
41 |
class iubenda {
|
42 |
|
@@ -94,7 +94,7 @@ class iubenda {
|
|
94 |
)
|
95 |
);
|
96 |
public $base_url;
|
97 |
-
public $version = '3.
|
98 |
public $activation = array(
|
99 |
'update_version' => 0,
|
100 |
'update_notice' => true,
|
@@ -117,6 +117,7 @@ class iubenda {
|
|
117 |
'de_DE' =>'de',
|
118 |
'it_IT' =>'it',
|
119 |
'pt_BR' =>'pt-BR',
|
|
|
120 |
'ru_RU' =>'ru',
|
121 |
'es_ES' =>'es',
|
122 |
];
|
@@ -128,6 +129,7 @@ class iubenda {
|
|
128 |
'de' => 'German',
|
129 |
'it' => 'Italian',
|
130 |
'pt-BR' => 'Portuguese (BR)',
|
|
|
131 |
'ru' => 'Russian',
|
132 |
'es' => 'Spanish',
|
133 |
];
|
@@ -466,8 +468,7 @@ class iubenda {
|
|
466 |
* @return mixed
|
467 |
*/
|
468 |
public function wp_head_cs() {
|
469 |
-
|
470 |
-
if(boolval(iub_array_get($this->settings->services, 'cs.status') !== 'true') || boolval(iub_array_get($this->settings->services, 'cs.configured') !== 'true')){
|
471 |
return;
|
472 |
}
|
473 |
|
@@ -496,6 +497,11 @@ class iubenda {
|
|
496 |
return;
|
497 |
}
|
498 |
|
|
|
|
|
|
|
|
|
|
|
499 |
// initial head output
|
500 |
$iubenda_code = '';
|
501 |
|
@@ -606,6 +612,10 @@ class iubenda {
|
|
606 |
)
|
607 |
return $output;
|
608 |
|
|
|
|
|
|
|
|
|
609 |
// bail on admin side
|
610 |
if ( is_admin() )
|
611 |
return $output;
|
@@ -640,6 +650,11 @@ class iubenda {
|
|
640 |
return $output;
|
641 |
}
|
642 |
|
|
|
|
|
|
|
|
|
|
|
643 |
// bail if the current page is page builder for any theme
|
644 |
if (is_customize_preview()) {
|
645 |
return $output;
|
@@ -1095,7 +1110,7 @@ class iubenda {
|
|
1095 |
// Workaround to solve return languages if has 'pt' language
|
1096 |
if($key = array_search('pt_PT', $locale_languages)){
|
1097 |
unset($locale_languages[$key]);
|
1098 |
-
$iub_languages[] = 'pt
|
1099 |
}
|
1100 |
if($key = array_search('pt_BR', $locale_languages)){
|
1101 |
unset($locale_languages[$key]);
|
@@ -1256,6 +1271,15 @@ class iubenda {
|
|
1256 |
return false;
|
1257 |
}
|
1258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1259 |
}
|
1260 |
|
1261 |
if (!function_exists('iub_array_get')) {
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: The iubenda plugin is an <strong>all-in-one</strong>, extremely easy to use 360° compliance solution, with text crafted by actual lawyers, that quickly <strong>scans your site and auto-configures to match your specific setup</strong>. It supports the GDPR (DSGVO, RGPD), UK-GDPR, ePrivacy, LGPD, CCPA, CalOPPA, PECR and more.
|
6 |
+
Version: 3.3.0
|
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.3.0
|
40 |
*/
|
41 |
class iubenda {
|
42 |
|
94 |
)
|
95 |
);
|
96 |
public $base_url;
|
97 |
+
public $version = '3.3.0';
|
98 |
public $activation = array(
|
99 |
'update_version' => 0,
|
100 |
'update_notice' => true,
|
117 |
'de_DE' =>'de',
|
118 |
'it_IT' =>'it',
|
119 |
'pt_BR' =>'pt-BR',
|
120 |
+
'pt_PT' =>'pt',
|
121 |
'ru_RU' =>'ru',
|
122 |
'es_ES' =>'es',
|
123 |
];
|
129 |
'de' => 'German',
|
130 |
'it' => 'Italian',
|
131 |
'pt-BR' => 'Portuguese (BR)',
|
132 |
+
'pt' => 'Portuguese',
|
133 |
'ru' => 'Russian',
|
134 |
'es' => 'Spanish',
|
135 |
];
|
468 |
* @return mixed
|
469 |
*/
|
470 |
public function wp_head_cs() {
|
471 |
+
if (!$this->is_cs_service_enabled_and_configured()) {
|
|
|
472 |
return;
|
473 |
}
|
474 |
|
497 |
return;
|
498 |
}
|
499 |
|
500 |
+
// bail if current page is builder frame of (Fusion/Avada) theme
|
501 |
+
if ( function_exists( 'fusion_is_builder_frame' ) && fusion_is_builder_frame() ) {
|
502 |
+
return;
|
503 |
+
}
|
504 |
+
|
505 |
// initial head output
|
506 |
$iubenda_code = '';
|
507 |
|
612 |
)
|
613 |
return $output;
|
614 |
|
615 |
+
if (!$this->is_cs_service_enabled_and_configured()) {
|
616 |
+
return $output;
|
617 |
+
}
|
618 |
+
|
619 |
// bail on admin side
|
620 |
if ( is_admin() )
|
621 |
return $output;
|
650 |
return $output;
|
651 |
}
|
652 |
|
653 |
+
// bail if current page is builder frame of (Fusion/Avada) theme
|
654 |
+
if ( function_exists( 'fusion_is_builder_frame' ) && fusion_is_builder_frame() ) {
|
655 |
+
return $output;
|
656 |
+
}
|
657 |
+
|
658 |
// bail if the current page is page builder for any theme
|
659 |
if (is_customize_preview()) {
|
660 |
return $output;
|
1110 |
// Workaround to solve return languages if has 'pt' language
|
1111 |
if($key = array_search('pt_PT', $locale_languages)){
|
1112 |
unset($locale_languages[$key]);
|
1113 |
+
$iub_languages[] = 'pt';
|
1114 |
}
|
1115 |
if($key = array_search('pt_BR', $locale_languages)){
|
1116 |
unset($locale_languages[$key]);
|
1271 |
return false;
|
1272 |
}
|
1273 |
|
1274 |
+
/**
|
1275 |
+
* Check if cookie solution service is activated and configured
|
1276 |
+
*/
|
1277 |
+
private function is_cs_service_enabled_and_configured(): bool {
|
1278 |
+
$product_helper = new ProductHelper();
|
1279 |
+
|
1280 |
+
return ($product_helper->is_cs_service_enabled() && $product_helper->is_cs_service_configured());
|
1281 |
+
}
|
1282 |
+
|
1283 |
}
|
1284 |
|
1285 |
if (!function_exists('iub_array_get')) {
|
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.
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
@@ -254,6 +254,12 @@ The Brazilian General Data Protection Law, the ***Lei Geral de Proteção de Dad
|
|
254 |
|
255 |
== Changelog ==
|
256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
= 3.2.6 =
|
258 |
* Add missing translation
|
259 |
* Bugfix: remove display none to show the blocked scripts
|
@@ -731,8 +737,8 @@ The Brazilian General Data Protection Law, the ***Lei Geral de Proteção de Dad
|
|
731 |
|
732 |
== Upgrade Notice ==
|
733 |
|
734 |
-
= 3.
|
735 |
-
*
|
736 |
-
*
|
737 |
-
*
|
738 |
-
* Bugfix:
|
5 |
Requires at least: 5.0
|
6 |
Requires PHP: 7.0.0
|
7 |
Tested up to: 6.0
|
8 |
+
Stable tag: 3.3.0
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
254 |
|
255 |
== Changelog ==
|
256 |
|
257 |
+
= 3.3.0 =
|
258 |
+
* New: Support LGPD legislation.
|
259 |
+
* New: Support European Portuguese beside Brazilian Portuguese
|
260 |
+
* Tweak: Support Avada theme builder
|
261 |
+
* Bugfix: Check block/widget classes are supported
|
262 |
+
|
263 |
= 3.2.6 =
|
264 |
* Add missing translation
|
265 |
* Bugfix: remove display none to show the blocked scripts
|
737 |
|
738 |
== Upgrade Notice ==
|
739 |
|
740 |
+
= 3.3.0 =
|
741 |
+
* New: Support LGPD legislation.
|
742 |
+
* New: Support European Portuguese beside Brazilian Portuguese
|
743 |
+
* Tweak: Support Avada theme builder
|
744 |
+
* Bugfix: Check block/widget classes are supported
|
views/partials/csSimplifiedConfiguration.php
CHANGED
@@ -10,16 +10,20 @@
|
|
10 |
<div class="scrollable gap-fixer">
|
11 |
<fieldset class="d-flex radio-large">
|
12 |
<div class="radio-controller">
|
13 |
-
<input type="radio" id="radioGdpr" name="iubenda_cookie_law_solution[simplified][legislation]" value="gdpr" <?php checked( 'gdpr', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true )
|
14 |
<label for="radioGdpr"><?php _e('GDPR Only', 'iubenda') ?></label>
|
15 |
</div>
|
16 |
<div class="radio-controller">
|
17 |
-
<input type="radio" id="radioCcpa" name="iubenda_cookie_law_solution[simplified][legislation]" value="ccpa" <?php checked( 'ccpa', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true )
|
18 |
<label for="radioCcpa"><?php _e('CCPA Only', 'iubenda') ?></label>
|
19 |
</div>
|
20 |
<div class="radio-controller">
|
21 |
-
<input type="radio" id="
|
22 |
-
<label for="
|
|
|
|
|
|
|
|
|
23 |
</div>
|
24 |
</fieldset>
|
25 |
</div>
|
@@ -30,7 +34,7 @@
|
|
30 |
<div class="scrollable gap-fixer">
|
31 |
<fieldset class="d-flex radio-large">
|
32 |
<div class="radio-controller">
|
33 |
-
<input type="radio" id="radioWorldwide" name="iubenda_cookie_law_solution[simplified][require_consent]" value="worldwide" <?php checked( 'worldwide', iub_array_get(iubenda()->options['cs'], 'simplified.require_consent') )
|
34 |
<label for="radioWorldwide">
|
35 |
<div class="d-flex align-items-center">
|
36 |
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="30" viewBox="0 0 32 30">
|
@@ -45,7 +49,7 @@
|
|
45 |
</label>
|
46 |
</div>
|
47 |
<div class="radio-controller">
|
48 |
-
<input type="radio" id="radioEU" name="iubenda_cookie_law_solution[simplified][require_consent]" value="eu_only" <?php checked( 'eu_only', iub_array_get(iubenda()->options['cs'], 'simplified.require_consent'), true )
|
49 |
<label for="radioEU">
|
50 |
<div class=" d-flex align-items-center">
|
51 |
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="28" viewBox="0 0 30 28">
|
10 |
<div class="scrollable gap-fixer">
|
11 |
<fieldset class="d-flex radio-large">
|
12 |
<div class="radio-controller">
|
13 |
+
<input type="radio" id="radioGdpr" name="iubenda_cookie_law_solution[simplified][legislation]" value="gdpr" <?php checked( 'gdpr', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?> required>
|
14 |
<label for="radioGdpr"><?php _e('GDPR Only', 'iubenda') ?></label>
|
15 |
</div>
|
16 |
<div class="radio-controller">
|
17 |
+
<input type="radio" id="radioCcpa" name="iubenda_cookie_law_solution[simplified][legislation]" value="ccpa" <?php checked( 'ccpa', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?> required>
|
18 |
<label for="radioCcpa"><?php _e('CCPA Only', 'iubenda') ?></label>
|
19 |
</div>
|
20 |
<div class="radio-controller">
|
21 |
+
<input type="radio" id="radioLGPD" name="iubenda_cookie_law_solution[simplified][legislation]" value="lgpd" <?php checked( 'lgpd', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?> required>
|
22 |
+
<label for="radioLGPD"><?php _e('LGPD Only', 'iubenda') ?></label>
|
23 |
+
</div>
|
24 |
+
<div class="radio-controller">
|
25 |
+
<input type="radio" id="radioAll" name="iubenda_cookie_law_solution[simplified][legislation]" value="all" <?php checked( 'all', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?> required>
|
26 |
+
<label for="radioAll"><?php _e('All', 'iubenda') ?></label>
|
27 |
</div>
|
28 |
</fieldset>
|
29 |
</div>
|
34 |
<div class="scrollable gap-fixer">
|
35 |
<fieldset class="d-flex radio-large">
|
36 |
<div class="radio-controller">
|
37 |
+
<input type="radio" id="radioWorldwide" name="iubenda_cookie_law_solution[simplified][require_consent]" value="worldwide" <?php checked( 'worldwide', iub_array_get(iubenda()->options['cs'], 'simplified.require_consent') ) ?> required>
|
38 |
<label for="radioWorldwide">
|
39 |
<div class="d-flex align-items-center">
|
40 |
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="30" viewBox="0 0 32 30">
|
49 |
</label>
|
50 |
</div>
|
51 |
<div class="radio-controller">
|
52 |
+
<input type="radio" id="radioEU" name="iubenda_cookie_law_solution[simplified][require_consent]" value="eu_only" <?php checked( 'eu_only', iub_array_get(iubenda()->options['cs'], 'simplified.require_consent'), true ) ?> required>
|
53 |
<label for="radioEU">
|
54 |
<div class=" d-flex align-items-center">
|
55 |
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="28" viewBox="0 0 30 28">
|