iubenda Cookie Solution for GDPR - Version 2.0.1-beta

Version Description

  • New: Option to initialize iubenda CS on POST requests
  • Tweak: Update Cookie Solution and Consent Solution copy
Download this release

Release Info

Developer dfactory
Plugin Icon 128x128 iubenda Cookie Solution for GDPR
Version 2.0.1-beta
Comparing to
See all releases

Code changes from version 2.0-beta to 2.0.1-beta

css/admin.css CHANGED
@@ -80,7 +80,7 @@
80
  font-weight: bold;
81
  }
82
  #iubenda-tabs .postbox-container .widefat .table-label {
83
- min-width: 25%;
84
  }
85
  #iubenda-tabs .postbox-container .widefat thead td {
86
  border: none;
80
  font-weight: bold;
81
  }
82
  #iubenda-tabs .postbox-container .widefat .table-label {
83
+ width: 25%;
84
  }
85
  #iubenda-tabs .postbox-container .widefat thead td {
86
  border: none;
includes/forms.php CHANGED
@@ -37,6 +37,11 @@ class iubenda_Forms {
37
  if ( class_exists( 'WPCF7' ) ) {
38
  $this->sources['wpcf7'] = 'Contact Form 7';
39
  }
 
 
 
 
 
40
 
41
  $this->sources = apply_filters( 'iub_supported_form_sources', $this->sources );
42
 
@@ -61,7 +66,9 @@ class iubenda_Forms {
61
  'post_status' => array( 'mapped', 'needs_update' )
62
  );
63
 
64
- $forms = iubenda()->forms->get_forms( $form_args );
 
 
65
 
66
  if ( ! empty( $forms ) ) {
67
  // required form parameters
@@ -84,6 +91,8 @@ class iubenda_Forms {
84
  foreach ( $form_parameters as $parameter ) {
85
  $parameter_name = 'form_' . $parameter;
86
  $parameter_value = ! empty( $form->$parameter_name ) ? $form->$parameter_name : '';
 
 
87
 
88
  switch ( $parameter ) {
89
  case 'legal_notices' :
@@ -94,15 +103,27 @@ class iubenda_Forms {
94
  }
95
  break;
96
  default :
97
- if ( $parameter_value )
98
- $args[$form->form_source][$form->object_id]['form']['map'][$parameter] = $parameter_value;
 
 
 
 
 
 
 
 
 
 
 
 
99
  break;
100
  }
101
  }
102
  }
103
  }
104
 
105
- // echo '<pre>'; print_r( json_encode( $args ) ); echo '</pre>'; exit;
106
 
107
  wp_localize_script(
108
  'iubenda-forms',
@@ -209,7 +230,7 @@ class iubenda_Forms {
209
  // unset empty values
210
  if ( is_array( $metadata ) ) {
211
  foreach ( $metadata as $metadata_key => $metadata_value ) {
212
- if ( empty( $metadata_value ) && ! in_array( $metakey, array( 'form_legal_notices' ) ) )
213
  unset( $metadata[$metadata_key] );
214
  }
215
  }
@@ -320,11 +341,26 @@ class iubenda_Forms {
320
  $args['form_source'] = ! empty( $args['form_source'] ) && in_array( $args['form_source'], array_keys( $this->sources ) ) ? $args['form_source'] : '';
321
  $args['form_title'] = ! empty( $args['form_title'] ) ? esc_html( $args['form_title'] ) : '';
322
  $args['form_date'] = date( 'Y-m-d H:i:s', ( ! empty( $args['form_date'] ) ? strtotime( $args['form_date'] ) : current_time( 'mysql' ) ) );
323
- $args['form_fields'] = ! empty( $args['form_fields'] ) && is_array( $args['form_fields'] ) ? array_map( 'esc_attr', $args['form_fields'] ) : array();
324
  $args['form_subject'] = ! empty( $args['form_subject'] ) && is_array( $args['form_subject'] ) ? array_map( 'esc_attr', $args['form_subject'] ) : array();
325
  $args['form_preferences'] = ! empty( $args['form_preferences'] ) && is_array( $args['form_preferences'] ) ? array_map( 'esc_attr', $args['form_preferences'] ) : array();
326
  $args['form_exclude'] = ! empty( $args['form_exclude'] ) && is_array( $args['form_exclude'] ) ? array_map( 'esc_attr', $args['form_exclude'] ) : array();
327
  $args['form_legal_notices'] = ! empty( $args['form_legal_notices'] ) && is_array( $args['form_legal_notices'] ) ? array_map( 'esc_attr', $args['form_legal_notices'] ) : array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
 
329
  // bail if any issues
330
  if ( ! $args['form_source'] || ! $args['form_fields'] )
@@ -366,7 +402,7 @@ class iubenda_Forms {
366
 
367
  // save form fields
368
  if ( isset( $args['form_fields'] ) )
369
- update_post_meta( $post_id, '_iub_form_fields', $args['form_fields'] );
370
 
371
  // save form subject
372
  if ( isset( $args['form_subject'] ) )
@@ -466,6 +502,130 @@ class iubenda_Forms {
466
  ) );
467
 
468
  switch ( $source ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
469
  case 'wpcf7' :
470
  $args = array(
471
  'post_type' => 'wpcf7_contact_form',
37
  if ( class_exists( 'WPCF7' ) ) {
38
  $this->sources['wpcf7'] = 'Contact Form 7';
39
  }
40
+
41
+ // check if WP Forms is active
42
+ if ( function_exists( 'wpforms' ) ) {
43
+ $this->sources['wpforms'] = 'WP Forms';
44
+ }
45
 
46
  $this->sources = apply_filters( 'iub_supported_form_sources', $this->sources );
47
 
66
  'post_status' => array( 'mapped', 'needs_update' )
67
  );
68
 
69
+ $forms = $this->get_forms( $form_args );
70
+
71
+ // echo '<pre>'; print_r( $forms ); echo '</pre>';
72
 
73
  if ( ! empty( $forms ) ) {
74
  // required form parameters
91
  foreach ( $form_parameters as $parameter ) {
92
  $parameter_name = 'form_' . $parameter;
93
  $parameter_value = ! empty( $form->$parameter_name ) ? $form->$parameter_name : '';
94
+
95
+ // echo '<pre>'; print_r( $parameter_value ); echo '</pre>';
96
 
97
  switch ( $parameter ) {
98
  case 'legal_notices' :
103
  }
104
  break;
105
  default :
106
+ if ( $parameter_value ) {
107
+ switch ( $form->form_source ) {
108
+ case 'wpforms' :
109
+ // replace integers with field names
110
+ foreach ( $parameter_value as $index => $parameter_item ) {
111
+ $parameter_value[$index] = $form->form_fields[$parameter_item]['name'];
112
+ }
113
+ $args[$form->form_source][$form->object_id]['form']['map'][$parameter] = $parameter_value;
114
+ break;
115
+ default :
116
+ $args[$form->form_source][$form->object_id]['form']['map'][$parameter] = $parameter_value;
117
+ break;
118
+ }
119
+ }
120
  break;
121
  }
122
  }
123
  }
124
  }
125
 
126
+ // echo '<pre>'; print_r( $args ); echo '</pre>'; exit;
127
 
128
  wp_localize_script(
129
  'iubenda-forms',
230
  // unset empty values
231
  if ( is_array( $metadata ) ) {
232
  foreach ( $metadata as $metadata_key => $metadata_value ) {
233
+ if ( $metadata_value == '' && ! in_array( $metakey, array( 'form_legal_notices' ) ) )
234
  unset( $metadata[$metadata_key] );
235
  }
236
  }
341
  $args['form_source'] = ! empty( $args['form_source'] ) && in_array( $args['form_source'], array_keys( $this->sources ) ) ? $args['form_source'] : '';
342
  $args['form_title'] = ! empty( $args['form_title'] ) ? esc_html( $args['form_title'] ) : '';
343
  $args['form_date'] = date( 'Y-m-d H:i:s', ( ! empty( $args['form_date'] ) ? strtotime( $args['form_date'] ) : current_time( 'mysql' ) ) );
344
+ $args['form_fields'] = ! empty( $args['form_fields'] ) && is_array( $args['form_fields'] ) ? $args['form_fields'] : array();
345
  $args['form_subject'] = ! empty( $args['form_subject'] ) && is_array( $args['form_subject'] ) ? array_map( 'esc_attr', $args['form_subject'] ) : array();
346
  $args['form_preferences'] = ! empty( $args['form_preferences'] ) && is_array( $args['form_preferences'] ) ? array_map( 'esc_attr', $args['form_preferences'] ) : array();
347
  $args['form_exclude'] = ! empty( $args['form_exclude'] ) && is_array( $args['form_exclude'] ) ? array_map( 'esc_attr', $args['form_exclude'] ) : array();
348
  $args['form_legal_notices'] = ! empty( $args['form_legal_notices'] ) && is_array( $args['form_legal_notices'] ) ? array_map( 'esc_attr', $args['form_legal_notices'] ) : array();
349
+
350
+ $form_fields = array();
351
+
352
+ // sanitize form fields
353
+ if ( ! empty( $args['form_fields'] ) && is_array( $args['form_fields'] ) ) {
354
+ foreach ( $args['form_fields'] as $form_field ) {
355
+ if ( ! empty( $form_field ) && is_array( $form_field ) ) {
356
+ $form_fields[] = array_map( 'esc_attr', $form_field );
357
+ } else {
358
+ $form_fields[] = esc_attr( $form_field );
359
+ }
360
+ }
361
+ }
362
+
363
+ // echo '<pre>'; print_r( $args ); echo '</pre>'; exit;
364
 
365
  // bail if any issues
366
  if ( ! $args['form_source'] || ! $args['form_fields'] )
402
 
403
  // save form fields
404
  if ( isset( $args['form_fields'] ) )
405
+ update_post_meta( $post_id, '_iub_form_fields', $form_fields );
406
 
407
  // save form subject
408
  if ( isset( $args['form_subject'] ) )
502
  ) );
503
 
504
  switch ( $source ) {
505
+ case 'wpforms' :
506
+ $args = array(
507
+ 'post_type' => 'wpforms',
508
+ 'no_found_rows' => true,
509
+ 'nopaging' => true,
510
+ );
511
+ $posts = get_posts( $args );
512
+
513
+ // echo '<pre>'; print_r( $posts ); echo '</pre>'; exit;
514
+
515
+ if ( ! empty( $posts ) ) {
516
+ foreach ( $posts as $post ) {
517
+ // get form data
518
+ $formdata = array(
519
+ 'object_type' => 'post', // object type where the form data is stored
520
+ 'object_id' => $post->ID, // unique object id
521
+ 'form_source' => $source, // source slug
522
+ 'form_title' => $post->post_title, // form title
523
+ 'form_date' => $post->post_modified, // form last modified date
524
+ 'form_fields' => array() // form field names array
525
+ );
526
+
527
+ $input_fields = array(
528
+ 'text',
529
+ 'textarea',
530
+ 'select',
531
+ 'radio',
532
+ 'checkbox',
533
+ 'gdpr-checkbox',
534
+ 'email',
535
+ 'address',
536
+ 'url',
537
+ 'name',
538
+ 'hidden',
539
+ 'date-time',
540
+ 'phone',
541
+ 'number',
542
+ );
543
+
544
+ $fields_raw = function_exists( 'wpforms_get_form_fields' ) ? wpforms_get_form_fields( $post->ID ) : false;
545
+
546
+ // echo '<pre>'; print_r( $fields_raw ); echo '</pre>'; exit;
547
+
548
+ if ( ! empty( $fields_raw ) ) {
549
+ foreach ( $fields_raw as $index => $field ) {
550
+ // specific field types only
551
+ if ( ! empty( $field['type'] ) && in_array( $field['type'], $input_fields ) ) {
552
+ switch ( $field['type'] ) {
553
+ case 'name' :
554
+ if ( ! empty( $field['format'] ) ) {
555
+ switch ( $field['format'] ) {
556
+ case 'first-last' :
557
+ $formdata['form_fields'][] = array(
558
+ 'id' => $field['id'],
559
+ 'name' => 'wpforms[fields][' . $index . '][first]',
560
+ 'type' => $field['type'],
561
+ 'label' => sprintf( __( 'First %s', 'iubenda' ), $field['label'] )
562
+ );
563
+ $formdata['form_fields'][] = array(
564
+ 'id' => $field['id'],
565
+ 'name' => 'wpforms[fields][' . $index . '][last]',
566
+ 'type' => $field['type'],
567
+ 'label' => sprintf( __( 'Last %s', 'iubenda' ), $field['label'] )
568
+ );
569
+ break;
570
+ case 'first-middle-last' :
571
+ $formdata['form_fields'][] = array(
572
+ 'id' => $field['id'],
573
+ 'name' => 'wpforms[fields][' . $index . '][first]',
574
+ 'type' => $field['type'],
575
+ 'label' => sprintf( __( 'First %s', 'iubenda' ), $field['label'] )
576
+ );
577
+ $formdata['form_fields'][] = array(
578
+ 'id' => $field['id'],
579
+ 'name' => 'wpforms[fields][' . $index . '][middle]',
580
+ 'type' => $field['type'],
581
+ 'label' => sprintf( __( 'Middle %s', 'iubenda' ), $field['label'] )
582
+ );
583
+ $formdata['form_fields'][] = array(
584
+ 'id' => $field['id'],
585
+ 'name' => 'wpforms[fields][' . $index . '][last]',
586
+ 'type' => $field['type'],
587
+ 'label' => sprintf( __( 'Last %s', 'iubenda' ), $field['label'] )
588
+ );
589
+ break;
590
+ default :
591
+ $formdata['form_fields'][] = array(
592
+ 'id' => $field['id'],
593
+ 'name' => 'wpforms[fields][' . $index . ']',
594
+ 'type' => $field['type'],
595
+ 'label' => $field['label']
596
+ );
597
+ break;
598
+ }
599
+ } else {
600
+ $formdata['form_fields'][] = array(
601
+ 'id' => $field['id'],
602
+ 'name' => 'wpforms[fields][' . $index . ']',
603
+ 'type' => $field['type'],
604
+ 'label' => $field['label']
605
+ );
606
+ }
607
+ break;
608
+ default :
609
+ $formdata['form_fields'][] = array(
610
+ 'id' => $field['id'],
611
+ 'name' => 'wpforms[fields][' . $index . ']',
612
+ 'type' => $field['type'],
613
+ 'label' => $field['label']
614
+ );
615
+ }
616
+
617
+ }
618
+ }
619
+ }
620
+
621
+ $forms[] = $formdata;
622
+ }
623
+
624
+ // echo '<pre>'; print_r( $forms ); echo '</pre>'; exit;
625
+ }
626
+
627
+ break;
628
+
629
  case 'wpcf7' :
630
  $args = array(
631
  'post_type' => 'wpcf7_contact_form',
includes/settings.php CHANGED
@@ -69,16 +69,18 @@ class iubenda_Settings {
69
 
70
  $links = array(
71
  'en' => array(
72
- 'guide' => 'https://www.iubenda.com/en/iubenda-cookie-law-solution',
 
73
  'plugin_page' => 'https://www.iubenda.com/en/help/posts/1215',
74
- 'generating_code' => 'https://www.iubenda.com/en/help/posts/1177',
75
  'support_forum' => 'https://support.iubenda.com/support/home',
76
  'documentation' => 'https://www.iubenda.com/en/help/posts/1215'
77
  ),
78
  'it' => array(
79
- 'guide' => 'https://www.iubenda.com/it/soluzione-cookie-law',
 
80
  'plugin_page' => 'https://www.iubenda.com/it/help/posts/810',
81
- 'generating_code' => 'https://www.iubenda.com/it/help/posts/680',
82
  'support_forum' => 'https://support.iubenda.com/support/home',
83
  'documentation' => 'https://www.iubenda.com/it/help/posts/810',
84
  )
@@ -110,10 +112,11 @@ class iubenda_Settings {
110
 
111
  add_settings_section( 'iubenda_cookie_law_solution', '', '', 'iubenda_cookie_law_solution' );
112
  add_settings_field( 'iub_code', __( 'Code', 'iubenda' ), array( $this, 'iub_code' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
113
- add_settings_field( 'iub_parse', __( 'Scripts blocking', 'iubenda' ), array( $this, 'iub_parse' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
114
  add_settings_field( 'iub_custom_scripts', __( 'Custom scripts', 'iubenda' ), array( $this, 'iub_custom_scripts' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
115
  add_settings_field( 'iub_ctype', __( 'Content type', 'iubenda' ), array( $this, 'iub_ctype' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
116
  add_settings_field( 'iub_output_feed', __( 'RSS feed', 'iubenda' ), array( $this, 'iub_output_feed' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
 
117
  add_settings_field( 'iub_menu_position', __( 'Menu position', 'iubenda' ), array( $this, 'iub_menu_position' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
118
  add_settings_field( 'iub_deactivation', __( 'Deactivation', 'iubenda' ), array( $this, 'iub_deactivation' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
119
 
@@ -124,11 +127,11 @@ class iubenda_Settings {
124
  add_settings_field( 'iub_public_api_key', __( 'Public Api Key', 'iubenda' ), array( $this, 'iub_public_api_key' ), 'iubenda_consent_solution', 'iubenda_consent_solution' );
125
  // only if api key is given
126
  if ( ! empty( iubenda()->options['cons']['public_api_key'] ) )
127
- add_settings_section( 'iubenda_consent_forms', __( 'Fields Mapping', 'iubenda' ), array( $this, 'iubenda_consent_forms' ), 'iubenda_consent_solution' );
128
  // single form
129
  } else {
130
  register_setting( 'iubenda_consent_solution', 'iubenda_consent_forms' );
131
- add_settings_section( 'iubenda_consent_form', __( 'Fields Mapping', 'iubenda' ), array( $this, 'iubenda_consent_form' ), 'iubenda_consent_solution' );
132
  }
133
  }
134
 
@@ -351,7 +354,11 @@ class iubenda_Settings {
351
  if ( $tab_key === 'cs' ) {
352
  echo '
353
  <p class="iubenda-text">
354
- ' . __( "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' ) . '
 
 
 
 
355
  </p>
356
  <p class="iubenda-text">
357
  <span class="iubenda-title">' . __( "Would you like to know more about the cookie law?", 'iubenda' ) . '</span><br />
@@ -368,7 +375,7 @@ class iubenda_Settings {
368
  } else {
369
  echo '
370
  <p class="iubenda-text">
371
- ' . __( 'Maintaining comprehensive records of consent are a vital part of privacy compliance in general but are specifically required under the GDPR. These records should include a way of identifying the user, proof of consent, record of the consenting action and the legal documents available to the user at the time of consent, among other things. You can read about the <a href="https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-consent" target="_blank">full requirements here</a>.', 'iubenda' ) . '
372
  </p>';
373
  }
374
  ?>
@@ -495,11 +502,11 @@ class iubenda_Settings {
495
  <div id="contextual-help-tabs-wrap-2" class="contextual-help-tabs-wrap">
496
  <div id="tab-panel-scripts" class="help-tab-content active">
497
  <textarea name="iubenda_cookie_law_solution[custom_scripts]" class="large-text" cols="50" rows="10">' . esc_textarea( implode( "\n", iubenda()->options['cs']['custom_scripts'] ) ) . '</textarea>
498
- <p class="description">' . __( 'Enter a list of custom scripts (one per line).', 'iubenda' ) . '</p>
499
  </div>
500
  <div id="tab-panel-iframes" class="help-tab-content">
501
  <textarea name="iubenda_cookie_law_solution[custom_iframes]" class="large-text" cols="50" rows="10">' . esc_textarea( implode( "\n", iubenda()->options['cs']['custom_iframes'] ) ) . '</textarea>
502
- <p class="description">' . __( 'Enter a list of custom iframes (one per line).', 'iubenda' ) . '</p>
503
  </div>
504
  </div>
505
  </div>
@@ -550,7 +557,19 @@ class iubenda_Settings {
550
  public function iub_output_feed() {
551
  echo '
552
  <div id="iub_output_feed_container">
553
- <label><input id="iub_ctype" type="checkbox" name="iubenda_cookie_law_solution[output_feed]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['output_feed'], false ) . '/>' . __( 'Do not run the plugin inside the RSS feed (recommended)', 'iubenda' ) . '</label>
 
 
 
 
 
 
 
 
 
 
 
 
554
  </div>';
555
  }
556
 
@@ -605,7 +624,7 @@ class iubenda_Settings {
605
  $supported_forms = iubenda()->forms->sources;
606
 
607
  echo '
608
- <p class="description">' . sprintf( __( 'A list forms of available for field mapping. Currently supports: %s', 'iubenda' ), implode( ', ', $supported_forms ) ) . '</p>';
609
 
610
  // list screen
611
  if ( ! class_exists( 'WP_List_Table' ) )
@@ -642,7 +661,20 @@ class iubenda_Settings {
642
  $preferences = isset( $form->form_preferences ) && is_array( $form->form_preferences ) ? array_map( 'esc_attr', $form->form_preferences ) : array();
643
  $exclude = isset( $form->form_exclude ) && is_array( $form->form_exclude ) ? array_map( 'esc_attr', $form->form_exclude ) : array();
644
  $legal_notices = isset( $form->form_legal_notices ) && is_array( $form->form_legal_notices ) ? array_map( 'esc_attr', $form->form_legal_notices ) : array();
 
 
645
 
 
 
 
 
 
 
 
 
 
 
 
646
  // print_r( $form );
647
 
648
  echo '
@@ -655,7 +687,7 @@ class iubenda_Settings {
655
  </div>
656
  <p class="description">' . sprintf( __( '%s form title.', 'iubenda' ), ( array_key_exists( $form->form_source, iubenda()->forms->sources ) ? iubenda()->forms->sources[$form->form_source] : __( 'Unknown', 'iubenda' ) ) ) . '</p>
657
 
658
- <div style="margin-top: 18px"><strong>' . __( 'Available form fields:', 'iubenda' ) . '</strong><br /><p class="description">' . implode( ', ', $form->form_fields ) . '</p></div>
659
  </div>
660
  </div>
661
  <div id="postbox-container-1" class="postbox-container">
@@ -704,7 +736,7 @@ class iubenda_Settings {
704
  <tr>
705
  <td class="label table-label">
706
  <h4>' . __( 'Subject fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
707
- <p class="description">' . __( 'Subject fields allows you to store a series of values saved about your subjects/users. Please map the subject/user data with the corresponding form fields.', 'iubenda' ) . '</p>
708
  </td>
709
  <td>
710
  <table class="widefat subject-table">
@@ -725,8 +757,13 @@ class iubenda_Settings {
725
  <select class="subject-fields-select select-' . $field_name . '" name="subject[' . $field_name . ']">
726
  <option value="" ' . selected( $selected, '', false ) . '>' . $none . '</option>';
727
  if ( ! empty( $form->form_fields ) ) {
728
- foreach ( $form->form_fields as $form_field ) {
729
- echo '<option value="' . $form_field . '" ' . selected( $selected, $form_field, false ) . '>' . $form_field . '</option>';
 
 
 
 
 
730
  }
731
  }
732
  echo '
@@ -743,7 +780,7 @@ class iubenda_Settings {
743
  <tr>
744
  <td class="label table-label">
745
  <h4>' . __( 'Preferences fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
746
- <p class="description">' . __( 'Preferences fields allows you to save the various opt-ins the user has agreed to, such as terms and conditions, newsletter, profiling, etc. Please create at least one preferences field.', 'iubenda' ) . '</p>
747
  </td>
748
  <td>
749
  <table class="widefat preferences-table">
@@ -759,7 +796,11 @@ class iubenda_Settings {
759
  <select class="preferences-fields-select select-' . $field_name . '" name="preferences[__PREFERENCE_ID__][value]">';
760
  if ( ! empty( $form->form_fields ) ) {
761
  foreach ( $form->form_fields as $index => $form_field ) {
762
- echo '<option value="' . $form_field . '">' . $form_field . '</option>';
 
 
 
 
763
  }
764
  }
765
  echo '
@@ -780,8 +821,13 @@ class iubenda_Settings {
780
  <td>
781
  <select class="preferences-fields-select select-' . $field_name . '" name="preferences[' . $index . '][value]">';
782
  if ( ! empty( $form->form_fields ) ) {
783
- foreach ( $form->form_fields as $form_field ) {
784
- echo '<option value="' . $form_field . '" ' . selected( $selected, $form_field, false ) . '>' . $form_field . '</option>';
 
 
 
 
 
785
  }
786
  }
787
  echo '
@@ -803,7 +849,7 @@ class iubenda_Settings {
803
  <tr>
804
  <td class="label table-label">
805
  <h4>' . __( 'Exclude fields', 'iubenda' ) . '</h4>
806
- <p class="description">' . __( 'Exclude fields allows you to create a list of field names that you would like to exclude from proofs (for e.g. password or other fields not related to the consent).', 'iubenda' ) . '</p>
807
  </td>
808
  <td>
809
  <table class="widefat exclude-table">
@@ -818,7 +864,11 @@ class iubenda_Settings {
818
  <select class="exclude-fields-select select-' . $field_name . '" name="exclude[__EXCLUDE_ID__][field]">';
819
  if ( ! empty( $form->form_fields ) ) {
820
  foreach ( $form->form_fields as $index => $form_field ) {
821
- echo '<option value="' . $form_field . '">' . $form_field . '</option>';
 
 
 
 
822
  }
823
  }
824
  echo '
@@ -840,8 +890,13 @@ class iubenda_Settings {
840
  <td>
841
  <select class="exclude-fields-select select-' . $field_name . '" name="exclude[' . $index . '][field]">';
842
  if ( ! empty( $form->form_fields ) ) {
843
- foreach ( $form->form_fields as $form_field ) {
844
- echo '<option value="' . $form_field . '" ' . selected( $selected, $form_field, false ) . '>' . $form_field . '</option>';
 
 
 
 
 
845
  }
846
  }
847
  echo '
@@ -873,7 +928,7 @@ class iubenda_Settings {
873
  <tr>
874
  <td class="label table-label">
875
  <h4>' . __( 'Legal documents', 'iubenda' ) . '</h4>
876
- <p class="description">' . __( 'If you use iubenda for your legal documents it is required for you to declare which of them are being agreed upon on each consent creation.', 'iubenda' ) . '</p>
877
  </td>
878
  <td>
879
  <table class="widefat legal_notices-table">
@@ -887,7 +942,7 @@ class iubenda_Settings {
887
  foreach ( $this->legal_notices as $index => $field_name ) {
888
  echo '
889
  <tr class="legal_notices-field default-field">
890
- <td>' . ( $index === 0 ? '<p class="description">' . __( 'Please check the legal notices you are using.', 'iubenda' ) . '</p>' : '' ) . '<label for="legal_notices-default-field=' . $index . '"><input id="legal_notices-default-field=' . $index . '" type="checkbox" value="' . $field_name . '" name="legal_notices[' . $index . '][field]"' . checked( in_array( $field_name, $legal_notices, true ), true, false ) . 'placeholder="' . __( 'Enter field name', 'iubenda' ) . '" />' . $field_name . '</label></td>
891
  <td></td>
892
  </tr>';
893
  }
@@ -903,7 +958,7 @@ class iubenda_Settings {
903
 
904
  echo '
905
  <tr>
906
- <td colspan="2"><p class="description" style="margin-bottom: 0;">' . __( 'Optionally add your custom document identifiers.', 'iubenda' ) . '</p></td>
907
  </tr>';
908
 
909
  if ( $legal_notices ) {
@@ -957,6 +1012,7 @@ class iubenda_Settings {
957
  $input['skip_parsing'] = (bool) isset( $input['skip_parsing'] );
958
  $input['ctype'] = (bool) isset( $input['ctype'] );
959
  $input['output_feed'] = (bool) isset( $input['output_feed'] );
 
960
  $input['menu_position'] = isset( $input['menu_position'] ) && in_array( $input['menu_position'], array( 'topmenu', 'submenu' ) ) ? $input['menu_position'] : iubenda()->defaults['cs']['menu_position'];
961
  $input['deactivation'] = (bool) isset( $input['deactivation'] );
962
 
69
 
70
  $links = array(
71
  'en' => array(
72
+ 'iab' => 'https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework',
73
+ 'guide' => 'https://www.iubenda.com/en/cookie-solution',
74
  'plugin_page' => 'https://www.iubenda.com/en/help/posts/1215',
75
+ 'generating_code' => 'https://www.iubenda.com/en/help/1177-cookie-solution-getting-started',
76
  'support_forum' => 'https://support.iubenda.com/support/home',
77
  'documentation' => 'https://www.iubenda.com/en/help/posts/1215'
78
  ),
79
  'it' => array(
80
+ 'iab' => 'https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework',
81
+ 'guide' => 'https://www.iubenda.com/it/cookie-solution',
82
  'plugin_page' => 'https://www.iubenda.com/it/help/posts/810',
83
+ 'generating_code' => 'https://www.iubenda.com/it/help/680-introduzione-cookie-solution',
84
  'support_forum' => 'https://support.iubenda.com/support/home',
85
  'documentation' => 'https://www.iubenda.com/it/help/posts/810',
86
  )
112
 
113
  add_settings_section( 'iubenda_cookie_law_solution', '', '', 'iubenda_cookie_law_solution' );
114
  add_settings_field( 'iub_code', __( 'Code', 'iubenda' ), array( $this, 'iub_code' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
115
+ add_settings_field( 'iub_parse', __( 'Script blocking', 'iubenda' ), array( $this, 'iub_parse' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
116
  add_settings_field( 'iub_custom_scripts', __( 'Custom scripts', 'iubenda' ), array( $this, 'iub_custom_scripts' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
117
  add_settings_field( 'iub_ctype', __( 'Content type', 'iubenda' ), array( $this, 'iub_ctype' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
118
  add_settings_field( 'iub_output_feed', __( 'RSS feed', 'iubenda' ), array( $this, 'iub_output_feed' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
119
+ add_settings_field( 'iub_output_post', __( 'POST requests', 'iubenda' ), array( $this, 'iub_output_post' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
120
  add_settings_field( 'iub_menu_position', __( 'Menu position', 'iubenda' ), array( $this, 'iub_menu_position' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
121
  add_settings_field( 'iub_deactivation', __( 'Deactivation', 'iubenda' ), array( $this, 'iub_deactivation' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
122
 
127
  add_settings_field( 'iub_public_api_key', __( 'Public Api Key', 'iubenda' ), array( $this, 'iub_public_api_key' ), 'iubenda_consent_solution', 'iubenda_consent_solution' );
128
  // only if api key is given
129
  if ( ! empty( iubenda()->options['cons']['public_api_key'] ) )
130
+ add_settings_section( 'iubenda_consent_forms', __( 'Field Mapping', 'iubenda' ), array( $this, 'iubenda_consent_forms' ), 'iubenda_consent_solution' );
131
  // single form
132
  } else {
133
  register_setting( 'iubenda_consent_solution', 'iubenda_consent_forms' );
134
+ add_settings_section( 'iubenda_consent_form', __( 'Field Mapping', 'iubenda' ), array( $this, 'iubenda_consent_form' ), 'iubenda_consent_solution' );
135
  }
136
  }
137
 
354
  if ( $tab_key === 'cs' ) {
355
  echo '
356
  <p class="iubenda-text">
357
+ ' . __( "This plugin is the easiest and most comprehensive way to adapt your WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first visit, the plugin will take care of collecting their consent, blocking the most popular cookie-scripts and subsequently reactivating 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 (asynchronous script reactivation).", 'iubenda' ) . '
358
+ </p>
359
+ <p class="iubenda-text">
360
+ <span class="iubenda-title">' . __( "Does the Cookie Solution support IAB’s Transparency and Consent Framework?", 'iubenda' ) . '</span><br />
361
+ ' . sprintf( __( "Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">here.</a>", 'iubenda' ), $this->links['iab'] ) . '
362
  </p>
363
  <p class="iubenda-text">
364
  <span class="iubenda-title">' . __( "Would you like to know more about the cookie law?", 'iubenda' ) . '</span><br />
375
  } else {
376
  echo '
377
  <p class="iubenda-text">
378
+ ' . __( 'Maintaining comprehensive records of consent is a vital part of privacy compliance in general but is specifically required under the GDPR. These records should include a way of identifying the user, store proof of consent, record of the consenting action, and the legal documents available to the user at the time of consent, among other things. You can read about the <a href="https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-consent" target="_blank">full requirements here</a>.', 'iubenda' ) . '
379
  </p>';
380
  }
381
  ?>
502
  <div id="contextual-help-tabs-wrap-2" class="contextual-help-tabs-wrap">
503
  <div id="tab-panel-scripts" class="help-tab-content active">
504
  <textarea name="iubenda_cookie_law_solution[custom_scripts]" class="large-text" cols="50" rows="10">' . esc_textarea( implode( "\n", iubenda()->options['cs']['custom_scripts'] ) ) . '</textarea>
505
+ <p class="description">' . __( 'Enter the list of custom scripts you’d like to block here (one per line)', 'iubenda' ) . '</p>
506
  </div>
507
  <div id="tab-panel-iframes" class="help-tab-content">
508
  <textarea name="iubenda_cookie_law_solution[custom_iframes]" class="large-text" cols="50" rows="10">' . esc_textarea( implode( "\n", iubenda()->options['cs']['custom_iframes'] ) ) . '</textarea>
509
+ <p class="description">' . __( 'Enter the list of custom iframes you’d like to block here (one per line). ', 'iubenda' ) . '</p>
510
  </div>
511
  </div>
512
  </div>
557
  public function iub_output_feed() {
558
  echo '
559
  <div id="iub_output_feed_container">
560
+ <label><input id="iub_output_feed" type="checkbox" name="iubenda_cookie_law_solution[output_feed]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['output_feed'], false ) . '/>' . __( 'Do not run the plugin inside the RSS feed (recommended)', 'iubenda' ) . '</label>
561
+ </div>';
562
+ }
563
+
564
+ /**
565
+ * POST request option.
566
+ *
567
+ * @return mixed
568
+ */
569
+ public function iub_output_post() {
570
+ echo '
571
+ <div id="iub_output_post_container">
572
+ <label><input id="iub_output_post" type="checkbox" name="iubenda_cookie_law_solution[output_post]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['output_post'], false ) . '/>' . __( 'Do not run the plugin on POST requests (recommended)', 'iubenda' ) . '</label>
573
  </div>';
574
  }
575
 
624
  $supported_forms = iubenda()->forms->sources;
625
 
626
  echo '
627
+ <p class="description">' . __( 'This section lists the forms available for field mapping. The plugin currently supports & detects: WordPress Comment Form, Contact Form 7 and WP Forms.', 'iubenda' ) . '</p>';
628
 
629
  // list screen
630
  if ( ! class_exists( 'WP_List_Table' ) )
661
  $preferences = isset( $form->form_preferences ) && is_array( $form->form_preferences ) ? array_map( 'esc_attr', $form->form_preferences ) : array();
662
  $exclude = isset( $form->form_exclude ) && is_array( $form->form_exclude ) ? array_map( 'esc_attr', $form->form_exclude ) : array();
663
  $legal_notices = isset( $form->form_legal_notices ) && is_array( $form->form_legal_notices ) ? array_map( 'esc_attr', $form->form_legal_notices ) : array();
664
+
665
+ $available_fields = array();
666
 
667
+ if ( ! empty( $form->form_fields ) && is_array( $form->form_fields ) ) {
668
+ foreach ( $form->form_fields as $index => $form_field ) {
669
+ if ( is_array( $form_field ) ) {
670
+ // print_r( $form_field );
671
+ $available_fields[] = $form_field['label'] . ' (' . $form_field['type'] . ')';
672
+ } else {
673
+ $available_fields[] = $form_field;
674
+ }
675
+ }
676
+ }
677
+
678
  // print_r( $form );
679
 
680
  echo '
687
  </div>
688
  <p class="description">' . sprintf( __( '%s form title.', 'iubenda' ), ( array_key_exists( $form->form_source, iubenda()->forms->sources ) ? iubenda()->forms->sources[$form->form_source] : __( 'Unknown', 'iubenda' ) ) ) . '</p>
689
 
690
+ <div style="margin-top: 18px"><strong>' . __( 'Available form fields:', 'iubenda' ) . '</strong><br /><p class="description">' . implode( ', ', $available_fields ) . '</p></div>
691
  </div>
692
  </div>
693
  <div id="postbox-container-1" class="postbox-container">
736
  <tr>
737
  <td class="label table-label">
738
  <h4>' . __( 'Subject fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
739
+ <p class="description">' . __( 'Subject fields allow you to store a series of identifying values about your individual subjects/users. Please map the subject field with the corresponding form fields where applicable.', 'iubenda' ) . '</p>
740
  </td>
741
  <td>
742
  <table class="widefat subject-table">
757
  <select class="subject-fields-select select-' . $field_name . '" name="subject[' . $field_name . ']">
758
  <option value="" ' . selected( $selected, '', false ) . '>' . $none . '</option>';
759
  if ( ! empty( $form->form_fields ) ) {
760
+ foreach ( $form->form_fields as $index => $form_field ) {
761
+ // get field data
762
+ $form_field_value = is_array( $form_field ) ? $index : $form_field;
763
+ $form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
764
+ $form_field_selected = is_array( $form_field ) ? $index : $form_field;
765
+
766
+ echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
767
  }
768
  }
769
  echo '
780
  <tr>
781
  <td class="label table-label">
782
  <h4>' . __( 'Preferences fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
783
+ <p class="description">' . __( 'Preferences fields allow you to store a record of the various opt-ins points at which the user has agreed or given consent, such as fields for agreeing to terms and conditions, newsletter, profiling, etc. *Please create at least one preference field.', 'iubenda' ) . '</p>
784
  </td>
785
  <td>
786
  <table class="widefat preferences-table">
796
  <select class="preferences-fields-select select-' . $field_name . '" name="preferences[__PREFERENCE_ID__][value]">';
797
  if ( ! empty( $form->form_fields ) ) {
798
  foreach ( $form->form_fields as $index => $form_field ) {
799
+ // get field data
800
+ $form_field_value = is_array( $form_field ) ? $index : $form_field;
801
+ $form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
802
+
803
+ echo '<option value="' . $form_field_value . '">' . $form_field_label . '</option>';
804
  }
805
  }
806
  echo '
821
  <td>
822
  <select class="preferences-fields-select select-' . $field_name . '" name="preferences[' . $index . '][value]">';
823
  if ( ! empty( $form->form_fields ) ) {
824
+ foreach ( $form->form_fields as $index => $form_field ) {
825
+ // get field data
826
+ $form_field_value = is_array( $form_field ) ? $index : $form_field;
827
+ $form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
828
+ $form_field_selected = is_array( $form_field ) ? $index : $form_field;
829
+
830
+ echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
831
  }
832
  }
833
  echo '
849
  <tr>
850
  <td class="label table-label">
851
  <h4>' . __( 'Exclude fields', 'iubenda' ) . '</h4>
852
+ <p class="description">' . __( 'Exclude fields allow you to create a list of fields that you would like to exclude from your Consent Solution recorded proofs (for e.g. password or other fields not related to the consent).', 'iubenda' ) . '</p>
853
  </td>
854
  <td>
855
  <table class="widefat exclude-table">
864
  <select class="exclude-fields-select select-' . $field_name . '" name="exclude[__EXCLUDE_ID__][field]">';
865
  if ( ! empty( $form->form_fields ) ) {
866
  foreach ( $form->form_fields as $index => $form_field ) {
867
+ // get field data
868
+ $form_field_value = is_array( $form_field ) ? $index : $form_field;
869
+ $form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
870
+
871
+ echo '<option value="' . $form_field_value . '">' . $form_field_label . '</option>';
872
  }
873
  }
874
  echo '
890
  <td>
891
  <select class="exclude-fields-select select-' . $field_name . '" name="exclude[' . $index . '][field]">';
892
  if ( ! empty( $form->form_fields ) ) {
893
+ foreach ( $form->form_fields as $index => $form_field ) {
894
+ // get field data
895
+ $form_field_value = is_array( $form_field ) ? $index : $form_field;
896
+ $form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
897
+ $form_field_selected = is_array( $form_field ) ? $index : $form_field;
898
+
899
+ echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
900
  }
901
  }
902
  echo '
928
  <tr>
929
  <td class="label table-label">
930
  <h4>' . __( 'Legal documents', 'iubenda' ) . '</h4>
931
+ <p class="description">' . __( 'In general, it’s important that you declare which legal documents are being agreed upon when each consent is collected. However, if you use iubenda for your legal documents, it is *required* that you identify the documents by selecting them here.', 'iubenda' ) . '</p>
932
  </td>
933
  <td>
934
  <table class="widefat legal_notices-table">
942
  foreach ( $this->legal_notices as $index => $field_name ) {
943
  echo '
944
  <tr class="legal_notices-field default-field">
945
+ <td>' . ( $index === 0 ? '<p class="description">' . __( 'Please select each legal document available on your site.', 'iubenda' ) . '</p>' : '' ) . '<label for="legal_notices-default-field=' . $index . '"><input id="legal_notices-default-field=' . $index . '" type="checkbox" value="' . $field_name . '" name="legal_notices[' . $index . '][field]"' . checked( in_array( $field_name, $legal_notices, true ), true, false ) . 'placeholder="' . __( 'Enter field name', 'iubenda' ) . '" />' . $field_name . '</label></td>
946
  <td></td>
947
  </tr>';
948
  }
958
 
959
  echo '
960
  <tr>
961
+ <td colspan="2"><p class="description" style="margin-bottom: 0;">' . __( 'Alternatively, you may add your own custom document identifiers.', 'iubenda' ) . '</p></td>
962
  </tr>';
963
 
964
  if ( $legal_notices ) {
1012
  $input['skip_parsing'] = (bool) isset( $input['skip_parsing'] );
1013
  $input['ctype'] = (bool) isset( $input['ctype'] );
1014
  $input['output_feed'] = (bool) isset( $input['output_feed'] );
1015
+ $input['output_post'] = (bool) isset( $input['output_post'] );
1016
  $input['menu_position'] = isset( $input['menu_position'] ) && in_array( $input['menu_position'], array( 'topmenu', 'submenu' ) ) ? $input['menu_position'] : iubenda()->defaults['cs']['menu_position'];
1017
  $input['deactivation'] = (bool) isset( $input['deactivation'] );
1018
 
iubenda-cookie-class/README.md CHANGED
@@ -98,6 +98,12 @@ These operations take place in accordance with the rules explained in [this guid
98
 
99
  ## Changelog
100
 
 
 
 
 
 
 
101
  ##### 3.2.0
102
  * New: Introducing a way to skip specific script parsing
103
 
98
 
99
  ## Changelog
100
 
101
+ ##### 3.3.1
102
+ * Tweak: Improved Google Tag Manager script blocking
103
+
104
+ ##### 3.3.0
105
+ * Tweak: Simple HTML Dom PHP class update to 1.9
106
+
107
  ##### 3.2.0
108
  * New: Introducing a way to skip specific script parsing
109
 
iubenda-cookie-class/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
iubenda-cookie-class/iubenda.class.faster.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
  /**
3
- * iubenda.class.php
4
- * version: 2.0.3
5
- * codename: Faster
6
- * @deprecated
7
- * @author: Copyright 2018 iubenda
8
  * @license GNU/GPL
 
 
 
9
  * This program is free software: you can redistribute it and/or modify
10
  * it under the terms of the GNU General Public License as published by
11
  * the Free Software Foundation, either version 3 of the License, or
@@ -13,12 +15,11 @@
13
  *
14
  * This program is distributed in the hope that it will be useful,
15
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
  * GNU General Public License for more details.
18
  *
19
- *
20
  * You should have received a copy of the GNU General Public License
21
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
22
  */
23
 
24
  class iubendaFaster {
1
  <?php
2
  /**
3
+ * iubenda.class.faster.php
4
+ *
5
+ * @author iubenda s.r.l
6
+ * @copyright 2018-2019, iubenda s.r.l
 
7
  * @license GNU/GPL
8
+ * @version 2.0.3
9
+ * @deprecated
10
+ *
11
  * This program is free software: you can redistribute it and/or modify
12
  * it under the terms of the GNU General Public License as published by
13
  * the Free Software Foundation, either version 3 of the License, or
15
  *
16
  * This program is distributed in the hope that it will be useful,
17
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
  * GNU General Public License for more details.
20
  *
 
21
  * You should have received a copy of the GNU General Public License
22
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
23
  */
24
 
25
  class iubendaFaster {
iubenda-cookie-class/iubenda.class.page.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
  /**
3
- * iubenda.class.php
4
- * version: 1.0.3
5
- * codename: Page
6
- * @deprecated
7
- * @author: Copyright 2018 iubenda
8
  * @license GNU/GPL
 
 
 
9
  * This program is free software: you can redistribute it and/or modify
10
  * it under the terms of the GNU General Public License as published by
11
  * the Free Software Foundation, either version 3 of the License, or
@@ -13,12 +15,11 @@
13
  *
14
  * This program is distributed in the hope that it will be useful,
15
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
  * GNU General Public License for more details.
18
  *
19
- *
20
  * You should have received a copy of the GNU General Public License
21
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
22
  */
23
 
24
  class iubendaPage {
1
  <?php
2
  /**
3
+ * iubenda.class.page.php
4
+ *
5
+ * @author iubenda s.r.l
6
+ * @copyright 2018-2019, iubenda s.r.l
 
7
  * @license GNU/GPL
8
+ * @version 1.0.3
9
+ * @deprecated
10
+ *
11
  * This program is free software: you can redistribute it and/or modify
12
  * it under the terms of the GNU General Public License as published by
13
  * the Free Software Foundation, either version 3 of the License, or
15
  *
16
  * This program is distributed in the hope that it will be useful,
17
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
  * GNU General Public License for more details.
20
  *
 
21
  * You should have received a copy of the GNU General Public License
22
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
23
  */
24
 
25
  class iubendaPage {
iubenda-cookie-class/iubenda.class.php CHANGED
@@ -1,9 +1,13 @@
1
  <?php
2
  /**
3
  * iubenda.class.php
4
- * version: 3.2.0
5
- * @author: Copyright 2019 iubenda
 
6
  * @license GNU/GPL
 
 
 
7
  * This program is free software: you can redistribute it and/or modify
8
  * it under the terms of the GNU General Public License as published by
9
  * the Free Software Foundation, either version 3 of the License, or
@@ -37,6 +41,7 @@ class iubendaParser {
37
  'googlesyndication.com/pagead/show_ads.js',
38
  'googleadservices.com/pagead/conversion.js',
39
  'googletagmanager.com/gtm.js',
 
40
  'google.com/recaptcha/',
41
  'www.youtube.com/iframe_api',
42
  'youtu.be',
1
  <?php
2
  /**
3
  * iubenda.class.php
4
+ *
5
+ * @author iubenda s.r.l
6
+ * @copyright 2018-2019, iubenda s.r.l
7
  * @license GNU/GPL
8
+ * @version 3.3.1
9
+ * @deprecated
10
+ *
11
  * This program is free software: you can redistribute it and/or modify
12
  * it under the terms of the GNU General Public License as published by
13
  * the Free Software Foundation, either version 3 of the License, or
41
  'googlesyndication.com/pagead/show_ads.js',
42
  'googleadservices.com/pagead/conversion.js',
43
  'googletagmanager.com/gtm.js',
44
+ 'www.googletagmanager.com/gtag/js',
45
  'google.com/recaptcha/',
46
  'www.youtube.com/iframe_api',
47
  'youtu.be',
iubenda-cookie-class/simple_html_dom.php CHANGED
@@ -19,6 +19,11 @@
19
  * Antcs
20
  *
21
  * Version Rev. 1.9 (290)
 
 
 
 
 
22
  */
23
 
24
  define('HDOM_TYPE_ELEMENT', 1);
19
  * Antcs
20
  *
21
  * Version Rev. 1.9 (290)
22
+ *
23
+ * @author S.C. Chen, John Schlick, Rus Carroll, logmanoriginal
24
+ * @copyright 2018-2019, iubenda s.r.l
25
+ * @license MIT License
26
+ * @version 1.9
27
  */
28
 
29
  define('HDOM_TYPE_ELEMENT', 1);
iubenda-cookie-class/test.php CHANGED
@@ -1,8 +1,11 @@
1
  <?php
2
  /**
3
  * test.php
4
- * @author: Copyright 2018 iubenda
 
 
5
  * @license GNU/GPL
 
6
  * This program is free software: you can redistribute it and/or modify
7
  * it under the terms of the GNU General Public License as published by
8
  * the Free Software Foundation, either version 3 of the License, or
@@ -10,12 +13,13 @@
10
  *
11
  * This program is distributed in the hope that it will be useful,
12
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
  * GNU General Public License for more details.
15
  *
16
  * You should have received a copy of the GNU General Public License
17
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
18
  */
 
19
  ini_set( 'max_execution_time', 300 );
20
  ?>
21
 
1
  <?php
2
  /**
3
  * test.php
4
+ *
5
+ * @author iubenda s.r.l
6
+ * @copyright 2018-2019, iubenda s.r.l
7
  * @license GNU/GPL
8
+ *
9
  * This program is free software: you can redistribute it and/or modify
10
  * it under the terms of the GNU General Public License as published by
11
  * the Free Software Foundation, either version 3 of the License, or
13
  *
14
  * This program is distributed in the hope that it will be useful,
15
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
  * GNU General Public License for more details.
18
  *
19
  * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
  */
22
+
23
  ini_set( 'max_execution_time', 300 );
24
  ?>
25
 
iubenda-cookie-class/usage.php CHANGED
@@ -1,9 +1,11 @@
1
  <?php
2
-
3
  /**
4
  * usage.php
5
- * @author: Copyright 2018 iubenda
 
 
6
  * @license GNU/GPL
 
7
  * This program is free software: you can redistribute it and/or modify
8
  * it under the terms of the GNU General Public License as published by
9
  * the Free Software Foundation, either version 3 of the License, or
@@ -11,12 +13,13 @@
11
  *
12
  * This program is distributed in the hope that it will be useful,
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
  * GNU General Public License for more details.
16
  *
17
  * You should have received a copy of the GNU General Public License
18
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
19
  */
 
20
  // the "$html" parameter must contain the content of the web page with the iubenda JavaScript banner/policy included
21
 
22
  function iubenda_system( $html, $type = 'page' ) {
@@ -36,7 +39,6 @@ function iubenda_system( $html, $type = 'page' ) {
36
  }
37
 
38
  /**
39
- *
40
  * Example:
41
  *
42
  * echo iubenda_system( "<html> ...content... </html>", 'faster' );
1
  <?php
 
2
  /**
3
  * usage.php
4
+ *
5
+ * @author iubenda s.r.l
6
+ * @copyright 2018-2019, iubenda s.r.l
7
  * @license GNU/GPL
8
+ *
9
  * This program is free software: you can redistribute it and/or modify
10
  * it under the terms of the GNU General Public License as published by
11
  * the Free Software Foundation, either version 3 of the License, or
13
  *
14
  * This program is distributed in the hope that it will be useful,
15
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
  * GNU General Public License for more details.
18
  *
19
  * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
  */
22
+
23
  // the "$html" parameter must contain the content of the web page with the iubenda JavaScript banner/policy included
24
 
25
  function iubenda_system( $html, $type = 'page' ) {
39
  }
40
 
41
  /**
 
42
  * Example:
43
  *
44
  * echo iubenda_system( "<html> ...content... </html>", 'faster' );
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: 2.0-beta
7
  Author: iubenda
8
  Author URI: https://www.iubenda.com
9
  License: MIT License
@@ -46,6 +46,7 @@ class iubenda {
46
  'parse' => false, // iubenda_parse
47
  'parser_engine' => 'new', // parser_engine
48
  'output_feed' => true, // iubenda_output_feed
 
49
  'code_default' => false, // iubenda-code-default,
50
  'menu_position' => 'topmenu',
51
  'custom_scripts' => array(),
@@ -57,7 +58,7 @@ class iubenda {
57
  )
58
  );
59
  public $base_url;
60
- public $version = '2.0';
61
  public $no_html = false;
62
  public $multilang = false;
63
  public $languages = array();
@@ -325,6 +326,13 @@ class iubenda {
325
  */
326
  public function wp_head_cons() {
327
  if ( ! empty( $this->options['cons']['public_api_key'] ) ) {
 
 
 
 
 
 
 
328
  echo '<!-- Library initialization -->
329
  <script type="text/javascript">
330
  var _iub = _iub || { };
@@ -332,7 +340,10 @@ class iubenda {
332
  _iub.cons_instructions = _iub.cons_instructions || [ ];
333
  _iub.cons_instructions.push(
334
  [ "init", {
335
- api_key: "' . $this->options['cons']['public_api_key'] . '"
 
 
 
336
  }, function ( ) {
337
  // console.log( "init callBack" );
338
  }
@@ -433,9 +444,13 @@ class iubenda {
433
  // bail if consent given and skip parsing enabled
434
  if ( iubendaParser::consent_given() && $this->options['cs']['skip_parsing'] )
435
  return $output;
 
 
 
 
436
 
437
  // bail if bot detectd, no html in output or it's a post request
438
- if ( iubendaParser::bot_detected() || $_POST || $this->no_html )
439
  return $output;
440
 
441
  // google recaptcha v3 compatibility
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: 2.0.1-beta
7
  Author: iubenda
8
  Author URI: https://www.iubenda.com
9
  License: MIT License
46
  'parse' => false, // iubenda_parse
47
  'parser_engine' => 'new', // parser_engine
48
  'output_feed' => true, // iubenda_output_feed
49
+ 'output_post' => true,
50
  'code_default' => false, // iubenda-code-default,
51
  'menu_position' => 'topmenu',
52
  'custom_scripts' => array(),
58
  )
59
  );
60
  public $base_url;
61
+ public $version = '2.0.0';
62
  public $no_html = false;
63
  public $multilang = false;
64
  public $languages = array();
326
  */
327
  public function wp_head_cons() {
328
  if ( ! empty( $this->options['cons']['public_api_key'] ) ) {
329
+
330
+ $parameters = apply_filters( 'iubenda_cons_init_parameters', array(
331
+ 'log_level' => 'error',
332
+ 'logger' => 'console',
333
+ 'send_from_local' => true
334
+ ) );
335
+
336
  echo '<!-- Library initialization -->
337
  <script type="text/javascript">
338
  var _iub = _iub || { };
340
  _iub.cons_instructions = _iub.cons_instructions || [ ];
341
  _iub.cons_instructions.push(
342
  [ "init", {
343
+ api_key: "' . $this->options['cons']['public_api_key'] . '",
344
+ log_level: "' . $parameters['log_level'] . '",
345
+ logger: "' . ( ! empty( $parameters['logger'] ) && in_array( $parameters['logger'], array( 'console', 'none' ) ) ? $parameters['logger'] : 'console' ) . '",
346
+ sendFromLocalStorageAtLoad: ' . ( (bool) ( $parameters['send_from_local'] ) ? 'true' : 'false' ) . '
347
  }, function ( ) {
348
  // console.log( "init callBack" );
349
  }
444
  // bail if consent given and skip parsing enabled
445
  if ( iubendaParser::consent_given() && $this->options['cs']['skip_parsing'] )
446
  return $output;
447
+
448
+ // bail on POST request
449
+ if ( $_POST && $this->options['cs']['output_post'] )
450
+ return $output;
451
 
452
  // bail if bot detectd, no html in output or it's a post request
453
+ if ( iubendaParser::bot_detected() || $this->no_html )
454
  return $output;
455
 
456
  // google recaptcha v3 compatibility
js/frontend.js CHANGED
@@ -28,10 +28,12 @@
28
  // adjust submit element id
29
  var submitElement = document.getElementById( htmlFormContainer.attr( 'id' ) ).querySelectorAll('input[type=submit]')[0];
30
 
 
31
  if ( typeof submitElement !== 'undefined' && submitElement.name == 'submit' ) {
32
  submitElement.id = 'wp-comment-submit';
33
  submitElement.name = 'wp-comment-submit';
34
  }
 
35
 
36
  // setup vars
37
  formArgs = {
@@ -65,10 +67,39 @@
65
  // handle ajax submit
66
  $( document ).on( 'wpcf7mailsent', formArgs.form.selector, function( e ) {
67
  _iub.cons.sendData();
 
 
68
  } );
69
 
70
  };
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  break;
73
  }
74
 
28
  // adjust submit element id
29
  var submitElement = document.getElementById( htmlFormContainer.attr( 'id' ) ).querySelectorAll('input[type=submit]')[0];
30
 
31
+ /* id="submit" override
32
  if ( typeof submitElement !== 'undefined' && submitElement.name == 'submit' ) {
33
  submitElement.id = 'wp-comment-submit';
34
  submitElement.name = 'wp-comment-submit';
35
  }
36
+ */
37
 
38
  // setup vars
39
  formArgs = {
67
  // handle ajax submit
68
  $( document ).on( 'wpcf7mailsent', formArgs.form.selector, function( e ) {
69
  _iub.cons.sendData();
70
+ _iub.cons.sendFromLocalStorage();
71
+ // console.log( 'test' );
72
  } );
73
 
74
  };
75
 
76
+ break;
77
+
78
+ // WP Forms
79
+ case 'wpforms' :
80
+ var htmlFormContainer = $( 'div[id^="wpforms-' + id );
81
+
82
+ // form exists, let's use it
83
+ if ( htmlFormContainer.length > 0 ) {
84
+ var isAjax = $( '#wpforms-form-' + id ).hasClass( 'wpforms-ajax-form' );
85
+
86
+ // setup vars
87
+ formArgs = {
88
+ submitElement: ( isAjax ? null : document.getElementById( 'wpforms-submit-' + id ) ),
89
+ form: {
90
+ selector: document.getElementById( 'wpforms-form-' + id ),
91
+ map: form.form.map
92
+ }
93
+ };
94
+
95
+ // handle ajax submit
96
+ $( document ).on( 'wpformsAjaxSubmitSuccess', formArgs.form.selector, function( e ) {
97
+ _iub.cons.sendData();
98
+ _iub.cons.sendFromLocalStorage();
99
+ // console.log( 'test' );
100
+ } );
101
+ };
102
+
103
  break;
104
  }
105
 
languages/iubenda-cookie-law-solution-it_IT.mo CHANGED
Binary file
languages/iubenda-cookie-law-solution-it_IT.po CHANGED
@@ -1,15 +1,15 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Iubenda Cookie Solution\n"
4
- "POT-Creation-Date: 2019-07-31 10:35+0200\n"
5
- "PO-Revision-Date: 2019-07-31 10:35+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: it\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.2.3\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
@@ -60,80 +60,110 @@ msgstr ""
60
  msgid "No forms found."
61
  msgstr ""
62
 
63
- #: includes/forms.php:123 includes/settings.php:123
64
  msgid "Forms"
65
  msgstr ""
66
 
67
- #: includes/forms.php:124
68
  msgid "Form"
69
  msgstr ""
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  #: includes/settings.php:41 includes/settings.php:42 includes/settings.php:43
72
  #: includes/settings.php:44 includes/settings.php:45
73
  msgid "string"
74
  msgstr ""
75
 
76
- #: includes/settings.php:57 includes/settings.php:168
77
  msgid "Cookie Solution"
78
  msgstr ""
79
 
80
- #: includes/settings.php:63 includes/settings.php:169
81
  msgid "Consent Solution"
82
  msgstr ""
83
 
84
- #: includes/settings.php:112
85
  msgid "Code"
86
  msgstr "Codice"
87
 
88
- #: includes/settings.php:113
89
- msgid "Scripts blocking"
 
 
90
  msgstr "Blocco preventivo dei codici"
91
 
92
- #: includes/settings.php:114
93
  msgid "Custom scripts"
94
  msgstr "Scripts personalizzati"
95
 
96
- #: includes/settings.php:115
97
  msgid "Content type"
98
  msgstr "Tipo di contenuto"
99
 
100
- #: includes/settings.php:116
101
  msgid "RSS feed"
102
  msgstr "Feed RSS"
103
 
104
- #: includes/settings.php:117
 
 
 
 
105
  msgid "Menu position"
106
  msgstr "Posizione menu"
107
 
108
- #: includes/settings.php:118
109
  msgid "Deactivation"
110
  msgstr "Disattivazione"
111
 
112
- #: includes/settings.php:124
113
  msgid "Public Api Key"
114
  msgstr ""
115
 
116
- #: includes/settings.php:127 includes/settings.php:131
117
- msgid "Fields Mapping"
118
  msgstr ""
119
 
120
- #: includes/settings.php:189
121
  msgid "Are you sure you want to delete this form?"
122
  msgstr ""
123
 
124
- #: includes/settings.php:337
125
  msgid "You don't have permission to access this page."
126
  msgstr "Non disponi dell'autorizzazione per accedere a questa pagina."
127
 
128
- #: includes/settings.php:354
 
 
 
 
 
 
 
 
 
129
  msgid ""
130
  "This plugin is the easiest and most comprehensive way to adapt your "
131
- "WordPress site to the European cookie law. Upon your user's first visit, the "
132
- "plugin will take care of collecting their consent, of blocking the most "
133
- "popular among the scripts that install cookies and subsequently reactivate "
134
- "these scripts as soon as consent is provided. The basic settings include "
135
- "obtaining consent by a simple scroll action (the most effective method) and "
136
- "script reactivation without refreshing the page."
137
  msgstr ""
138
  "Questo plugin è il modo più semplice e completo per adeguare il tuo sito "
139
  "WordPress alla cookie law. Alla prima visita dell'utente il plugin si "
@@ -143,11 +173,28 @@ msgstr ""
143
  "il semplice scroll (il metodo più efficace) e la riattivazione senza il "
144
  "refresh della pagina."
145
 
146
- #: includes/settings.php:357
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  msgid "Would you like to know more about the cookie law?"
148
  msgstr "Vuoi capire di più sulla cookie law?"
149
 
150
- #: includes/settings.php:358
151
  #, php-format
152
  msgid ""
153
  "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
@@ -156,11 +203,11 @@ msgstr ""
156
  "Consulta la nostra <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
157
  "\">guida completa alla cookie law</a>"
158
 
159
- #: includes/settings.php:361
160
  msgid "What is the full functionality of the plugin?"
161
  msgstr "Qual è la completa funzionalità del plugin?"
162
 
163
- #: includes/settings.php:362
164
  #, php-format
165
  msgid ""
166
  "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page."
@@ -169,11 +216,11 @@ msgstr ""
169
  "Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
170
  "pagina dedicata</a> al plugin"
171
 
172
- #: includes/settings.php:365
173
  msgid "Enter the iubenda code for the Cookie Solution below."
174
  msgstr "Inserisci qui sotto il codice di iubenda per la Cookie Solution."
175
 
176
- #: includes/settings.php:366
177
  #, php-format
178
  msgid ""
179
  "In order to run the plugin, you need to enter the iubenda code that "
@@ -186,26 +233,26 @@ msgstr ""
186
  "codice può essere generato su www.iubenda.com, <a href=\"%s\" class="
187
  "\"iubenda-url\" target=\"_blank\">seguendo questa guida.</a>"
188
 
189
- #: includes/settings.php:371
190
  msgid ""
191
- "Maintaining comprehensive records of consent are a vital part of privacy "
192
- "compliance in general but are specifically required under the GDPR. These "
193
- "records should include a way of identifying the user, proof of consent, "
194
- "record of the consenting action and the legal documents available to the "
195
- "user at the time of consent, among other things. You can read about the <a "
196
- "href=\"https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-consent\" "
197
- "target=\"_blank\">full requirements here</a>."
198
  msgstr ""
199
 
200
- #: includes/settings.php:404
201
  msgid "Reset to defaults"
202
  msgstr "Ripristina le impostazioni di default"
203
 
204
- #: includes/settings.php:414
205
  msgid "Need support for this plugin?"
206
  msgstr "Hai bisogno di supporto su questo plugin?"
207
 
208
- #: includes/settings.php:415
209
  #, php-format
210
  msgid ""
211
  "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
@@ -214,28 +261,34 @@ msgstr ""
214
  "Visita il nostro <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
215
  "\">forum di supporto</a>"
216
 
217
- #: includes/settings.php:459
218
  #, php-format
219
  msgid "Enter the iubenda code for %s."
220
  msgstr "Inserire il codice di iubenda per %s."
221
 
222
- #: includes/settings.php:470
223
  msgid "Enter the iubenda code."
224
  msgstr "Inserire il codice di iubenda."
225
 
226
- #: includes/settings.php:498
227
- msgid "Enter a list of custom scripts (one per line)."
 
 
 
228
  msgstr "Inserire una lista di script personalizzati (uno per riga)."
229
 
230
- #: includes/settings.php:502
231
- msgid "Enter a list of custom iframes (one per line)."
 
 
 
232
  msgstr "Inserire un elenco di iframe personalizzati (uno per riga)."
233
 
234
- #: includes/settings.php:517
235
  msgid "Automatically block scripts detected by the plugin."
236
  msgstr "Blocca automaticamente gli script rilevati dal plugin."
237
 
238
- #: includes/settings.php:518
239
  #, php-format
240
  msgid ""
241
  "see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
@@ -244,26 +297,26 @@ msgstr ""
244
  "visita <a href=\"%s\" target=\"_blank\">la nostra documentazione</a> per la "
245
  "lista degli script rilevati automaticamente dal plugin."
246
 
247
- #: includes/settings.php:521
248
  msgid "Primary"
249
  msgstr "Prima"
250
 
251
- #: includes/settings.php:522
252
  msgid "Secondary"
253
  msgstr "Seconda"
254
 
255
- #: includes/settings.php:523
256
  msgid "Select parsing engine."
257
  msgstr "Seleziona il motore di parsing."
258
 
259
- #: includes/settings.php:526
260
  msgid ""
261
  "Leave scripts untouched on the page if the user has already given consent"
262
  msgstr ""
263
  "Lascia gli script intatti sulla pagina se l'utente ha già prestato il "
264
  "consenso"
265
 
266
- #: includes/settings.php:527
267
  msgid ""
268
  "improves performance, highly recommended, to be deactivated only if your "
269
  "site uses a caching system"
@@ -271,7 +324,7 @@ msgstr ""
271
  "migliora le prestazioni, altamente consigliato, da disattivare solo qualora "
272
  "il tuo sito utilizzi un sistema di cache"
273
 
274
- #: includes/settings.php:541
275
  msgid ""
276
  "Restrict the plugin to run only for requests that have \"Content-type: "
277
  "text / html\" (recommended)"
@@ -279,19 +332,25 @@ msgstr ""
279
  "Restringi l'esecuzione del plugin alle sole richieste che presentano "
280
  "\"Content-type: text/html\" (consigliato)"
281
 
282
- #: includes/settings.php:553
283
  msgid "Do not run the plugin inside the RSS feed (recommended)"
284
  msgstr "Non eseguire il plugin all'interno dei Feed RSS (consigliato)"
285
 
286
- #: includes/settings.php:565
 
 
 
 
 
 
287
  msgid "Top menu"
288
  msgstr "Menu principale"
289
 
290
- #: includes/settings.php:566
291
  msgid "Submenu"
292
  msgstr "Sottomenu"
293
 
294
- #: includes/settings.php:567
295
  msgid ""
296
  "Select whether to display iubenda in a top admin menu or the Settings "
297
  "submenu."
@@ -299,210 +358,215 @@ msgstr ""
299
  "Scegli se visualizzare iubenda in una voce di menu principale del pannello "
300
  "admin o in un sottomenu della scheda Impostazioni."
301
 
302
- #: includes/settings.php:579
303
  msgid "Delete all plugin data upon deactivation?"
304
  msgstr ""
305
  "Vuoi eliminare tutti i dati del plugin al momento della disattivazione?"
306
 
307
- #: includes/settings.php:592
308
  msgid "Enter your iubenda Javascript library public API key."
309
  msgstr ""
310
 
311
- #: includes/settings.php:608
312
- #, php-format
313
- msgid "A list forms of available for field mapping. Currently supports: %s"
 
 
314
  msgstr ""
315
 
316
- #: includes/settings.php:656
317
  #, php-format
318
  msgid "%s form title."
319
  msgstr ""
320
 
321
- #: includes/settings.php:656
322
  msgid "Unknown"
323
  msgstr ""
324
 
325
- #: includes/settings.php:658
326
  msgid "Available form fields:"
327
  msgstr ""
328
 
329
- #: includes/settings.php:664
330
  msgid "Publish"
331
  msgstr ""
332
 
333
- #: includes/settings.php:669
334
  msgid "Status"
335
  msgstr ""
336
 
337
- #: includes/settings.php:682
338
  msgid "Cancel"
339
  msgstr ""
340
 
341
- #: includes/settings.php:687
342
  msgid "Save"
343
  msgstr "Salva"
344
 
345
- #: includes/settings.php:700
346
  msgid "Map fields"
347
  msgstr ""
348
 
349
- #: includes/settings.php:706
350
  msgid "Subject fields"
351
  msgstr ""
352
 
353
- #: includes/settings.php:707
354
  msgid ""
355
- "Subject fields allows you to store a series of values saved about your "
356
- "subjects/users. Please map the subject/user data with the corresponding form "
357
- "fields."
358
  msgstr ""
359
 
360
- #: includes/settings.php:712
361
  msgid "Subject field"
362
  msgstr ""
363
 
364
- #: includes/settings.php:713 includes/settings.php:752
365
  msgid "Form field"
366
  msgstr ""
367
 
368
- #: includes/settings.php:719
369
  msgid "Autogenerated"
370
  msgstr ""
371
 
372
- #: includes/settings.php:719
373
  msgid "None"
374
  msgstr ""
375
 
376
- #: includes/settings.php:745
377
  msgid "Preferences fields"
378
  msgstr ""
379
 
380
- #: includes/settings.php:746
381
  msgid ""
382
- "Preferences fields allows you to save the various opt-ins the user has "
383
- "agreed to, such as terms and conditions, newsletter, profiling, etc. Please "
384
- "create at least one preferences field."
 
385
  msgstr ""
386
 
387
- #: includes/settings.php:751
388
  msgid "Preferences field"
389
  msgstr ""
390
 
391
- #: includes/settings.php:757 includes/settings.php:779
392
- #: includes/settings.php:890 includes/settings.php:900
393
- #: includes/settings.php:916
394
  msgid "Enter field name"
395
  msgstr ""
396
 
397
- #: includes/settings.php:767 includes/settings.php:789
398
- #: includes/settings.php:826 includes/settings.php:849
399
- #: includes/settings.php:900 includes/settings.php:916
400
  msgid "Remove"
401
  msgstr ""
402
 
403
- #: includes/settings.php:798
404
  msgid "Add New Preference"
405
  msgstr ""
406
 
407
- #: includes/settings.php:805
408
  msgid "Exclude fields"
409
  msgstr ""
410
 
411
- #: includes/settings.php:806
412
  msgid ""
413
- "Exclude fields allows you to create a list of field names that you would "
414
- "like to exclude from proofs (for e.g. password or other fields not related "
415
- "to the consent)."
416
  msgstr ""
417
 
418
- #: includes/settings.php:811
419
  msgid "Exclude field"
420
  msgstr ""
421
 
422
- #: includes/settings.php:859
423
  msgid "Add New Exclude"
424
  msgstr ""
425
 
426
- #: includes/settings.php:869
427
  msgid "Legal Notices"
428
  msgstr ""
429
 
430
- #: includes/settings.php:875
431
  msgid "Legal documents"
432
  msgstr ""
433
 
434
- #: includes/settings.php:876
435
  msgid ""
436
- "If you use iubenda for your legal documents it is required for you to "
437
- "declare which of them are being agreed upon on each consent creation."
 
 
438
  msgstr ""
439
 
440
- #: includes/settings.php:881
441
  msgid "Identifier"
442
  msgstr ""
443
 
444
- #: includes/settings.php:890
445
- msgid "Please check the legal notices you are using."
446
  msgstr ""
447
 
448
- #: includes/settings.php:906
449
- msgid "Optionally add your custom document identifiers."
450
  msgstr ""
451
 
452
- #: includes/settings.php:925
453
  msgid "Add New Document"
454
  msgstr ""
455
 
456
- #: includes/settings.php:998 includes/settings.php:1030
457
  msgid "Settings saved."
458
  msgstr "Impostazioni salvate."
459
 
460
- #: includes/settings.php:1010 includes/settings.php:1035
461
  msgid "Settings restored to defaults."
462
  msgstr "Impostazioni di default ripristinate."
463
 
464
- #: includes/settings.php:1059
465
  #, php-format
466
  msgid ""
467
  "Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
468
  "\"_blank\">Discussion settings</a>."
469
  msgstr ""
470
 
471
- #: includes/settings.php:1079
472
  msgid "No forms or form changes detected."
473
  msgstr ""
474
 
475
- #: includes/settings.php:1147
476
  msgid "Form saving failed. Please fill the Subject and Preferences fields."
477
  msgstr ""
478
 
479
- #: includes/settings.php:1171
480
  #, fuzzy
481
  #| msgid "Settings applied successfully"
482
  msgid "Form saved successfully - form status changed to Mapped."
483
  msgstr "Impostazioni salvate con successo"
484
 
485
- #: includes/settings.php:1174
486
  #, fuzzy
487
  #| msgid "Settings applied successfully"
488
  msgid "Form updated successfully."
489
  msgstr "Impostazioni salvate con successo"
490
 
491
- #: includes/settings.php:1177
492
  msgid "Form saving failed."
493
  msgstr ""
494
 
495
- #: includes/settings.php:1194
496
  #, fuzzy
497
  #| msgid "Settings applied successfully"
498
  msgid "Form deleted successfully."
499
  msgstr "Impostazioni salvate con successo"
500
 
501
- #: includes/settings.php:1196
502
  msgid "Form delete failed."
503
  msgstr ""
504
 
505
- #: includes/settings.php:1256
506
  msgid "Dismiss this notice."
507
  msgstr ""
508
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Iubenda Cookie Solution\n"
4
+ "POT-Creation-Date: 2019-10-21 09:09+0200\n"
5
+ "PO-Revision-Date: 2019-10-21 09:09+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: it\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.2.4\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
60
  msgid "No forms found."
61
  msgstr ""
62
 
63
+ #: includes/forms.php:144 includes/settings.php:126
64
  msgid "Forms"
65
  msgstr ""
66
 
67
+ #: includes/forms.php:145
68
  msgid "Form"
69
  msgstr ""
70
 
71
+ #: includes/forms.php:561 includes/forms.php:575
72
+ #, php-format
73
+ msgid "First %s"
74
+ msgstr ""
75
+
76
+ #: includes/forms.php:567 includes/forms.php:587
77
+ #, php-format
78
+ msgid "Last %s"
79
+ msgstr ""
80
+
81
+ #: includes/forms.php:581
82
+ #, php-format
83
+ msgid "Middle %s"
84
+ msgstr ""
85
+
86
  #: includes/settings.php:41 includes/settings.php:42 includes/settings.php:43
87
  #: includes/settings.php:44 includes/settings.php:45
88
  msgid "string"
89
  msgstr ""
90
 
91
+ #: includes/settings.php:57 includes/settings.php:171
92
  msgid "Cookie Solution"
93
  msgstr ""
94
 
95
+ #: includes/settings.php:63 includes/settings.php:172
96
  msgid "Consent Solution"
97
  msgstr ""
98
 
99
+ #: includes/settings.php:114
100
  msgid "Code"
101
  msgstr "Codice"
102
 
103
+ #: includes/settings.php:115
104
+ #, fuzzy
105
+ #| msgid "Scripts blocking"
106
+ msgid "Script blocking"
107
  msgstr "Blocco preventivo dei codici"
108
 
109
+ #: includes/settings.php:116
110
  msgid "Custom scripts"
111
  msgstr "Scripts personalizzati"
112
 
113
+ #: includes/settings.php:117
114
  msgid "Content type"
115
  msgstr "Tipo di contenuto"
116
 
117
+ #: includes/settings.php:118
118
  msgid "RSS feed"
119
  msgstr "Feed RSS"
120
 
121
+ #: includes/settings.php:119
122
+ msgid "POST requests"
123
+ msgstr ""
124
+
125
+ #: includes/settings.php:120
126
  msgid "Menu position"
127
  msgstr "Posizione menu"
128
 
129
+ #: includes/settings.php:121
130
  msgid "Deactivation"
131
  msgstr "Disattivazione"
132
 
133
+ #: includes/settings.php:127
134
  msgid "Public Api Key"
135
  msgstr ""
136
 
137
+ #: includes/settings.php:130 includes/settings.php:134
138
+ msgid "Field Mapping"
139
  msgstr ""
140
 
141
+ #: includes/settings.php:192
142
  msgid "Are you sure you want to delete this form?"
143
  msgstr ""
144
 
145
+ #: includes/settings.php:340
146
  msgid "You don't have permission to access this page."
147
  msgstr "Non disponi dell'autorizzazione per accedere a questa pagina."
148
 
149
+ #: includes/settings.php:357
150
+ #, fuzzy
151
+ #| msgid ""
152
+ #| "This plugin is the easiest and most comprehensive way to adapt your "
153
+ #| "WordPress site to the European cookie law. Upon your user's first visit, "
154
+ #| "the plugin will take care of collecting their consent, of blocking the "
155
+ #| "most popular among the scripts that install cookies and subsequently "
156
+ #| "reactivate these scripts as soon as consent is provided. The basic "
157
+ #| "settings include obtaining consent by a simple scroll action (the most "
158
+ #| "effective method) and script reactivation without refreshing the page."
159
  msgid ""
160
  "This plugin is the easiest and most comprehensive way to adapt your "
161
+ "WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first "
162
+ "visit, the plugin will take care of collecting their consent, blocking the "
163
+ "most popular cookie-scripts and subsequently reactivating these scripts as "
164
+ "soon as consent is provided. The basic settings include obtaining consent by "
165
+ "a simple scroll action (the most effective method) and script reactivation "
166
+ "without refreshing the page (asynchronous script reactivation)."
167
  msgstr ""
168
  "Questo plugin è il modo più semplice e completo per adeguare il tuo sito "
169
  "WordPress alla cookie law. Alla prima visita dell'utente il plugin si "
173
  "il semplice scroll (il metodo più efficace) e la riattivazione senza il "
174
  "refresh della pagina."
175
 
176
+ #: includes/settings.php:360
177
+ msgid ""
178
+ "Does the Cookie Solution support IAB’s Transparency and Consent Framework?"
179
+ msgstr ""
180
+
181
+ #: includes/settings.php:361
182
+ #, fuzzy, php-format
183
+ #| msgid ""
184
+ #| "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
185
+ #| "page.</a>"
186
+ msgid ""
187
+ "Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" "
188
+ "target=\"_blank\">here.</a>"
189
+ msgstr ""
190
+ "Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
191
+ "pagina dedicata</a> al plugin"
192
+
193
+ #: includes/settings.php:364
194
  msgid "Would you like to know more about the cookie law?"
195
  msgstr "Vuoi capire di più sulla cookie law?"
196
 
197
+ #: includes/settings.php:365
198
  #, php-format
199
  msgid ""
200
  "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
203
  "Consulta la nostra <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
204
  "\">guida completa alla cookie law</a>"
205
 
206
+ #: includes/settings.php:368
207
  msgid "What is the full functionality of the plugin?"
208
  msgstr "Qual è la completa funzionalità del plugin?"
209
 
210
+ #: includes/settings.php:369
211
  #, php-format
212
  msgid ""
213
  "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page."
216
  "Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
217
  "pagina dedicata</a> al plugin"
218
 
219
+ #: includes/settings.php:372
220
  msgid "Enter the iubenda code for the Cookie Solution below."
221
  msgstr "Inserisci qui sotto il codice di iubenda per la Cookie Solution."
222
 
223
+ #: includes/settings.php:373
224
  #, php-format
225
  msgid ""
226
  "In order to run the plugin, you need to enter the iubenda code that "
233
  "codice può essere generato su www.iubenda.com, <a href=\"%s\" class="
234
  "\"iubenda-url\" target=\"_blank\">seguendo questa guida.</a>"
235
 
236
+ #: includes/settings.php:378
237
  msgid ""
238
+ "Maintaining comprehensive records of consent is a vital part of privacy "
239
+ "compliance in general but is specifically required under the GDPR. These "
240
+ "records should include a way of identifying the user, store proof of "
241
+ "consent, record of the consenting action, and the legal documents available "
242
+ "to the user at the time of consent, among other things. You can read about "
243
+ "the <a href=\"https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-"
244
+ "consent\" target=\"_blank\">full requirements here</a>."
245
  msgstr ""
246
 
247
+ #: includes/settings.php:411
248
  msgid "Reset to defaults"
249
  msgstr "Ripristina le impostazioni di default"
250
 
251
+ #: includes/settings.php:421
252
  msgid "Need support for this plugin?"
253
  msgstr "Hai bisogno di supporto su questo plugin?"
254
 
255
+ #: includes/settings.php:422
256
  #, php-format
257
  msgid ""
258
  "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
261
  "Visita il nostro <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
262
  "\">forum di supporto</a>"
263
 
264
+ #: includes/settings.php:466
265
  #, php-format
266
  msgid "Enter the iubenda code for %s."
267
  msgstr "Inserire il codice di iubenda per %s."
268
 
269
+ #: includes/settings.php:477
270
  msgid "Enter the iubenda code."
271
  msgstr "Inserire il codice di iubenda."
272
 
273
+ #: includes/settings.php:505
274
+ #, fuzzy
275
+ #| msgid "Enter a list of custom scripts (one per line)."
276
+ msgid ""
277
+ "Enter the list of custom scripts you’d like to block here (one per line)"
278
  msgstr "Inserire una lista di script personalizzati (uno per riga)."
279
 
280
+ #: includes/settings.php:509
281
+ #, fuzzy
282
+ #| msgid "Enter a list of custom iframes (one per line)."
283
+ msgid ""
284
+ "Enter the list of custom iframes you’d like to block here (one per line). "
285
  msgstr "Inserire un elenco di iframe personalizzati (uno per riga)."
286
 
287
+ #: includes/settings.php:524
288
  msgid "Automatically block scripts detected by the plugin."
289
  msgstr "Blocca automaticamente gli script rilevati dal plugin."
290
 
291
+ #: includes/settings.php:525
292
  #, php-format
293
  msgid ""
294
  "see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
297
  "visita <a href=\"%s\" target=\"_blank\">la nostra documentazione</a> per la "
298
  "lista degli script rilevati automaticamente dal plugin."
299
 
300
+ #: includes/settings.php:528
301
  msgid "Primary"
302
  msgstr "Prima"
303
 
304
+ #: includes/settings.php:529
305
  msgid "Secondary"
306
  msgstr "Seconda"
307
 
308
+ #: includes/settings.php:530
309
  msgid "Select parsing engine."
310
  msgstr "Seleziona il motore di parsing."
311
 
312
+ #: includes/settings.php:533
313
  msgid ""
314
  "Leave scripts untouched on the page if the user has already given consent"
315
  msgstr ""
316
  "Lascia gli script intatti sulla pagina se l'utente ha già prestato il "
317
  "consenso"
318
 
319
+ #: includes/settings.php:534
320
  msgid ""
321
  "improves performance, highly recommended, to be deactivated only if your "
322
  "site uses a caching system"
324
  "migliora le prestazioni, altamente consigliato, da disattivare solo qualora "
325
  "il tuo sito utilizzi un sistema di cache"
326
 
327
+ #: includes/settings.php:548
328
  msgid ""
329
  "Restrict the plugin to run only for requests that have \"Content-type: "
330
  "text / html\" (recommended)"
332
  "Restringi l'esecuzione del plugin alle sole richieste che presentano "
333
  "\"Content-type: text/html\" (consigliato)"
334
 
335
+ #: includes/settings.php:560
336
  msgid "Do not run the plugin inside the RSS feed (recommended)"
337
  msgstr "Non eseguire il plugin all'interno dei Feed RSS (consigliato)"
338
 
339
+ #: includes/settings.php:572
340
+ #, fuzzy
341
+ #| msgid "Do not run the plugin inside the RSS feed (recommended)"
342
+ msgid "Do not run the plugin on POST requests (recommended)"
343
+ msgstr "Non eseguire il plugin all'interno dei Feed RSS (consigliato)"
344
+
345
+ #: includes/settings.php:584
346
  msgid "Top menu"
347
  msgstr "Menu principale"
348
 
349
+ #: includes/settings.php:585
350
  msgid "Submenu"
351
  msgstr "Sottomenu"
352
 
353
+ #: includes/settings.php:586
354
  msgid ""
355
  "Select whether to display iubenda in a top admin menu or the Settings "
356
  "submenu."
358
  "Scegli se visualizzare iubenda in una voce di menu principale del pannello "
359
  "admin o in un sottomenu della scheda Impostazioni."
360
 
361
+ #: includes/settings.php:598
362
  msgid "Delete all plugin data upon deactivation?"
363
  msgstr ""
364
  "Vuoi eliminare tutti i dati del plugin al momento della disattivazione?"
365
 
366
+ #: includes/settings.php:611
367
  msgid "Enter your iubenda Javascript library public API key."
368
  msgstr ""
369
 
370
+ #: includes/settings.php:627
371
+ msgid ""
372
+ "This section lists the forms available for field mapping. The plugin "
373
+ "currently supports & detects: WordPress Comment Form, Contact Form 7 and WP "
374
+ "Forms."
375
  msgstr ""
376
 
377
+ #: includes/settings.php:688
378
  #, php-format
379
  msgid "%s form title."
380
  msgstr ""
381
 
382
+ #: includes/settings.php:688
383
  msgid "Unknown"
384
  msgstr ""
385
 
386
+ #: includes/settings.php:690
387
  msgid "Available form fields:"
388
  msgstr ""
389
 
390
+ #: includes/settings.php:696
391
  msgid "Publish"
392
  msgstr ""
393
 
394
+ #: includes/settings.php:701
395
  msgid "Status"
396
  msgstr ""
397
 
398
+ #: includes/settings.php:714
399
  msgid "Cancel"
400
  msgstr ""
401
 
402
+ #: includes/settings.php:719
403
  msgid "Save"
404
  msgstr "Salva"
405
 
406
+ #: includes/settings.php:732
407
  msgid "Map fields"
408
  msgstr ""
409
 
410
+ #: includes/settings.php:738
411
  msgid "Subject fields"
412
  msgstr ""
413
 
414
+ #: includes/settings.php:739
415
  msgid ""
416
+ "Subject fields allow you to store a series of identifying values about your "
417
+ "individual subjects/users. Please map the subject field with the "
418
+ "corresponding form fields where applicable."
419
  msgstr ""
420
 
421
+ #: includes/settings.php:744
422
  msgid "Subject field"
423
  msgstr ""
424
 
425
+ #: includes/settings.php:745 includes/settings.php:789
426
  msgid "Form field"
427
  msgstr ""
428
 
429
+ #: includes/settings.php:751
430
  msgid "Autogenerated"
431
  msgstr ""
432
 
433
+ #: includes/settings.php:751
434
  msgid "None"
435
  msgstr ""
436
 
437
+ #: includes/settings.php:782
438
  msgid "Preferences fields"
439
  msgstr ""
440
 
441
+ #: includes/settings.php:783
442
  msgid ""
443
+ "Preferences fields allow you to store a record of the various opt-ins points "
444
+ "at which the user has agreed or given consent, such as fields for agreeing "
445
+ "to terms and conditions, newsletter, profiling, etc. *Please create at least "
446
+ "one preference field."
447
  msgstr ""
448
 
449
+ #: includes/settings.php:788
450
  msgid "Preferences field"
451
  msgstr ""
452
 
453
+ #: includes/settings.php:794 includes/settings.php:820
454
+ #: includes/settings.php:945 includes/settings.php:955
455
+ #: includes/settings.php:971
456
  msgid "Enter field name"
457
  msgstr ""
458
 
459
+ #: includes/settings.php:808 includes/settings.php:835
460
+ #: includes/settings.php:876 includes/settings.php:904
461
+ #: includes/settings.php:955 includes/settings.php:971
462
  msgid "Remove"
463
  msgstr ""
464
 
465
+ #: includes/settings.php:844
466
  msgid "Add New Preference"
467
  msgstr ""
468
 
469
+ #: includes/settings.php:851
470
  msgid "Exclude fields"
471
  msgstr ""
472
 
473
+ #: includes/settings.php:852
474
  msgid ""
475
+ "Exclude fields allow you to create a list of fields that you would like to "
476
+ "exclude from your Consent Solution recorded proofs (for e.g. password or "
477
+ "other fields not related to the consent)."
478
  msgstr ""
479
 
480
+ #: includes/settings.php:857
481
  msgid "Exclude field"
482
  msgstr ""
483
 
484
+ #: includes/settings.php:914
485
  msgid "Add New Exclude"
486
  msgstr ""
487
 
488
+ #: includes/settings.php:924
489
  msgid "Legal Notices"
490
  msgstr ""
491
 
492
+ #: includes/settings.php:930
493
  msgid "Legal documents"
494
  msgstr ""
495
 
496
+ #: includes/settings.php:931
497
  msgid ""
498
+ "In general, it’s important that you declare which legal documents are being "
499
+ "agreed upon when each consent is collected. However, if you use iubenda for "
500
+ "your legal documents, it is *required* that you identify the documents by "
501
+ "selecting them here."
502
  msgstr ""
503
 
504
+ #: includes/settings.php:936
505
  msgid "Identifier"
506
  msgstr ""
507
 
508
+ #: includes/settings.php:945
509
+ msgid "Please select each legal document available on your site."
510
  msgstr ""
511
 
512
+ #: includes/settings.php:961
513
+ msgid "Alternatively, you may add your own custom document identifiers."
514
  msgstr ""
515
 
516
+ #: includes/settings.php:980
517
  msgid "Add New Document"
518
  msgstr ""
519
 
520
+ #: includes/settings.php:1054 includes/settings.php:1086
521
  msgid "Settings saved."
522
  msgstr "Impostazioni salvate."
523
 
524
+ #: includes/settings.php:1066 includes/settings.php:1091
525
  msgid "Settings restored to defaults."
526
  msgstr "Impostazioni di default ripristinate."
527
 
528
+ #: includes/settings.php:1115
529
  #, php-format
530
  msgid ""
531
  "Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
532
  "\"_blank\">Discussion settings</a>."
533
  msgstr ""
534
 
535
+ #: includes/settings.php:1135
536
  msgid "No forms or form changes detected."
537
  msgstr ""
538
 
539
+ #: includes/settings.php:1203
540
  msgid "Form saving failed. Please fill the Subject and Preferences fields."
541
  msgstr ""
542
 
543
+ #: includes/settings.php:1227
544
  #, fuzzy
545
  #| msgid "Settings applied successfully"
546
  msgid "Form saved successfully - form status changed to Mapped."
547
  msgstr "Impostazioni salvate con successo"
548
 
549
+ #: includes/settings.php:1230
550
  #, fuzzy
551
  #| msgid "Settings applied successfully"
552
  msgid "Form updated successfully."
553
  msgstr "Impostazioni salvate con successo"
554
 
555
+ #: includes/settings.php:1233
556
  msgid "Form saving failed."
557
  msgstr ""
558
 
559
+ #: includes/settings.php:1250
560
  #, fuzzy
561
  #| msgid "Settings applied successfully"
562
  msgid "Form deleted successfully."
563
  msgstr "Impostazioni salvate con successo"
564
 
565
+ #: includes/settings.php:1252
566
  msgid "Form delete failed."
567
  msgstr ""
568
 
569
+ #: includes/settings.php:1312
570
  msgid "Dismiss this notice."
571
  msgstr ""
572
 
languages/iubenda-cookie-law-solution.pot CHANGED
@@ -2,14 +2,14 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Iubenda Cookie Solution\n"
5
- "POT-Creation-Date: 2019-07-31 10:35+0200\n"
6
  "PO-Revision-Date: 2015-08-12 10:36+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.2.3\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
@@ -60,109 +60,140 @@ msgstr ""
60
  msgid "No forms found."
61
  msgstr ""
62
 
63
- #: includes/forms.php:123 includes/settings.php:123
64
  msgid "Forms"
65
  msgstr ""
66
 
67
- #: includes/forms.php:124
68
  msgid "Form"
69
  msgstr ""
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  #: includes/settings.php:41 includes/settings.php:42 includes/settings.php:43
72
  #: includes/settings.php:44 includes/settings.php:45
73
  msgid "string"
74
  msgstr ""
75
 
76
- #: includes/settings.php:57 includes/settings.php:168
77
  msgid "Cookie Solution"
78
  msgstr ""
79
 
80
- #: includes/settings.php:63 includes/settings.php:169
81
  msgid "Consent Solution"
82
  msgstr ""
83
 
84
- #: includes/settings.php:112
85
  msgid "Code"
86
  msgstr ""
87
 
88
- #: includes/settings.php:113
89
- msgid "Scripts blocking"
90
  msgstr ""
91
 
92
- #: includes/settings.php:114
93
  msgid "Custom scripts"
94
  msgstr ""
95
 
96
- #: includes/settings.php:115
97
  msgid "Content type"
98
  msgstr ""
99
 
100
- #: includes/settings.php:116
101
  msgid "RSS feed"
102
  msgstr ""
103
 
104
- #: includes/settings.php:117
 
 
 
 
105
  msgid "Menu position"
106
  msgstr ""
107
 
108
- #: includes/settings.php:118
109
  msgid "Deactivation"
110
  msgstr ""
111
 
112
- #: includes/settings.php:124
113
  msgid "Public Api Key"
114
  msgstr ""
115
 
116
- #: includes/settings.php:127 includes/settings.php:131
117
- msgid "Fields Mapping"
118
  msgstr ""
119
 
120
- #: includes/settings.php:189
121
  msgid "Are you sure you want to delete this form?"
122
  msgstr ""
123
 
124
- #: includes/settings.php:337
125
  msgid "You don't have permission to access this page."
126
  msgstr ""
127
 
128
- #: includes/settings.php:354
129
  msgid ""
130
  "This plugin is the easiest and most comprehensive way to adapt your "
131
- "WordPress site to the European cookie law. Upon your user's first visit, "
132
- "the plugin will take care of collecting their consent, of blocking the most "
133
- "popular among the scripts that install cookies and subsequently reactivate "
134
- "these scripts as soon as consent is provided. The basic settings include "
135
- "obtaining consent by a simple scroll action (the most effective method) and "
136
- "script reactivation without refreshing the page."
137
  msgstr ""
138
 
139
- #: includes/settings.php:357
 
 
 
 
 
 
 
 
 
 
 
 
140
  msgid "Would you like to know more about the cookie law?"
141
  msgstr ""
142
 
143
- #: includes/settings.php:358
144
  #, php-format
145
  msgid ""
146
  "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
147
  "guide to the cookie law.</a>"
148
  msgstr ""
149
 
150
- #: includes/settings.php:361
151
  msgid "What is the full functionality of the plugin?"
152
  msgstr ""
153
 
154
- #: includes/settings.php:362
155
  #, php-format
156
  msgid ""
157
  "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
158
  "page.</a>"
159
  msgstr ""
160
 
161
- #: includes/settings.php:365
162
  msgid "Enter the iubenda code for the Cookie Solution below."
163
  msgstr ""
164
 
165
- #: includes/settings.php:366
166
  #, php-format
167
  msgid ""
168
  "In order to run the plugin, you need to enter the iubenda code that "
@@ -171,303 +202,314 @@ msgid ""
171
  "class=\"iubenda-url\" target=\"_blank\">this guide.</a>"
172
  msgstr ""
173
 
174
- #: includes/settings.php:371
175
  msgid ""
176
- "Maintaining comprehensive records of consent are a vital part of privacy "
177
- "compliance in general but are specifically required under the GDPR. These "
178
- "records should include a way of identifying the user, proof of consent, "
179
- "record of the consenting action and the legal documents available to the "
180
- "user at the time of consent, among other things. You can read about the <a "
181
- "href=\"https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-consent\" "
182
- "target=\"_blank\">full requirements here</a>."
183
  msgstr ""
184
 
185
- #: includes/settings.php:404
186
  msgid "Reset to defaults"
187
  msgstr ""
188
 
189
- #: includes/settings.php:414
190
  msgid "Need support for this plugin?"
191
  msgstr ""
192
 
193
- #: includes/settings.php:415
194
  #, php-format
195
  msgid ""
196
  "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
197
  "forum.</a>"
198
  msgstr ""
199
 
200
- #: includes/settings.php:459
201
  #, php-format
202
  msgid "Enter the iubenda code for %s."
203
  msgstr ""
204
 
205
- #: includes/settings.php:470
206
  msgid "Enter the iubenda code."
207
  msgstr ""
208
 
209
- #: includes/settings.php:498
210
- msgid "Enter a list of custom scripts (one per line)."
 
211
  msgstr ""
212
 
213
- #: includes/settings.php:502
214
- msgid "Enter a list of custom iframes (one per line)."
 
215
  msgstr ""
216
 
217
- #: includes/settings.php:517
218
  msgid "Automatically block scripts detected by the plugin."
219
  msgstr ""
220
 
221
- #: includes/settings.php:518
222
  #, php-format
223
  msgid ""
224
  "see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
225
  "detected scripts."
226
  msgstr ""
227
 
228
- #: includes/settings.php:521
229
  msgid "Primary"
230
  msgstr ""
231
 
232
- #: includes/settings.php:522
233
  msgid "Secondary"
234
  msgstr ""
235
 
236
- #: includes/settings.php:523
237
  msgid "Select parsing engine."
238
  msgstr ""
239
 
240
- #: includes/settings.php:526
241
  msgid ""
242
  "Leave scripts untouched on the page if the user has already given consent"
243
  msgstr ""
244
 
245
- #: includes/settings.php:527
246
  msgid ""
247
  "improves performance, highly recommended, to be deactivated only if your "
248
  "site uses a caching system"
249
  msgstr ""
250
 
251
- #: includes/settings.php:541
252
  msgid ""
253
  "Restrict the plugin to run only for requests that have \"Content-type: "
254
  "text / html\" (recommended)"
255
  msgstr ""
256
 
257
- #: includes/settings.php:553
258
  msgid "Do not run the plugin inside the RSS feed (recommended)"
259
  msgstr ""
260
 
261
- #: includes/settings.php:565
 
 
 
 
262
  msgid "Top menu"
263
  msgstr ""
264
 
265
- #: includes/settings.php:566
266
  msgid "Submenu"
267
  msgstr ""
268
 
269
- #: includes/settings.php:567
270
  msgid ""
271
  "Select whether to display iubenda in a top admin menu or the Settings "
272
  "submenu."
273
  msgstr ""
274
 
275
- #: includes/settings.php:579
276
  msgid "Delete all plugin data upon deactivation?"
277
  msgstr ""
278
 
279
- #: includes/settings.php:592
280
  msgid "Enter your iubenda Javascript library public API key."
281
  msgstr ""
282
 
283
- #: includes/settings.php:608
284
- #, php-format
285
- msgid "A list forms of available for field mapping. Currently supports: %s"
 
 
286
  msgstr ""
287
 
288
- #: includes/settings.php:656
289
  #, php-format
290
  msgid "%s form title."
291
  msgstr ""
292
 
293
-