Version Description
- New: Per-purpose script blocking support
- New: "Reject" button support
Download this release
Release Info
Developer | dfactory |
Plugin | iubenda Cookie Solution for GDPR |
Version | 2.1.0-beta |
Comparing to | |
See all releases |
Code changes from version 2.0.2 to 2.1.0-beta
- css/admin.css +12 -3
- includes/forms.php +3 -3
- includes/settings.php +152 -40
- iubenda-cookie-class/README.md +4 -0
- iubenda-cookie-class/iubenda.class.php +394 -170
- iubenda_cookie_solution.php +54 -9
- js/admin.js +37 -6
- languages/iubenda-cookie-law-solution-it_IT.mo +0 -0
- languages/iubenda-cookie-law-solution-it_IT.po +341 -253
- languages/iubenda-cookie-law-solution.pot +148 -103
- readme.txt +8 -3
css/admin.css
CHANGED
@@ -62,9 +62,18 @@
|
|
62 |
#iubenda-tabs .help-tab-content {
|
63 |
margin-right: 0;
|
64 |
}
|
65 |
-
#iubenda-tabs .help-tab-content
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
#iubenda-tabs .postbox-container .widefat {
|
70 |
border: none;
|
62 |
#iubenda-tabs .help-tab-content {
|
63 |
margin-right: 0;
|
64 |
}
|
65 |
+
#iubenda-tabs .help-tab-content .description {
|
66 |
+
margin-bottom: 10px;
|
67 |
+
}
|
68 |
+
#iubenda-tabs .help-tab-content .custom-script-field, #iubenda-tabs .help-tab-content .custom-iframe-field {
|
69 |
+
padding-bottom: 10px;
|
70 |
+
}
|
71 |
+
#iubenda-tabs .help-tab-content .custom-script-field input, #iubenda-tabs .help-tab-content .custom-iframe-field input {
|
72 |
+
vertical-align: middle;
|
73 |
+
}
|
74 |
+
#tab-panel-scripts, #tab-panel-iframes {
|
75 |
+
margin-top: 16px;
|
76 |
+
margin-bottom: 18px;
|
77 |
}
|
78 |
#iubenda-tabs .postbox-container .widefat {
|
79 |
border: none;
|
includes/forms.php
CHANGED
@@ -339,7 +339,7 @@ class iubenda_Forms {
|
|
339 |
$args = wp_parse_args( $args, $defaults );
|
340 |
|
341 |
// sanitize args
|
342 |
-
$args['ID'] = ! empty( $args['ID'] ) ? (
|
343 |
$args['status'] = ! empty( $args['status'] ) && in_array( $args['status'], array_keys( $this->statuses ) ) ? $args['status'] : 'publish';
|
344 |
$args['object_type'] = 'post';
|
345 |
$args['object_id'] = ! empty( $args['object_id'] ) ? (int) $args['object_id'] : 0;
|
@@ -371,8 +371,8 @@ class iubenda_Forms {
|
|
371 |
if ( ! $args['form_source'] || ! $args['form_fields'] )
|
372 |
return false;
|
373 |
|
374 |
-
$post = get_post(
|
375 |
-
$update =
|
376 |
|
377 |
// insert new form
|
378 |
if ( ! $update ) {
|
339 |
$args = wp_parse_args( $args, $defaults );
|
340 |
|
341 |
// sanitize args
|
342 |
+
$args['ID'] = ! empty( $args['ID'] ) ? absint( $args['ID'] ) : 0;
|
343 |
$args['status'] = ! empty( $args['status'] ) && in_array( $args['status'], array_keys( $this->statuses ) ) ? $args['status'] : 'publish';
|
344 |
$args['object_type'] = 'post';
|
345 |
$args['object_id'] = ! empty( $args['object_id'] ) ? (int) $args['object_id'] : 0;
|
371 |
if ( ! $args['form_source'] || ! $args['form_fields'] )
|
372 |
return false;
|
373 |
|
374 |
+
$post = $args['ID'] !== 0 ? get_post( $args['ID'] ) : false;
|
375 |
+
$update = empty( $post ) ? false : true;
|
376 |
|
377 |
// insert new form
|
378 |
if ( ! $update ) {
|
includes/settings.php
CHANGED
@@ -22,7 +22,7 @@ class iubenda_Settings {
|
|
22 |
add_action( 'admin_init', array( $this, 'register_options' ) );
|
23 |
add_action( 'admin_init', array( $this, 'update_plugin' ), 9 );
|
24 |
add_action( 'admin_init', array( $this, 'admin_page_redirect' ), 20 );
|
25 |
-
add_action( 'admin_init', array( $this, 'process_actions' ) );
|
26 |
add_action( 'admin_menu', array( $this, 'admin_menu_options' ) );
|
27 |
add_action( 'admin_notices', array( $this, 'settings_errors' ) );
|
28 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
@@ -45,7 +45,7 @@ class iubenda_Settings {
|
|
45 |
'full_name' => __( 'string', 'iubenda' ),
|
46 |
// 'verified' => __( 'boolean', 'iubenda' ),
|
47 |
);
|
48 |
-
|
49 |
$this->legal_notices = array(
|
50 |
'privacy_policy',
|
51 |
'cookie_policy',
|
@@ -67,6 +67,15 @@ class iubenda_Settings {
|
|
67 |
)
|
68 |
);
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
$links = array(
|
71 |
'en' => array(
|
72 |
'iab' => 'https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework',
|
@@ -341,6 +350,15 @@ class iubenda_Settings {
|
|
341 |
}
|
342 |
|
343 |
$tab_key = ! empty( $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : 'cs';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
?>
|
345 |
<div class="wrap">
|
346 |
|
@@ -382,6 +400,25 @@ class iubenda_Settings {
|
|
382 |
</div>
|
383 |
|
384 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
// render custom notices
|
386 |
$this->print_notices();
|
387 |
?>
|
@@ -514,18 +551,63 @@ class iubenda_Settings {
|
|
514 |
</div>
|
515 |
<div id="contextual-help-tabs-wrap-2" class="contextual-help-tabs-wrap">
|
516 |
<div id="tab-panel-scripts" class="help-tab-content active">
|
517 |
-
<
|
518 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
</div>
|
520 |
<div id="tab-panel-iframes" class="help-tab-content">
|
521 |
-
<
|
522 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
523 |
</div>
|
524 |
</div>
|
525 |
</div>
|
526 |
</div>';
|
527 |
}
|
528 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
/**
|
530 |
* Parsing option.
|
531 |
*
|
@@ -544,7 +626,7 @@ class iubenda_Settings {
|
|
544 |
</div>
|
545 |
<div>
|
546 |
<label><input id="iub_skip_parsing" type="checkbox" name="iubenda_cookie_law_solution[skip_parsing]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['skip_parsing'], false ) . '/>' . __( 'Leave scripts untouched on the page if the user has already given consent', 'iubenda' ) . '</label>
|
547 |
-
<p class="description">(' . __( "improves performance, highly recommended, to be deactivated only if your site uses a caching system", 'iubenda' ) . ')</p>
|
548 |
</div>
|
549 |
</div>
|
550 |
</div>';
|
@@ -1043,24 +1125,38 @@ class iubenda_Settings {
|
|
1043 |
$input['code_default'] = ! empty( $input['code_default'] ) ? iubenda()->parse_code( $input['code_default'] ) : '';
|
1044 |
|
1045 |
// scripts
|
1046 |
-
if (
|
1047 |
-
$
|
1048 |
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1053 |
} else
|
1054 |
$input['custom_scripts'] = array();
|
1055 |
|
1056 |
// iframes
|
1057 |
-
if (
|
1058 |
-
$
|
1059 |
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1064 |
} else
|
1065 |
$input['custom_iframes'] = array();
|
1066 |
|
@@ -1119,13 +1215,22 @@ class iubenda_Settings {
|
|
1119 |
|
1120 |
if ( ! $page )
|
1121 |
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1122 |
|
1123 |
// add comments cookie option notice
|
1124 |
if ( $tab_key != 'cs' && ! empty( iubenda()->options['cons']['public_api_key'] ) ) {
|
1125 |
$cookies_enabled = get_option( 'show_comments_cookies_opt_in' );
|
1126 |
|
1127 |
if ( ! $cookies_enabled ) {
|
1128 |
-
|
1129 |
}
|
1130 |
}
|
1131 |
|
@@ -1137,23 +1242,15 @@ class iubenda_Settings {
|
|
1137 |
|
1138 |
// new forms notice
|
1139 |
if ( ! empty( $result['new'] ) )
|
1140 |
-
|
1141 |
|
1142 |
// forms changed notice
|
1143 |
if ( ! empty( $result['updated'] ) )
|
1144 |
-
|
1145 |
|
1146 |
// no changes notice
|
1147 |
if ( empty( $result['new'] ) && empty( $result['updated'] ) )
|
1148 |
-
|
1149 |
-
|
1150 |
-
if ( iubenda()->options['cs']['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
1151 |
-
// sub menu
|
1152 |
-
$redirect_to = admin_url( 'options-general.php?page=iubenda&tab=cons' );
|
1153 |
-
} else {
|
1154 |
-
// top menu
|
1155 |
-
$redirect_to = admin_url( 'admin.php?page=iubenda&tab=cons' );
|
1156 |
-
}
|
1157 |
|
1158 |
// make sure it's current host location
|
1159 |
wp_safe_redirect( $redirect_to );
|
@@ -1213,7 +1310,7 @@ class iubenda_Settings {
|
|
1213 |
|
1214 |
// bail if empty fields
|
1215 |
if ( empty( $subject ) || empty( $preferences ) ) {
|
1216 |
-
|
1217 |
return;
|
1218 |
}
|
1219 |
|
@@ -1237,13 +1334,13 @@ class iubenda_Settings {
|
|
1237 |
if ( $result ) {
|
1238 |
// form save, inform about form status update
|
1239 |
if ( empty( $form->form_subject ) && empty( $form->form_preferences ) ) {
|
1240 |
-
|
1241 |
// form update
|
1242 |
} else {
|
1243 |
-
|
1244 |
}
|
1245 |
} else {
|
1246 |
-
|
1247 |
}
|
1248 |
|
1249 |
break;
|
@@ -1260,15 +1357,30 @@ class iubenda_Settings {
|
|
1260 |
$result = iubenda()->forms->delete_form( $id );
|
1261 |
|
1262 |
if ( $result )
|
1263 |
-
|
1264 |
else
|
1265 |
-
|
1266 |
-
|
1267 |
-
$redirect_to = admin_url( 'admin.php?page=iubenda&tab=cons' );
|
1268 |
|
1269 |
// make sure it's current host location
|
1270 |
wp_safe_redirect( $redirect_to );
|
1271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1272 |
break;
|
1273 |
|
1274 |
default :
|
22 |
add_action( 'admin_init', array( $this, 'register_options' ) );
|
23 |
add_action( 'admin_init', array( $this, 'update_plugin' ), 9 );
|
24 |
add_action( 'admin_init', array( $this, 'admin_page_redirect' ), 20 );
|
25 |
+
add_action( 'admin_init', array( $this, 'process_actions' ), 20 );
|
26 |
add_action( 'admin_menu', array( $this, 'admin_menu_options' ) );
|
27 |
add_action( 'admin_notices', array( $this, 'settings_errors' ) );
|
28 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
45 |
'full_name' => __( 'string', 'iubenda' ),
|
46 |
// 'verified' => __( 'boolean', 'iubenda' ),
|
47 |
);
|
48 |
+
|
49 |
$this->legal_notices = array(
|
50 |
'privacy_policy',
|
51 |
'cookie_policy',
|
67 |
)
|
68 |
);
|
69 |
|
70 |
+
$this->tag_types = array(
|
71 |
+
0 => __( 'Not set', 'iubenda' ),
|
72 |
+
1 => __( 'Strictly necessary', 'iubenda' ),
|
73 |
+
2 => __( 'Basic interactions & functionalities', 'iubenda' ),
|
74 |
+
3 => __( 'Experience enhancement', 'iubenda' ),
|
75 |
+
4 => __( 'Analytics', 'iubenda' ),
|
76 |
+
5 => __( 'Targeting & Advertising', 'iubenda' )
|
77 |
+
);
|
78 |
+
|
79 |
$links = array(
|
80 |
'en' => array(
|
81 |
'iab' => 'https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework',
|
350 |
}
|
351 |
|
352 |
$tab_key = ! empty( $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : 'cs';
|
353 |
+
|
354 |
+
// get redirect url
|
355 |
+
if ( iubenda()->options['cs']['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
356 |
+
// sub menu
|
357 |
+
$redirect_to = admin_url( 'options-general.php?page=iubenda&tab=' . $tab_key );
|
358 |
+
} else {
|
359 |
+
// top menu
|
360 |
+
$redirect_to = admin_url( 'admin.php?page=iubenda&tab=' . $tab_key );
|
361 |
+
}
|
362 |
?>
|
363 |
<div class="wrap">
|
364 |
|
400 |
</div>
|
401 |
|
402 |
<?php
|
403 |
+
// add per-purpose notice
|
404 |
+
if ( $tab_key === 'cs' && iubenda()->options['cs']['skip_parsing'] ) {
|
405 |
+
$iubenda_code = '';
|
406 |
+
|
407 |
+
if ( iubenda()->multilang === true && defined( 'ICL_LANGUAGE_CODE' ) && isset( iubenda()->options['cs']['code_' . ICL_LANGUAGE_CODE] ) ) {
|
408 |
+
$iubenda_code = iubenda()->options['cs']['code_' . ICL_LANGUAGE_CODE];
|
409 |
+
|
410 |
+
// no code for current language, use default
|
411 |
+
if ( ! $iubenda_code )
|
412 |
+
$iubenda_code = iubenda()->options['cs']['code_default'];
|
413 |
+
} else
|
414 |
+
$iubenda_code = iubenda()->options['cs']['code_default'];
|
415 |
+
|
416 |
+
$per_purpose_enabled = preg_match( '/\"perPurposeConsent\"\: *\"true\"/', $iubenda_code );
|
417 |
+
|
418 |
+
if ( $per_purpose_enabled )
|
419 |
+
$this->add_notice( 'iub_per_purpose_enabled', sprintf( __( 'If you are using per-purpose script blocking please disable the "Leave scripts untouched on the page if the user has already given consent" option. <a href="%s" target="_self">Disable now</a>', 'iubenda' ), esc_url( add_query_arg( 'action', 'disable_skip_parsing', $redirect_to ) ) ), 'notice' );
|
420 |
+
}
|
421 |
+
|
422 |
// render custom notices
|
423 |
$this->print_notices();
|
424 |
?>
|
551 |
</div>
|
552 |
<div id="contextual-help-tabs-wrap-2" class="contextual-help-tabs-wrap">
|
553 |
<div id="tab-panel-scripts" class="help-tab-content active">
|
554 |
+
<p class="description">' . __( 'Provide a list of custom scripts you’d like to block and assign their purpose.', 'iubenda' ) . '</p>
|
555 |
+
<div id="custom-script-field-template" class="template-field" style="display: none;">
|
556 |
+
<input type="text" class="regular-text" value="" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="' . __( 'Enter custom script', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'script', 0 ) . ' <a href="#" class="remove-custom-script-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
557 |
+
</div>';
|
558 |
+
|
559 |
+
if ( ! empty( iubenda()->options['cs']['custom_scripts'] ) ) {
|
560 |
+
foreach ( iubenda()->options['cs']['custom_scripts'] as $script => $type ) {
|
561 |
+
echo '
|
562 |
+
<div class="custom-script-field">
|
563 |
+
<input type="text" class="regular-text" value="' . esc_attr( $script ) . '" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="' . __( 'Enter custom script', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'script', $type ) . ' <a href="#" class="remove-custom-script-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
564 |
+
</div>';
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
+
echo '
|
569 |
+
<a href="#" class="add-custom-script-field button-secondary">Add New Script</a>
|
570 |
</div>
|
571 |
<div id="tab-panel-iframes" class="help-tab-content">
|
572 |
+
<p class="description">' . __( 'Provide a list of custom iframes you’d like to block and assign their purpose. ', 'iubenda' ) . '</p>
|
573 |
+
<div id="custom-iframe-field-template" class="template-field" style="display: none;">
|
574 |
+
<input type="text" class="regular-text" value="" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="' . __( 'Enter custom iframe', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'iframe', 0 ) . ' <a href="#" class="remove-custom-iframe-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
575 |
+
</div>';
|
576 |
+
|
577 |
+
if ( ! empty( iubenda()->options['cs']['custom_iframes'] ) ) {
|
578 |
+
foreach ( iubenda()->options['cs']['custom_iframes'] as $iframe => $type ) {
|
579 |
+
echo '
|
580 |
+
<div class="custom-iframe-field">
|
581 |
+
<input type="text" class="regular-text" value="' . esc_attr( $iframe ) . '" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="' . __( 'Enter custom iframe', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'iframe', $type ) . ' <a href="#" class="remove-custom-iframe-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
582 |
+
</div>';
|
583 |
+
}
|
584 |
+
}
|
585 |
+
|
586 |
+
echo '
|
587 |
+
<a href="#" class="add-custom-iframe-field button-secondary">Add New Iframe</a>
|
588 |
</div>
|
589 |
</div>
|
590 |
</div>
|
591 |
</div>';
|
592 |
}
|
593 |
|
594 |
+
/**
|
595 |
+
* Prepare tag types select.
|
596 |
+
*
|
597 |
+
* @param string $type
|
598 |
+
* @param int $selected
|
599 |
+
* @return string
|
600 |
+
*/
|
601 |
+
function render_tag_types( $type, $selected ) {
|
602 |
+
$html = '<select name="iubenda_cookie_law_solution[custom_' . $type . 's][type][]">';
|
603 |
+
|
604 |
+
foreach ( $this->tag_types as $tag_id => $tag_name ) {
|
605 |
+
$html .= '<option value="' . esc_attr( $tag_id ) . '" ' . selected( $selected, $tag_id, false ) . '>' . esc_html( $tag_name ) . '</option>';
|
606 |
+
}
|
607 |
+
|
608 |
+
return $html . '</select>';
|
609 |
+
}
|
610 |
+
|
611 |
/**
|
612 |
* Parsing option.
|
613 |
*
|
626 |
</div>
|
627 |
<div>
|
628 |
<label><input id="iub_skip_parsing" type="checkbox" name="iubenda_cookie_law_solution[skip_parsing]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['skip_parsing'], false ) . '/>' . __( 'Leave scripts untouched on the page if the user has already given consent', 'iubenda' ) . '</label>
|
629 |
+
<p class="description">(' . __( "improves performance, highly recommended, to be deactivated only if your site uses a caching system or you have per-purpose script blokcing active.", 'iubenda' ) . ')</p>
|
630 |
</div>
|
631 |
</div>
|
632 |
</div>';
|
1125 |
$input['code_default'] = ! empty( $input['code_default'] ) ? iubenda()->parse_code( $input['code_default'] ) : '';
|
1126 |
|
1127 |
// scripts
|
1128 |
+
if ( ! empty( $input['custom_scripts'] ) && ! empty( $input['custom_scripts']['script'] ) && ! empty( $input['custom_scripts']['type'] ) ) {
|
1129 |
+
$scripts = array();
|
1130 |
|
1131 |
+
// first field is template
|
1132 |
+
if ( count( $input['custom_scripts']['script'] ) > 1 ) {
|
1133 |
+
foreach ( $input['custom_scripts']['script'] as $number => $script ) {
|
1134 |
+
$trimmed = trim( $script );
|
1135 |
+
|
1136 |
+
if ( $trimmed !== '' )
|
1137 |
+
$scripts[$trimmed] = (int) $input['custom_scripts']['type'][$number];
|
1138 |
+
}
|
1139 |
+
}
|
1140 |
+
|
1141 |
+
$input['custom_scripts'] = $scripts;
|
1142 |
} else
|
1143 |
$input['custom_scripts'] = array();
|
1144 |
|
1145 |
// iframes
|
1146 |
+
if ( ! empty( $input['custom_iframes'] ) && ! empty( $input['custom_iframes']['iframe'] ) && ! empty( $input['custom_iframes']['type'] ) ) {
|
1147 |
+
$iframes = array();
|
1148 |
|
1149 |
+
// first field is template
|
1150 |
+
if ( count( $input['custom_iframes']['iframe'] ) > 1 ) {
|
1151 |
+
foreach ( $input['custom_iframes']['iframe'] as $number => $iframe ) {
|
1152 |
+
$trimmed = trim( $iframe );
|
1153 |
+
|
1154 |
+
if ( $trimmed !== '' )
|
1155 |
+
$iframes[$trimmed] = (int) $input['custom_iframes']['type'][$number];
|
1156 |
+
}
|
1157 |
+
}
|
1158 |
+
|
1159 |
+
$input['custom_iframes'] = $iframes;
|
1160 |
} else
|
1161 |
$input['custom_iframes'] = array();
|
1162 |
|
1215 |
|
1216 |
if ( ! $page )
|
1217 |
return;
|
1218 |
+
|
1219 |
+
// get redirect url
|
1220 |
+
if ( iubenda()->options['cs']['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
1221 |
+
// sub menu
|
1222 |
+
$redirect_to = admin_url( 'options-general.php?page=iubenda&tab=' . $tab_key );
|
1223 |
+
} else {
|
1224 |
+
// top menu
|
1225 |
+
$redirect_to = admin_url( 'admin.php?page=iubenda&tab=' . $tab_key );
|
1226 |
+
}
|
1227 |
|
1228 |
// add comments cookie option notice
|
1229 |
if ( $tab_key != 'cs' && ! empty( iubenda()->options['cons']['public_api_key'] ) ) {
|
1230 |
$cookies_enabled = get_option( 'show_comments_cookies_opt_in' );
|
1231 |
|
1232 |
if ( ! $cookies_enabled ) {
|
1233 |
+
$this->add_notice( 'iub_comment_cookies_disabled', sprintf( __( 'Please enable comments cookies opt-in checkbox in the <a href="%s" target="_blank">Discussion settings</a>.', 'iubenda' ), esc_url( admin_url( 'options-discussion.php' ) ) ), 'notice' );
|
1234 |
}
|
1235 |
}
|
1236 |
|
1242 |
|
1243 |
// new forms notice
|
1244 |
if ( ! empty( $result['new'] ) )
|
1245 |
+
$this->add_notice( 'iub_autodetect_success', sprintf( _n( '%d form detected successfully.', '%d forms detected successfully.', count( $result['new'] ), 'iubenda' ), $result ), 'success' );
|
1246 |
|
1247 |
// forms changed notice
|
1248 |
if ( ! empty( $result['updated'] ) )
|
1249 |
+
$this->add_notice( 'iub_autodetect_success', sprintf( _n( '%d form change detected.', '%d form changes detected.', count( $result['updated'] ), 'iubenda' ), $result ), 'success' );
|
1250 |
|
1251 |
// no changes notice
|
1252 |
if ( empty( $result['new'] ) && empty( $result['updated'] ) )
|
1253 |
+
$this->add_notice( 'iub_autodetect_success', __( 'No forms or form changes detected.', 'iubenda' ), 'error' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1254 |
|
1255 |
// make sure it's current host location
|
1256 |
wp_safe_redirect( $redirect_to );
|
1310 |
|
1311 |
// bail if empty fields
|
1312 |
if ( empty( $subject ) || empty( $preferences ) ) {
|
1313 |
+
$this->add_notice( 'iub_form_fields_missing', __( 'Form saving failed. Please fill the Subject and Preferences fields.', 'iubenda' ), 'error' );
|
1314 |
return;
|
1315 |
}
|
1316 |
|
1334 |
if ( $result ) {
|
1335 |
// form save, inform about form status update
|
1336 |
if ( empty( $form->form_subject ) && empty( $form->form_preferences ) ) {
|
1337 |
+
$this->add_notice( 'iub_form_saved', __( 'Form saved successfully - form status changed to Mapped.', 'iubenda' ), 'success' );
|
1338 |
// form update
|
1339 |
} else {
|
1340 |
+
$this->add_notice( 'iub_form_updated', __( 'Form updated successfully.', 'iubenda' ), 'success' );
|
1341 |
}
|
1342 |
} else {
|
1343 |
+
$this->add_notice( 'iub_form_failed', __( 'Form saving failed.', 'iubenda' ), 'error' );
|
1344 |
}
|
1345 |
|
1346 |
break;
|
1357 |
$result = iubenda()->forms->delete_form( $id );
|
1358 |
|
1359 |
if ( $result )
|
1360 |
+
$this->add_notice( 'iub_form_deleted', __( 'Form deleted successfully.', 'iubenda' ), 'success' );
|
1361 |
else
|
1362 |
+
$this->add_notice( 'iub_form_delete_failed', __( 'Form delete failed.', 'iubenda' ), 'error' );
|
|
|
|
|
1363 |
|
1364 |
// make sure it's current host location
|
1365 |
wp_safe_redirect( $redirect_to );
|
1366 |
+
exit;
|
1367 |
+
|
1368 |
+
break;
|
1369 |
+
|
1370 |
+
case 'disable_skip_parsing' :
|
1371 |
+
|
1372 |
+
// disable skip parsing option
|
1373 |
+
$options = iubenda()->options['cs'];
|
1374 |
+
$options['skip_parsing'] = false;
|
1375 |
+
|
1376 |
+
update_option( 'iubenda_cookie_law_solution', $options );
|
1377 |
+
|
1378 |
+
$this->add_notice( 'iub_settings_updated', __( 'Settings saved.', 'iubenda' ), 'success' );
|
1379 |
+
|
1380 |
+
// make sure it's current host location
|
1381 |
+
wp_safe_redirect( $redirect_to );
|
1382 |
+
exit;
|
1383 |
+
|
1384 |
break;
|
1385 |
|
1386 |
default :
|
iubenda-cookie-class/README.md
CHANGED
@@ -98,6 +98,10 @@ These operations take place in accordance with the rules explained in [this guid
|
|
98 |
|
99 |
## Changelog
|
100 |
|
|
|
|
|
|
|
|
|
101 |
##### 3.4.0
|
102 |
* New: Introducing wildcard support for scripts and iframes
|
103 |
|
98 |
|
99 |
## Changelog
|
100 |
|
101 |
+
##### 4.0.0
|
102 |
+
* New: Per-purpose script blocking support
|
103 |
+
* New: Reject button support
|
104 |
+
|
105 |
##### 3.4.0
|
106 |
* New: Introducing wildcard support for scripts and iframes
|
107 |
|
iubenda-cookie-class/iubenda.class.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @author iubenda s.r.l
|
6 |
* @copyright 2018-2019, iubenda s.r.l
|
7 |
* @license GNU/GPL
|
8 |
-
* @version
|
9 |
* @deprecated
|
10 |
*
|
11 |
* This program is free software: you can redistribute it and/or modify
|
@@ -27,115 +27,113 @@ class iubendaParser {
|
|
27 |
// variables
|
28 |
const IUB_REGEX_PATTERN = '/<!--\s*IUB_COOKIE_POLICY_START\s*-->(.*?)<!--\s*IUB_COOKIE_POLICY_END\s*-->/s';
|
29 |
const IUB_REGEX_PATTERN_2 = '/<!--\s*IUB-COOKIE-BLOCK-START\s*-->(.*?)<!--\s*IUB-COOKIE-BLOCK-END\s*-->/s';
|
|
|
30 |
const IUB_REGEX_SKIP_PATTERN = '/<!--\s*IUB-COOKIE-BLOCK-SKIP-START\s*-->(.*?)<!--\s*IUB-COOKIE-BLOCK-SKIP-END\s*-->/s';
|
31 |
|
32 |
// scripts
|
33 |
-
public $auto_script_tags = array(
|
34 |
-
// google
|
35 |
-
'apis.google.com/js/plusone.js',
|
36 |
-
'apis.google.com/js/client/plusone.js',
|
37 |
-
'apis.google.com/js/platform.js',
|
38 |
-
'apis.google.com/js/api.js', // oauth
|
39 |
-
'cse.google.com/cse.js', // site search
|
40 |
-
'googlesyndication.com/pagead/js/adsbygoogle.js',
|
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',
|
48 |
-
'window.adsbygoogle',
|
49 |
-
// twitter
|
50 |
-
'platform.twitter.com/widgets.js',
|
51 |
-
'static.ads-twitter.com',
|
52 |
-
// facebook
|
53 |
-
'connect.facebook.net',
|
54 |
-
// instagram
|
55 |
-
'instawidget.net/js/instawidget.js',
|
56 |
-
// sharethis
|
57 |
-
'sharethis.com/button/buttons.js',
|
58 |
-
// addthis
|
59 |
-
'addthis.com/js/',
|
60 |
-
// disqus
|
61 |
-
'disqus.com/embed.js',
|
62 |
-
// linkedin
|
63 |
-
'platform.linkedin.com/in.js',
|
64 |
-
// scorecardresearch
|
65 |
-
'scorecardresearch.com/beacon.js',
|
66 |
-
// neodata
|
67 |
-
'neodatagroup.com',
|
68 |
-
// criteo
|
69 |
-
'static.criteo.net/js/',
|
70 |
-
// adagio
|
71 |
-
'adagionet.com/uploads/js/sipra.js',
|
72 |
-
// rainbowtgx
|
73 |
-
'cdn-wx.rainbowtgx.com/rtgx.js',
|
74 |
-
// pinterest
|
75 |
-
'pinterest.com/js/pinit.js',
|
76 |
-
// linkpulse
|
77 |
-
'lp4.io',
|
78 |
-
// optimizely
|
79 |
-
'cdn.optimizely.com/js/',
|
80 |
-
// getsatisfaction
|
81 |
-
'loader.engage.gsfn.us/loader.js',
|
82 |
-
// outbrain
|
83 |
-
'outbrain.js',
|
84 |
-
// headway
|
85 |
-
'headwayapp.co/widget.js',
|
86 |
-
// codepen
|
87 |
-
'codepen.io',
|
88 |
-
// freshchat
|
89 |
-
'wchat.freshchat.com',
|
90 |
-
// uservoice
|
91 |
-
'widget.uservoice.com',
|
92 |
-
'UserVoice.push',
|
93 |
-
// adroll
|
94 |
-
's.adroll.com',
|
95 |
-
// olark
|
96 |
-
'static.olark.com/jsclient/loader0.js',
|
97 |
-
// cxense
|
98 |
-
'scdn.cxense.com',
|
99 |
-
// segment
|
100 |
-
'cdn.segment.io/analytics.js',
|
101 |
-
'cdn.segment.com/analytics.js',
|
102 |
-
// kissmetrics
|
103 |
-
'i.kissmetrics.com/i.js',
|
104 |
-
// mixpanel
|
105 |
-
'cdn.mxpnl.com',
|
106 |
-
// pingdom
|
107 |
-
'rum-static.pingdom.net/prum.min.js',
|
108 |
-
// bing
|
109 |
-
'bat.bing.com',
|
110 |
-
// elevio
|
111 |
-
'cdn.elev.io',
|
112 |
-
// paypal
|
113 |
-
'paypalobjects.com/js/external/api.js', // paypal login
|
114 |
-
'paypalobjects.com/api/checkout.js', // paypal checkout
|
115 |
-
);
|
116 |
|
117 |
// iframes
|
118 |
-
public $auto_iframe_tags = array(
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
);
|
140 |
|
141 |
private $type = 'page';
|
@@ -162,16 +160,6 @@ class iubendaParser {
|
|
162 |
* @param array $args
|
163 |
*/
|
164 |
public function __construct( $content_page = '', $args = array() ) {
|
165 |
-
// check scripts
|
166 |
-
if ( ! empty( $args['scripts'] ) && is_array( $args['scripts'] ) ) {
|
167 |
-
$this->auto_script_tags = array_unique( array_merge( $this->auto_script_tags, $args['scripts'] ) );
|
168 |
-
}
|
169 |
-
|
170 |
-
// check iframes
|
171 |
-
if ( ! empty( $args['iframes'] ) && is_array( $args['iframes'] ) ) {
|
172 |
-
$this->auto_iframe_tags = array_unique( array_merge( $this->auto_iframe_tags, $args['iframes'] ) );
|
173 |
-
}
|
174 |
-
|
175 |
// valid type?
|
176 |
$this->type = ! empty( $args['type'] ) && in_array( $args['type'], array( 'page', 'faster' ), true ) ? $args['type'] : 'page';
|
177 |
|
@@ -182,6 +170,49 @@ class iubendaParser {
|
|
182 |
// set content
|
183 |
$this->original_content_page = $content_page;
|
184 |
$this->content_page = $content_page;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
}
|
186 |
|
187 |
/**
|
@@ -199,45 +230,123 @@ class iubendaParser {
|
|
199 |
* @return boolean
|
200 |
*/
|
201 |
static function consent_given() {
|
|
|
|
|
202 |
foreach ( $_COOKIE as $key => $value ) {
|
203 |
-
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
|
207 |
-
return
|
208 |
}
|
209 |
|
210 |
/**
|
211 |
-
*
|
212 |
*
|
213 |
-
* @
|
214 |
-
* @param type $needle
|
215 |
-
* @return boolean
|
216 |
*/
|
217 |
-
static function
|
218 |
-
|
219 |
-
return false;
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
return true;
|
233 |
-
// regular
|
234 |
-
} else {
|
235 |
-
if ( strpos( $haystack, $need ) !== false )
|
236 |
-
return true;
|
237 |
}
|
238 |
}
|
239 |
-
|
240 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
}
|
242 |
|
243 |
/**
|
@@ -246,7 +355,7 @@ class iubendaParser {
|
|
246 |
* @param mixed $content
|
247 |
* @return mixed
|
248 |
*/
|
249 |
-
public function create_tags( $content ) {
|
250 |
$elements = $content->find( "*" );
|
251 |
$js = '';
|
252 |
|
@@ -258,6 +367,9 @@ class iubendaParser {
|
|
258 |
|
259 |
switch ( $e->tag ) {
|
260 |
case 'script':
|
|
|
|
|
|
|
261 |
$class = $e->class;
|
262 |
$e->class = $class . ' ' . $this->iub_class;
|
263 |
$e->type = 'text/plain';
|
@@ -265,6 +377,9 @@ class iubendaParser {
|
|
265 |
break;
|
266 |
|
267 |
case 'iframe':
|
|
|
|
|
|
|
268 |
$new_src = $this->iub_empty;
|
269 |
$class = $e->class;
|
270 |
$e->suppressedsrc = $e->src;
|
@@ -274,7 +389,7 @@ class iubendaParser {
|
|
274 |
break;
|
275 |
|
276 |
default:
|
277 |
-
$js
|
278 |
break;
|
279 |
}
|
280 |
}
|
@@ -301,11 +416,6 @@ class iubendaParser {
|
|
301 |
|
302 |
switch ( $element->tag ) {
|
303 |
case 'script':
|
304 |
-
$class = trim( $element->class );
|
305 |
-
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
306 |
-
$js .= $element->outertext;
|
307 |
-
break;
|
308 |
-
|
309 |
case 'iframe':
|
310 |
$class = trim( $element->class );
|
311 |
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
@@ -331,15 +441,18 @@ class iubendaParser {
|
|
331 |
public function parse_scripts() {
|
332 |
switch ( $this->type ) {
|
333 |
case 'page':
|
334 |
-
|
|
|
335 |
|
336 |
if ( is_object( $html ) ) {
|
|
|
337 |
$scripts = $html->find( 'script' );
|
338 |
|
339 |
if ( is_array( $scripts ) ) {
|
340 |
$count = count( $scripts );
|
341 |
$class_skip = $this->iub_class_skip;
|
342 |
|
|
|
343 |
for ( $j = 0; $j < $count; $j ++ ) {
|
344 |
$s = $scripts[$j];
|
345 |
$script_class = trim( $s->class );
|
@@ -360,8 +473,10 @@ class iubendaParser {
|
|
360 |
|
361 |
if ( ! empty( $s->innertext ) ) {
|
362 |
$this->scripts_inline_detected[] = $s->innertext;
|
|
|
|
|
363 |
|
364 |
-
if (
|
365 |
$class = $s->class;
|
366 |
$s->class = $class . ' ' . $this->iub_class_inline;
|
367 |
$s->type = 'text/plain';
|
@@ -372,11 +487,17 @@ class iubendaParser {
|
|
372 |
|
373 |
if ( $src ) {
|
374 |
$this->scripts_detected[] = $src;
|
|
|
|
|
375 |
|
376 |
-
if (
|
377 |
$class = $s->class;
|
378 |
$s->class = $class . ' ' . $this->iub_class;
|
379 |
$s->type = 'text/plain';
|
|
|
|
|
|
|
|
|
380 |
$this->scripts_converted[] = $src;
|
381 |
}
|
382 |
}
|
@@ -523,14 +644,20 @@ class iubendaParser {
|
|
523 |
// add inline script as detected
|
524 |
if ( ! empty( $script->nodeValue ) )
|
525 |
$this->scripts_inline_detected[] = $script->nodeValue;
|
|
|
|
|
|
|
526 |
|
527 |
-
if (
|
528 |
$script->setAttribute( 'type', 'text/plain' );
|
529 |
$script->setAttribute( 'class', $script->getAttribute( 'class' ) . ' ' . $class );
|
|
|
|
|
|
|
530 |
|
531 |
// add script as converted
|
532 |
$this->scripts_converted[] = $src;
|
533 |
-
} elseif (
|
534 |
$script->setAttribute( 'type', 'text/plain' );
|
535 |
$script->setAttribute( 'class', $script->getAttribute( 'class' ) . ' ' . $class_inline );
|
536 |
|
@@ -560,7 +687,7 @@ class iubendaParser {
|
|
560 |
public function parse_iframes() {
|
561 |
switch ( $this->type ) {
|
562 |
case 'page':
|
563 |
-
$html = str_get_html( $this->content_page,
|
564 |
|
565 |
if ( is_object( $html ) ) {
|
566 |
$iframes = $html->find( 'iframe' );
|
@@ -587,11 +714,17 @@ class iubendaParser {
|
|
587 |
$src = $i->src;
|
588 |
$this->iframes_detected[] = $src;
|
589 |
|
590 |
-
|
|
|
|
|
591 |
$class = $i->class;
|
592 |
$i->suppressedsrc = $src;
|
593 |
$i->src = $this->iub_empty;
|
594 |
$i->class = $class . ' ' . $this->iub_class;
|
|
|
|
|
|
|
|
|
595 |
$this->iframes_converted[] = $src;
|
596 |
}
|
597 |
}
|
@@ -642,11 +775,16 @@ class iubendaParser {
|
|
642 |
|
643 |
// add iframe as detected
|
644 |
$this->iframes_detected[] = $src;
|
|
|
|
|
645 |
|
646 |
-
if (
|
647 |
$iframe->setAttribute( 'src', $empty );
|
648 |
$iframe->setAttribute( 'suppressedsrc', $src );
|
649 |
$iframe->setAttribute( 'class', $iframe_class . ' ' . $class );
|
|
|
|
|
|
|
650 |
|
651 |
// add iframe as converted
|
652 |
$this->iframes_converted[] = $src;
|
@@ -685,7 +823,7 @@ class iubendaParser {
|
|
685 |
// get HTML dom from string
|
686 |
$html = str_get_html( $scripts[1][$j], true, true, false );
|
687 |
|
688 |
-
// skip scripts and iframes inside
|
689 |
$js_scripts[] = $this->skip_tags( $html );
|
690 |
}
|
691 |
|
@@ -696,26 +834,40 @@ class iubendaParser {
|
|
696 |
unset( $scripts );
|
697 |
|
698 |
// block
|
699 |
-
foreach ( array( 'IUB_REGEX_PATTERN', 'IUB_REGEX_PATTERN_2' ) as $pattern ) {
|
700 |
preg_match_all( constant( 'self::' . $pattern ), $this->content_page, $scripts );
|
701 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
702 |
// found any content?
|
703 |
-
if ( is_array( $
|
704 |
-
$count = count( $
|
705 |
$js_scripts = array();
|
706 |
|
707 |
for ( $j = 0; $j < $count; $j++ ) {
|
708 |
-
$this->iub_comments_detected[] = $
|
709 |
|
710 |
// get HTML dom from string
|
711 |
-
$html = str_get_html( $
|
|
|
|
|
|
|
712 |
|
713 |
// convert scripts, iframes and other code inside IUBENDAs comment in text/plain to not generate cookies
|
714 |
-
$js_scripts[] = $this->create_tags( $html );
|
715 |
}
|
716 |
|
717 |
-
if ( ( is_array( $
|
718 |
-
$this->content_page = strtr( $this->content_page, array_combine( $
|
719 |
}
|
720 |
}
|
721 |
}
|
@@ -753,16 +905,88 @@ class iubendaParser {
|
|
753 |
<script>
|
754 |
var iCallback = function(){};
|
755 |
|
756 |
-
if ('callback' in _iub.csConfiguration) {
|
757 |
-
if ('onConsentGiven' in _iub.csConfiguration.callback)
|
758 |
iCallback = _iub.csConfiguration.callback.onConsentGiven;
|
759 |
|
760 |
_iub.csConfiguration.callback.onConsentGiven = function() {
|
761 |
iCallback();
|
762 |
|
763 |
-
jQuery('noscript._no_script_iub').each(function (a, b) { var el = jQuery(b); el.after(el.html()); });
|
764 |
};
|
765 |
};
|
766 |
</script>";
|
767 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
768 |
}
|
5 |
* @author iubenda s.r.l
|
6 |
* @copyright 2018-2019, iubenda s.r.l
|
7 |
* @license GNU/GPL
|
8 |
+
* @version 4.0.0
|
9 |
* @deprecated
|
10 |
*
|
11 |
* This program is free software: you can redistribute it and/or modify
|
27 |
// variables
|
28 |
const IUB_REGEX_PATTERN = '/<!--\s*IUB_COOKIE_POLICY_START\s*-->(.*?)<!--\s*IUB_COOKIE_POLICY_END\s*-->/s';
|
29 |
const IUB_REGEX_PATTERN_2 = '/<!--\s*IUB-COOKIE-BLOCK-START\s*-->(.*?)<!--\s*IUB-COOKIE-BLOCK-END\s*-->/s';
|
30 |
+
const IUB_REGEX_PURPOSE_PATTERN = '/<!--\s*IUB-COOKIE-BLOCK-START-PURPOSE-(\d+)\s*-->(.*?)<!--\s*IUB-COOKIE-BLOCK-END-PURPOSE-\d+\s*-->/s';
|
31 |
const IUB_REGEX_SKIP_PATTERN = '/<!--\s*IUB-COOKIE-BLOCK-SKIP-START\s*-->(.*?)<!--\s*IUB-COOKIE-BLOCK-SKIP-END\s*-->/s';
|
32 |
|
33 |
// scripts
|
34 |
+
public $auto_script_tags = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
// iframes
|
37 |
+
public $auto_iframe_tags = array();
|
38 |
+
|
39 |
+
// purposes
|
40 |
+
public $purposes = array();
|
41 |
+
|
42 |
+
// per-purpose scripts
|
43 |
+
public $script_tags = array(
|
44 |
+
// Strictly necessary
|
45 |
+
1 => array(),
|
46 |
+
// Basic interactions & functionalities
|
47 |
+
2 => array(
|
48 |
+
'apis.google.com/js/api.js',
|
49 |
+
'cse.google.com/cse.js',
|
50 |
+
'googletagmanager.com/gtm.js',
|
51 |
+
'loader.engage.gsfn.us/loader.js',
|
52 |
+
'headwayapp.co/widget.js',
|
53 |
+
'wchat.freshchat.com',
|
54 |
+
'widget.uservoice.com',
|
55 |
+
'UserVoice.push',
|
56 |
+
'static.olark.com/jsclient/loader0.js',
|
57 |
+
'cdn.elev.io',
|
58 |
+
'paypalobjects.com/js/external/api.js',
|
59 |
+
'paypalobjects.com/api/checkout.js'
|
60 |
+
),
|
61 |
+
// Experience enhancement
|
62 |
+
3 => array(
|
63 |
+
'apis.google.com/js/plusone.js',
|
64 |
+
'apis.google.com/js/client/plusone.js',
|
65 |
+
'apis.google.com/js/platform.js',
|
66 |
+
'www.youtube.com/iframe_api',
|
67 |
+
'youtu.be',
|
68 |
+
'platform.twitter.com/widgets.js',
|
69 |
+
'instawidget.net/js/instawidget.js',
|
70 |
+
'disqus.com/embed.js',
|
71 |
+
'platform.linkedin.com/in.js',
|
72 |
+
'pinterest.com/js/pinit.js',
|
73 |
+
'codepen.io',
|
74 |
+
'bat.bing.com'
|
75 |
+
),
|
76 |
+
// Analytics
|
77 |
+
4 => array(
|
78 |
+
'sharethis.com/button/buttons.js',
|
79 |
+
'addthis.com/js/',
|
80 |
+
'scorecardresearch.com/beacon.js',
|
81 |
+
'neodatagroup.com',
|
82 |
+
'lp4.io',
|
83 |
+
'cdn.optimizely.com/js/',
|
84 |
+
'cdn.segment.io/analytics.js',
|
85 |
+
'cdn.segment.com/analytics.js',
|
86 |
+
'i.kissmetrics.com/i.js',
|
87 |
+
'cdn.mxpnl.com',
|
88 |
+
'rum-static.pingdom.net/prum.min.js'
|
89 |
+
),
|
90 |
+
// Targeting & Advertising
|
91 |
+
5 => array(
|
92 |
+
'googlesyndication.com/pagead/js/adsbygoogle.js',
|
93 |
+
'googlesyndication.com/pagead/show_ads.js',
|
94 |
+
'googleadservices.com/pagead/conversion.js',
|
95 |
+
'www.googletagmanager.com/gtag/js',
|
96 |
+
'window.adsbygoogle',
|
97 |
+
'static.ads-twitter.com',
|
98 |
+
'connect.facebook.net',
|
99 |
+
'static.criteo.net/js/',
|
100 |
+
'adagionet.com/uploads/js/sipra.js',
|
101 |
+
'cdn-wx.rainbowtgx.com/rtgx.js',
|
102 |
+
'outbrain.js',
|
103 |
+
's.adroll.com',
|
104 |
+
'scdn.cxense.com'
|
105 |
+
)
|
106 |
+
);
|
107 |
+
|
108 |
+
// per-purpose iframes
|
109 |
+
public $iframe_tags = array(
|
110 |
+
// Strictly necessary
|
111 |
+
1 => array(),
|
112 |
+
// Basic interactions & functionalities
|
113 |
+
2 => array(
|
114 |
+
'googletagmanager.com/ns.html'
|
115 |
+
),
|
116 |
+
// Experience enhancement
|
117 |
+
3 => array(
|
118 |
+
'apis.google.com',
|
119 |
+
'maps.google.it/maps',
|
120 |
+
'maps.google.com/maps',
|
121 |
+
'www.google.com/maps/embed',
|
122 |
+
'youtube.com',
|
123 |
+
'platform.twitter.com',
|
124 |
+
'player.vimeo.com',
|
125 |
+
'www.facebook.com/plugins/like.php',
|
126 |
+
'www.facebook.com/*/plugins/like.php',
|
127 |
+
'www.facebook.com/plugins/likebox.php',
|
128 |
+
'www.facebook.com/*/plugins/likebox.php'
|
129 |
+
),
|
130 |
+
// Analytics
|
131 |
+
4 => array(),
|
132 |
+
// Targeting & Advertising
|
133 |
+
5 => array(
|
134 |
+
'window.adsbygoogle',
|
135 |
+
'4wnet.com'
|
136 |
+
)
|
137 |
);
|
138 |
|
139 |
private $type = 'page';
|
160 |
* @param array $args
|
161 |
*/
|
162 |
public function __construct( $content_page = '', $args = array() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
// valid type?
|
164 |
$this->type = ! empty( $args['type'] ) && in_array( $args['type'], array( 'page', 'faster' ), true ) ? $args['type'] : 'page';
|
165 |
|
170 |
// set content
|
171 |
$this->original_content_page = $content_page;
|
172 |
$this->content_page = $content_page;
|
173 |
+
|
174 |
+
// get purposes
|
175 |
+
$this->purposes = self::get_purposes();
|
176 |
+
|
177 |
+
// check for additional scripts
|
178 |
+
if ( ! empty( $args['scripts'] ) && is_array( $args['scripts'] ) ) {
|
179 |
+
// array is not multidimensional, backward compatibility, so block it
|
180 |
+
if ( ! is_array( reset( $args['scripts'] ) ) ) {
|
181 |
+
$this->auto_script_tags = array_merge( $this->auto_script_tags, $args['scripts'] );
|
182 |
+
// array is multidimensional, assign per purpose
|
183 |
+
} else {
|
184 |
+
// block unassigned script
|
185 |
+
if ( array_key_exists( 0, $args['scripts'] ) ) {
|
186 |
+
$this->auto_script_tags = array_merge( $this->auto_script_tags, $args['scripts'][0] );
|
187 |
+
unset( $args['scripts'][0] );
|
188 |
+
}
|
189 |
+
|
190 |
+
$this->script_tags = $this->array_merge_custom( $this->script_tags, $args['scripts'] );
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
// check for additional iframes
|
195 |
+
if ( ! empty( $args['iframes'] ) && is_array( $args['iframes'] ) ) {
|
196 |
+
// array is not multidimensional, backward compatibility, so assign block it
|
197 |
+
if ( ! is_array( reset( $args['iframes'] ) ) ) {
|
198 |
+
$this->auto_iframe_tags = array_merge( $this->auto_iframe_tags, $args['iframes'] );
|
199 |
+
// array is multidimensional, assign per purpose
|
200 |
+
} else {
|
201 |
+
// block unassigned script
|
202 |
+
if ( array_key_exists( 0, $args['iframes'] ) ) {
|
203 |
+
$this->auto_iframe_tags = array_merge( $this->auto_iframe_tags, $args['iframes'][0] );
|
204 |
+
unset( $args['iframes'][0] );
|
205 |
+
}
|
206 |
+
|
207 |
+
$this->iframe_tags = $this->array_merge_custom( $this->iframe_tags, $args['iframes'] );
|
208 |
+
}
|
209 |
+
}
|
210 |
+
|
211 |
+
// get script tags to block
|
212 |
+
$this->auto_script_tags = array_unique( self::get_script_tags() );
|
213 |
+
|
214 |
+
// get iframes tags to block
|
215 |
+
$this->auto_iframe_tags = array_unique( self::get_iframe_tags() );
|
216 |
}
|
217 |
|
218 |
/**
|
230 |
* @return boolean
|
231 |
*/
|
232 |
static function consent_given() {
|
233 |
+
$consent_given = false;
|
234 |
+
|
235 |
foreach ( $_COOKIE as $key => $value ) {
|
236 |
+
$found = self::strpos_array( $key, array( '_iub_cs-s', '_iub_cs' ) );
|
237 |
+
|
238 |
+
if ( $found !== false ) {
|
239 |
+
$consent_data = json_decode( stripslashes( $value ), true );
|
240 |
+
|
241 |
+
// read cookie value if given
|
242 |
+
if ( isset( $consent_data['consent'] ) && $consent_data['consent'] == true )
|
243 |
+
$consent_given = true;
|
244 |
+
|
245 |
+
// read purposes if given
|
246 |
+
if ( ! empty( $consent_data['purposes'] ) && is_array( $consent_data['purposes'] ) ) {
|
247 |
+
// all purposes accepted, consent given
|
248 |
+
if ( ! in_array( false, $consent_data['purposes'] ) )
|
249 |
+
$consent_given = true;
|
250 |
+
}
|
251 |
+
}
|
252 |
}
|
253 |
|
254 |
+
return $consent_given;
|
255 |
}
|
256 |
|
257 |
/**
|
258 |
+
* Get user accepted purposes.
|
259 |
*
|
260 |
+
* @return array
|
|
|
|
|
261 |
*/
|
262 |
+
static function get_purposes() {
|
263 |
+
$purposes = array();
|
|
|
264 |
|
265 |
+
if ( ! empty( $_COOKIE ) ) {
|
266 |
+
foreach ( $_COOKIE as $key => $value ) {
|
267 |
+
$found = self::strpos_array( $key, array( '_iub_cs-s', '_iub_cs' ) );
|
268 |
+
|
269 |
+
if ( $found !== false ) {
|
270 |
+
$consent_data = json_decode( $value, true );
|
271 |
+
|
272 |
+
// read purposes if given
|
273 |
+
if ( ! empty( $consent_data['purposes'] ) && is_array( $consent_data['purposes'] ) )
|
274 |
+
$purposes = $consent_data['purposes'];
|
275 |
+
}
|
|
|
|
|
|
|
|
|
|
|
276 |
}
|
277 |
}
|
278 |
+
|
279 |
+
return $purposes;
|
280 |
+
}
|
281 |
+
|
282 |
+
/**
|
283 |
+
* Get script tags to be blocked.
|
284 |
+
*
|
285 |
+
* @return array
|
286 |
+
*/
|
287 |
+
private function get_script_tags() {
|
288 |
+
$tags = $this->auto_script_tags;
|
289 |
+
|
290 |
+
foreach ( $this->script_tags as $purpose_id => $tags_list ) {
|
291 |
+
// empty tags list, go to another
|
292 |
+
if ( empty( $tags_list ) )
|
293 |
+
continue;
|
294 |
+
|
295 |
+
// purposes available, filter per purpose
|
296 |
+
if ( ! empty( $this->purposes ) ) {
|
297 |
+
// don't block scripts unavailable in the user purposes
|
298 |
+
// if ( array_key_exists( $purpose_id, $this->purposes ) && $this->purposes[$purpose_id] == false ) {
|
299 |
+
|
300 |
+
// block scripts unavailable in the user purposes
|
301 |
+
if ( ! isset( $this->purposes[$purpose_id] ) || $this->purposes[$purpose_id] == false ) {
|
302 |
+
foreach ( $tags_list as $tag ) {
|
303 |
+
$tags[] = $tag;
|
304 |
+
}
|
305 |
+
}
|
306 |
+
// no purposes yet, just add all scripts
|
307 |
+
} else {
|
308 |
+
foreach ( $tags_list as $tag ) {
|
309 |
+
$tags[] = $tag;
|
310 |
+
}
|
311 |
+
}
|
312 |
+
}
|
313 |
+
|
314 |
+
return $tags;
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* Get iframe tags to be blocked.
|
319 |
+
*
|
320 |
+
* @return array
|
321 |
+
*/
|
322 |
+
private function get_iframe_tags() {
|
323 |
+
$tags = $this->auto_iframe_tags;
|
324 |
+
|
325 |
+
foreach ( $this->iframe_tags as $purpose_id => $tags_list ) {
|
326 |
+
// empty tags list, go to another
|
327 |
+
if ( empty( $tags_list ) )
|
328 |
+
continue;
|
329 |
+
|
330 |
+
// purposes available, filter per purpose
|
331 |
+
if ( ! empty( $this->purposes ) ) {
|
332 |
+
// don't block iframes unavailable in the user purposes
|
333 |
+
// if ( array_key_exists( $purpose_id, $this->purposes ) && $this->purposes[$purpose_id] == false ) {
|
334 |
+
|
335 |
+
// block iframes unavailable in the user purposes
|
336 |
+
if ( ! isset( $this->purposes[$purpose_id] ) && $this->purposes[$purpose_id] == false ) {
|
337 |
+
foreach ( $tags_list as $tag ) {
|
338 |
+
$tags[] = $tag;
|
339 |
+
}
|
340 |
+
}
|
341 |
+
// no purposes yet, just add all scripts
|
342 |
+
} else {
|
343 |
+
foreach ( $tags_list as $tag ) {
|
344 |
+
$tags[] = $tag;
|
345 |
+
}
|
346 |
+
}
|
347 |
+
}
|
348 |
+
|
349 |
+
return $tags;
|
350 |
}
|
351 |
|
352 |
/**
|
355 |
* @param mixed $content
|
356 |
* @return mixed
|
357 |
*/
|
358 |
+
public function create_tags( $content, $args ) {
|
359 |
$elements = $content->find( "*" );
|
360 |
$js = '';
|
361 |
|
367 |
|
368 |
switch ( $e->tag ) {
|
369 |
case 'script':
|
370 |
+
if ( $args['pattern'] === 'IUB_REGEX_PURPOSE_PATTERN' )
|
371 |
+
$e->{'data-iub-purposes'} = $args['number'];
|
372 |
+
|
373 |
$class = $e->class;
|
374 |
$e->class = $class . ' ' . $this->iub_class;
|
375 |
$e->type = 'text/plain';
|
377 |
break;
|
378 |
|
379 |
case 'iframe':
|
380 |
+
if ( $args['pattern'] === 'IUB_REGEX_PURPOSE_PATTERN' )
|
381 |
+
$e->{'data-iub-purposes'} = $args['number'];
|
382 |
+
|
383 |
$new_src = $this->iub_empty;
|
384 |
$class = $e->class;
|
385 |
$e->suppressedsrc = $e->src;
|
389 |
break;
|
390 |
|
391 |
default:
|
392 |
+
$js .= $e->outertext;
|
393 |
break;
|
394 |
}
|
395 |
}
|
416 |
|
417 |
switch ( $element->tag ) {
|
418 |
case 'script':
|
|
|
|
|
|
|
|
|
|
|
419 |
case 'iframe':
|
420 |
$class = trim( $element->class );
|
421 |
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
441 |
public function parse_scripts() {
|
442 |
switch ( $this->type ) {
|
443 |
case 'page':
|
444 |
+
// get page contents
|
445 |
+
$html = str_get_html( $this->content_page, true, true, false );
|
446 |
|
447 |
if ( is_object( $html ) ) {
|
448 |
+
// get scripts
|
449 |
$scripts = $html->find( 'script' );
|
450 |
|
451 |
if ( is_array( $scripts ) ) {
|
452 |
$count = count( $scripts );
|
453 |
$class_skip = $this->iub_class_skip;
|
454 |
|
455 |
+
// loop through scripts
|
456 |
for ( $j = 0; $j < $count; $j ++ ) {
|
457 |
$s = $scripts[$j];
|
458 |
$script_class = trim( $s->class );
|
473 |
|
474 |
if ( ! empty( $s->innertext ) ) {
|
475 |
$this->scripts_inline_detected[] = $s->innertext;
|
476 |
+
|
477 |
+
$found = self::strpos_array( $s->innertext, $this->auto_script_tags );
|
478 |
|
479 |
+
if ( $found !== false ) {
|
480 |
$class = $s->class;
|
481 |
$s->class = $class . ' ' . $this->iub_class_inline;
|
482 |
$s->type = 'text/plain';
|
487 |
|
488 |
if ( $src ) {
|
489 |
$this->scripts_detected[] = $src;
|
490 |
+
|
491 |
+
$found = self::strpos_array( $src, $this->auto_script_tags );
|
492 |
|
493 |
+
if ( $found !== false ) {
|
494 |
$class = $s->class;
|
495 |
$s->class = $class . ' ' . $this->iub_class;
|
496 |
$s->type = 'text/plain';
|
497 |
+
|
498 |
+
// add data-iub-purposes attribute
|
499 |
+
$s->{'data-iub-purposes'} = $this->recursive_array_search( $found, $this->script_tags );
|
500 |
+
|
501 |
$this->scripts_converted[] = $src;
|
502 |
}
|
503 |
}
|
644 |
// add inline script as detected
|
645 |
if ( ! empty( $script->nodeValue ) )
|
646 |
$this->scripts_inline_detected[] = $script->nodeValue;
|
647 |
+
|
648 |
+
$found = self::strpos_array( $src, $script_tags );
|
649 |
+
$found_inline = self::strpos_array( $script->nodeValue, $script_tags );
|
650 |
|
651 |
+
if ( $found !== false ) {
|
652 |
$script->setAttribute( 'type', 'text/plain' );
|
653 |
$script->setAttribute( 'class', $script->getAttribute( 'class' ) . ' ' . $class );
|
654 |
+
|
655 |
+
// add data-iub-purposes attribute
|
656 |
+
$script->setAttribute( 'data-iub-purposes', $this->recursive_array_search( $found, $this->script_tags ) );
|
657 |
|
658 |
// add script as converted
|
659 |
$this->scripts_converted[] = $src;
|
660 |
+
} elseif ( $found_inline !== false ) {
|
661 |
$script->setAttribute( 'type', 'text/plain' );
|
662 |
$script->setAttribute( 'class', $script->getAttribute( 'class' ) . ' ' . $class_inline );
|
663 |
|
687 |
public function parse_iframes() {
|
688 |
switch ( $this->type ) {
|
689 |
case 'page':
|
690 |
+
$html = str_get_html( $this->content_page, true, true, false );
|
691 |
|
692 |
if ( is_object( $html ) ) {
|
693 |
$iframes = $html->find( 'iframe' );
|
714 |
$src = $i->src;
|
715 |
$this->iframes_detected[] = $src;
|
716 |
|
717 |
+
$found = self::strpos_array( $src, $this->auto_iframe_tags );
|
718 |
+
|
719 |
+
if ( $found !== false ) {
|
720 |
$class = $i->class;
|
721 |
$i->suppressedsrc = $src;
|
722 |
$i->src = $this->iub_empty;
|
723 |
$i->class = $class . ' ' . $this->iub_class;
|
724 |
+
|
725 |
+
// add data-iub-purposes attribute
|
726 |
+
$i->{'data-iub-purposes'} = $this->recursive_array_search( $found, $this->iframe_tags );
|
727 |
+
|
728 |
$this->iframes_converted[] = $src;
|
729 |
}
|
730 |
}
|
775 |
|
776 |
// add iframe as detected
|
777 |
$this->iframes_detected[] = $src;
|
778 |
+
|
779 |
+
$found = self::strpos_array( $src, $iframe_tags );
|
780 |
|
781 |
+
if ( $found !== false ) {
|
782 |
$iframe->setAttribute( 'src', $empty );
|
783 |
$iframe->setAttribute( 'suppressedsrc', $src );
|
784 |
$iframe->setAttribute( 'class', $iframe_class . ' ' . $class );
|
785 |
+
|
786 |
+
// per purpose, add data-iub-purposes attribute
|
787 |
+
$iframe->setAttribute( 'data-iub-purposes', $this->recursive_array_search( $found, $this->iframe_tags ) );
|
788 |
|
789 |
// add iframe as converted
|
790 |
$this->iframes_converted[] = $src;
|
823 |
// get HTML dom from string
|
824 |
$html = str_get_html( $scripts[1][$j], true, true, false );
|
825 |
|
826 |
+
// skip scripts and iframes inside iubenda's comments
|
827 |
$js_scripts[] = $this->skip_tags( $html );
|
828 |
}
|
829 |
|
834 |
unset( $scripts );
|
835 |
|
836 |
// block
|
837 |
+
foreach ( array( 'IUB_REGEX_PATTERN', 'IUB_REGEX_PATTERN_2', 'IUB_REGEX_PURPOSE_PATTERN' ) as $pattern ) {
|
838 |
preg_match_all( constant( 'self::' . $pattern ), $this->content_page, $scripts );
|
839 |
|
840 |
+
$chunks = array();
|
841 |
+
$args = array(
|
842 |
+
'pattern' => $pattern
|
843 |
+
);
|
844 |
+
|
845 |
+
if ( $pattern === 'IUB_REGEX_PURPOSE_PATTERN' ) {
|
846 |
+
$numbers = $scripts[1];
|
847 |
+
$chunks = $scripts[2];
|
848 |
+
} else
|
849 |
+
$chunks = $scripts[1];
|
850 |
+
|
851 |
// found any content?
|
852 |
+
if ( is_array( $chunks ) ) {
|
853 |
+
$count = count( $chunks );
|
854 |
$js_scripts = array();
|
855 |
|
856 |
for ( $j = 0; $j < $count; $j++ ) {
|
857 |
+
$this->iub_comments_detected[] = $chunks[$j];
|
858 |
|
859 |
// get HTML dom from string
|
860 |
+
$html = str_get_html( $chunks[$j], true, true, false );
|
861 |
+
|
862 |
+
if ( $pattern === 'IUB_REGEX_PURPOSE_PATTERN' )
|
863 |
+
$args['number'] = $numbers[$j];
|
864 |
|
865 |
// convert scripts, iframes and other code inside IUBENDAs comment in text/plain to not generate cookies
|
866 |
+
$js_scripts[] = $this->create_tags( $html, $args );
|
867 |
}
|
868 |
|
869 |
+
if ( ( is_array( $chunks ) && is_array( $js_scripts ) ) && ( $count >= 1 && count( $js_scripts ) >= 1 ) )
|
870 |
+
$this->content_page = strtr( $this->content_page, array_combine( $chunks, $js_scripts ) );
|
871 |
}
|
872 |
}
|
873 |
}
|
905 |
<script>
|
906 |
var iCallback = function(){};
|
907 |
|
908 |
+
if ( 'callback' in _iub.csConfiguration ) {
|
909 |
+
if ( 'onConsentGiven' in _iub.csConfiguration.callback )
|
910 |
iCallback = _iub.csConfiguration.callback.onConsentGiven;
|
911 |
|
912 |
_iub.csConfiguration.callback.onConsentGiven = function() {
|
913 |
iCallback();
|
914 |
|
915 |
+
jQuery( 'noscript._no_script_iub' ).each( function (a, b) { var el = jQuery(b); el.after( el.html() ); } );
|
916 |
};
|
917 |
};
|
918 |
</script>";
|
919 |
}
|
920 |
+
|
921 |
+
/**
|
922 |
+
* Static, utility function: strpos for array wilth wildcard support
|
923 |
+
*
|
924 |
+
* @param type $haystack
|
925 |
+
* @param type $needle
|
926 |
+
* @return boolean
|
927 |
+
*/
|
928 |
+
static function strpos_array( $haystack, $needle ) {
|
929 |
+
if ( empty( $haystack ) || empty( $needle ) )
|
930 |
+
return false;
|
931 |
+
|
932 |
+
$needle = ! is_array( $needle ) ? array( $needle ) : $needle;
|
933 |
+
|
934 |
+
foreach ( $needle as $need ) {
|
935 |
+
// wildcard?
|
936 |
+
if ( strpos( $need, '/*/' ) !== false ) {
|
937 |
+
// strtok - removes query string
|
938 |
+
// str_replace - removes double slashes // from url
|
939 |
+
// preg_replace - removes http or https from url
|
940 |
+
$haystack = strtok( str_replace( '//', '', preg_replace( "(^https?://)", "", $haystack ) ), '?' );
|
941 |
+
|
942 |
+
if ( fnmatch( $need, $haystack ) !== false )
|
943 |
+
return $need;
|
944 |
+
// regular
|
945 |
+
} else {
|
946 |
+
if ( strpos( $haystack, $need ) !== false )
|
947 |
+
return $need;
|
948 |
+
}
|
949 |
+
}
|
950 |
+
|
951 |
+
return false;
|
952 |
+
}
|
953 |
+
|
954 |
+
/**
|
955 |
+
* Custom array merge helper function.
|
956 |
+
*
|
957 |
+
* @return array
|
958 |
+
*/
|
959 |
+
public function array_merge_custom( $builtin, $data ) {
|
960 |
+
foreach ( $data as $type => $array ) {
|
961 |
+
// if ( $type === 0 )
|
962 |
+
// continue;
|
963 |
+
|
964 |
+
foreach ( $array as $block ) {
|
965 |
+
$builtin[$type][] = $block;
|
966 |
+
}
|
967 |
+
|
968 |
+
$builtin[$type] = array_unique( $builtin[$type] );
|
969 |
+
}
|
970 |
+
|
971 |
+
return $builtin;
|
972 |
+
}
|
973 |
+
|
974 |
+
/**
|
975 |
+
* Array search helper function.
|
976 |
+
*
|
977 |
+
* @param type $needle
|
978 |
+
* @param type $haystack
|
979 |
+
* @return boolean
|
980 |
+
*/
|
981 |
+
public function recursive_array_search( $needle, $haystack ) {
|
982 |
+
foreach ( $haystack as $key => $value ) {
|
983 |
+
$current_key = $key;
|
984 |
+
if ( $needle === $value OR ( is_array( $value ) &&
|
985 |
+
$this->recursive_array_search( $needle, $value ) !== false) ) {
|
986 |
+
return $current_key;
|
987 |
+
}
|
988 |
+
}
|
989 |
+
return false;
|
990 |
+
}
|
991 |
+
|
992 |
}
|
iubenda_cookie_solution.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: An All-in-One approach developed by iubenda, which includes functionalities of two powerful solutions that help to make your website GDPR and ePrivacy compliant.
|
6 |
-
Version: 2.0
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
@@ -32,7 +32,7 @@ define( 'IUB_DEBUG', false );
|
|
32 |
* iubenda final class.
|
33 |
*
|
34 |
* @class iubenda
|
35 |
-
* @version 2.0
|
36 |
*/
|
37 |
class iubenda {
|
38 |
|
@@ -58,7 +58,7 @@ class iubenda {
|
|
58 |
)
|
59 |
);
|
60 |
public $base_url;
|
61 |
-
public $version = '2.0
|
62 |
public $no_html = false;
|
63 |
public $multilang = false;
|
64 |
public $languages = array();
|
@@ -111,6 +111,28 @@ class iubenda {
|
|
111 |
|
112 |
$this->base_url = esc_url_raw( add_query_arg( 'page', 'iubenda', admin_url( $this->options['cs']['menu_position'] === 'submenu' ? 'options-general.php' : 'admin.php' ) ) );
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
// actions
|
115 |
add_action( 'after_setup_theme', array( $this, 'register_shortcode' ) );
|
116 |
add_action( 'wp_head', array( $this, 'wp_head_cs' ), 0 );
|
@@ -456,18 +478,22 @@ class iubenda {
|
|
456 |
|
457 |
// google recaptcha v3 compatibility
|
458 |
if ( class_exists( 'WPCF7' ) && (int) WPCF7::get_option( 'iqfix_recaptcha' ) === 0 && ! iubendaParser::consent_given() )
|
459 |
-
$this->options['cs']['custom_scripts'][] =
|
460 |
|
461 |
// Jetpack compatibility
|
462 |
if ( class_exists( 'Jetpack' ) )
|
463 |
-
$this->options['cs']['custom_scripts'][
|
464 |
|
465 |
$startime = microtime( true );
|
466 |
$output = apply_filters( 'iubenda_initial_output', $output );
|
467 |
|
|
|
|
|
|
|
|
|
468 |
// experimental class
|
469 |
if ( $this->options['cs']['parser_engine'] == 'new' ) {
|
470 |
-
$iubenda = new iubendaParser( mb_convert_encoding( $output, 'HTML-ENTITIES', 'UTF-8' ), array( 'type' => 'faster', 'scripts' => $
|
471 |
|
472 |
// render output
|
473 |
$output = $iubenda->parse();
|
@@ -476,7 +502,7 @@ class iubenda {
|
|
476 |
$output .= '<!-- Parsed with iubenda experimental class in ' . round( microtime( true ) - $startime, 4 ) . ' sec. -->';
|
477 |
// default class
|
478 |
} else {
|
479 |
-
$iubenda = new iubendaParser( $output, array( 'type' => 'page', 'scripts' => $
|
480 |
|
481 |
// render output
|
482 |
$output = $iubenda->parse();
|
@@ -488,6 +514,25 @@ class iubenda {
|
|
488 |
return apply_filters( 'iubenda_final_output', $output );
|
489 |
}
|
490 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
/**
|
492 |
* Parse iubenda code.
|
493 |
*
|
@@ -532,8 +577,8 @@ class iubenda {
|
|
532 |
if ( ! class_exists( 'Jetpack' ) )
|
533 |
return;
|
534 |
|
535 |
-
|
536 |
-
if ( ! Jetpack_AMP_Support::is_amp_request() )
|
537 |
return;
|
538 |
|
539 |
// if ( is_feed() || is_robots() || is_trackback() || is_preview() || jetpack_is_dnt_enabled() )
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: An All-in-One approach developed by iubenda, which includes functionalities of two powerful solutions that help to make your website GDPR and ePrivacy compliant.
|
6 |
+
Version: 2.1.0
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
32 |
* iubenda final class.
|
33 |
*
|
34 |
* @class iubenda
|
35 |
+
* @version 2.1.0
|
36 |
*/
|
37 |
class iubenda {
|
38 |
|
58 |
)
|
59 |
);
|
60 |
public $base_url;
|
61 |
+
public $version = '2.1.0';
|
62 |
public $no_html = false;
|
63 |
public $multilang = false;
|
64 |
public $languages = array();
|
111 |
|
112 |
$this->base_url = esc_url_raw( add_query_arg( 'page', 'iubenda', admin_url( $this->options['cs']['menu_position'] === 'submenu' ? 'options-general.php' : 'admin.php' ) ) );
|
113 |
|
114 |
+
// check old custom scripts
|
115 |
+
if ( ! empty( $this->options['cs']['custom_scripts'] ) && is_array( $this->options['cs']['custom_scripts'] ) && ! is_int( reset( $this->options['cs']['custom_scripts'] ) ) ) {
|
116 |
+
$data = array();
|
117 |
+
|
118 |
+
foreach ( $this->options['cs']['custom_scripts'] as $script ) {
|
119 |
+
$data[$script] = 0;
|
120 |
+
}
|
121 |
+
|
122 |
+
$this->options['cs']['custom_scripts'] = $data;
|
123 |
+
}
|
124 |
+
|
125 |
+
// check old custom iframes
|
126 |
+
if ( ! empty( $this->options['cs']['custom_iframes'] ) && is_array( $this->options['cs']['custom_iframes'] ) && ! is_int( reset( $this->options['cs']['custom_iframes'] ) ) ) {
|
127 |
+
$data = array();
|
128 |
+
|
129 |
+
foreach ( $this->options['cs']['custom_iframes'] as $iframe ) {
|
130 |
+
$data[$iframe] = 0;
|
131 |
+
}
|
132 |
+
|
133 |
+
$this->options['cs']['custom_iframes'] = $data;
|
134 |
+
}
|
135 |
+
|
136 |
// actions
|
137 |
add_action( 'after_setup_theme', array( $this, 'register_shortcode' ) );
|
138 |
add_action( 'wp_head', array( $this, 'wp_head_cs' ), 0 );
|
478 |
|
479 |
// google recaptcha v3 compatibility
|
480 |
if ( class_exists( 'WPCF7' ) && (int) WPCF7::get_option( 'iqfix_recaptcha' ) === 0 && ! iubendaParser::consent_given() )
|
481 |
+
$this->options['cs']['custom_scripts']['grecaptcha'] = 2;
|
482 |
|
483 |
// Jetpack compatibility
|
484 |
if ( class_exists( 'Jetpack' ) )
|
485 |
+
$this->options['cs']['custom_scripts']['stats.wp.com'] = 5;
|
486 |
|
487 |
$startime = microtime( true );
|
488 |
$output = apply_filters( 'iubenda_initial_output', $output );
|
489 |
|
490 |
+
// prepare scripts and iframes
|
491 |
+
$scripts = $this->prepare_custom_data( $this->options['cs']['custom_scripts'] );
|
492 |
+
$iframes = $this->prepare_custom_data( $this->options['cs']['custom_iframes'] );
|
493 |
+
|
494 |
// experimental class
|
495 |
if ( $this->options['cs']['parser_engine'] == 'new' ) {
|
496 |
+
$iubenda = new iubendaParser( mb_convert_encoding( $output, 'HTML-ENTITIES', 'UTF-8' ), array( 'type' => 'faster', 'scripts' => $scripts, 'iframes' => $iframes ) );
|
497 |
|
498 |
// render output
|
499 |
$output = $iubenda->parse();
|
502 |
$output .= '<!-- Parsed with iubenda experimental class in ' . round( microtime( true ) - $startime, 4 ) . ' sec. -->';
|
503 |
// default class
|
504 |
} else {
|
505 |
+
$iubenda = new iubendaParser( $output, array( 'type' => 'page', 'scripts' => $scripts, 'iframes' => $iframes ) );
|
506 |
|
507 |
// render output
|
508 |
$output = $iubenda->parse();
|
514 |
return apply_filters( 'iubenda_final_output', $output );
|
515 |
}
|
516 |
|
517 |
+
/**
|
518 |
+
* Prepare scripts/iframes.
|
519 |
+
*
|
520 |
+
* @param array $data
|
521 |
+
* @return array
|
522 |
+
*/
|
523 |
+
public function prepare_custom_data( $data ) {
|
524 |
+
$newdata = array();
|
525 |
+
|
526 |
+
foreach ( $data as $script => $type ) {
|
527 |
+
if ( ! array_key_exists( $type, $newdata ) )
|
528 |
+
$newdata[$type] = array();
|
529 |
+
|
530 |
+
$newdata[$type][] = $script;
|
531 |
+
}
|
532 |
+
|
533 |
+
return $newdata;
|
534 |
+
}
|
535 |
+
|
536 |
/**
|
537 |
* Parse iubenda code.
|
538 |
*
|
577 |
if ( ! class_exists( 'Jetpack' ) )
|
578 |
return;
|
579 |
|
580 |
+
// disable if it's not AMP cached request
|
581 |
+
if ( ! class_exists( 'Jetpack_AMP_Support' ) || ! Jetpack_AMP_Support::is_amp_request() )
|
582 |
return;
|
583 |
|
584 |
// if ( is_feed() || is_robots() || is_trackback() || is_preview() || jetpack_is_dnt_enabled() )
|
js/admin.js
CHANGED
@@ -1,11 +1,8 @@
|
|
1 |
( function ( $ ) {
|
2 |
|
3 |
$( document ).ready( function () {
|
4 |
-
|
5 |
// parse args
|
6 |
var args = $.parseJSON( iubAdminArgs );
|
7 |
-
|
8 |
-
// console.log( args );
|
9 |
|
10 |
// read more option
|
11 |
$( '#iub_parse' ).change( function () {
|
@@ -55,7 +52,7 @@
|
|
55 |
|
56 |
$( '#postbox-container-2' ).change();
|
57 |
|
58 |
-
html = $( '#preferences-field-template' ).html();
|
59 |
html = html.replace( /__PREFERENCE_ID__/g, preferencesID++ );
|
60 |
|
61 |
$( '.preferences-table .add-preferences-field' ).closest( 'tr' ).before( '<tr class="preferences-field options-field" style="display: none;">' + html + '</tr>' );
|
@@ -87,7 +84,7 @@
|
|
87 |
|
88 |
$( '#postbox-container-2' ).change();
|
89 |
|
90 |
-
html = $( '#exclude-field-template' ).html();
|
91 |
html = html.replace( /__EXCLUDE_ID__/g, excludeID++ );
|
92 |
|
93 |
$( '.exclude-table .add-exclude-field' ).closest( 'tr' ).before( '<tr class="exclude-field options-field" style="display: none;">' + html + '</tr>' );
|
@@ -117,7 +114,7 @@
|
|
117 |
|
118 |
$( '#postbox-container-2' ).change();
|
119 |
|
120 |
-
html = $( '#legal_notices-field-template' ).html();
|
121 |
html = html.replace( /__LEGAL_NOTICE_ID__/g, legalNoticesID++ );
|
122 |
|
123 |
console.log( html );
|
@@ -139,7 +136,41 @@
|
|
139 |
$( this ).remove();
|
140 |
} );
|
141 |
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
// Remove template fields on save
|
144 |
$( document ).on( 'click', '#publish', function () {
|
145 |
$( '#preferences-field-template' ).remove();
|
1 |
( function ( $ ) {
|
2 |
|
3 |
$( document ).ready( function () {
|
|
|
4 |
// parse args
|
5 |
var args = $.parseJSON( iubAdminArgs );
|
|
|
|
|
6 |
|
7 |
// read more option
|
8 |
$( '#iub_parse' ).change( function () {
|
52 |
|
53 |
$( '#postbox-container-2' ).change();
|
54 |
|
55 |
+
var html = $( '#preferences-field-template' ).html();
|
56 |
html = html.replace( /__PREFERENCE_ID__/g, preferencesID++ );
|
57 |
|
58 |
$( '.preferences-table .add-preferences-field' ).closest( 'tr' ).before( '<tr class="preferences-field options-field" style="display: none;">' + html + '</tr>' );
|
84 |
|
85 |
$( '#postbox-container-2' ).change();
|
86 |
|
87 |
+
var html = $( '#exclude-field-template' ).html();
|
88 |
html = html.replace( /__EXCLUDE_ID__/g, excludeID++ );
|
89 |
|
90 |
$( '.exclude-table .add-exclude-field' ).closest( 'tr' ).before( '<tr class="exclude-field options-field" style="display: none;">' + html + '</tr>' );
|
114 |
|
115 |
$( '#postbox-container-2' ).change();
|
116 |
|
117 |
+
var html = $( '#legal_notices-field-template' ).html();
|
118 |
html = html.replace( /__LEGAL_NOTICE_ID__/g, legalNoticesID++ );
|
119 |
|
120 |
console.log( html );
|
136 |
$( this ).remove();
|
137 |
} );
|
138 |
} );
|
139 |
+
|
140 |
+
// add new script field
|
141 |
+
$( document ).on( 'click', '.add-custom-script-field', function( e ) {
|
142 |
+
e.preventDefault();
|
143 |
+
|
144 |
+
$( this ).before( '<div class="custom-script-field" style="display: none;">' + $( '#custom-script-field-template' ).html() + '</div>' );
|
145 |
+
$( '#tab-panel-scripts' ).find( '.custom-script-field' ).last().fadeIn( 300 );
|
146 |
+
} );
|
147 |
+
|
148 |
+
// remove custom script field
|
149 |
+
$( document ).on( 'click', '.remove-custom-script-field', function( e ) {
|
150 |
+
e.preventDefault();
|
151 |
+
|
152 |
+
$( this ).closest( '.custom-script-field' ).fadeOut( 300, function() {
|
153 |
+
$( this ).remove();
|
154 |
+
} );
|
155 |
+
} );
|
156 |
+
|
157 |
+
// add new iframe field
|
158 |
+
$( document ).on( 'click', '.add-custom-iframe-field', function( e ) {
|
159 |
+
e.preventDefault();
|
160 |
+
|
161 |
+
$( this ).before( '<div class="custom-iframe-field" style="display: none;">' + $( '#custom-iframe-field-template' ).html() + '</div>' );
|
162 |
+
$( '#tab-panel-iframes' ).find( '.custom-iframe-field' ).last().fadeIn( 300 );
|
163 |
+
} );
|
164 |
|
165 |
+
// remove custom iframe field
|
166 |
+
$( document ).on( 'click', '.remove-custom-iframe-field', function( e ) {
|
167 |
+
e.preventDefault();
|
168 |
+
|
169 |
+
$( this ).closest( '.custom-iframe-field' ).fadeOut( 300, function() {
|
170 |
+
$( this ).remove();
|
171 |
+
} );
|
172 |
+
} );
|
173 |
+
|
174 |
// Remove template fields on save
|
175 |
$( document ).on( 'click', '#publish', function () {
|
176 |
$( '#preferences-field-template' ).remove();
|
languages/iubenda-cookie-law-solution-it_IT.mo
CHANGED
Binary file
|
languages/iubenda-cookie-law-solution-it_IT.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Iubenda Cookie Solution\n"
|
4 |
-
"POT-Creation-Date: 2019-
|
5 |
-
"PO-Revision-Date: 2019-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: it\n"
|
@@ -25,7 +25,9 @@ msgid "Form ID"
|
|
25 |
msgstr "ID del form"
|
26 |
|
27 |
#: includes/forms-list-table.php:94
|
28 |
-
|
|
|
|
|
29 |
msgstr "Fonte"
|
30 |
|
31 |
#: includes/forms-list-table.php:95
|
@@ -60,7 +62,7 @@ msgstr "Tutte le fonti"
|
|
60 |
msgid "No forms found."
|
61 |
msgstr "Nessun form trovato."
|
62 |
|
63 |
-
#: includes/forms.php:149 includes/settings.php:
|
64 |
msgid "Forms"
|
65 |
msgstr "Form"
|
66 |
|
@@ -69,17 +71,14 @@ msgid "Form"
|
|
69 |
msgstr "Form"
|
70 |
|
71 |
#: includes/forms.php:566 includes/forms.php:580
|
72 |
-
#, php-format
|
73 |
msgid "First name"
|
74 |
msgstr "Nome"
|
75 |
|
76 |
#: includes/forms.php:572 includes/forms.php:592
|
77 |
-
#, php-format
|
78 |
msgid "Last name"
|
79 |
msgstr "Cognome"
|
80 |
|
81 |
#: includes/forms.php:586
|
82 |
-
#, php-format
|
83 |
msgid "Middle name"
|
84 |
msgstr "Secondo nome"
|
85 |
|
@@ -88,253 +87,334 @@ msgstr "Secondo nome"
|
|
88 |
msgid "string"
|
89 |
msgstr "stringa"
|
90 |
|
91 |
-
#: includes/settings.php:57 includes/settings.php:
|
92 |
msgid "Cookie Solution"
|
93 |
msgstr "Cookie Solution"
|
94 |
|
95 |
-
#: includes/settings.php:63 includes/settings.php:
|
96 |
msgid "Consent Solution"
|
97 |
msgstr "Consent Solution"
|
98 |
|
99 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
msgid "Code"
|
101 |
msgstr "Codice"
|
102 |
|
103 |
-
#: includes/settings.php:
|
104 |
#, fuzzy
|
105 |
#| msgid "Scripts blocking"
|
106 |
msgid "Script blocking"
|
107 |
msgstr "Blocco preventivo dei codici"
|
108 |
|
109 |
-
#: includes/settings.php:
|
110 |
msgid "Custom scripts"
|
111 |
msgstr "Script personalizzati"
|
112 |
|
113 |
-
#: includes/settings.php:
|
114 |
msgid "Content type"
|
115 |
msgstr "Tipo di contenuto"
|
116 |
|
117 |
-
#: includes/settings.php:
|
118 |
msgid "RSS feed"
|
119 |
msgstr "Feed RSS"
|
120 |
|
121 |
-
#: includes/settings.php:
|
122 |
msgid "POST requests"
|
123 |
msgstr "Richieste POST"
|
124 |
|
125 |
-
#: includes/settings.php:
|
126 |
msgid "Menu position"
|
127 |
msgstr "Posizione menu"
|
128 |
|
129 |
-
#: includes/settings.php:
|
130 |
msgid "Deactivation"
|
131 |
msgstr "Disattivazione"
|
132 |
|
133 |
-
#: includes/settings.php:
|
134 |
-
|
|
|
|
|
135 |
msgstr "Chiave API pubblica"
|
136 |
|
137 |
-
#: includes/settings.php:
|
138 |
msgid "Field Mapping"
|
139 |
msgstr "Mapping dei campi"
|
140 |
|
141 |
-
#: includes/settings.php:
|
142 |
msgid "Are you sure you want to delete this form?"
|
143 |
msgstr "Sei sicuro di voler eliminare questo form?"
|
144 |
|
145 |
-
#: includes/settings.php:
|
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:
|
150 |
#, fuzzy
|
151 |
#| msgid ""
|
152 |
-
#| "This plugin is the easiest and most comprehensive way to adapt your
|
153 |
-
#| "site to the European cookie law. Upon your user's first visit,
|
154 |
-
#| "will take care of collecting their consent, of blocking the
|
155 |
-
#| "among the scripts that install cookies and subsequently
|
156 |
-
#| "scripts as soon as consent is provided. The basic
|
157 |
-
#| "consent by a simple scroll action (the most
|
158 |
-
#| "reactivation without refreshing the page."
|
159 |
msgid ""
|
160 |
-
"This plugin is the easiest and most comprehensive way to adapt your
|
161 |
-
"site to the ePrivacy (EU Cookie Law). Upon your users’ first
|
162 |
-
"will take care of collecting their consent, blocking the
|
163 |
-
"scripts and subsequently reactivating these scripts as
|
164 |
-
"provided. The basic settings include obtaining consent by
|
165 |
-
"(the most effective method) and script reactivation
|
166 |
-
"(asynchronous script reactivation)."
|
167 |
msgstr ""
|
168 |
"Questo plugin è il modo più semplice e completo per adeguare il tuo sito "
|
169 |
-
"WordPress alla Direttiva ePrivacy (Cookie Law). Alla prima visita
|
170 |
-
"plugin si occuperà di raccoglierne il consenso, bloccare gli
|
171 |
-
"che installano cookie e riattivarli non appena il
|
172 |
-
"impostazioni di base includono la raccolta del
|
173 |
-
"scroll (il metodo più efficace) e la
|
|
|
174 |
|
175 |
-
#: includes/settings.php:
|
176 |
-
msgid "
|
177 |
-
|
|
|
|
|
178 |
|
179 |
-
#: includes/settings.php:
|
180 |
#, fuzzy, php-format
|
181 |
#| msgid ""
|
182 |
-
#| "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin
|
183 |
-
#| "
|
184 |
msgid ""
|
185 |
"Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" "
|
186 |
"target=\"_blank\">here.</a>"
|
187 |
msgstr ""
|
188 |
-
"Sì. Visita <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">questa
|
189 |
-
"a> per maggiori dettagli."
|
190 |
|
191 |
-
#: includes/settings.php:
|
192 |
-
|
|
|
|
|
193 |
msgstr "Vuoi saperne di più sulla Cookie Law?"
|
194 |
|
195 |
-
#: includes/settings.php:
|
196 |
-
#, php-format
|
|
|
|
|
|
|
197 |
msgid ""
|
198 |
-
"Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete
|
199 |
-
"to the
|
200 |
msgstr ""
|
201 |
"Leggi la nostra <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">guida "
|
202 |
"completa alla Cookie Law</a>."
|
203 |
|
204 |
-
#: includes/settings.php:
|
205 |
msgid "What is the full functionality of the plugin?"
|
206 |
msgstr "Quali sono le funzionalità del plugin?"
|
207 |
|
208 |
-
#: includes/settings.php:
|
209 |
-
#, php-format
|
|
|
|
|
|
|
210 |
msgid ""
|
211 |
-
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page
|
|
|
212 |
msgstr ""
|
213 |
"Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">pagina "
|
214 |
"dedicata</a> al plugin."
|
215 |
|
216 |
-
#: includes/settings.php:
|
217 |
msgid "Enter the iubenda code for the Cookie Solution below."
|
218 |
msgstr "Inserisci qui sotto il codice di iubenda per la Cookie Solution."
|
219 |
|
220 |
-
#: includes/settings.php:
|
221 |
#, php-format
|
222 |
msgid ""
|
223 |
-
"In order to run the plugin, you need to enter the iubenda code that
|
224 |
-
"the cookie law banner and the cookie policy in the form below.
|
225 |
-
"generated on www.iubenda.com, following <a href=\"%s\"
|
226 |
-
"target=\"_blank\">this guide.</a>"
|
227 |
msgstr ""
|
228 |
"Per far funzionare il plugin, è necessario inserire nel form sottostante il "
|
229 |
-
"codice di iubenda che attiva il cookie banner e la cookie policy. Questo
|
230 |
-
"può essere generato su www.iubenda.com seguendo le istruzioni
|
231 |
-
"href=\"%s\" class=\"iubenda-url\" target=\"_blank\">questa
|
|
|
232 |
|
233 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
msgid ""
|
235 |
"Maintaining comprehensive records of consent is a vital part of privacy "
|
236 |
-
"compliance in general but is specifically required under the GDPR. These
|
237 |
-
"should include a way of identifying the user, store proof of
|
238 |
-
"the consenting action, and the legal documents available
|
239 |
-
"of consent, among other things. You can read about
|
240 |
-
"iubenda.com/en/help/5428#records-of-
|
241 |
-
"requirements here</a>."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
msgstr ""
|
243 |
-
|
244 |
-
|
245 |
-
"Tra le altre cose, tale registro dovrebbe includere un modo per identificare "
|
246 |
-
"l'utente, la prova del consenso, la registrazione dell'azione di consenso e i "
|
247 |
-
"documenti legali messi a disposizione dell'utente al momento del consenso. <a "
|
248 |
-
"href=\"https://www.iubenda.com/it/help/5424#registro-consensi\" target=\"_blank"
|
249 |
-
"\">Trovi tutti i requisiti qui</a>."
|
250 |
-
|
251 |
-
#: includes/settings.php:402
|
252 |
#, php-format
|
253 |
msgid ""
|
254 |
-
"This plugin drastically reduces the need for direct interventions in the
|
255 |
-
"the site by integrating with iubenda’s Cookie Solution. It provides
|
256 |
-
"customizable cookie banner, dynamically generates a cookie policy <a
|
257 |
-
"target=\"_blank\">to match the services in use on your site</a>,
|
258 |
-
"manages cookie-related consent – including the blocking of the
|
259 |
-
"widgets and third-party cookies before consent is received – in
|
260 |
-
"with the GDPR and ePrivacy."
|
261 |
msgstr ""
|
262 |
-
"Grazie all'integrazione con la Cookie Solution di iubenda, questo plugin
|
263 |
-
"drasticamente la necessità di interventi diretti sul codice del sito.
|
264 |
-
"cookie banner completamente personalizzabile, genera una cookie
|
265 |
-
"href=\"%s\" target=\"_blank\">rispecchia i servizi in uso dal
|
266 |
-
"gestisce il consenso ai cookie (incluso il blocco
|
267 |
-
"cookie di terza parte più diffusi) in modo da
|
268 |
-
"e la Direttiva ePrivacy."
|
269 |
-
|
270 |
-
#: includes/settings.php:
|
271 |
msgid ""
|
272 |
-
"Maintaining valid records of consent is a vital part of privacy compliance
|
273 |
-
"general, and it is specifically required under the GDPR. These records
|
274 |
-
"include a userid, timestamp, consent proof, record of the consenting
|
275 |
-
"the legal documents available to the user at the time of
|
276 |
-
"things. This plugin is THE most complete solution for
|
277 |
-
"maintaining GDPR records of consent*. The plugin also
|
278 |
-
"compatibility with WordPress comment form, Contact Form 7
|
279 |
-
"for your convenience, but can be manually integrated
|
280 |
-
"and can even store consent proofs for consents
|
281 |
-
"sign-ups) via WP media upload."
|
282 |
msgstr ""
|
283 |
-
"Il mantenimento di un valido registro dei consensi è un elemento vitale per
|
284 |
-
"rispetto della privacy, ed è specificamente richiesto dal GDPR. Tra le
|
285 |
-
"cose, questo registro dovrebbe includere l'identificativo dell'utente,
|
286 |
-
"timestamp, la prova del consenso, la registrazione dell'azione di
|
287 |
-
"documenti legali messi a disposizione dell'utente nel momento
|
288 |
-
"è stato acquisito. Questo plugin è la soluzione più
|
289 |
-
"la gestione di un registro dei consensi*. Il
|
290 |
-
"dei commenti WordPress e i plugin Contact
|
291 |
-
"integrato manualmente con qualsiasi form e può
|
292 |
-
"anche per i consensi raccolti offline (ad
|
293 |
-
"tramite l'upload dei media WP."
|
294 |
-
|
295 |
-
#: includes/settings.php:
|
296 |
msgid "Reset to defaults"
|
297 |
msgstr "Ripristina le impostazioni di default"
|
298 |
|
299 |
-
#: includes/settings.php:
|
300 |
msgid "Need support for this plugin?"
|
301 |
msgstr "Serve aiuto per questo plugin?"
|
302 |
|
303 |
-
#: includes/settings.php:
|
304 |
#, php-format
|
305 |
msgid ""
|
306 |
-
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support
|
307 |
-
"a>"
|
308 |
msgstr ""
|
309 |
-
"Visita il nostro <a href=\"%s\" class=\"iubenda-url\" target=\"_blank
|
310 |
-
"supporto</a>"
|
311 |
|
312 |
-
#: includes/settings.php:
|
313 |
#, php-format
|
314 |
msgid "Enter the iubenda code for %s."
|
315 |
msgstr "Inserisci il codice di iubenda per %s."
|
316 |
|
317 |
-
#: includes/settings.php:
|
318 |
msgid "Enter the iubenda code."
|
319 |
msgstr "Inserisci il codice di iubenda."
|
320 |
|
321 |
-
#: includes/settings.php:
|
322 |
#, fuzzy
|
323 |
#| msgid "Enter a list of custom scripts (one per line)."
|
324 |
-
msgid "
|
|
|
|
|
325 |
msgstr "Elenca gli script personalizzati (uno per riga)."
|
326 |
|
327 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
#, fuzzy
|
329 |
#| msgid "Enter a list of custom iframes (one per line)."
|
330 |
-
msgid "
|
|
|
|
|
331 |
msgstr "Elenca gli iframe personalizzati (uno per riga)."
|
332 |
|
333 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
334 |
msgid "Automatically block scripts detected by the plugin."
|
335 |
msgstr "Blocca automaticamente gli script rilevati dal plugin."
|
336 |
|
337 |
-
#: includes/settings.php:
|
338 |
#, php-format
|
339 |
msgid ""
|
340 |
"see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
|
@@ -343,286 +423,297 @@ msgstr ""
|
|
343 |
"visita <a href=\"%s\" target=\"_blank\">la nostra documentazione</a> per la "
|
344 |
"lista degli script rilevati automaticamente dal plugin."
|
345 |
|
346 |
-
#: includes/settings.php:
|
347 |
msgid "Primary"
|
348 |
msgstr "Primario"
|
349 |
|
350 |
-
#: includes/settings.php:
|
351 |
msgid "Secondary"
|
352 |
msgstr "Secondario"
|
353 |
|
354 |
-
#: includes/settings.php:
|
355 |
msgid "Select parsing engine."
|
356 |
msgstr "Seleziona il motore di parsing."
|
357 |
|
358 |
-
#: includes/settings.php:
|
359 |
-
msgid "
|
|
|
360 |
msgstr ""
|
361 |
-
"Lascia gli script intatti sulla pagina se l'utente ha già prestato il
|
|
|
362 |
|
363 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
364 |
msgid ""
|
365 |
-
"improves performance, highly recommended, to be deactivated only if your
|
366 |
-
"uses a caching system"
|
367 |
msgstr ""
|
368 |
-
"migliora le prestazioni, altamente consigliato, da disattivare solo qualora
|
369 |
-
"tuo sito utilizzi un sistema di cache"
|
370 |
|
371 |
-
#: includes/settings.php:
|
372 |
msgid ""
|
373 |
-
"Restrict the plugin to run only for requests that have \"Content-type:
|
374 |
-
"html\" (recommended)"
|
375 |
msgstr ""
|
376 |
-
"Restringi l'esecuzione del plugin alle sole richieste che presentano
|
377 |
-
"type: text/html\" (consigliato)"
|
378 |
|
379 |
-
#: includes/settings.php:
|
380 |
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
381 |
msgstr "Non eseguire il plugin all'interno dei Feed RSS (consigliato)"
|
382 |
|
383 |
-
#: includes/settings.php:
|
384 |
#, fuzzy
|
385 |
#| msgid "Do not run the plugin inside the RSS feed (recommended)"
|
386 |
msgid "Do not run the plugin on POST requests (recommended)"
|
387 |
msgstr "Non eseguire il plugin per richieste POST (consigliato)"
|
388 |
|
389 |
-
#: includes/settings.php:
|
390 |
msgid "Top menu"
|
391 |
msgstr "Menu principale"
|
392 |
|
393 |
-
#: includes/settings.php:
|
394 |
msgid "Submenu"
|
395 |
msgstr "Sottomenu"
|
396 |
|
397 |
-
#: includes/settings.php:
|
398 |
msgid ""
|
399 |
-
"Select whether to display iubenda in a top admin menu or the Settings
|
|
|
400 |
msgstr ""
|
401 |
-
"Scegli se visualizzare iubenda in una voce di menu principale del pannello
|
402 |
-
"o in un sottomenu della scheda Impostazioni."
|
403 |
|
404 |
-
#: includes/settings.php:
|
405 |
msgid "Delete all plugin data upon deactivation?"
|
406 |
-
msgstr "
|
|
|
407 |
|
408 |
-
#: includes/settings.php:
|
409 |
msgid "Enter your iubenda Javascript library public API key."
|
410 |
-
msgstr "
|
|
|
411 |
|
412 |
-
#: includes/settings.php:
|
413 |
msgid ""
|
414 |
-
"This section lists the forms available for field mapping. The plugin
|
415 |
-
"supports & detects: WordPress Comment, Contact Form 7, WooCommerce
|
416 |
-
"WP Forms."
|
417 |
msgstr ""
|
418 |
"Questa sezione elenca i form disponibili al mapping. Al momento il plugin "
|
419 |
-
"supporta e rileva: Commenti WordPress, Contact Form 7, WooCommerce Checkout
|
420 |
-
"Forms."
|
421 |
|
422 |
-
#: includes/settings.php:
|
423 |
#, php-format
|
424 |
msgid "%s form title."
|
425 |
msgstr "%s nome del form."
|
426 |
|
427 |
-
#: includes/settings.php:
|
428 |
msgid "Unknown"
|
429 |
msgstr "Sconosciuto"
|
430 |
|
431 |
-
#: includes/settings.php:
|
432 |
msgid "Available form fields:"
|
433 |
msgstr "Campi disponibili:"
|
434 |
|
435 |
-
#: includes/settings.php:
|
436 |
msgid "Publish"
|
437 |
msgstr "Pubblica"
|
438 |
|
439 |
-
#: includes/settings.php:
|
440 |
msgid "Status"
|
441 |
msgstr "Stato"
|
442 |
|
443 |
-
#: includes/settings.php:
|
444 |
msgid "Cancel"
|
445 |
msgstr "Annulla"
|
446 |
|
447 |
-
#: includes/settings.php:
|
448 |
msgid "Save"
|
449 |
msgstr "Salva"
|
450 |
|
451 |
-
#: includes/settings.php:
|
452 |
msgid "Map fields"
|
453 |
msgstr "Mappa i campi"
|
454 |
|
455 |
-
#: includes/settings.php:
|
456 |
msgid "Subject fields"
|
457 |
msgstr "Utente"
|
458 |
|
459 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
460 |
msgid ""
|
461 |
"Subject fields allow you to store a series of identifying values about your "
|
462 |
-
"individual subjects/users. Please map the subject
|
463 |
-
"form fields where applicable."
|
464 |
msgstr ""
|
465 |
"Questi campi ti permettono di memorizzare una serie di valori identificativi "
|
466 |
-
"dell'utente. Associa gli attributi dell'utente ai corrispondenti campi del
|
467 |
-
"(quando applicabile)."
|
468 |
|
469 |
-
#: includes/settings.php:
|
470 |
msgid "Subject field"
|
471 |
msgstr "Attributo"
|
472 |
|
473 |
-
#: includes/settings.php:
|
474 |
msgid "Form field"
|
475 |
msgstr "Campo del form"
|
476 |
|
477 |
-
#: includes/settings.php:
|
478 |
msgid "Autogenerated"
|
479 |
msgstr "Generato automaticamente"
|
480 |
|
481 |
-
#: includes/settings.php:
|
482 |
msgid "None"
|
483 |
msgstr "Nessuno"
|
484 |
|
485 |
-
#: includes/settings.php:
|
486 |
msgid "Preferences fields"
|
487 |
msgstr "Preferenze"
|
488 |
|
489 |
-
#: includes/settings.php:
|
490 |
msgid ""
|
491 |
-
"Preferences fields allow you to store a record of the various opt-ins points
|
492 |
-
"which the user has agreed or given consent, such as fields for agreeing
|
493 |
-
"and conditions, newsletter, profiling, etc. *Please create at least
|
494 |
-
"preference field."
|
495 |
msgstr ""
|
496 |
-
"Questi campi ti permettono di memorizzare a cosa l'utente ha prestato il
|
497 |
-
"consenso, come ad esempio i termini e condizioni, la newsletter la
|
498 |
-
"ecc. *Si prega di creare almeno un campo."
|
499 |
|
500 |
-
#: includes/settings.php:
|
501 |
msgid "Preferences field"
|
502 |
msgstr "Campo delle preferenze"
|
503 |
|
504 |
-
#: includes/settings.php:
|
505 |
-
#: includes/settings.php:
|
|
|
506 |
msgid "Enter field name"
|
507 |
msgstr "Aggiungi il nome di un campo"
|
508 |
|
509 |
-
#: includes/settings.php:
|
510 |
-
#: includes/settings.php:917 includes/settings.php:968 includes/settings.php:984
|
511 |
-
msgid "Remove"
|
512 |
-
msgstr "Elimina"
|
513 |
-
|
514 |
-
#: includes/settings.php:857
|
515 |
msgid "Add New Preference"
|
516 |
msgstr "Aggiungi nuova preferenza"
|
517 |
|
518 |
-
#: includes/settings.php:
|
519 |
msgid "Exclude fields"
|
520 |
msgstr "Esclusioni"
|
521 |
|
522 |
-
#: includes/settings.php:
|
523 |
msgid ""
|
524 |
"Exclude fields allow you to create a list of fields that you would like to "
|
525 |
-
"exclude from your Consent Solution recorded proofs (for e.g. password or
|
526 |
-
"fields not related to the consent)."
|
527 |
msgstr ""
|
528 |
"Qui puoi creare una lista dei campi che desideri escludere dalle prove del "
|
529 |
-
"consenso memorizzate dalla Consent Solution (ad es. password o altri campi
|
530 |
-
"correlati)."
|
531 |
|
532 |
-
#: includes/settings.php:
|
533 |
msgid "Exclude field"
|
534 |
msgstr "Campi esclusi"
|
535 |
|
536 |
-
#: includes/settings.php:
|
537 |
msgid "Add New Exclude"
|
538 |
msgstr "Aggiungi una nuova esclusione"
|
539 |
|
540 |
-
#: includes/settings.php:
|
541 |
msgid "Legal Notices"
|
542 |
msgstr "Note legali"
|
543 |
|
544 |
-
#: includes/settings.php:
|
545 |
msgid "Legal documents"
|
546 |
msgstr "Documenti legali"
|
547 |
|
548 |
-
#: includes/settings.php:
|
549 |
msgid ""
|
550 |
"In general, it’s important that you declare which legal documents are being "
|
551 |
-
"agreed upon when each consent is collected. However, if you use iubenda for
|
552 |
-
"legal documents, it is *required* that you identify the documents by
|
553 |
-
"them here."
|
554 |
msgstr ""
|
555 |
-
"In generale, è importante dichiarare quali documenti legali vengono
|
556 |
-
"momento del conferimento del consenso. Se usi iubenda per le
|
557 |
-
"*devi* identificare tali documenti selezionandoli qui."
|
558 |
|
559 |
-
#: includes/settings.php:
|
560 |
msgid "Identifier"
|
561 |
msgstr "Identificatore"
|
562 |
|
563 |
-
#: includes/settings.php:
|
564 |
msgid "Please select each legal document available on your site."
|
565 |
msgstr "Seleziona tutti i documenti legali presenti sul tuo sito."
|
566 |
|
567 |
-
#: includes/settings.php:
|
568 |
msgid "Alternatively, you may add your own custom document identifiers."
|
569 |
msgstr "In alternativa, puoi aggiungere degli identificatori personalizzati."
|
570 |
|
571 |
-
#: includes/settings.php:
|
572 |
msgid "Add New Document"
|
573 |
msgstr "Aggiungi un nuovo documento"
|
574 |
|
575 |
-
#: includes/settings.php:
|
|
|
576 |
msgid "Settings saved."
|
577 |
msgstr "Impostazioni salvate."
|
578 |
|
579 |
-
#: includes/settings.php:
|
580 |
msgid "Settings restored to defaults."
|
581 |
msgstr "Impostazioni di default ripristinate."
|
582 |
|
583 |
-
#: includes/settings.php:
|
584 |
#, php-format
|
585 |
msgid ""
|
586 |
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
|
587 |
"\"_blank\">Discussion settings</a>."
|
588 |
msgstr ""
|
589 |
"Abilita per i commenti la possibilità di attivare o disattivare la "
|
590 |
-
"memorizzazione dei dati personali in un cookie. Per farlo, vai su <a href
|
591 |
-
"target=\"_blank\">Impostazioni discussione</a>."
|
592 |
|
593 |
-
#: includes/settings.php:
|
594 |
msgid "No forms or form changes detected."
|
595 |
msgstr "Nessun form o modifica rilevati."
|
596 |
|
597 |
-
#: includes/settings.php:
|
598 |
msgid "Form saving failed. Please fill the Subject and Preferences fields."
|
599 |
msgstr "Salvataggio del form fallito. Compila i campi Utente e Preferenze."
|
600 |
|
601 |
-
#: includes/settings.php:
|
602 |
#, fuzzy
|
603 |
#| msgid "Settings applied successfully"
|
604 |
msgid "Form saved successfully - form status changed to Mapped."
|
605 |
msgstr "Form salvato con successo - Stato aggiornato a Mappato."
|
606 |
|
607 |
-
#: includes/settings.php:
|
608 |
msgid "Form updated successfully."
|
609 |
msgstr "Form aggiornato con successo."
|
610 |
|
611 |
-
#: includes/settings.php:
|
612 |
msgid "Form saving failed."
|
613 |
msgstr "Salvataggio del form fallito."
|
614 |
|
615 |
-
#: includes/settings.php:
|
616 |
#, fuzzy
|
617 |
#| msgid "Settings applied successfully"
|
618 |
msgid "Form deleted successfully."
|
619 |
msgstr "Form eliminato con successo."
|
620 |
|
621 |
-
#: includes/settings.php:
|
622 |
msgid "Form delete failed."
|
623 |
msgstr "Eliminazione del form fallita."
|
624 |
|
625 |
-
#: includes/settings.php:
|
626 |
msgid "Dismiss this notice."
|
627 |
msgstr "Chiudi questo avviso."
|
628 |
|
@@ -665,8 +756,8 @@ msgstr "Chiudi questo avviso."
|
|
665 |
#~ msgstr "Effettua il blocco automatico degli script rilevati dal plugin"
|
666 |
|
667 |
#~ msgid ""
|
668 |
-
#~ "see <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">our
|
669 |
-
#~ "a> for the list of detected scripts."
|
670 |
#~ msgstr ""
|
671 |
#~ "consulta la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
672 |
#~ "documentazione</a> per la lista di script rilevati."
|
@@ -674,9 +765,6 @@ msgstr "Chiudi questo avviso."
|
|
674 |
#~ msgid "Parsing engine"
|
675 |
#~ msgstr "Parsing engine"
|
676 |
|
677 |
-
#~ msgid "Experimental (enhances performance)"
|
678 |
-
#~ msgstr "Sperimentale (performance migliorata)"
|
679 |
-
|
680 |
#~ msgid ""
|
681 |
#~ "Leaves scripts untouched on the page if the user has already given consent"
|
682 |
#~ msgstr ""
|
@@ -686,11 +774,11 @@ msgstr "Chiudi questo avviso."
|
|
686 |
#~ msgstr "Applica ottimizzazioni speciali in caso di errori con l'output"
|
687 |
|
688 |
#~ msgid ""
|
689 |
-
#~ "only select this option if you had performance problems or if you notice
|
690 |
-
#~ "the blocking of code is run several times"
|
691 |
#~ msgstr ""
|
692 |
-
#~ "attiva questa opzione solo qualora avessi problemi di performance o
|
693 |
-
#~ "che il blocco dei codici viene applicato più volte"
|
694 |
|
695 |
#~ msgid "Parsed with iubenda experimental class in %s sec."
|
696 |
#~ msgstr "Parsed with iubenda experimental class in %s sec."
|
@@ -699,8 +787,8 @@ msgstr "Chiudi questo avviso."
|
|
699 |
#~ msgstr "Parsed with iubenda default class in %s sec."
|
700 |
|
701 |
#~ msgid ""
|
702 |
-
#~ "see <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">our
|
703 |
-
#~ "a> for the list of detected scripts this guide."
|
704 |
#~ msgstr ""
|
705 |
#~ "consulta la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
706 |
#~ "documentazione</a> per la lista di script rilevati."
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Iubenda Cookie Solution\n"
|
4 |
+
"POT-Creation-Date: 2019-12-23 15:48+0100\n"
|
5 |
+
"PO-Revision-Date: 2019-12-23 15:48+0100\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: it\n"
|
25 |
msgstr "ID del form"
|
26 |
|
27 |
#: includes/forms-list-table.php:94
|
28 |
+
#, fuzzy
|
29 |
+
#| msgid "Source"
|
30 |
+
msgid "Form Source"
|
31 |
msgstr "Fonte"
|
32 |
|
33 |
#: includes/forms-list-table.php:95
|
62 |
msgid "No forms found."
|
63 |
msgstr "Nessun form trovato."
|
64 |
|
65 |
+
#: includes/forms.php:149 includes/settings.php:135
|
66 |
msgid "Forms"
|
67 |
msgstr "Form"
|
68 |
|
71 |
msgstr "Form"
|
72 |
|
73 |
#: includes/forms.php:566 includes/forms.php:580
|
|
|
74 |
msgid "First name"
|
75 |
msgstr "Nome"
|
76 |
|
77 |
#: includes/forms.php:572 includes/forms.php:592
|
|
|
78 |
msgid "Last name"
|
79 |
msgstr "Cognome"
|
80 |
|
81 |
#: includes/forms.php:586
|
|
|
82 |
msgid "Middle name"
|
83 |
msgstr "Secondo nome"
|
84 |
|
87 |
msgid "string"
|
88 |
msgstr "stringa"
|
89 |
|
90 |
+
#: includes/settings.php:57 includes/settings.php:180
|
91 |
msgid "Cookie Solution"
|
92 |
msgstr "Cookie Solution"
|
93 |
|
94 |
+
#: includes/settings.php:63 includes/settings.php:181
|
95 |
msgid "Consent Solution"
|
96 |
msgstr "Consent Solution"
|
97 |
|
98 |
+
#: includes/settings.php:71
|
99 |
+
msgid "Not set"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: includes/settings.php:72
|
103 |
+
msgid "Strictly necessary"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: includes/settings.php:73
|
107 |
+
msgid "Basic interactions & functionalities"
|
108 |
+
msgstr ""
|
109 |
+
|
110 |
+
#: includes/settings.php:74
|
111 |
+
#, fuzzy
|
112 |
+
#| msgid "Experimental (enhances performance)"
|
113 |
+
msgid "Experience enhancement"
|
114 |
+
msgstr "Sperimentale (performance migliorata)"
|
115 |
+
|
116 |
+
#: includes/settings.php:75
|
117 |
+
msgid "Analytics"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: includes/settings.php:76
|
121 |
+
msgid "Targeting & Advertising"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: includes/settings.php:123
|
125 |
msgid "Code"
|
126 |
msgstr "Codice"
|
127 |
|
128 |
+
#: includes/settings.php:124
|
129 |
#, fuzzy
|
130 |
#| msgid "Scripts blocking"
|
131 |
msgid "Script blocking"
|
132 |
msgstr "Blocco preventivo dei codici"
|
133 |
|
134 |
+
#: includes/settings.php:125
|
135 |
msgid "Custom scripts"
|
136 |
msgstr "Script personalizzati"
|
137 |
|
138 |
+
#: includes/settings.php:126
|
139 |
msgid "Content type"
|
140 |
msgstr "Tipo di contenuto"
|
141 |
|
142 |
+
#: includes/settings.php:127
|
143 |
msgid "RSS feed"
|
144 |
msgstr "Feed RSS"
|
145 |
|
146 |
+
#: includes/settings.php:128
|
147 |
msgid "POST requests"
|
148 |
msgstr "Richieste POST"
|
149 |
|
150 |
+
#: includes/settings.php:129
|
151 |
msgid "Menu position"
|
152 |
msgstr "Posizione menu"
|
153 |
|
154 |
+
#: includes/settings.php:130
|
155 |
msgid "Deactivation"
|
156 |
msgstr "Disattivazione"
|
157 |
|
158 |
+
#: includes/settings.php:136
|
159 |
+
#, fuzzy
|
160 |
+
#| msgid "Public API Key"
|
161 |
+
msgid "Public Api Key"
|
162 |
msgstr "Chiave API pubblica"
|
163 |
|
164 |
+
#: includes/settings.php:139 includes/settings.php:143
|
165 |
msgid "Field Mapping"
|
166 |
msgstr "Mapping dei campi"
|
167 |
|
168 |
+
#: includes/settings.php:201
|
169 |
msgid "Are you sure you want to delete this form?"
|
170 |
msgstr "Sei sicuro di voler eliminare questo form?"
|
171 |
|
172 |
+
#: includes/settings.php:349
|
173 |
msgid "You don't have permission to access this page."
|
174 |
msgstr "Non disponi dell'autorizzazione per accedere a questa pagina."
|
175 |
|
176 |
+
#: includes/settings.php:375
|
177 |
#, fuzzy
|
178 |
#| msgid ""
|
179 |
+
#| "This plugin is the easiest and most comprehensive way to adapt your "
|
180 |
+
#| "WordPress site to the European cookie law. Upon your user's first visit, "
|
181 |
+
#| "the plugin will take care of collecting their consent, of blocking the "
|
182 |
+
#| "most popular among the scripts that install cookies and subsequently "
|
183 |
+
#| "reactivate these scripts as soon as consent is provided. The basic "
|
184 |
+
#| "settings include obtaining consent by a simple scroll action (the most "
|
185 |
+
#| "effective method) and script reactivation without refreshing the page."
|
186 |
msgid ""
|
187 |
+
"This plugin is the easiest and most comprehensive way to adapt your "
|
188 |
+
"WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first "
|
189 |
+
"visit, the plugin will take care of collecting their consent, blocking the "
|
190 |
+
"most popular cookie-scripts and subsequently reactivating these scripts as "
|
191 |
+
"soon as consent is provided. The basic settings include obtaining consent by "
|
192 |
+
"a simple scroll action (the most effective method) and script reactivation "
|
193 |
+
"without refreshing the page (asynchronous script reactivation)."
|
194 |
msgstr ""
|
195 |
"Questo plugin è il modo più semplice e completo per adeguare il tuo sito "
|
196 |
+
"WordPress alla Direttiva ePrivacy (Cookie Law). Alla prima visita "
|
197 |
+
"dell'utente il plugin si occuperà di raccoglierne il consenso, bloccare gli "
|
198 |
+
"script più popolari che installano cookie e riattivarli non appena il "
|
199 |
+
"consenso viene fornito. Le impostazioni di base includono la raccolta del "
|
200 |
+
"consenso tramite il semplice scroll (il metodo più efficace) e la "
|
201 |
+
"riattivazione senza il refresh della pagina."
|
202 |
|
203 |
+
#: includes/settings.php:378
|
204 |
+
msgid ""
|
205 |
+
"Does the Cookie Solution support IAB’s Transparency and Consent Framework?"
|
206 |
+
msgstr ""
|
207 |
+
"La Cookie Solution supporta il Transparency e Consent Framework di IAB?"
|
208 |
|
209 |
+
#: includes/settings.php:379
|
210 |
#, fuzzy, php-format
|
211 |
#| msgid ""
|
212 |
+
#| "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
213 |
+
#| "page.</a>"
|
214 |
msgid ""
|
215 |
"Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" "
|
216 |
"target=\"_blank\">here.</a>"
|
217 |
msgstr ""
|
218 |
+
"Sì. Visita <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">questa "
|
219 |
+
"pagina</a> per maggiori dettagli."
|
220 |
|
221 |
+
#: includes/settings.php:382
|
222 |
+
#, fuzzy
|
223 |
+
#| msgid "Would you like to know more about the Cookie Law?"
|
224 |
+
msgid "Would you like to know more about the cookie law?"
|
225 |
msgstr "Vuoi saperne di più sulla Cookie Law?"
|
226 |
|
227 |
+
#: includes/settings.php:383
|
228 |
+
#, fuzzy, php-format
|
229 |
+
#| msgid ""
|
230 |
+
#| "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
231 |
+
#| "guide to the Cookie Law</a>."
|
232 |
msgid ""
|
233 |
+
"Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
234 |
+
"guide to the cookie law.</a>"
|
235 |
msgstr ""
|
236 |
"Leggi la nostra <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">guida "
|
237 |
"completa alla Cookie Law</a>."
|
238 |
|
239 |
+
#: includes/settings.php:386
|
240 |
msgid "What is the full functionality of the plugin?"
|
241 |
msgstr "Quali sono le funzionalità del plugin?"
|
242 |
|
243 |
+
#: includes/settings.php:387
|
244 |
+
#, fuzzy, php-format
|
245 |
+
#| msgid ""
|
246 |
+
#| "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
247 |
+
#| "page</a>."
|
248 |
msgid ""
|
249 |
+
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page."
|
250 |
+
"</a>"
|
251 |
msgstr ""
|
252 |
"Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">pagina "
|
253 |
"dedicata</a> al plugin."
|
254 |
|
255 |
+
#: includes/settings.php:390
|
256 |
msgid "Enter the iubenda code for the Cookie Solution below."
|
257 |
msgstr "Inserisci qui sotto il codice di iubenda per la Cookie Solution."
|
258 |
|
259 |
+
#: includes/settings.php:391
|
260 |
#, php-format
|
261 |
msgid ""
|
262 |
+
"In order to run the plugin, you need to enter the iubenda code that "
|
263 |
+
"activates the cookie law banner and the cookie policy in the form below. "
|
264 |
+
"This code can be generated on www.iubenda.com, following <a href=\"%s\" "
|
265 |
+
"class=\"iubenda-url\" target=\"_blank\">this guide.</a>"
|
266 |
msgstr ""
|
267 |
"Per far funzionare il plugin, è necessario inserire nel form sottostante il "
|
268 |
+
"codice di iubenda che attiva il cookie banner e la cookie policy. Questo "
|
269 |
+
"codice può essere generato su www.iubenda.com seguendo le istruzioni "
|
270 |
+
"contenute in <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">questa "
|
271 |
+
"guida</a>."
|
272 |
|
273 |
+
#: includes/settings.php:396
|
274 |
+
#, fuzzy
|
275 |
+
#| msgid ""
|
276 |
+
#| "Maintaining comprehensive records of consent is a vital part of privacy "
|
277 |
+
#| "compliance in general but is specifically required under the GDPR. These "
|
278 |
+
#| "records should include a way of identifying the user, store proof of "
|
279 |
+
#| "consent, record of the consenting action, and the legal documents "
|
280 |
+
#| "available to the user at the time of consent, among other things. You can "
|
281 |
+
#| "read about the <a href=\"https://www.iubenda.com/en/help/5428#records-of-"
|
282 |
+
#| "consent\" target=\"_blank\">full requirements here</a>."
|
283 |
msgid ""
|
284 |
"Maintaining comprehensive records of consent is a vital part of privacy "
|
285 |
+
"compliance in general but is specifically required under the GDPR. These "
|
286 |
+
"records should include a way of identifying the user, store proof of "
|
287 |
+
"consent, record of the consenting action, and the legal documents available "
|
288 |
+
"to the user at the time of consent, among other things. You can read about "
|
289 |
+
"the <a href=\"https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-"
|
290 |
+
"consent\" target=\"_blank\">full requirements here</a>."
|
291 |
+
msgstr ""
|
292 |
+
"Oltre ad essere un elemento vitale per il rispetto della privacy in "
|
293 |
+
"generale, il mantenimento di un registro dei consensi è specificamente "
|
294 |
+
"richiesto dal GDPR. Tra le altre cose, tale registro dovrebbe includere un "
|
295 |
+
"modo per identificare l'utente, la prova del consenso, la registrazione "
|
296 |
+
"dell'azione di consenso e i documenti legali messi a disposizione "
|
297 |
+
"dell'utente al momento del consenso. <a href=\"https://www.iubenda.com/it/"
|
298 |
+
"help/5424#registro-consensi\" target=\"_blank\">Trovi tutti i requisiti qui</"
|
299 |
+
"a>."
|
300 |
+
|
301 |
+
#: includes/settings.php:419
|
302 |
+
#, php-format
|
303 |
+
msgid ""
|
304 |
+
"If you are using per-purpose script blocking please disable the \"Leave "
|
305 |
+
"scripts untouched on the page if the user has already given consent\" "
|
306 |
+
"option. <a href=\"%s\" target=\"_self\">Disable now</a>"
|
307 |
msgstr ""
|
308 |
+
|
309 |
+
#: includes/settings.php:439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
#, php-format
|
311 |
msgid ""
|
312 |
+
"This plugin drastically reduces the need for direct interventions in the "
|
313 |
+
"code of the site by integrating with iubenda’s Cookie Solution. It provides "
|
314 |
+
"a fully customizable cookie banner, dynamically generates a cookie policy <a "
|
315 |
+
"href=\"%s\" target=\"_blank\">to match the services in use on your site</a>, "
|
316 |
+
"and, fully manages cookie-related consent – including the blocking of the "
|
317 |
+
"most common widgets and third-party cookies before consent is received – in "
|
318 |
+
"order to comply with the GDPR and ePrivacy."
|
319 |
msgstr ""
|
320 |
+
"Grazie all'integrazione con la Cookie Solution di iubenda, questo plugin "
|
321 |
+
"riduce drasticamente la necessità di interventi diretti sul codice del sito. "
|
322 |
+
"Prevede un cookie banner completamente personalizzabile, genera una cookie "
|
323 |
+
"policy che <a href=\"%s\" target=\"_blank\">rispecchia i servizi in uso dal "
|
324 |
+
"tuo sito web</a> e gestisce il consenso ai cookie (incluso il blocco "
|
325 |
+
"automatico dei widget e dei cookie di terza parte più diffusi) in modo da "
|
326 |
+
"permetterti di rispettare il GDPR e la Direttiva ePrivacy."
|
327 |
+
|
328 |
+
#: includes/settings.php:441
|
329 |
msgid ""
|
330 |
+
"Maintaining valid records of consent is a vital part of privacy compliance "
|
331 |
+
"in general, and it is specifically required under the GDPR. These records "
|
332 |
+
"should include a userid, timestamp, consent proof, record of the consenting "
|
333 |
+
"action, and the legal documents available to the user at the time of "
|
334 |
+
"consent, among other things. This plugin is THE most complete solution for "
|
335 |
+
"recording, sorting and maintaining GDPR records of consent*. The plugin also "
|
336 |
+
"boasts built-in compatibility with WordPress comment form, Contact Form 7 "
|
337 |
+
"and WP Forms plugins for your convenience, but can be manually integrated "
|
338 |
+
"with any type of web-form and can even store consent proofs for consents "
|
339 |
+
"collected offline (e.g in-store sign-ups) via WP media upload."
|
340 |
msgstr ""
|
341 |
+
"Il mantenimento di un valido registro dei consensi è un elemento vitale per "
|
342 |
+
"il rispetto della privacy, ed è specificamente richiesto dal GDPR. Tra le "
|
343 |
+
"altre cose, questo registro dovrebbe includere l'identificativo dell'utente, "
|
344 |
+
"il timestamp, la prova del consenso, la registrazione dell'azione di "
|
345 |
+
"consenso e i documenti legali messi a disposizione dell'utente nel momento "
|
346 |
+
"in cui il consenso è stato acquisito. Questo plugin è la soluzione più "
|
347 |
+
"completa per la creazione e la gestione di un registro dei consensi*. Il "
|
348 |
+
"plugin è compatibile con il modulo dei commenti WordPress e i plugin Contact "
|
349 |
+
"Form 7 e WP Forms, può essere integrato manualmente con qualsiasi form e può "
|
350 |
+
"memorizzare la prova del consenso anche per i consensi raccolti offline (ad "
|
351 |
+
"esempio, le iscrizioni in-store) tramite l'upload dei media WP."
|
352 |
+
|
353 |
+
#: includes/settings.php:459
|
354 |
msgid "Reset to defaults"
|
355 |
msgstr "Ripristina le impostazioni di default"
|
356 |
|
357 |
+
#: includes/settings.php:471
|
358 |
msgid "Need support for this plugin?"
|
359 |
msgstr "Serve aiuto per questo plugin?"
|
360 |
|
361 |
+
#: includes/settings.php:472
|
362 |
#, php-format
|
363 |
msgid ""
|
364 |
+
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
|
365 |
+
"forum.</a>"
|
366 |
msgstr ""
|
367 |
+
"Visita il nostro <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
|
368 |
+
"\">forum di supporto</a>"
|
369 |
|
370 |
+
#: includes/settings.php:516
|
371 |
#, php-format
|
372 |
msgid "Enter the iubenda code for %s."
|
373 |
msgstr "Inserisci il codice di iubenda per %s."
|
374 |
|
375 |
+
#: includes/settings.php:527
|
376 |
msgid "Enter the iubenda code."
|
377 |
msgstr "Inserisci il codice di iubenda."
|
378 |
|
379 |
+
#: includes/settings.php:554
|
380 |
#, fuzzy
|
381 |
#| msgid "Enter a list of custom scripts (one per line)."
|
382 |
+
msgid ""
|
383 |
+
"Provide a list of custom scripts you’d like to block and assign their "
|
384 |
+
"purpose."
|
385 |
msgstr "Elenca gli script personalizzati (uno per riga)."
|
386 |
|
387 |
+
#: includes/settings.php:556 includes/settings.php:563
|
388 |
+
#, fuzzy
|
389 |
+
#| msgid "Custom scripts"
|
390 |
+
msgid "Enter custom script"
|
391 |
+
msgstr "Script personalizzati"
|
392 |
+
|
393 |
+
#: includes/settings.php:556 includes/settings.php:563
|
394 |
+
#: includes/settings.php:574 includes/settings.php:581
|
395 |
+
#: includes/settings.php:903 includes/settings.php:930
|
396 |
+
#: includes/settings.php:971 includes/settings.php:999
|
397 |
+
#: includes/settings.php:1050 includes/settings.php:1066
|
398 |
+
msgid "Remove"
|
399 |
+
msgstr "Elimina"
|
400 |
+
|
401 |
+
#: includes/settings.php:572
|
402 |
#, fuzzy
|
403 |
#| msgid "Enter a list of custom iframes (one per line)."
|
404 |
+
msgid ""
|
405 |
+
"Provide a list of custom iframes you’d like to block and assign their "
|
406 |
+
"purpose. "
|
407 |
msgstr "Elenca gli iframe personalizzati (uno per riga)."
|
408 |
|
409 |
+
#: includes/settings.php:574 includes/settings.php:581
|
410 |
+
msgid "Enter custom iframe"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: includes/settings.php:619
|
414 |
msgid "Automatically block scripts detected by the plugin."
|
415 |
msgstr "Blocca automaticamente gli script rilevati dal plugin."
|
416 |
|
417 |
+
#: includes/settings.php:620
|
418 |
#, php-format
|
419 |
msgid ""
|
420 |
"see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
|
423 |
"visita <a href=\"%s\" target=\"_blank\">la nostra documentazione</a> per la "
|
424 |
"lista degli script rilevati automaticamente dal plugin."
|
425 |
|
426 |
+
#: includes/settings.php:623
|
427 |
msgid "Primary"
|
428 |
msgstr "Primario"
|
429 |
|
430 |
+
#: includes/settings.php:624
|
431 |
msgid "Secondary"
|
432 |
msgstr "Secondario"
|
433 |
|
434 |
+
#: includes/settings.php:625
|
435 |
msgid "Select parsing engine."
|
436 |
msgstr "Seleziona il motore di parsing."
|
437 |
|
438 |
+
#: includes/settings.php:628
|
439 |
+
msgid ""
|
440 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
441 |
msgstr ""
|
442 |
+
"Lascia gli script intatti sulla pagina se l'utente ha già prestato il "
|
443 |
+
"consenso"
|
444 |
|
445 |
+
#: includes/settings.php:629
|
446 |
+
#, fuzzy
|
447 |
+
#| msgid ""
|
448 |
+
#| "improves performance, highly recommended, to be deactivated only if your "
|
449 |
+
#| "site uses a caching system"
|
450 |
msgid ""
|
451 |
+
"improves performance, highly recommended, to be deactivated only if your "
|
452 |
+
"site uses a caching system or you have per-purpose script blokcing active."
|
453 |
msgstr ""
|
454 |
+
"migliora le prestazioni, altamente consigliato, da disattivare solo qualora "
|
455 |
+
"il tuo sito utilizzi un sistema di cache"
|
456 |
|
457 |
+
#: includes/settings.php:643
|
458 |
msgid ""
|
459 |
+
"Restrict the plugin to run only for requests that have \"Content-type: "
|
460 |
+
"text / html\" (recommended)"
|
461 |
msgstr ""
|
462 |
+
"Restringi l'esecuzione del plugin alle sole richieste che presentano "
|
463 |
+
"\"Content-type: text/html\" (consigliato)"
|
464 |
|
465 |
+
#: includes/settings.php:655
|
466 |
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
467 |
msgstr "Non eseguire il plugin all'interno dei Feed RSS (consigliato)"
|
468 |
|
469 |
+
#: includes/settings.php:667
|
470 |
#, fuzzy
|
471 |
#| msgid "Do not run the plugin inside the RSS feed (recommended)"
|
472 |
msgid "Do not run the plugin on POST requests (recommended)"
|
473 |
msgstr "Non eseguire il plugin per richieste POST (consigliato)"
|
474 |
|
475 |
+
#: includes/settings.php:679
|
476 |
msgid "Top menu"
|
477 |
msgstr "Menu principale"
|
478 |
|
479 |
+
#: includes/settings.php:680
|
480 |
msgid "Submenu"
|
481 |
msgstr "Sottomenu"
|
482 |
|
483 |
+
#: includes/settings.php:681
|
484 |
msgid ""
|
485 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
486 |
+
"submenu."
|
487 |
msgstr ""
|
488 |
+
"Scegli se visualizzare iubenda in una voce di menu principale del pannello "
|
489 |
+
"admin o in un sottomenu della scheda Impostazioni."
|
490 |
|
491 |
+
#: includes/settings.php:693
|
492 |
msgid "Delete all plugin data upon deactivation?"
|
493 |
+
msgstr ""
|
494 |
+
"Vuoi eliminare tutti i dati del plugin al momento della disattivazione?"
|
495 |
|
496 |
+
#: includes/settings.php:706
|
497 |
msgid "Enter your iubenda Javascript library public API key."
|
498 |
+
msgstr ""
|
499 |
+
"Inserisci la chiave API pubblica per la libreria JavaScript di iubenda."
|
500 |
|
501 |
+
#: includes/settings.php:722
|
502 |
msgid ""
|
503 |
+
"This section lists the forms available for field mapping. The plugin "
|
504 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
505 |
+
"Checkout and WP Forms."
|
506 |
msgstr ""
|
507 |
"Questa sezione elenca i form disponibili al mapping. Al momento il plugin "
|
508 |
+
"supporta e rileva: Commenti WordPress, Contact Form 7, WooCommerce Checkout "
|
509 |
+
"e WP Forms."
|
510 |
|
511 |
+
#: includes/settings.php:783
|
512 |
#, php-format
|
513 |
msgid "%s form title."
|
514 |
msgstr "%s nome del form."
|
515 |
|
516 |
+
#: includes/settings.php:783
|
517 |
msgid "Unknown"
|
518 |
msgstr "Sconosciuto"
|
519 |
|
520 |
+
#: includes/settings.php:785
|
521 |
msgid "Available form fields:"
|
522 |
msgstr "Campi disponibili:"
|
523 |
|
524 |
+
#: includes/settings.php:791
|
525 |
msgid "Publish"
|
526 |
msgstr "Pubblica"
|
527 |
|
528 |
+
#: includes/settings.php:796
|
529 |
msgid "Status"
|
530 |
msgstr "Stato"
|
531 |
|
532 |
+
#: includes/settings.php:809
|
533 |
msgid "Cancel"
|
534 |
msgstr "Annulla"
|
535 |
|
536 |
+
#: includes/settings.php:814
|
537 |
msgid "Save"
|
538 |
msgstr "Salva"
|
539 |
|
540 |
+
#: includes/settings.php:827
|
541 |
msgid "Map fields"
|
542 |
msgstr "Mappa i campi"
|
543 |
|
544 |
+
#: includes/settings.php:833
|
545 |
msgid "Subject fields"
|
546 |
msgstr "Utente"
|
547 |
|
548 |
+
#: includes/settings.php:834
|
549 |
+
#, fuzzy
|
550 |
+
#| msgid ""
|
551 |
+
#| "Subject fields allow you to store a series of identifying values about "
|
552 |
+
#| "your individual subjects/users. Please map the subject field with the "
|
553 |
+
#| "corresponding form fields where applicable."
|
554 |
msgid ""
|
555 |
"Subject fields allow you to store a series of identifying values about your "
|
556 |
+
"individual subjects/users. Please map the subject field with the "
|
557 |
+
"corresponding form fields where applicable."
|
558 |
msgstr ""
|
559 |
"Questi campi ti permettono di memorizzare una serie di valori identificativi "
|
560 |
+
"dell'utente. Associa gli attributi dell'utente ai corrispondenti campi del "
|
561 |
+
"form (quando applicabile)."
|
562 |
|
563 |
+
#: includes/settings.php:839
|
564 |
msgid "Subject field"
|
565 |
msgstr "Attributo"
|
566 |
|
567 |
+
#: includes/settings.php:840 includes/settings.php:884
|
568 |
msgid "Form field"
|
569 |
msgstr "Campo del form"
|
570 |
|
571 |
+
#: includes/settings.php:846
|
572 |
msgid "Autogenerated"
|
573 |
msgstr "Generato automaticamente"
|
574 |
|
575 |
+
#: includes/settings.php:846
|
576 |
msgid "None"
|
577 |
msgstr "Nessuno"
|
578 |
|
579 |
+
#: includes/settings.php:877
|
580 |
msgid "Preferences fields"
|
581 |
msgstr "Preferenze"
|
582 |
|
583 |
+
#: includes/settings.php:878
|
584 |
msgid ""
|
585 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
586 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
587 |
+
"to terms and conditions, newsletter, profiling, etc. *Please create at least "
|
588 |
+
"one preference field."
|
589 |
msgstr ""
|
590 |
+
"Questi campi ti permettono di memorizzare a cosa l'utente ha prestato il "
|
591 |
+
"proprio consenso, come ad esempio i termini e condizioni, la newsletter la "
|
592 |
+
"profilazione, ecc. *Si prega di creare almeno un campo."
|
593 |
|
594 |
+
#: includes/settings.php:883
|
595 |
msgid "Preferences field"
|
596 |
msgstr "Campo delle preferenze"
|
597 |
|
598 |
+
#: includes/settings.php:889 includes/settings.php:915
|
599 |
+
#: includes/settings.php:1040 includes/settings.php:1050
|
600 |
+
#: includes/settings.php:1066
|
601 |
msgid "Enter field name"
|
602 |
msgstr "Aggiungi il nome di un campo"
|
603 |
|
604 |
+
#: includes/settings.php:939
|
|
|
|
|
|
|
|
|
|
|
605 |
msgid "Add New Preference"
|
606 |
msgstr "Aggiungi nuova preferenza"
|
607 |
|
608 |
+
#: includes/settings.php:946
|
609 |
msgid "Exclude fields"
|
610 |
msgstr "Esclusioni"
|
611 |
|
612 |
+
#: includes/settings.php:947
|
613 |
msgid ""
|
614 |
"Exclude fields allow you to create a list of fields that you would like to "
|
615 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
616 |
+
"other fields not related to the consent)."
|
617 |
msgstr ""
|
618 |
"Qui puoi creare una lista dei campi che desideri escludere dalle prove del "
|
619 |
+
"consenso memorizzate dalla Consent Solution (ad es. password o altri campi "
|
620 |
+
"non correlati)."
|
621 |
|
622 |
+
#: includes/settings.php:952
|
623 |
msgid "Exclude field"
|
624 |
msgstr "Campi esclusi"
|
625 |
|
626 |
+
#: includes/settings.php:1009
|
627 |
msgid "Add New Exclude"
|
628 |
msgstr "Aggiungi una nuova esclusione"
|
629 |
|
630 |
+
#: includes/settings.php:1019
|
631 |
msgid "Legal Notices"
|
632 |
msgstr "Note legali"
|
633 |
|
634 |
+
#: includes/settings.php:1025
|
635 |
msgid "Legal documents"
|
636 |
msgstr "Documenti legali"
|
637 |
|
638 |
+
#: includes/settings.php:1026
|
639 |
msgid ""
|
640 |
"In general, it’s important that you declare which legal documents are being "
|
641 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
642 |
+
"your legal documents, it is *required* that you identify the documents by "
|
643 |
+
"selecting them here."
|
644 |
msgstr ""
|
645 |
+
"In generale, è importante dichiarare quali documenti legali vengono "
|
646 |
+
"accettati al momento del conferimento del consenso. Se usi iubenda per le "
|
647 |
+
"tue informative, *devi* identificare tali documenti selezionandoli qui."
|
648 |
|
649 |
+
#: includes/settings.php:1031
|
650 |
msgid "Identifier"
|
651 |
msgstr "Identificatore"
|
652 |
|
653 |
+
#: includes/settings.php:1040
|
654 |
msgid "Please select each legal document available on your site."
|
655 |
msgstr "Seleziona tutti i documenti legali presenti sul tuo sito."
|
656 |
|
657 |
+
#: includes/settings.php:1056
|
658 |
msgid "Alternatively, you may add your own custom document identifiers."
|
659 |
msgstr "In alternativa, puoi aggiungere degli identificatori personalizzati."
|
660 |
|
661 |
+
#: includes/settings.php:1075
|
662 |
msgid "Add New Document"
|
663 |
msgstr "Aggiungi un nuovo documento"
|
664 |
|
665 |
+
#: includes/settings.php:1163 includes/settings.php:1195
|
666 |
+
#: includes/settings.php:1378
|
667 |
msgid "Settings saved."
|
668 |
msgstr "Impostazioni salvate."
|
669 |
|
670 |
+
#: includes/settings.php:1175 includes/settings.php:1200
|
671 |
msgid "Settings restored to defaults."
|
672 |
msgstr "Impostazioni di default ripristinate."
|
673 |
|
674 |
+
#: includes/settings.php:1233
|
675 |
#, php-format
|
676 |
msgid ""
|
677 |
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
|
678 |
"\"_blank\">Discussion settings</a>."
|
679 |
msgstr ""
|
680 |
"Abilita per i commenti la possibilità di attivare o disattivare la "
|
681 |
+
"memorizzazione dei dati personali in un cookie. Per farlo, vai su <a href="
|
682 |
+
"\"%s\" target=\"_blank\">Impostazioni discussione</a>."
|
683 |
|
684 |
+
#: includes/settings.php:1253
|
685 |
msgid "No forms or form changes detected."
|
686 |
msgstr "Nessun form o modifica rilevati."
|
687 |
|
688 |
+
#: includes/settings.php:1313
|
689 |
msgid "Form saving failed. Please fill the Subject and Preferences fields."
|
690 |
msgstr "Salvataggio del form fallito. Compila i campi Utente e Preferenze."
|
691 |
|
692 |
+
#: includes/settings.php:1337
|
693 |
#, fuzzy
|
694 |
#| msgid "Settings applied successfully"
|
695 |
msgid "Form saved successfully - form status changed to Mapped."
|
696 |
msgstr "Form salvato con successo - Stato aggiornato a Mappato."
|
697 |
|
698 |
+
#: includes/settings.php:1340
|
699 |
msgid "Form updated successfully."
|
700 |
msgstr "Form aggiornato con successo."
|
701 |
|
702 |
+
#: includes/settings.php:1343
|
703 |
msgid "Form saving failed."
|
704 |
msgstr "Salvataggio del form fallito."
|
705 |
|
706 |
+
#: includes/settings.php:1360
|
707 |
#, fuzzy
|
708 |
#| msgid "Settings applied successfully"
|
709 |
msgid "Form deleted successfully."
|
710 |
msgstr "Form eliminato con successo."
|
711 |
|
712 |
+
#: includes/settings.php:1362
|
713 |
msgid "Form delete failed."
|
714 |
msgstr "Eliminazione del form fallita."
|
715 |
|
716 |
+
#: includes/settings.php:1437
|
717 |
msgid "Dismiss this notice."
|
718 |
msgstr "Chiudi questo avviso."
|
719 |
|
756 |
#~ msgstr "Effettua il blocco automatico degli script rilevati dal plugin"
|
757 |
|
758 |
#~ msgid ""
|
759 |
+
#~ "see <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">our "
|
760 |
+
#~ "documentation</a> for the list of detected scripts."
|
761 |
#~ msgstr ""
|
762 |
#~ "consulta la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
763 |
#~ "documentazione</a> per la lista di script rilevati."
|
765 |
#~ msgid "Parsing engine"
|
766 |
#~ msgstr "Parsing engine"
|
767 |
|
|
|
|
|
|
|
768 |
#~ msgid ""
|
769 |
#~ "Leaves scripts untouched on the page if the user has already given consent"
|
770 |
#~ msgstr ""
|
774 |
#~ msgstr "Applica ottimizzazioni speciali in caso di errori con l'output"
|
775 |
|
776 |
#~ msgid ""
|
777 |
+
#~ "only select this option if you had performance problems or if you notice "
|
778 |
+
#~ "that the blocking of code is run several times"
|
779 |
#~ msgstr ""
|
780 |
+
#~ "attiva questa opzione solo qualora avessi problemi di performance o "
|
781 |
+
#~ "notassi che il blocco dei codici viene applicato più volte"
|
782 |
|
783 |
#~ msgid "Parsed with iubenda experimental class in %s sec."
|
784 |
#~ msgstr "Parsed with iubenda experimental class in %s sec."
|
787 |
#~ msgstr "Parsed with iubenda default class in %s sec."
|
788 |
|
789 |
#~ msgid ""
|
790 |
+
#~ "see <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">our "
|
791 |
+
#~ "documentation</a> for the list of detected scripts this guide."
|
792 |
#~ msgstr ""
|
793 |
#~ "consulta la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
794 |
#~ "documentazione</a> per la lista di script rilevati."
|
languages/iubenda-cookie-law-solution.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Iubenda Cookie Solution\n"
|
5 |
-
"POT-Creation-Date: 2019-
|
6 |
"PO-Revision-Date: 2015-08-12 10:36+0200\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
@@ -60,7 +60,7 @@ msgstr ""
|
|
60 |
msgid "No forms found."
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: includes/forms.php:149 includes/settings.php:
|
64 |
msgid "Forms"
|
65 |
msgstr ""
|
66 |
|
@@ -85,63 +85,87 @@ msgstr ""
|
|
85 |
msgid "string"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: includes/settings.php:57 includes/settings.php:
|
89 |
msgid "Cookie Solution"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: includes/settings.php:63 includes/settings.php:
|
93 |
msgid "Consent Solution"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
msgid "Code"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: includes/settings.php:
|
101 |
msgid "Script blocking"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: includes/settings.php:
|
105 |
msgid "Custom scripts"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: includes/settings.php:
|
109 |
msgid "Content type"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: includes/settings.php:
|
113 |
msgid "RSS feed"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: includes/settings.php:
|
117 |
msgid "POST requests"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: includes/settings.php:
|
121 |
msgid "Menu position"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: includes/settings.php:
|
125 |
msgid "Deactivation"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: includes/settings.php:
|
129 |
msgid "Public Api Key"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: includes/settings.php:
|
133 |
msgid "Field Mapping"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: includes/settings.php:
|
137 |
msgid "Are you sure you want to delete this form?"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: includes/settings.php:
|
141 |
msgid "You don't have permission to access this page."
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: includes/settings.php:
|
145 |
msgid ""
|
146 |
"This plugin is the easiest and most comprehensive way to adapt your "
|
147 |
"WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first "
|
@@ -152,45 +176,45 @@ msgid ""
|
|
152 |
"reactivation without refreshing the page (asynchronous script reactivation)."
|
153 |
msgstr ""
|
154 |
|
155 |
-
#: includes/settings.php:
|
156 |
msgid ""
|
157 |
"Does the Cookie Solution support IAB’s Transparency and Consent Framework?"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: includes/settings.php:
|
161 |
#, php-format
|
162 |
msgid ""
|
163 |
"Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url"
|
164 |
"\" target=\"_blank\">here.</a>"
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: includes/settings.php:
|
168 |
msgid "Would you like to know more about the cookie law?"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: includes/settings.php:
|
172 |
#, php-format
|
173 |
msgid ""
|
174 |
"Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
175 |
"guide to the cookie law.</a>"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: includes/settings.php:
|
179 |
msgid "What is the full functionality of the plugin?"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: includes/settings.php:
|
183 |
#, php-format
|
184 |
msgid ""
|
185 |
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
186 |
"page.</a>"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: includes/settings.php:
|
190 |
msgid "Enter the iubenda code for the Cookie Solution below."
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: includes/settings.php:
|
194 |
#, php-format
|
195 |
msgid ""
|
196 |
"In order to run the plugin, you need to enter the iubenda code that "
|
@@ -199,7 +223,7 @@ msgid ""
|
|
199 |
"class=\"iubenda-url\" target=\"_blank\">this guide.</a>"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: includes/settings.php:
|
203 |
msgid ""
|
204 |
"Maintaining comprehensive records of consent is a vital part of privacy "
|
205 |
"compliance in general but is specifically required under the GDPR. These "
|
@@ -210,7 +234,15 @@ msgid ""
|
|
210 |
"consent\" target=\"_blank\">full requirements here</a>."
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
#, php-format
|
215 |
msgid ""
|
216 |
"This plugin drastically reduces the need for direct interventions in the "
|
@@ -222,7 +254,7 @@ msgid ""
|
|
222 |
"– in order to comply with the GDPR and ePrivacy."
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: includes/settings.php:
|
226 |
msgid ""
|
227 |
"Maintaining valid records of consent is a vital part of privacy compliance "
|
228 |
"in general, and it is specifically required under the GDPR. These records "
|
@@ -236,182 +268,200 @@ msgid ""
|
|
236 |
"consents collected offline (e.g in-store sign-ups) via WP media upload."
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: includes/settings.php:
|
240 |
msgid "Reset to defaults"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: includes/settings.php:
|
244 |
msgid "Need support for this plugin?"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: includes/settings.php:
|
248 |
#, php-format
|
249 |
msgid ""
|
250 |
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
|
251 |
"forum.</a>"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: includes/settings.php:
|
255 |
#, php-format
|
256 |
msgid "Enter the iubenda code for %s."
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: includes/settings.php:
|
260 |
msgid "Enter the iubenda code."
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: includes/settings.php:
|
264 |
msgid ""
|
265 |
-
"
|
|
|
|
|
|
|
|
|
|
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
msgid ""
|
270 |
-
"
|
|
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: includes/settings.php:
|
|
|
|
|
|
|
|
|
274 |
msgid "Automatically block scripts detected by the plugin."
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: includes/settings.php:
|
278 |
#, php-format
|
279 |
msgid ""
|
280 |
"see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
|
281 |
"detected scripts."
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: includes/settings.php:
|
285 |
msgid "Primary"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: includes/settings.php:
|
289 |
msgid "Secondary"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: includes/settings.php:
|
293 |
msgid "Select parsing engine."
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: includes/settings.php:
|
297 |
msgid ""
|
298 |
"Leave scripts untouched on the page if the user has already given consent"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: includes/settings.php:
|
302 |
msgid ""
|
303 |
"improves performance, highly recommended, to be deactivated only if your "
|
304 |
-
"site uses a caching system"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: includes/settings.php:
|
308 |
msgid ""
|
309 |
"Restrict the plugin to run only for requests that have \"Content-type: "
|
310 |
"text / html\" (recommended)"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: includes/settings.php:
|
314 |
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: includes/settings.php:
|
318 |
msgid "Do not run the plugin on POST requests (recommended)"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: includes/settings.php:
|
322 |
msgid "Top menu"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: includes/settings.php:
|
326 |
msgid "Submenu"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: includes/settings.php:
|
330 |
msgid ""
|
331 |
"Select whether to display iubenda in a top admin menu or the Settings "
|
332 |
"submenu."
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: includes/settings.php:
|
336 |
msgid "Delete all plugin data upon deactivation?"
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: includes/settings.php:
|
340 |
msgid "Enter your iubenda Javascript library public API key."
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: includes/settings.php:
|
344 |
msgid ""
|
345 |
"This section lists the forms available for field mapping. The plugin "
|
346 |
"currently supports & detects: WordPress Comment, Contact Form 7, "
|
347 |
"WooCommerce Checkout and WP Forms."
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: includes/settings.php:
|
351 |
#, php-format
|
352 |
msgid "%s form title."
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: includes/settings.php:
|
356 |
msgid "Unknown"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: includes/settings.php:
|
360 |
msgid "Available form fields:"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: includes/settings.php:
|
364 |
msgid "Publish"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: includes/settings.php:
|
368 |
msgid "Status"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: includes/settings.php:
|
372 |
msgid "Cancel"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: includes/settings.php:
|
376 |
msgid "Save"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: includes/settings.php:
|
380 |
msgid "Map fields"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: includes/settings.php:
|
384 |
msgid "Subject fields"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: includes/settings.php:
|
388 |
msgid ""
|
389 |
"Subject fields allow you to store a series of identifying values about your "
|
390 |
"individual subjects/users. Please map the subject field with the "
|
391 |
"corresponding form fields where applicable."
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/settings.php:
|
395 |
msgid "Subject field"
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/settings.php:
|
399 |
msgid "Form field"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: includes/settings.php:
|
403 |
msgid "Autogenerated"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: includes/settings.php:
|
407 |
msgid "None"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/settings.php:
|
411 |
msgid "Preferences fields"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/settings.php:
|
415 |
msgid ""
|
416 |
"Preferences fields allow you to store a record of the various opt-ins "
|
417 |
"points at which the user has agreed or given consent, such as fields for "
|
@@ -419,54 +469,48 @@ msgid ""
|
|
419 |
"create at least one preference field."
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/settings.php:
|
423 |
msgid "Preferences field"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/settings.php:
|
427 |
-
#: includes/settings.php:
|
428 |
-
#: includes/settings.php:
|
429 |
msgid "Enter field name"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: includes/settings.php:
|
433 |
-
#: includes/settings.php:889 includes/settings.php:917
|
434 |
-
#: includes/settings.php:968 includes/settings.php:984
|
435 |
-
msgid "Remove"
|
436 |
-
msgstr ""
|
437 |
-
|
438 |
-
#: includes/settings.php:857
|
439 |
msgid "Add New Preference"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/settings.php:
|
443 |
msgid "Exclude fields"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/settings.php:
|
447 |
msgid ""
|
448 |
"Exclude fields allow you to create a list of fields that you would like to "
|
449 |
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
450 |
"other fields not related to the consent)."
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: includes/settings.php:
|
454 |
msgid "Exclude field"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: includes/settings.php:
|
458 |
msgid "Add New Exclude"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: includes/settings.php:
|
462 |
msgid "Legal Notices"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: includes/settings.php:
|
466 |
msgid "Legal documents"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: includes/settings.php:
|
470 |
msgid ""
|
471 |
"In general, it’s important that you declare which legal documents are being "
|
472 |
"agreed upon when each consent is collected. However, if you use iubenda for "
|
@@ -474,65 +518,66 @@ msgid ""
|
|
474 |
"selecting them here."
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: includes/settings.php:
|
478 |
msgid "Identifier"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/settings.php:
|
482 |
msgid "Please select each legal document available on your site."
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: includes/settings.php:
|
486 |
msgid "Alternatively, you may add your own custom document identifiers."
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: includes/settings.php:
|
490 |
msgid "Add New Document"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/settings.php:
|
|
|
494 |
msgid "Settings saved."
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: includes/settings.php:
|
498 |
msgid "Settings restored to defaults."
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: includes/settings.php:
|
502 |
#, php-format
|
503 |
msgid ""
|
504 |
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
|
505 |
"\"_blank\">Discussion settings</a>."
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: includes/settings.php:
|
509 |
msgid "No forms or form changes detected."
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: includes/settings.php:
|
513 |
msgid "Form saving failed. Please fill the Subject and Preferences fields."
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: includes/settings.php:
|
517 |
msgid "Form saved successfully - form status changed to Mapped."
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: includes/settings.php:
|
521 |
msgid "Form updated successfully."
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: includes/settings.php:
|
525 |
msgid "Form saving failed."
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: includes/settings.php:
|
529 |
msgid "Form deleted successfully."
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: includes/settings.php:
|
533 |
msgid "Form delete failed."
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: includes/settings.php:
|
537 |
msgid "Dismiss this notice."
|
538 |
msgstr ""
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Iubenda Cookie Solution\n"
|
5 |
+
"POT-Creation-Date: 2019-12-23 15:48+0100\n"
|
6 |
"PO-Revision-Date: 2015-08-12 10:36+0200\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
60 |
msgid "No forms found."
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: includes/forms.php:149 includes/settings.php:135
|
64 |
msgid "Forms"
|
65 |
msgstr ""
|
66 |
|
85 |
msgid "string"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: includes/settings.php:57 includes/settings.php:180
|
89 |
msgid "Cookie Solution"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: includes/settings.php:63 includes/settings.php:181
|
93 |
msgid "Consent Solution"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: includes/settings.php:71
|
97 |
+
msgid "Not set"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: includes/settings.php:72
|
101 |
+
msgid "Strictly necessary"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: includes/settings.php:73
|
105 |
+
msgid "Basic interactions & functionalities"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: includes/settings.php:74
|
109 |
+
msgid "Experience enhancement"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: includes/settings.php:75
|
113 |
+
msgid "Analytics"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: includes/settings.php:76
|
117 |
+
msgid "Targeting & Advertising"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: includes/settings.php:123
|
121 |
msgid "Code"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: includes/settings.php:124
|
125 |
msgid "Script blocking"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: includes/settings.php:125
|
129 |
msgid "Custom scripts"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: includes/settings.php:126
|
133 |
msgid "Content type"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: includes/settings.php:127
|
137 |
msgid "RSS feed"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: includes/settings.php:128
|
141 |
msgid "POST requests"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: includes/settings.php:129
|
145 |
msgid "Menu position"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: includes/settings.php:130
|
149 |
msgid "Deactivation"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: includes/settings.php:136
|
153 |
msgid "Public Api Key"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: includes/settings.php:139 includes/settings.php:143
|
157 |
msgid "Field Mapping"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: includes/settings.php:201
|
161 |
msgid "Are you sure you want to delete this form?"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: includes/settings.php:349
|
165 |
msgid "You don't have permission to access this page."
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: includes/settings.php:375
|
169 |
msgid ""
|
170 |
"This plugin is the easiest and most comprehensive way to adapt your "
|
171 |
"WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first "
|
176 |
"reactivation without refreshing the page (asynchronous script reactivation)."
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: includes/settings.php:378
|
180 |
msgid ""
|
181 |
"Does the Cookie Solution support IAB’s Transparency and Consent Framework?"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: includes/settings.php:379
|
185 |
#, php-format
|
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 |
|
191 |
+
#: includes/settings.php:382
|
192 |
msgid "Would you like to know more about the cookie law?"
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: includes/settings.php:383
|
196 |
#, php-format
|
197 |
msgid ""
|
198 |
"Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
199 |
"guide to the cookie law.</a>"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: includes/settings.php:386
|
203 |
msgid "What is the full functionality of the plugin?"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: includes/settings.php:387
|
207 |
#, php-format
|
208 |
msgid ""
|
209 |
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
210 |
"page.</a>"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: includes/settings.php:390
|
214 |
msgid "Enter the iubenda code for the Cookie Solution below."
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: includes/settings.php:391
|
218 |
#, php-format
|
219 |
msgid ""
|
220 |
"In order to run the plugin, you need to enter the iubenda code that "
|
223 |
"class=\"iubenda-url\" target=\"_blank\">this guide.</a>"
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: includes/settings.php:396
|
227 |
msgid ""
|
228 |
"Maintaining comprehensive records of consent is a vital part of privacy "
|
229 |
"compliance in general but is specifically required under the GDPR. These "
|
234 |
"consent\" target=\"_blank\">full requirements here</a>."
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: includes/settings.php:419
|
238 |
+
#, php-format
|
239 |
+
msgid ""
|
240 |
+
"If you are using per-purpose script blocking please disable the \"Leave "
|
241 |
+
"scripts untouched on the page if the user has already given consent\" "
|
242 |
+
"option. <a href=\"%s\" target=\"_self\">Disable now</a>"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: includes/settings.php:439
|
246 |
#, php-format
|
247 |
msgid ""
|
248 |
"This plugin drastically reduces the need for direct interventions in the "
|
254 |
"– in order to comply with the GDPR and ePrivacy."
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: includes/settings.php:441
|
258 |
msgid ""
|
259 |
"Maintaining valid records of consent is a vital part of privacy compliance "
|
260 |
"in general, and it is specifically required under the GDPR. These records "
|
268 |
"consents collected offline (e.g in-store sign-ups) via WP media upload."
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: includes/settings.php:459
|
272 |
msgid "Reset to defaults"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: includes/settings.php:471
|
276 |
msgid "Need support for this plugin?"
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: includes/settings.php:472
|
280 |
#, php-format
|
281 |
msgid ""
|
282 |
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
|
283 |
"forum.</a>"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: includes/settings.php:516
|
287 |
#, php-format
|
288 |
msgid "Enter the iubenda code for %s."
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: includes/settings.php:527
|
292 |
msgid "Enter the iubenda code."
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: includes/settings.php:554
|
296 |
msgid ""
|
297 |
+
"Provide a list of custom scripts you’d like to block and assign their "
|
298 |
+
"purpose."
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: includes/settings.php:556 includes/settings.php:563
|
302 |
+
msgid "Enter custom script"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: includes/settings.php:556 includes/settings.php:563
|
306 |
+
#: includes/settings.php:574 includes/settings.php:581
|
307 |
+
#: includes/settings.php:903 includes/settings.php:930
|
308 |
+
#: includes/settings.php:971 includes/settings.php:999
|
309 |
+
#: includes/settings.php:1050 includes/settings.php:1066
|
310 |
+
msgid "Remove"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: includes/settings.php:572
|
314 |
msgid ""
|
315 |
+
"Provide a list of custom iframes you’d like to block and assign their "
|
316 |
+
"purpose. "
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: includes/settings.php:574 includes/settings.php:581
|
320 |
+
msgid "Enter custom iframe"
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: includes/settings.php:619
|
324 |
msgid "Automatically block scripts detected by the plugin."
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: includes/settings.php:620
|
328 |
#, php-format
|
329 |
msgid ""
|
330 |
"see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
|
331 |
"detected scripts."
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: includes/settings.php:623
|
335 |
msgid "Primary"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: includes/settings.php:624
|
339 |
msgid "Secondary"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: includes/settings.php:625
|
343 |
msgid "Select parsing engine."
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: includes/settings.php:628
|
347 |
msgid ""
|
348 |
"Leave scripts untouched on the page if the user has already given consent"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: includes/settings.php:629
|
352 |
msgid ""
|
353 |
"improves performance, highly recommended, to be deactivated only if your "
|
354 |
+
"site uses a caching system or you have per-purpose script blokcing active."
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: includes/settings.php:643
|
358 |
msgid ""
|
359 |
"Restrict the plugin to run only for requests that have \"Content-type: "
|
360 |
"text / html\" (recommended)"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: includes/settings.php:655
|
364 |
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: includes/settings.php:667
|
368 |
msgid "Do not run the plugin on POST requests (recommended)"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: includes/settings.php:679
|
372 |
msgid "Top menu"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: includes/settings.php:680
|
376 |
msgid "Submenu"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: includes/settings.php:681
|
380 |
msgid ""
|
381 |
"Select whether to display iubenda in a top admin menu or the Settings "
|
382 |
"submenu."
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: includes/settings.php:693
|
386 |
msgid "Delete all plugin data upon deactivation?"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: includes/settings.php:706
|
390 |
msgid "Enter your iubenda Javascript library public API key."
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: includes/settings.php:722
|
394 |
msgid ""
|
395 |
"This section lists the forms available for field mapping. The plugin "
|
396 |
"currently supports & detects: WordPress Comment, Contact Form 7, "
|
397 |
"WooCommerce Checkout and WP Forms."
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: includes/settings.php:783
|
401 |
#, php-format
|
402 |
msgid "%s form title."
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: includes/settings.php:783
|
406 |
msgid "Unknown"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: includes/settings.php:785
|
410 |
msgid "Available form fields:"
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: includes/settings.php:791
|
414 |
msgid "Publish"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: includes/settings.php:796
|
418 |
msgid "Status"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: includes/settings.php:809
|
422 |
msgid "Cancel"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: includes/settings.php:814
|
426 |
msgid "Save"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: includes/settings.php:827
|
430 |
msgid "Map fields"
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: includes/settings.php:833
|
434 |
msgid "Subject fields"
|
435 |
msgstr ""
|
436 |
|
437 |
+
#: includes/settings.php:834
|
438 |
msgid ""
|
439 |
"Subject fields allow you to store a series of identifying values about your "
|
440 |
"individual subjects/users. Please map the subject field with the "
|
441 |
"corresponding form fields where applicable."
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: includes/settings.php:839
|
445 |
msgid "Subject field"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: includes/settings.php:840 includes/settings.php:884
|
449 |
msgid "Form field"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: includes/settings.php:846
|
453 |
msgid "Autogenerated"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: includes/settings.php:846
|
457 |
msgid "None"
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: includes/settings.php:877
|
461 |
msgid "Preferences fields"
|
462 |
msgstr ""
|
463 |
|
464 |
+
#: includes/settings.php:878
|
465 |
msgid ""
|
466 |
"Preferences fields allow you to store a record of the various opt-ins "
|
467 |
"points at which the user has agreed or given consent, such as fields for "
|
469 |
"create at least one preference field."
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: includes/settings.php:883
|
473 |
msgid "Preferences field"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: includes/settings.php:889 includes/settings.php:915
|
477 |
+
#: includes/settings.php:1040 includes/settings.php:1050
|
478 |
+
#: includes/settings.php:1066
|
479 |
msgid "Enter field name"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: includes/settings.php:939
|
|
|
|
|
|
|
|
|
|
|
|
|
483 |
msgid "Add New Preference"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/settings.php:946
|
487 |
msgid "Exclude fields"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/settings.php:947
|
491 |
msgid ""
|
492 |
"Exclude fields allow you to create a list of fields that you would like to "
|
493 |
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
494 |
"other fields not related to the consent)."
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: includes/settings.php:952
|
498 |
msgid "Exclude field"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: includes/settings.php:1009
|
502 |
msgid "Add New Exclude"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: includes/settings.php:1019
|
506 |
msgid "Legal Notices"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: includes/settings.php:1025
|
510 |
msgid "Legal documents"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: includes/settings.php:1026
|
514 |
msgid ""
|
515 |
"In general, it’s important that you declare which legal documents are being "
|
516 |
"agreed upon when each consent is collected. However, if you use iubenda for "
|
518 |
"selecting them here."
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: includes/settings.php:1031
|
522 |
msgid "Identifier"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: includes/settings.php:1040
|
526 |
msgid "Please select each legal document available on your site."
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: includes/settings.php:1056
|
530 |
msgid "Alternatively, you may add your own custom document identifiers."
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: includes/settings.php:1075
|
534 |
msgid "Add New Document"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: includes/settings.php:1163 includes/settings.php:1195
|
538 |
+
#: includes/settings.php:1378
|
539 |
msgid "Settings saved."
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: includes/settings.php:1175 includes/settings.php:1200
|
543 |
msgid "Settings restored to defaults."
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: includes/settings.php:1233
|
547 |
#, php-format
|
548 |
msgid ""
|
549 |
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
|
550 |
"\"_blank\">Discussion settings</a>."
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: includes/settings.php:1253
|
554 |
msgid "No forms or form changes detected."
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: includes/settings.php:1313
|
558 |
msgid "Form saving failed. Please fill the Subject and Preferences fields."
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: includes/settings.php:1337
|
562 |
msgid "Form saved successfully - form status changed to Mapped."
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: includes/settings.php:1340
|
566 |
msgid "Form updated successfully."
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: includes/settings.php:1343
|
570 |
msgid "Form saving failed."
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: includes/settings.php:1360
|
574 |
msgid "Form deleted successfully."
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: includes/settings.php:1362
|
578 |
msgid "Form delete failed."
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: includes/settings.php:1437
|
582 |
msgid "Dismiss this notice."
|
583 |
msgstr ""
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link:
|
|
4 |
Tags: cookies, cookie law, cookie policy, cookie banner, privacy policy, cookie consent, privacy, gdpr, eprivacy
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
-
Tested up to: 5.3
|
8 |
Stable tag: 2.0.2
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
@@ -134,6 +134,10 @@ We will be very happy to receive feedback here: [Uservoice forum](http://support
|
|
134 |
|
135 |
== Changelog ==
|
136 |
|
|
|
|
|
|
|
|
|
137 |
= 2.0.2 =
|
138 |
* Fix: initialize iubenda CS on POST requests not working
|
139 |
* Tweak: iubenda generic menu icon switched to iubenda logo
|
@@ -377,5 +381,6 @@ We will be very happy to receive feedback here: [Uservoice forum](http://support
|
|
377 |
|
378 |
== Upgrade Notice ==
|
379 |
|
380 |
-
= 2.0
|
381 |
-
*
|
|
4 |
Tags: cookies, cookie law, cookie policy, cookie banner, privacy policy, cookie consent, privacy, gdpr, eprivacy
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
+
Tested up to: 5.3.1
|
8 |
Stable tag: 2.0.2
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
134 |
|
135 |
== Changelog ==
|
136 |
|
137 |
+
= 2.1.0-beta =
|
138 |
+
* New: Per-purpose script blocking support
|
139 |
+
* New: "Reject" button support
|
140 |
+
|
141 |
= 2.0.2 =
|
142 |
* Fix: initialize iubenda CS on POST requests not working
|
143 |
* Tweak: iubenda generic menu icon switched to iubenda logo
|
381 |
|
382 |
== Upgrade Notice ==
|
383 |
|
384 |
+
= 2.1.0 =
|
385 |
+
* New: Per-purpose script blocking support
|
386 |
+
* New: "Reject" button support
|