iubenda Cookie Solution for GDPR - Version 3.3.0

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 Icon 128x128 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 CHANGED
@@ -26,10 +26,16 @@ class CookieSolutionGenerator {
26
  $language = iubenda()->lang_current ?: iubenda()->lang_default;
27
  }
28
 
29
- // Workaround to solve return languages if has 'pt' language
30
- // polylang or wpml
31
- if($language == 'pt' || $language == 'pt-br'){
32
- $language = 'pt-BR';
 
 
 
 
 
 
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 Both
54
- if ($legislation == 'gdpr' || $legislation == 'both'){
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 Both
79
- if ($legislation == 'ccpa' || $legislation == 'both'){
80
  $csConfiguration['enableCcpa'] = true;
81
 
82
  // If Require Consent is Worldwide
@@ -88,8 +94,13 @@ class CookieSolutionGenerator {
88
  ';
89
  }
90
 
91
- // If legislation is CCPA
92
- if ($legislation == 'ccpa'){
 
 
 
 
 
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 == 'both') && true == iub_array_get($args, 'tcf')){
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 any pt iubenda language to any wordpress languages starts with pt
40
- if (strpos($iub_lang_code, 'pt_') === 0 && strpos($lower_wordpress_locale, 'pt') === 0) {
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') == 'both' ? 'GDPR/CCPA' : 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,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.2.6
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.6
40
  */
41
  class iubenda {
42
 
@@ -94,7 +94,7 @@ class iubenda {
94
  )
95
  );
96
  public $base_url;
97
- public $version = '3.2.6';
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
- // Check if cookie solution service is activated and configured
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-BR';
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.2.6
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.2.6 =
735
- * Add missing translation
736
- * Bugfix: remove display none to show the blocked scripts
737
- * Bugfix: Show PP & TC widgets/block after changing theme
738
- * Bugfix: Hide block/widget if the pp & tc not enabled
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="radioBoth" name="iubenda_cookie_law_solution[simplified][legislation]" value="both" <?php checked( 'both', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?>>
22
- <label for="radioBoth"><?php _e('Both', 'iubenda') ?></label>
 
 
 
 
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">